基于matlab的音频处理
来源:互联网 发布:主题医院 mac 中文 编辑:程序博客网 时间:2024/04/30 21:48
如图一段信号,是由一串频率相同的脉冲串组成,请根据各个脉冲信号的频谱,判断脉冲串的频率.
1. 读取音频文件
[x,Fs,bits]=wavread('E:\数字信号处理\good5.wav');T=1/Fs; %采样周期t=(1:length(x))*T; %采样时间figure(1);plot(t,x);title('原始信号时域图形');xlabel('时间t/s');ylabel('音量');
音频信号频谱分析
y=fft(x); %做FFT变换f=(0:length(y)-1).*Fs/length(y);plot(f,y) %画出原始信号的频谱图
2. 脉冲信号分离
通过观察原始信号在时域上的波形,可知该类信号包含12个脉冲,对应各个脉冲所在位置,然后将其对应的数字信号进行分离,可以得到如下各个脉冲的波形;(以两个脉冲为例)
3. 加窗去除噪声
分帧处理
function [X magY]= jiachuang(x)N=length(x);n0=0.04*48000;n1=floor(0.5*n0);num=floor((N-n0)/n1)+1;for i=1:num;a1=(i-1)*n1+1;a2=(i-1)*n1+n0;X=x(a1:a2).*hamming(n0); %汉明窗endY=fft(X);magY=abs(Y);end
4.滤波器的设计
function [ x_daitong magy_daitong ] = lvboqi(x1) fp=[4000,7000]; fs=[3000,8000]; Fs=48000; As=20;Ap=1; wp=2*pi*fp/Fs; ws=2*pi*fs/Fs; BF=wp(1)-ws(1); wc=ws+BF/2; M=ceil((As-7.95)/(2.286*BF))+1; N=M+1; beta=0.1102*(As-8.7); window=(kaiser(N,beta)); b=fir1(M,wc/pi,'bandpass',window); x_daitong=filter(b,1,x1); y_daitong=fft(x_daitong); magy_daitong=abs(y_daitong);end figure(1) freqz(b,1,512); title('FIR带通滤波器的频率响应'); plot(t,x_daitong); figure(2); plot(t,x_daitong); figure(3); plot(f,magy_daitong);
通过所设计的滤波器,对加窗去噪后的各个脉冲信号进行进一步的滤波,通过其频谱图,可以发现对于3KM~8kM带通滤波效果良好。
为进一步分析每个脉冲在3~8KM的信号频谱波形,对信号进行了局部放大,找到该脉冲的频率点,并标出该点坐标。
function [ f y Y_daitong ] =findplot(y_daitong )h=3000/48000*length(y_daitong);g=10000/48000*length(y_daitong);Y_daitong=y_daitong(h:g,:); %截取3kHz~10KHz的信号[y,x]=max(Y_daitong); %找到该段最大幅值和所对应的位置点f=3000+7000*x/length(Y_daitong); %将对应的位置点转化为频率enda=3000/48000*length(f1);b=10000/48000*length(f1);f2=f1(:,a:b); %截取频率3~10KHz[a b ydaitong]=findplot(y1daitong);%调用函数F(i)=a; %将该段脉冲信号的频率存在数组中plot(f2,ydaitong); %画出波形图hold on;plot([a,a],[0,b],'r--'); %用红色的线标出频率点text(a,b,['(',num2str(a),',',num2str(b),')'],'color','b'); %标出频率点的坐标
6.计算分析
得到各个脉冲的频率:
F=[5.6500 4.1750 4.6441 4.2206 4.1957 3.5480 7.8826 7.0605 7.0107 5.7153 5.6904 4.3203]KHz
求其平均值得:
Fm= 5.3428kHz
求各个脉冲与信号脉冲的标准差为:
S=85.2072
信号的频率为5.3428kHz。
0 0
- 基于matlab的音频处理
- 基于MATLAB的音频信号处理技术实现
- 数字信号处理实践——基于matlab的音频信号分析即处理
- 基于Matlab的歌曲音频信号采样及其处理(上)
- MATLAB 的音频信号处理技术
- matlab与音频处理
- matlab 音频处理
- 基于matlab的形态学处理
- 基于matlab的音频波形实时采集显示 v0.1
- 音频信号MATLAB处理的一些常用函数
- 音频信号MATLAB处理的一些常用函数
- 音频信号MATLAB处理的一些常用函数
- 基于Matlab的图像分块处理
- 基于matlab的GUI图像处理
- 基于MATLAB的图像处理程序
- 基于MATLAB的卷积运算处理图像
- 基于MATLAB的图像处理程序(…
- 基于Matlab的图像处理GUI
- 文章标题
- 给襄阳五中17届27班的话
- 1061. Dating (20)PAT甲级
- Linux新手需要熟稔于心的Linux常用命令
- 过滤文本文件中超大数据
- 基于matlab的音频处理
- Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps 中文翻译
- nodejs 学习day4 模拟慕课网评论提交代码
- Web.Release.config 替换
- poj3050
- linux grpc+protobuff 安装
- JAVA的垃圾回收原理
- Oracle全球化方面支持的官方文档
- (四十三)线程——线程同步(互斥锁、读写锁、条件变量、信号量)