《数字信号处理实验》课程设计学号:2011289教师姓名:李敏学院:光电工程学院时间:2013年12月15日中国﹒重庆重庆大学光电工程学院二〇一三年十二月光电工程学院数字信号处理实验语音数字滤波系统设计2/20目录1.实验目的..............................................................................32.实验器材..............................................................................33.实验原理..............................................................................43.1滤波器频谱范围....................................................................43.2设计IIR数字滤波器的基本思想..........................................43.3巴特沃思低通数字滤波器....................................................43.4巴特沃思高通数字滤波器....................................................43.5巴特沃思带通数字滤波器....................................................54.实验步骤..............................................................................65.实验程序设计及测试..........................................................75.1语音信号的采集与频谱分析................................................75.2巴特沃斯低通滤波器的设计与仿真.....................................85.3巴特沃斯高通滤波器的设计与仿真...................................115.4巴特沃斯带通滤波器的设计与仿真...................................156.实验结果分析.................................................................207.附录....................................................错误!未定义书签。光电工程学院数字信号处理实验语音数字滤波系统设计3/201.实验目的1.掌握数字信号处理的基本概念,基本理论和基本方法。1.熟悉离散信号和系统的时域特性。2.掌握序列快速傅里叶变换方法。3.学会MATLAB的使用,掌握MATLAB的程序设计方法。4.掌握利用MATLAB对语音信号进行频谱分析。5.掌握滤波器的网络结构。6.掌握MATLAB设计数字滤波器的方法和对信号进行滤波的方法。2.实验器材1.Windows下的录音机2.Matlab软件光电工程学院数字信号处理实验语音数字滤波系统设计4/203.实验原理3.1滤波器频谱范围语音信号的频谱范围主要为800HZ左右,并且在5000HZ左右有一个小信号,因此,在设计低通滤波器时,应把噪声频谱设定在5000HZ以上,这样,通过低通滤波器,即可滤除噪声信号从而还原语音信号;在设计高通滤波器时,应把噪声设定在800HZ以内,以通过高通滤波器滤除低频的噪声信号,从而还原相对频率较高的语音信号;在设计带通滤波器时,可把噪声设计在低于800HZ或高于5000HZ频谱上,已通过带通滤波器还原带通范围内的语音信号。3.2设计IIR数字滤波器的基本思想设计IIR数字滤波器的方法主要有基于冲激响应不变法的IIR数字滤波器设计,基于双线性Z变换法的IIR数字滤波器设计,数字高通、带通及带阻IIR滤波器设计,基于MATLAB函数直接设计IIR数字滤波器。本实验中采用双线性变换法变换的巴特沃思数字滤波器。3.3巴特沃思低通数字滤波器(1)选择来自window自带音频文件的“ding.wav”声音作为语音信号(2)给信号加一个大频率的噪声(取噪声频率远大于语音信号的最大频率),产生污染信号。(3)设计一个巴特沃思低通滤波器,通带范围包括语音信号,阻带频率设定为小于噪声信号频率。(4)将设计好的巴特沃思低通滤波器滤除被噪声污染后的语音信号。还原语音信号。3.4巴特沃思高通数字滤波器(1)选择来自window自带音频文件的“ding.wav”声音作为语音信号光电工程学院数字信号处理实验语音数字滤波系统设计5/20(2)给信号加一个小频率的噪声(取噪声频率远小于语音信号的最小频率),产生污染信号。(3)设计一个巴特沃思高通滤波器,通带范围包括语音信号,阻带频率设定为大于噪声信号频率。(4)将设计好的巴特沃思低通滤波器滤除被噪声污染后的语音信号。还原语音信号。3.5巴特沃思带通数字滤波器(1)选择来自window自带音频文件的“ding.wav”声音作为语音信号(2)给信号加一个小频率或大频率的噪声(取噪声频率远小于语音信号的最小频率或大于语音信号的最大频率),产生污染信号。本实验取小频率的噪声信号。(3)设计一个巴特沃思带通滤波器,通带范围包括语音信号,阻带频率设定为不包括噪声信号频率。(4)将设计好的巴特沃思带通滤波器滤除被噪声污染后的语音信号。还原语音信号。光电工程学院数字信号处理实验语音数字滤波系统设计6/204.实验步骤(1)利用Windows下的录音机或其他软件录一段声音信号,或者选择Windows系统的“叮……”(Ding.wav),并对该信号进行采样;(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图;(3)产生噪声信号加到语音信号中,得到被污染的语音信号,并回放语音信号;(4)污染信号的频谱分析,画出被污染的语音信号时域波形和频谱;(5)根据有关的频谱特性,采用间接法设计IIR数字滤波器,并画出相应滤波器的幅频图(设计3个IIR滤波器,本实验中设计的模拟滤波器类型:巴特沃思低通滤波器,巴特沃思高通滤波器,巴特沃思带通滤波器);(6)用设计出的滤波器对被噪声污染的信号进行滤波;(7)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;(8)回放语音信号。光电工程学院数字信号处理实验语音数字滤波系统设计7/205.实验程序设计及测试5.1语音信号的采集与频谱分析将windows系统自带的声音文件Ding.wav复制到E盘,并利用wavread函数将该声音文件导入matlab中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性;绘出采样后的语音信号的时域波形和频谱图。程序如下:%导入语音信号Fs=22050;[x,FS,bits]=wavread('E:\signal20113289\Ding.wav');x=x(:,1);figure(1);subplot(2,1,1);plot(x);%在命令窗口输入sound(x,FS,bits)回放语音title('语音信号时域波形图')y=fft(x,3260);f=(FS/1630)*[1:1630];subplot(2,1,2);plot(f(1:1630),abs(y(1:1630)));title('语音信号频谱图');运行程序得到语音时域和频谱图形如下00.511.522.53x104-0.2-0.100.10.2语音信号时域波形图00.511.522.533.544.5x104050100150语音信号频谱图光电工程学院数字信号处理实验语音数字滤波系统设计8/205.2巴特沃斯低通滤波器的设计与仿真(1)产生高频的噪声信号zs=0.05*cos(2*pi*10000*t/22050),MATLAB程序如下:%产生高频噪声信号t=0:length(x)-1;zs=0.05*cos(2*pi*10000*t/22050);zs0=0.05*cos(2*pi*10000*t/22050000);figure(2);subplot(2,1,1)plot(zs0)title('高频噪声信号波形');zs1=fft(zs,1200);%sound(zs,FS,bits);%回放噪声subplot(2,1,2)plot(f(1:600),abs(zs1(1:600)));title('高频噪声信号频谱');程序运行得高频噪声的时域波形和频谱如下:00.511.522.53x104-0.0500.05高频噪声信号波形0200040006000800010000120001400016000180000102030高频噪声信号频谱光电工程学院数字信号处理实验语音数字滤波系统设计9/20(2)将高频信号添加到原声音信号,得到污染的声音信号,并利用fft对污染后的信号进行快速傅里叶变换,得到频谱特性。matlab程序如下:%将噪声添加到声音信号x1=x+zs';%sound(x1,FS,bits);%回放加入噪声后的语音y1=fft(x1,1200);figure(3);subplot(2,1,1);plot(x1);title('加入高频噪声后的信号波形');subplot(2,1,2);plot(f(1:600),abs(y1(1:600)));title('加入高频噪声后的信号频谱');程序运行结果得加入噪声信号后的声音信号时域波形和频谱:00.511.522.53x104-0.4-0.200.20.4加入高频噪声后的信号波形0200040006000800010000120001400016000180000102030加入高频噪声后的信号频谱光电工程学院数字信号处理实验语音数字滤波系统设计10/20(3)巴特沃斯低通滤波器的设计根据语音信号的特点给出有关滤波器的性能指标,设计低通滤波器性能指标如下,Fs=22050Hz,fp=3000Hz,fs=3500Hz,rp=1dB,rs=10dB;巴特沃斯滤波器的设计程序如下:%设计巴特沃斯低通滤波fp=3000;fs=3500;Fs=22050;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);[N,wc]=buttord(wap,was,rp,rs,'s');[B,A]=butter(N,wc,'s');[Bz,Az]=bilinear(B,A,Fs1);figure(4);[h,w]=freqz(Bz,Az,512,Fs1*22050);plot(w,abs(h));title('巴特沃斯低通滤波器');xlabel('频率(HZ)');ylabel('损耗(dB)');gridon;程序运行结果如下:02000400060008000100001200000.20.40.60.811.21.4巴特沃斯低通滤波器频率(HZ)耗损(dB)光电工程学院数字信号处理实验语音数字滤波系统设计11/20(4)巴特沃斯低通滤波器的仿真利用巴特沃斯滤波器对含有噪声的声音进行低通滤波,程序如下%对信号进行低通滤波yd=filter(Bz,Az,x1);figure(5);subplot(2,1,1);plot(yd);title('低通滤波后信号波形');ydd=fft(yd,1200);subplot(2,1,2);plot(f(1:600),abs(ydd(1:600)));title('低通滤波后信号频谱');sound(yd