《基于MATLAB的有噪声语音信号处理毕设.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的有噪声语音信号处理毕设.doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 大学本科毕业设计论文基于MATLAB的有噪声语音信号处理摘要滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。
2、在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。关键词 数字滤波器;MATLAB;窗函数法; 巴特沃斯; 切比雪夫; 双线性变换AbstractFilter designin digital signal processingplays anextremely important role, FIR digi
3、tal filters andIIRfilter isan important part offilter design. Matlabis powerful,easy to learn, programming efficiency,which was welcomedby the majority ofscientists. Matlabalso has aparticularsignal analysistoolbox,it need not havestrongprogramming skillscanbe easilysignal analysis, processing and d
4、esign.UsingMATLABSignal Processing Toolboxcan quickly andefficiently designa variety of digitalfilters.MATLABbased onthe noiseissuespeech signal processingdesign and implementation ofdigital signal processingintegrated use ofthetheoreticalknowledgeof thespeech signalplusnoise,time domain, frequencyd
5、omain analysis andfiltering.The corresponding resultsobtainedthrough theoreticalderivation, and then useMATLABas aprogramming toolforcomputer implementation.Implementedin the designprocess,using thewindow functionmethodto designFIRdigital filterswithButterworth, Chebyshevand bilinearReformIIRdigital
6、 filterdesignanduse ofMATLABas a supplementarytool to completethecalculation and graphicdesignDrawing. Through thesimulation ofthe designedfilterand thefrequencyanalysisshows thatusingMatlabSignalProcessing Toolboxcanquickly and easilydesigndigital filtersFIRandIIR, the process is simple and conveni
7、ent, the results of theperformance indicators to meetthe specifiedrequirements.Keywords: digital filter; MATLAB; Chebyshev; Butterworth;Window function method;bilinear transformation58 / 63目录1绪论11.1研究的目的和意义21.2 国同行研究现状21.3本课题的研究容42.原始语音信号采集与处理52.1 Matlab简单介绍52.2 语音信号的采样理论依据62.3语音信号的采集72.4程序流程图72.5语音
8、信号的时频分析82.6 语音信号加噪与频谱分析92.7 本章小结113设计数字滤波器123.1 数字滤波器设计的基本思路123.2 模拟滤波器概述123.3 IIR数字滤波器概述123.4 FIR数字滤波器概述133.5 FIR数字滤波器和IIR数字滤波器比较133.6 低通,高通与带通滤波器143.7 设计FIR滤波器143.8 设计IIR滤波器153.9 双线性变换法和窗函数法153.10 本章小结184 进行滤波,比较滤波前后语音信号的波形与频谱194.1验证所设计的滤波器194.2滤波214.3本章小结235.GUI界面245.1系统界面设计工具GUI概述245.2创建GUI界面245
9、.3创建开关按钮255.4保存和修改fig文件265.5编写M文件285.6本章小结33总结34致35参考文献36附录38附录(I)设计FIR和IIR数字滤波器38附录(II)比较滤波前后语音信号的波形与频谱461绪论数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。数字滤波器, 是数字信号处理中与其重要的一部分。随着信息时代和数字技术的发展,受到人们
10、越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较
11、之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波
12、器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件与信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极减轻了工作量,有利于滤波器设计的最优化1。1.1研究的目的和意义语音信号的采集与分析技术是一门涉与面很广的交叉科学,它的应用和发展与语音学、声音测量学、电子测量技术以与数字信号处理等学科紧密联系,语音是人类获取信息的重要来源和利
13、用信息的重要手段。在信号传输过程中,由于实验条件或各种其他主观或客观条件的原因,语音处理系统都不可避免地要受到各种噪声的干扰。噪声不但降低了语音质量和语音的可懂度,而且还将导致系统性能的急剧恶化,严重时使整个系统无常工作。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以与交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以与非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以与必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编
14、辑模式,代表了当今国际科学计算软件的先进水平。其强大的数据处理能力可以极大程度上削弱噪声影响,还原出真实的语音信号(相符度在90%以上)2。1.2 国同行研究现状MATLAB是Matrix Laboratory(矩阵实验室)的缩写,是MathWorks推出的一套高性能可视化软件,它集数值分析,矩阵运算,函数生成,信号处理,图像处理,建模与仿真等诸多功能于一体,为使用者提供一个高效的编程工具。本次毕业设计中,我们就用它作为编程工具和辅助工具进行设计。噪声污染位于联合国四大公认污染之一,无论是尖锐的火车汽笛声,还是我们肉耳听不到的超声波,次声波都有可能给人们生活带来极大不便。在机械方面,机械件碰撞
15、带来的噪声会缩短器件寿命,在电子方面,电器件在噪声的影响下可能会失灵。华中师大学教育信息技术工程研究中心()智老师曾经就机械噪声给人们身心带来的伤害进行过一次计算机仿真,同时用MATLAB进行了信号处理。此次研究,他通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,在整个频域围分是布均匀。其实,这正是干扰所造成的。通过滤波前后的对比,得出低通滤波后效果最好,高通滤波后的效果最差的结果3。理工大学2000级硕士瑞艳也曾经做过一个振动,噪声处理系统,它是WINDOW
16、S界面下的振动、噪声信号处理系统,它在专用模拟输入硬件(数据采集系统)支持下,可以完成振动、噪声信号的数据采集以与功率谱、倒谱、谱阵和传递函数分析等功能。能将数据转化成各种对应的图形,并具备ZOOM功能。它可以广泛应用于实验室、生产现场和教学中做振动、噪声的测试和分析,可以代替专用信号处理机的工作。 本系统软件采用先进的C+ Builder语言编制,在WINDOWS系统下运行。软件界面的设计以满足大多数用户为主,力求直观通俗,通过菜单驱动完成各个功能4。华中科技大学能源与动力工程学院就“基于MATLAB的噪声信号采集与分析系统研究 ”做过研究报告,他们利用MATLAB的数据采集工具箱(DAQ)
17、和信号处理工具箱开发了一套声音信号采集分析系统,该系统不仅能够实现低成本、高精度的实时采集,还能将声音信号资料导入系统进行时域和频域分析。利用另外一个工具Compiler使编制的MATLAB程序能够独立运行从而提高了运行速度;配备了友好的图形用户界面(GUI),方便用户操作。最后给出了系统在燃机噪声诊断方面的应用实例5。在机械方面,西北工业大学航海工程学院就“基于MATLAB的舰船辐射噪声信号小波消噪处理” 做过研究报告,他们针对舰船辐射噪声信号的特点提出了小波消噪的方法,对小波消噪理论作了简要的阐述,并设计了一种消噪方案,最后利用MATLAB,在计算机上选用不同的小波基和阈值进行了实船信号的
18、消噪处理试验,并对结果进行了简单的分析比较。试验结果表明,在选择了合适的小波基和阈值的情况下,利用小波变换的方法对舰船辐射噪声进行消噪处理可以取得良好的效果6。 由此可见,MATLAB给噪声处理带来了极大“福音”。1.3本课题的研究容课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的
19、绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器。2.原始语音信号采集与处理2.1 Matlab简单介绍MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以与数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以与交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以与非线性动态系统的建模和仿真
20、等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以与必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达
21、式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成一样的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。MATLAB 的应用围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以与计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MA
22、TLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域特定类型的问题。2.2 语音信号的采样理论依据2.2.1采样频率采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。2.2.2采样位数采样位数即采样值或取样值,用来衡量声音波动变化
23、的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度围。每增加一个采样位数相当于力度围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。2.2.3采样定理在进行
24、模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又称奈奎斯特定理。 1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)2.3语音信号的采集利用PC机上的声卡和WINDOWS操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信
25、号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“Orisound”保存入c : MATLAB work中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS操作系统规定的声音文件存的标准。开始用wavread读取语音信号,并进行采样,建立数据文件,并用plot画出数据文件时域波形图和频谱图利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析。回放语音信号得出所设计滤波器在语音处理中的优劣并设计一个信号处理系统界面。结束运用数字信号处理理论设计FIR和IIR数字滤波器, 并对被噪声污染的语
26、音信号进行滤波,分析滤波后信号的时域和频域特征。2.4程序流程图图 2-1程序流程图2.5语音信号的时频分析在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数,Wavread函数调用格式y=wavread(file)%读取file所规定的wav文件,返回采样值放在向量y中。y,fs,bits=wavread(file) %采样值放在向量y中,fs表示采样频率(hz),bits表示采样位数。y=wavread(file,N)%读取前N点的采样值放在向量y中。y=wavread(file,N1,N2)%读取从N1到N2点的采样值放在向量y中。对语音信号Ori
27、sound.wav进行采样其程序如下:y,fs,nbits=wavread (OriSound); %把语音信号加载入MATLAB仿真软件平台中画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N) (式2-1)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。程序如下:y,fs,
28、nbits=wavread(OriSound); %语音信号的采集sound(y,fs,nbits); %语音信号的播放n=length(y) ; Y=fft(y,n); %快速傅里叶变换figure;subplot(2,1,1);plot(y);title(原始信号波形,fontweight,bold);axis( 78000 80000 -1 1);grid;subplot(2,1,2);plot(abs(Y);title(原始信号频谱,fontweight,bold);axis( 0 150000 0 4000);grid;程序结果如下图:图 2-2 原始信号采集波形图2.6 语音信号加
29、噪与频谱分析在MATLAB中产生高斯白噪声非常方便,我们可以直接应用两个函数:一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。也可直接用randn函数产生高斯分布序列。在本次设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生nn服从标准高斯分布的随机数矩阵,后者产生mn的随机数矩阵。在这里,我们选用Randn(m,n)函数。语音信号添加噪声与其频谱分析的主要程序如下:y,fs,nbit
30、s=wavread(OriSound);sound(y,fs,nbits); n = length (y) ; Noise=0.2*randn(n,2);s=y+Noise;sound(s);figure;subplot(2,1,1);plot(s);title(加噪语音信号的时域波形,fontweight,bold);axis( 78000 80000 -1 1);grid;S=fft(s); subplot(2,1,2);plot(abs(S);title(加噪语音信号的频域波形,fontweight,bold);axis( 0 150000 0 4000);grid; 图 2-3 信号加
31、噪时域波形图与频谱图2.7 本章小结 本章介绍了语音信号的采集,信号加白噪声,加噪后的时域与频域分析。3设计数字滤波器3.1 数字滤波器设计的基本思路数字滤波器的实现有两个关键步骤:一个从数字域到模拟域间的变换,这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换,同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换;另一个是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计。3.2 模拟滤波器概述用模拟数字变换法设计IIR数字滤波器,首先必须设计一个模拟滤波器,它有许多不同的类型,主要有以下两种类型:巴特沃思(Botterworth简写BW)滤波器。BW滤波器是根据幅频特性在通带具
32、有最拼图特性而定义的滤波器,对一个N阶低通滤波器来说,所谓最平坦特性就是模拟函数的前(2N-1)阶导数在处都为零。BW滤波器的另一个特性是在通带和阻带的幅频特性始终是频率的单调下降函数,且其模拟函数随阶次N 的增大而更接近于理想低通滤波器。切比雪夫(Chbyshev简写为CB)滤波器。CB低通滤波器的模拟函数由切比雪夫多项式定义,且在通带的幅频响应是波动的,在阻带则单调变化。3.3 IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限
33、的脉冲响应。IIR滤波器有以下几个特点:(1)封闭函数:IIR数字滤波器的系统函数可以写成封闭函数的形式。 (2)IIR数字滤波器采用递归型结构:IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (3)借助成熟的模拟滤波器的成果:IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计
34、一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,再通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。(4)需加相位校准网络:IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。3.4 FIR数字滤波器概述FIR数字滤波器(finite impulse response filter)又名“有限脉冲响应数字滤波器”,这类滤波器对于脉冲输入信号的响应最终趋向于0,因此而得名。有限脉冲响应滤波器(FIR filter)的优点:(1) 脉冲响应(impulse response)为有限长:造成当输入数位讯号为有限长的时候,输出数位讯号也为有限长。(2) 比无限脉
35、冲响应滤波器(IIR filter)较容易最佳化(optimize)。(3) 线性相位(linear phase):造成h(n),是偶对称(even)或奇对称(odd)且有限长。(4)一定是稳定的(stable):因为Z转换(Z transform)后所有的极点(pole)都在单位圆3.5 FIR数字滤波器和IIR数字滤波器比较不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:(1)按照实际任务的要求,确定滤波器的性能指标。(2)用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。(3)利用有限精度算法实现系
36、统函数,包括结构选择、字长选择等。但IIR滤波器和FIR滤波器的设计方法完全不同。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。3.6 低通,高通与带通滤波器低通滤波器:对于不同滤波器而言,每个频率的信号的减弱程度不同。当使用在音频应用时,它有时被称为高频剪切滤波器, 或高音消除滤波器。低通滤波器概念有许多不同的形式,其中包括
37、电子线路(如音频设备中使用的hiss 滤波器、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。高通滤波器:去掉信号中不必要的低频成分,去掉低频干扰的滤波器。在电力系统中,谐波补偿时用高通滤波器滤除某次与其以上的各次谐波。高通滤波器是指车载功放中能够让中、高频信号通过而不让低频信号通过的电路,其作用是滤去音频信号中的低音
38、成分,增强中音和高音成分以驱动扬声器的中音和高音单元。此外高通滤波器常常和低通滤波器成对出现,不论哪一种,都是为了把一定的声音频率送到应该去的单元。带通滤波器:能通过某一频率围的频率分量、但将其他围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。一个模拟带通滤波器的例子是电阻-电感-电容电路(RLC circuit)。这些滤波器也可以用低通滤波器同高通滤波器组合来产生。3.7 设计FIR滤波器如前所述,IIR滤波器和FIR滤波器的设计方法有很大的区别。下面我们着重介绍用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减与过渡带的指标要求,选择窗函数类型(矩形窗、三角窗、汉宁窗
39、、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n).。(4)加窗得到设计结果。3.8 设计IIR滤波器无论是数字滤波器还是模拟滤波器,他们技术指标的建立都是以所谓的“固有衰减”参数为参照。以数字滤波器为例,固有衰减参数(关于之旅分量归一化)定义为 A(w)=-20lg|H(ejw)|-20lg|H(ej0)|(式3-1)目前IIR数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为
40、完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便。IIR数字滤波器的设计步骤是:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标设计模拟低通滤波器;再按一定规则将G(s)转换成H(z)。若设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通,带通或带阻滤波器,那么还有步骤;将高通、带通、或带阻数字l不去的技术指标先转化为低通模拟滤波器的技术指标,然后按照上述步骤设计出低通,再将转换为所需的H(z)。3.9 双线性变换法和窗函数法对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的
41、频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:(1)确定所需类型数字滤波器的技术指标。(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为=2/T tan(0.5)(式3-2)(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4)设计模拟低通滤波器。(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了
42、克服之一缺点,可以采用双线性变换法。下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计与过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。接下来,我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz
43、,As=100dB,Ap=1dB;带通滤波器的性能指标:fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应的都有实现函数
44、。MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是N,wc=butter(N,wc,Rp,As,s),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:B,A=cheby1(N,Rp,wpo,ftypr)函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们以I
45、IR低通滤波器的设计为例:Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s); b11,a11=butter(n11,wn11,s); num11,den11=bilinear(b11,a11,0.5);h,w=freqz(num11,den11);figure;plot(w*8000*0.5/pi,abs(h);legend(IIR低通滤波器,Location,NorthWest);grid;程序结果如下图:
46、 图3-1 IIR低通滤波器IIR高通要用cheby1(即切比雪夫I型滤波器)函数来设计,1p2hp其中p;pose(模型),h(high),同理,1p2bp中b表示band(带通),FIR与此类似。其余具体程序与运行结果如 附录(I)设计FIR和IIR数字滤波器3.10 本章小结本章详细介绍了FIR和IIR数字滤波器的设计,利用MATLAB信号处理工具箱函数,我们很容易写出其相应程序。4 进行滤波,比较滤波前后语音信号的波形与频谱4.1验证所设计的滤波器为了验证滤波器的可使用性,我们用常用的sin函数来进行验证。其具体程序与运行结果如下:t=0:1/1023:1;s=sin(2*pi*t);N=length(s);y=s+0.5*rand(1,N);subplot(2,1,1);plot(y);title(加噪语音信号的时域波形,fontweight,bold);S=fft(y); subplot(2,1,2);plot(abs(S);title(加噪语音信号的频域波形,fontweight,bold);Ft=8000;Fp=1000;Fs=1200;wp=