1、1 绪论1.1设计目的通过本次数字信号处理课程设计,综合运用数字信号处理课程和其他有关课程的理论和生产实际知识去分析和解决具体问题,并使所学知识得到进一步巩固、深化和发展。学习设计滤波器的一般方法,通过课程设计树立正确的设计思想,提高分析问题、解决问题的能力。进行设计基本技能的训练,如查阅设计资料和手册、程序的设计、调试等。1.2设计要求(1)掌握数字信号处理的基本概念,基本理论和基本方法。(2)熟悉离散信号和系统的时域特性。(3)掌握序列快速傅里叶变换方法。(4)学会MATLAB的使用,掌握MATLAB的程序设计方法。(5)掌握利用MATLAB对语音信号进行频谱分析。(6)掌握滤波器的网络结
2、构。1.3 设计内容1.3.1预习题1、设计卷积运算的演示程序:(1)可输入任意两个序列x1(n)、x2(n),指定x1(n)为自己的学号,例如x1(n)=2, 0, 1, 0, 5, 7, 0, 5, 0, 2, 0, 1。x2(n)的内容和长度自选。例如x2(n)=0.5, 2.43, 6.17, 12.93, 22.17, 32.25, 40.88, 45.87, 45.87, 40.88, 32.25, 22.17, 12.93, 6.17, 2.43,1.007。(2)分别动态演示两个序列进行线性卷积x1(n)*x2(n)和圆周卷积x1(n)x2(n)的过程;要求分别动态演示翻转、移
3、位、乘积、求和的过程;(3)圆周卷积默认使用两个序列中的最大长度,但卷积前可以指定卷积长度N用以进行混叠分析;(4)改变圆周卷积长度N,根据实验结果分析两类卷积的关系; (5)在计算机操作系统中选一段声音文件(XP系统在“C:WINDOWSMedia”),读取文件取 10ms的声音数据产生时域序列x1(n),序列内容自定义。利用x2(n)=0.5, 2.43, 6.17, 12.93, 22.17, 32.25, 40.88, 45.87, 45.87, 40.88, 32.25, 22.17, 12.93, 6.17, 2.43, 1.007。利用FFT实现快速卷积,验证时域卷积定理,并与直
4、接卷积进行效率对比(验证时采用Matlab子函数)。2、编写程序演示采样定理(时域采样、频谱周期延拓),同时演示采样频率小于2fc时,产生的混叠效应:(1)对下面连续信号进行采样:学号,A为幅度因子,a为衰减因子,为模拟角频率,其中n为学号(例如,贺娜同学n=201);要求输入采样频率fs(根据程序处理需要指定范围)后,在时域演示信号波形、采样脉冲及采样后信号;在频域演示不同采样频率下对应信号的频谱。1.3.2 设计题(1)利用Windows下的录音机或其他软件,选择Windows系统的(chimes.wav)语音信号,并对该信号进行采样;(2)语音信号的频谱分析,画出采样后语音信号的时域波形
5、和频谱图;(3)产生噪声信号加到语音信号中,得到被污染的语音信号,并回放语音信号;(4)污染信号的频谱分析,画出被污染的语音信号时域波形和频谱; (5)根据有关的频谱特性,采用间接法设计IIR数字滤波器,并画出相应滤波器的幅频图(设计3个IIR滤波器)a. 模拟滤波器类型:巴特沃思滤波器(低通、带通、高通)b总体要求:MATLAB原程序+仿真波形+技术指标 (6)根据有关的频谱特性,采用直接法设计FIR数字滤波器,并画出相应滤波器的幅频图(设计3个FIR滤波器)a. 滤波器类型:Blackman窗(低通、带通、高通)b总体要求:MATLAB原程序+仿真波形+技术指标+窗函数 (7)用自己设计的
6、这些滤波器分别对被不同噪声污染的信号进行滤波;(8)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;(9)回放语音信号。2 设计方案与设计原理2.1设计方案选择windows自带的“chimes.wav”声音作为语音信号,产生噪声信号加到语音信号中,得到被污染的语音信号,经过频谱分析,分别设计巴特沃思滤波器(低通、带通、高通)以及Blackman窗滤波器(低通、带通、高通)对被污染的语音信号滤波,滤掉噪音信号,得到符合要求的语音信号,方案设计流程图如图2.1、图2.2所示。 图2.1总体方案设计流程(巴特沃斯)图2.2总体方案设计流程(Black
7、man窗)2.2设计原理2.2.1巴特沃斯数字滤波器的基本设计思想2.2.1.1 IIR数字滤波器的结构与设计IIR滤波器系统函数的极点可以在单位圆内的任何位置,实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因此应用很广。设计IIR数字滤波器的方法主要有基于冲激响应不变法的IIR数字滤波器设计,基于双线性Z变换法的IIR数字滤波器设计,数字高通、带通及带阻IIR滤波器设计,基于MATLAB函数直接设计IIR数字滤波器。2.2.1.2基于双线性Z变换法的IIR数字滤波器设计本次数字信号处理课程设计我们小组选用巴特沃思数字滤波器(I
8、IR)以及Blackman窗数字滤波器(FIR)。由于 的频率映射关系是根据 推导的,所以使j轴每隔2/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: (1) s平面的整个j轴仅映射为z平面单位圆上的一周; (2)若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; (3)这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); (4)如果G(j0)=1,那么。双线性Z变换满足以上4个条件的映射关系,其变换公式为:双线性Z变换的基本思路是:首先将
9、整个s平面压缩到一条从/Ts到/Ts的带宽为2/Ts的横带里,然后通过标准的变换关系将横带变换成整个z平面上去,这样就得到s平面与z平面间的一一对应的单值关系。在MATLAB中,双线性Z变换可以通过bilinear函数实现,其调用格式为:Bz,Azbilinear(B,A,Fs)。其中B,A为模拟滤波器传递函数G(s)的分子分母多项式的系数向量,而Bz,Az为数字滤波器的传递函数H(z)的分子分母多项式的系数向量。2.2.1.3数字高通、带通及带阻IIR滤波器设计除了低通数字滤波器之外,实际中还常常需要高通、带通及带阻数字滤波器,这三种数字滤波器的设计步骤如下: (1)将数字滤波器H(z)的技
10、术指标p和s,通过tan(/2)转变为模拟滤波器G(s)的技术指标p和s,作归一化处理后,得到p1,ss/p; (2)化解为模拟原型滤波器G(s)的技术指标; (3)设计模拟原型滤波器G(p); (4)将G(p)转换为模拟滤波器的转移函数G(s); (5)将G(s)转换成数字滤波器的转移函数H(z),s=(z1)(z+1)。所谓原型滤波器是指归一化的低通滤波器。本节主要讨论通过IIR数字滤波器的原型转换设计法和IIR数字滤波器的直接设计方法来设计数字高通、带通及带阻滤波器其转换方法主要有3种:一是直接由模拟低通滤波器转换成数字高通、带通或带阻滤波器;二是先由模拟低通滤波器转换成模拟高通、带通或
11、带阻滤波器,然后再把它转换成相应的数字滤波器;三是将模拟低通滤波器先转换成数字低通滤波器,再通过变量代换变换成高通、带通或带阻滤波器。2.2.2FIR数字滤波器的结构与设计FIR滤波器通常采用窗函数方法来设计。正确地选择窗函数可以提高设计数字滤波器的性能,或者在满足设计要求的情况下,减小FIR数字滤波器的阶次。常用的窗函数有以下几种:矩形窗(Rectangular window)、三角窗(Triangular window)、汉宁窗(Hanning window)、海明窗(Hamming window)、布拉克曼窗(Blackman window)、切比雪夫窗(Chebyshev window
12、)、巴特里特窗(Bartlett window)及凯塞窗(Kaiser window)。2.2.2.1窗设计FIR数字滤波器的基本思想窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后截取(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。因此这种方法的重点是选择一个合适的窗函数和理想滤波器。我我们用表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽的低通滤波器由下式给定:为了从得到一个FIR滤波器,必须同时在两边截取。而要得到一个因果的线性相位滤波器,它的长度为,必须有:这种操作叫做加窗,可以看作是与窗函
13、数的乘积:其中根据的不同定义,可以得到不同的窗结构。在频域中,因果FIR滤波器响应由和窗响应的周期卷积得到,即: 3 设计过程3.1语音信号的采集将电脑G:chimes.wav这一声音文件导入MATLAB软件中,并使用MATLAB绘出采样后的语音信号的时域波形和频谱图。MATLAB程序如下:clf;x,FS,bits=wavread(D:ding.wav);x=x(:,1);figure(1);subplot(211);plot(x);%sound(x,FS,bits);title(语音信号时域波形图)y=fft(x,3260);f=(FS/1630)*1:1630; subplot(212)
14、;plot(f(1:1630),abs(y(1:1630);title(语音信号频谱图);运行程序得到语音信号时域和频谱图形如图3.1所示。图3.1 语音信号的时域和频谱图3.2数字滤波器的设计3.2.1 巴特沃思低通滤波器设计(1)添加噪声信号zs=0.05*cos(2*pi*10000*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.2所示。 %噪声信号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)p
15、lot(zs0)title(噪声信号波形);zs1=fft(zs,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱); 图3.2 噪声信号的时域和频谱图(2)设计巴特沃思低通滤波器,MATLAB程序如下。滤波器图如图3.3所示。%低通滤波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
16、,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));grid on;图3.3 巴特沃斯低通滤波器图(3)将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用巴特沃思低通滤波器进行语音信号的数字处理滤波。MATLAB程序如下,仿真处理如图3.4所示。%语音信号Fs=22050;x,FS,bits=wavread(G:chi
17、mes.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(语音信号频谱图);%产生噪声信号并加到语音信号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(
18、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(噪声信号频谱);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(加入噪声后的信号频谱);%低通
19、滤波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));grid on;yd=filter(Bz,
20、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,FS,bits)图3.4 巴特沃斯低通滤波器处理噪声图3.2.2 巴特沃思高通滤波器设计(1)添加噪声信号zs0=0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.5所示。t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/2205
21、0);figure(2);subplot(2,1,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱);图3.5噪声信号的时域和频谱图(2)设计巴特沃思高通滤波器,MATLAB程序如下。滤波器图如图3.6所示。 %高通滤波fp=600;fs=400;Fs=22050;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(wp/2);wa
22、s=2*tan(ws/2);N,wc=buttord(wap,was,rp,rs,s);B,A=butter(N,wc,high,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));grid on;图3.6 巴特沃斯高通滤波器图(3)将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用巴特沃思高通滤波器进行语音信号的数字处理滤波。MATLAB程序如下,仿真处理如图3.7所示。Fs
23、=22050;x,FS,bits=wavread(G:chimes.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(语音信号频谱图);%产生噪声信号并加到语音信号t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050);figure(2);subplot(2,1,1)p
24、lot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱);x1=x+zs0;%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(加入噪声后的信号频谱);%高通滤波fp=
25、600;fs=400;Fs=22050;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;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,high,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));grid on;yd=filter(B
26、z,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,FS,bits)图3.7 巴特沃斯高通滤波器处理噪声图3.2.3 巴特沃思带通滤波器设计(1)添加噪声信号0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.8所示。t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050)
27、;figure(2);subplot(2,1,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱);图3.8 噪声信号的时域和频谱图(2)设计巴特沃思带通滤波器,MATLAB程序如下。滤波器图如图3.9所示。%带通滤波fp=600,6000;fs=400,7000;Fs=22050;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;Fs1=1;wap=2*tan(
28、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));grid on;图3.9 巴特沃斯带通滤波器图(3)将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用巴特沃思带通滤波器进行语音信号的数字处理滤波。MATLAB程序如下,仿真处理如图3.10所
29、示。Fs=22050;x,FS,bits=wavread(G:chimes.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(语音信号频谱图);%产生噪声信号并加到语音信号t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050);figure(2);subplot(2,1
30、,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱);x1=x+zs0;%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(加入噪声后的信号频谱);%带通滤
31、波fp=600,6000;fs=400,7000;Fs=22050;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;T=1;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));grid on;yd
32、=filter(Bz,Az,x1);figure(5);subplot(2,1,1);plot(yd);ydd=fft(yd,1200);subplot(2,1,2);plot(f(1:600),abs(ydd(1:600);sound(yd,FS,bits)图3.10 巴特沃斯带通滤波器处理噪声图3.2.4 Blackman窗低通滤波器设计(1)添加噪声信号zs=0.05*cos(2*pi*10000*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.11所示。t=0:length(x)-1;zs=0.05*cos(2*pi*10000*t/22050);zs0=0.05
33、*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(噪声信号频谱);图3.11噪声信号的时域和频谱图(2)设计Blackman窗低通滤波器,MATLAB程序如下。滤波器图如图3.12所示。FS=22050;fp=3000,fc=3500; wp=2*pi*fp/FS;ws=2*pi*fc/FS;Bt=ws-wp; N
34、0=ceil(11*pi/Bt); N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi; bz,az=fir1(N-1,wc,blackman(N); h,w=freqz(bz,az);plot(w/pi,20*log(abs(h);title( Blackman窗低通滤波器); Blackman窗低通滤波器图3.12 Blackman窗低通滤波器图(3)将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用Blackman窗低通滤波器进行语音信号的数字处理滤波。MATLAB程序如下,仿真处理如图3.13所示。%语音信号Fs=22050;x,FS,bits=wavrea
35、d(G:chimes.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(语音信号频谱图);%产生噪声信号并加到语音信号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);s
36、ubplot(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(噪声信号频谱);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(加入噪声后的信号
37、频谱);%低通加窗滤波fp=3000,fc=3500; wp=2*pi*fp/FS;ws=2*pi*fc/FS;Bt=ws-wp; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,blackman(N); X=conv(hn,x); sound(X,FS,bits);X1=fft(X,1200);figure(4);subplot(211);plot(X);title(滤波后的信号波形);subplot(212);plot(f(1:600),abs(X1(1:600); title(滤波后的信号频谱)图3.
38、13 Blackman窗低通滤波器处理噪声图3.2.5 Blackman窗高通滤波器设计(1)添加噪声信号zs0=0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.14所示。t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050);figure(2);subplot(2,1,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);titl
39、e(噪声信号频谱);图3.14 噪声信号的时域和频谱图(2)设计Blackman窗高通滤波器,MATLAB程序如下。滤波器图如图3.15所示。fp=600,fc=400; wp=2*pi*fp/FS;ws=2*pi*fc/FS;Bt=wp-ws; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi; bz,az=fir1(N-1,wc,high,blackman(N); h,w=freqz(bz,az);plot(w/pi,20*log(abs(h); title( Blackman窗高通滤波器); Blackman窗高通滤波器图3.15 B
40、lackman窗高通滤波器图(3)将语音信号和噪音信号叠加可以得到含噪声信号,分析其频谱特性之后用Blackman窗高通滤波器进行语音信号的数字处理滤波。MATLAB程序如下,仿真处理如图3.16所示。Fs=22050;x,FS,bits=wavread(G:chimes.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
41、);title(语音信号频谱图);%产生噪声信号并加到语音信号%产生噪声信号并加到语音信号t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050);figure(2);subplot(2,1,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音 subplot(2,1,2)plot(f(1:600),abs(zs1(1:600);title(噪声信号频谱);x1=x+zs0;%sound(x1,FS,bits); %回放加入噪声后的语音y1=fft(x1,1200);figu
42、re(3);subplot(2,1,1);plot(x1);title(加入噪声后的信号波形);subplot(2,1,2);plot(f(1:600),abs(y1(1:600);title(加入噪声后的信号频谱);%高通加窗滤波fp=600,fc=400; wp=2*pi*fp/FS;ws=2*pi*fc/FS;Bt=wp-ws; N0=ceil(11*pi/Bt); N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi; hn=fir1(N-1,wc,high,blackman(N); X=conv(hn,x); sound(X,FS,bits);X1=fft(X,1200)
43、;figure(4);subplot(211);plot(X);title(滤波后的信号波形);subplot(212);plot(f(1:600),abs(X1(1:600); title(滤波后的信号频谱)图3.16 Blackman窗高通滤波器处理噪声信号图3.2.6 Blackman窗带通滤波器设计(1)添加噪声信号zs0=0.05*cos(2*pi*100*t/22050),MATLAB程序如下。噪声信号的时域及幅频图如图3.17所示。t=0:length(x)-1;zs0=0.05*cos(2*pi*100*t/22050);figure(2);subplot(2,1,1)plot(zs0)title(噪声信号波形);zs1=fft(zs0,1200);%sound(zs,FS,bits); %回放噪音
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922