《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第1页共17页语音信号滤波去噪——使用脉冲响应不变法设计的巴特沃斯滤波器摘要本课程设计是利用双线性变换法设计的切比雪夫I型滤波器对语音信号滤波去噪。用windows工具中的录音机采集一段自己说的话(语音信号),然后在MATLAB7.0软件上,用wavread函数求出语音信号的三个参数,对录制的话(语音信号)进行读取,并绘制其时域和频域图;然后给语音信号加噪声,再对加了噪声之后的信号做傅立叶变换,绘制出时域和频域波形。然后给定相应技术指标,用双线性变换法设计的一个满足指标的切比雪夫I型IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。通过分析滤波前后语音信号的时域图和频域图发现,噪声基本被滤掉,然后播放滤波后的语音文件,发现噪声基本被消除。关键词滤波去噪;切比雪夫I型IIR滤波器;双线性变换法;MATLAB1引言本课程设计主要利用麦克风采集一段8000Hz的单声道语音信号,并绘制波形观察其频谱,再用MATLAB利用双线性变换法设计的切比雪夫I型滤波器,将该语音信号进行滤波去噪处理。1.1课程设计目的课程设计是教学的最后一个步骤,课程设计有利于基础知识的理解,我们掌握了基础知识和基本技能,但是要真正接触才能真正理解课程的深入部分;还有利于逻辑思维的锻炼,在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态,写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结果,所以我们可以通过实践来分析问题、解决问题、预测目标等目的;同时也有利于与其他学科的整合,例如我们这次的课程设计就要运用MATLAB软件的帮助才能实现;最重要的有利于治学态度的培养,在课程设计中,我们可能经常犯很多小错误,可能要通过好几次的反复修改、调试才能成功,但这种现象会随着学校的深入《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第2页共17页而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不饶品格的锻炼。《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATLAB并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。1.2课程设计的要求(1)滤波器指标必须符合工程设计。(2)设计完后应检查其频率响应曲线是否满足指标。(3)处理结果和分析结论应该一致,而且应符合理论。(4)独立完成课程设计并按要求编写课程设计报告。1.3设计平台本课程设计的平台为MATLAB7.0。MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医学、金融和其他需要进行复杂数值计算的领域得到了广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的数学工具,在世界各地的高和大型计算机上运行,适用于Windows、UNIX等多种系统平台。MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担,被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境[1]。《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第3页共17页2设计原理用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用双线性变换法设计的一个满足指标的切比雪夫I型滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。2.1IIR滤波器从离散时间来看,若系统的单位抽样(冲激)响应延伸到无穷长,称之为“无限长单位冲激响应系统”,简称为IIR系统。(1)无限长单位冲激响应(IIR)滤波器有以下几个特点:(2)系统的单位冲激响应h(n)是无限长;(3)系统函数H(z)在有限z平面(0z∞);结构上存在着输出到输入的反馈,也就是结构上是递归型的。IIR滤波器采用递归型结构,即结构上带有反馈环路。同一种系统函数H(z)可以有多种不同的结构,基本网络结构有直接Ⅰ型、直接Ⅱ型、级联型、并联型四种,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器各有特点。有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。2.2切比雪夫I型滤器切比雪夫滤波器(又译车比雪夫滤波器)是在通带或阻带上频率响应幅度等波纹波动的滤波器。在通带波动的为“I型切比雪夫滤波器”,在阻带波动的为“II型切比雪夫滤波器”。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。这种滤波器来自切比雪夫多项式,因此得名,用以纪念俄罗斯数学家巴夫尼提·列波维其·切比雪夫《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第4页共17页切比雪夫滤波器的在通带范围内是等幅起伏的,所以在同样的通常内衰减要求下,其阶数较巴特沃兹滤波器要小。切比雪夫滤波器的振幅平方函数为(2-1)式中Ωc—有效通带截止频率—与通带波纹有关的参量,大,波纹大01VN(x)—N阶切比雪夫多项式(2-2)|x|≤1时,|VN(x)|≤1|x|1时,|x|↗,VN(x)↗切比雪夫滤波器的振幅平方特性如图所示,通带内,的变化范围为1(max)→211(min)时,|x|1,随↗,→0(迅速趋于零)当=0时,(2-3)N为偶数,cos2()=1,得到min,,(2-4)N为奇数,cos2(,得到max,(2-5)《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第5页共17页2.3双线性变换法双线性变换法是使数字信号滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。为了客服多值映射这一缺点,我们首先把整个s平面压缩变换到某一中介的s1平面的一条横带里(宽度为T2,即从T到T),其次再通过上面讨论过的标准变换关系Tsez1将此横带变换到这个z平面上去,这样就使s平面与z平面式一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。将s平面整个j轴压缩变换到s1平面j轴上的T到T一段,可以采用以下变换关系:)2tan(1T(2-6)这样,变换到T1,0变到01可将(2-6)式写成22221111TjTjTjTjeeeej(2-7)解析延拓到整个s平面和s1平面,令sj,11sj,则得TsTsTjTjTjTjeeTstheeeej11111111212222(2-8)再将s1平面通过以下标准变换关系映射到z平面:Tsez1(2-9)从而得到s平面和z平面的单值映射的关系为1111zzs(2-10)ssz11(2-11)一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应的关系,可以引入待定常数c,使(2-6)式和(2-7)式变换成)2tan(1Tc(2-12)《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第6页共17页TsTseecTscths111121(2-13)仍将Tsez1代入(2-13)式,可得1111zzcs(2-14)scscz(2-15)(2-14)式和(2-15)式是s平面与z平面之间的单值映射关系,这种变换就称为双线性变换。3.设计步骤3.1设计流程图语音信号滤波去噪——使用脉冲不变响应法设计的巴特沃斯滤波器的设计流程如图3.1所示:开始语音信号的采集(wavread函数),画时域图快速傅里叶变换,并且画频谱图,噪声频率fn=2500设定滤波器性能指标,通带截止频率fp=2300,阻带截止频率fc=2450,通带波纹Rp=3.3,阻带波纹As=15双线性变换法设计切比雪夫I型滤波器《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第7页共17页图3.1脉冲响应不变法巴特沃斯滤波器对语音信号去噪流程图3.2语音信号的采集利用Windows下的录音机,录制语音信号,时间在1s左右,要求为8000HZ,8位单声道的音频格式。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,函数为[x,fs,bits]=wavread('yuyin.wav'),记住采样频率和采样点数,如图3.2:图3.2语音信号设置3.3语音信号的频谱分析首先画出语音信号的时域波形,再对语音信号进行快速傅里叶变换,得到信号的频验证并进行频谱分析设计好的滤波器进行滤波处理比较滤波前后语音信号的波形及频谱回放语音信号结束《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第8页共17页谱特性。程序如下:[x,fs,bits]=wavread('yuyin.wav');sound(x,fs,bits);N=length(x);fn=2500;t=0:1/fs:(N-1)/fs;x=x';y=x+0.03*sin(fn*2*pi*t);sound(y,fs,bits);X=abs(fft(x));Y=abs(fft(y));X=X(1:N/2);Y=Y(1:N/2);deltaf=fs/N;f=0:deltaf:fs/2-deltaf;得到原始语音信号时域图形,原始语音信号幅度谱,加入噪声之后的语音信号时域图形,加入噪声之后的语音信号幅度谱如图3.3所示:图3.3原始语音信号和加入噪声之后的信号的时域波形和幅度谱3.4滤波器设计《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器》第9页共17页将数字滤波器的设计指标设为通带截止频率fp=2300HZ,阻带频率fc=2450HZ,通带波纹Rp=3.5dB,阻带波纹As=15dB,要求确定H(z)。fp=fn-200;fc=fn-50;%低通滤波器设计指标wp=fp/fs*2*pi;ws=fc/fs*2*pi;%将Hz为单位的模拟频率换算为rad为单位的数字频率T=1;OmegaP=wp/T;OmegaS=ws/T;%定义采样间隔,截止频率线性变换Rp=25;As=35;%定义通带波纹和阻带衰减T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2);OmegaS=(2/T)*tan(ws/2);%Analogchebyshev-1PrototypeFilterCalculation;[cs,ds]=afd_chb1(OmegaP,OmegaS,Rp,As);%Bilineartransformation:[b,a]=bilinear(cs,ds,Fs);[db,mag,pha,grd,w]=freqz_m(b,a);%验证滤波器是否达到指定性能n=0:100;h=impz(b,a,n);所以得到图形如图3.4:图3.4利用脉冲响应不变法设计的数字巴特沃斯滤波器(w(单位:错误!未找到引用源。))3.5信号滤波信号《语音信号滤波去噪—使用脉冲响应不变法设计的巴特沃斯滤波器