下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 MATLAB声音信号处理

MATLAB声音信号处理.doc

MATLAB声音信号处理

hunry147
2017-11-01 0人阅读 举报 0 0 暂无简介

简介:本文档为《MATLAB声音信号处理doc》,可适用于高等教育领域

MATLAB声音信号处理《数字信号处理》课程设计设计题目:基于MATLAB的语音信号频谱分析指导老师:岳学东专业:测控技术与仪器姓名:张猛班级:班学号:日期:closeallclearallclc截取信号序列:简抽样信号序列:简抽样信号序列s,Fs,bit=wavread('ywav')wavread()函数读取声音信号a=s(:,)做单声道处理a=a(:)截取个信号采样点siglength=length(a)t=(:siglength)Fsfigure()subplot(,,)plot(t,a)xlabel('Time(s)')title('截取信号序列')Time(s)Time(s)Time(s)截取信号频谱:简抽样信号频谱:简抽样信号频谱A=fft(a)**************************w=siglength*:(siglength)subplot(,,)plot(w,abs(A))获取截取信号的频谱xlabel('w')title('截取信号频谱')gridonsound(s,Fs)****************************www:简抽样N=siglength=siglengthNa=zeros(siglength,)***********************************************************for(i=:siglength)siglength=siglengthNa(i)=a(N*i)a=zeros(siglength,)endfor(i=:siglength)对信号进行倍的简抽样并做fftt=(:siglength)Fs*Na(i)=a(N*i)变换获得其频谱可以观察到幅频subplot(,,)响应曲线已经发生混跌plot(t,a)endt=(:siglength)Fs*Nxlabel('Time(s)')对截取信号做倍的简抽样subplot(,,)title(':简抽样信号序列')并获取其频谱:plot(t,a)可以观察到当时域信号做xlabel('Time(s)')倍的简抽样其频谱未发生混A=fft(a)叠。title(':简抽样信号序列')w=siglength*(:siglength)subplot(,,)A=fft(a)plot(w,abs(A))w=siglength*(:siglength)xlabel('w')subplot(,,)plot(w,abs(A))title(':简抽样信号频谱')gridon*****************************xlabel('w')title(':简抽样信号频谱')gridon*******************************:简抽样N=n=:(siglength)**********************************调制后信号解调后信号b=cos(*pi*n)调制载波其角频率依据截取信号频谱通带截止频率获得**********************************c=b'*a************************************figure()n=:(siglength)b=cos(*pi*n)c=b'*afigure()用载波对信号进行调制并对其做fft变换Time(s)Time(s)subplot(,,)获取频谱从图中可以观察到调制后的调制后信号的频谱解调后信号的频谱plot(t,c)信号频谱发生搬移xlabel('Time(s)')title('调制后信号')C=fft(c)subplot(,,)plot(w,abs(C))xlabel('w')title('调制后信号的频谱')wwgridon******************************************c=b'*c********************************************subplot(,,)信号解调处理观察解调后信号的频谱可知声音plot(t,c)信号中的噪声信号被搬移到高频xlabel('Time(s)')title('解调后信号')C=fft(c)subplot(,,)plot(w,abs(C))xlabel('w')title('解调后信号的频谱')gridon******************************************用IIR滤波器滤波N,wc=buttord(,,,)确定低通滤波器的阶数和截止频率IIR滤波器解调信号b,a=butter(N,wc)确定低通滤波器分子分母系数m=filter(b,a,c)滤波figure()subplot(,,)plot(m)xlabel('n')信号幅值mylabel('信号幅值m')title('IIR滤波器解调信号')解调滤波后的波形sound(m,Fs)nxk=fft(m)滤波后的波形做离散傅里叶变换IIR滤波器解调信号频谱w=*:length(k)length(k)subplot(,,)plot(w,abs(k))xlabel('wpi')ylabel('幅度k')幅度ktitle('IIR滤波器解调信号频谱')解调滤波后的频谱wpi矩形窗分贝图矩形窗幅度谱矩形窗相位谱HdBN=,wc=*pi基于经验之的窗函数阶数和过度带宽度hd=impul(wc,N)w=boxcar(N)矩形窗h=hd*w'H=fft(h,)wwwdb=*log(abs(H)eps)max(abs(H))布来克曼窗分贝图布莱克曼窗幅度谱布莱克曼窗相位谱w=*:figure()subplot(,,)plot(w,db)HdBgridontitle('矩形窗分贝图')xlabel('w')ylabel('dB')w=blackman(N)wwwh=hd*w'H=fft(h,)w=*:db=*log(abs(H)eps)max(abs(H))subplot(,,)w=*:plot(w,abs(H))subplot(,,)gridonplot(w,db)title('矩形窗幅度谱')gridonxlabel('w')title('布来克曼窗分贝图')ylabel('H')xlabel('w')subplot(,,)ylabel('dB')plot(w,abs(H))gridonxlabel('w')ylabel('')title('布莱克曼窗幅度谱')xlabel('w')subplot(,,)ylabel('H')plot(w,angle(H))gridonsubplot(,,)title('布莱克曼窗相位谱')plot(w,angle(H))xlabel('w')gridonylabel('')title('矩形窗相位谱')经过解调后的信号时域波形C=*H'*C**************************figure()subplot(,,)plot(w,abs(C))对滤波后的信号进行xlabel('w')IFFT变换获得时域gridon信号title('经过解调后的信号幅度谱')Time(s)c=ifft(C)经过解调后的信号幅度谱subplot(,,)plot(t,c)sound(c,Fs)xlabel('Time(s)')title('经过解调后的信号时域波形')**********************w

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

MATLAB声音信号处理

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利