资源描述:
《基于matlab的数字滤波器设计-及其对语音信号的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于MATLAB的数字滤波器设计及其对语音信号的应用学院:电子与信息工程学院班级:电信1002姓名:学号:1010930220指导教师:2013-12-21课程设计的目的22课程设计内容23课程设计基础24.具体步骤与要求24.1 语音信号的采集24.2语音信号的频谱分析24.3设计数字滤波器,画出其频率响应曲线34.4 用滤波器对信号进行滤波,比较滤波前后语音信号的波形及频谱64.5回放语音信号115.实验结论11111课程设计的目的1)掌握数字信号处理的基本概念、基本理论和基本方法;2)掌握MATLAB设计FIR和IIR数字滤波器的方法;3)掌握在Windows环
2、境下语音信号采集以及时域、频域分析;4)学会MATLAB的使用,掌握MATLAB的程序设计方法;5)学会用MATLAB对信号进行分析和处理。2课程设计内容录制一段自己的语音信号,对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用MATLAB设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。3课程设计基础MATLAB编程基础、数字信号处理知识、语音信号处理知识。4.具体步骤与要求4.1 语音信号的采集录制一段自己
3、的话音,或利用老师给的语音,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。程序:[I,Fs,bits]=wavread('2.wav');%读取语音信号2.wavsound(I);%重放语音wavrecord(2*Fs,Fs);%使用基于PC的音频输入设备4.2语音信号的频谱分析11要求画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。程序:clearall[I,Fs,bits]=wavread('3.wav');%读取语音信号3.wavsound(I);%重放语音Y=fft(I);%进行快速傅里
4、叶变换mag=abs(Y);%求取幅度谱phase=angle(Y);%求取相位谱phase=phase*180/pi;%转换为Pi单位dB=20*log10(abs(Y)+eps);%求取对数幅度谱t=(0:length(I)-1)/Fs;%设置标度subplot(221);plot(t,I);title('波形图');xlabel('时间(s)');ylabel('幅度');%设置标题和横纵坐标f=(1:length(Y))*Fs/length(Y);%设置标度subplot(222);plot(f,mag);title('幅度谱');xlabel('频率(Hz)
5、');ylabel('频谱幅度');%设置标题和横纵坐标subplot(223);plot(f,phase);title('相位谱');xlabel('频率(Hz)');ylabel('频谱相位');%设置标题和横纵坐标subplot(224);plot(f,dB);title('对数幅度谱');xlabel('频率(Hz)');ylabel('频谱幅度(dB)');%设置标题和横纵坐标图2时域波形和信号的频谱特性4.3设计数字滤波器,画出其频率响应曲线各滤波器的性能指标:(1)低通滤波器性能指标 fp=1000Hz,fs=1200Hz,As=40dB,Ap=1dB。
6、11(2)高通滤波器性能指标 fs=4000Hz,fp=4300Hz,As=40dB,Ap=1dB(3)带通滤波器性能指标 fp1=1200Hz,fp2=3000Hz,fs1=1000Hz,fs2=3200Hz,As=40dB,Ap=1dB。要求:(1)频率变换法设计IIR滤波器:可以利用函数butter、cheby1、cheby2和ellip等设计。(2)(选做)设计IIR滤波器:用双线性变换法设计上面要求的3种滤波器。bilinear(3)(选做)设计FIR滤波器:用窗函数法设计上面要求的3种滤波器。可以利用函数fir1设计FIR滤波器。(4)采用函数freqz画
7、出各滤波器的频率响应。程序:%LPF设计fpL=1000;%通带频率HzfsL=1200;%阻带频率HzapL=1;%通带纹波DBasL=40;%阻带衰减DBWpL=fpL*2/Fs;%通带角频率radWsL=fsL*2/Fs;%阻带角频率rad%巴特沃斯低通滤波器[nL,WnL]=buttord(WpL,WsL,apL,asL);%求得n和Wn,n是最小阶数,Wn是截止频率[bL,aL]=butter(nL,WnL,'low');%低通滤波器传递函数系数[hL,wL]=freqz(bL,aL);title('巴特沃斯低通滤波器')%cheby1低通