




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2014届本科生毕业设计分类号:TN713题目:基于MATLAB勺数字滤波器优化设计作者姓名:解少飞学号:2010080215学院:机械与电子工程学院专业:电子信息工程指导教师姓名:曹吉花 李迎军指导教师职称:副教授工程师2014年5月10日摘要数字滤波器是数字信号处理中最重要的组成部分之一。在许多科学技术领域中,广泛使用滤波器对信号进行处理。数字滤波器可以分为两类,即无限冲激响应数字滤波器(IIR)和有限冲激响应数字滤波器(FIR)。本文就分别对这两类数字滤波器的设计 和实现来进行分析研究。在IIR滤波器的设计过程中,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法
2、是脉冲响应不变法、双向性变换法。在FIR滤波器的设计过程中主要探讨了用窗函数法设计FIR滤波器。在这两类滤波器的整个设计过程都是按照理论分析、编程设计、具体实现的步骤来进行的。相对于模拟滤波器来说,数字滤波器稳定、没有漂移、精度高、参数容易控制, 这些优势决定了数字滤波器的应用越来越广泛。关键词:数字滤波器;MATLAB ;有限冲激响应;无限冲激响应ABSTRACTDigital filter is one of the most importa nt parts of digital sig nal process in g. In many fields of scie nee and t
3、ech no logy, it is widely used for sig nal process ing. Digital filter can be divided as the Infinite Impulse Responsedigital filter (IIR) and the Finite Impulse Responsedigital filter (FIR) a. The paper aims at respective study in the design and realization of these two kinds of digital filters.Dur
4、ing the design of IIR filters, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method. During the design of FIR filters, we mainly discuss the design of the FIR fil
5、ters by means of window functions. The design of FIR and IIR follows the procedures of theoretical analysis, programming design and con crete realizatio n.Relative to analog filter,the digital filter without excursion, be able to process low frequency signal ,the characteristic of frequency response
6、 close to ideal value with high precision ,and easy to integrated .These advantages decide the application of digital filter become more and more exte nsively.Key words: Digital Filter ; MATLAB ; IIR ; FIR绪论 11数字滤波器及 MATLA语言概述 21.1 数字滤波技术发展概括 21.2常用滤波器的性能指标 31.3MATLA概述 52 IIR滤波器设计 72.1双线性变换法设计IIR数字滤
7、波器 72.2 脉冲响应不变法 112.3语音滤波实例 133 FIR滤波器设计 183.1窗函数法 183.2 FIR滤波器滤波实例 22结论 25参考文献 26致谢 27宿州学院本科生毕业设计基于MATLAB的数字滤波器优化设计绪论数字滤波在通信、图像编码、语音编码、雷达等许多领域中有着十分广泛的应用。 目前,数字信号滤波器的设计在图像处理、 数据压缩等方面的应用取得了令人瞩目的 进展和成就。近年来迅速发展起来。MATLAB是美国MathWorks公司推出的一套用于工程计算的可视化高性能语言 与软件环境。MATLAB为数字滤波的研究和应用提供了一个直观、高效、便捷的利 器。它以矩阵运算为基
8、础,把计算、可视化、程序设计融合到了一个交互式的工作环 境中。MATLAB推出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、 工程应用,其中的信号处理(signalproeessing) 图像处理(imageproeessing) 小波(wavelet )等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。数字滤波器与模拟滤波器相比,具有精度高、稳定、体积小、重量轻、灵活、不 要求阻抗匹配以及能实现模拟滤波器无法进行的特殊滤波等优点。本文主要介绍有限冲激响应数字滤波器(FIR)和无限冲激响应数字滤波器(IIR)的设计原理、方法、 步骤以及在MATLAB中的实现,并以实例形式列出设计程序
9、和仿真结果。331数字滤波器及MATLAB语言概述1.1 数字滤波技术发展概括关于数字滤波器,早在40年代末期,就有人讨论过它的可能性问题。但直到 60 年代中期,才开始形成关于数字滤波器的一套完整的正规理论。70年代科学技术蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术,微处理器技术、高速数字算术单元、双极型高密度半导体存储器、电荷转移器件等新技术、新工艺结合了 起来,并且引进了计算机辅助设计方法,它使数字滤波器的设计仅仅是对相应模拟滤 波器的通近。数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成 电路的大量生产和广泛应用,替代了原来的模拟信号处理中的线性滤波与颇谱分
10、析所 应用的模拟计算机和分立元件L. C. R线性网络,高度发挥了计算技术与数字技术相 结合的特色和优越性。特别是微处理器和微型计算机技术日新月异的发展,将更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,促使它们成为富有智能性的电子系统。现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展, 据估计这种趋势还要持续一个较长的 时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性转变。对于数字滤波器而言,若系统函数为H(z),其脉冲响应为h(n),输入时间序列为x( n),贝U它们在时域内的关系式如下:y(n)=h(
11、n) * x(n)(1-1)在Z域内,输入和输出存在如下关系:Y(z)= H(z)X(z)(1-2)式中,X(z)、Y(z)分别为x(n)和y(n)的Z变换。在频域内,输入和输出则存在如下关系:丫(j )=H(j )X(j )(1-3)式中,H(j)是数字滤波器的频率特性;X(j)Yj )分别为x(n)和y(n)的频谱, 而为数字角频率。数字滤波器可以有很多种分类方法,但总体上可分为两大类。一类称为经典滤波 器,即一般的滤波器,其特点是输入信号中的有用成分和希望滤除的成分占用不同的 频带,通过合适的选频滤波器可以实现滤波3。例如,若输入信号中有干扰,信号和 干扰的频带互不重叠,则可滤出信号中的
12、干扰得到纯信号。 但是,如果输入信号中信 号和干扰的频带相重叠,则干扰就不能被有效的滤出。另一类称为现代滤波器,如维 纳滤波器、卡尔曼滤波器等,其输入信号中有用信号和希望滤除的成分频带重叠。对于经典滤波器,从频域上也可以分为低通、高通、带通和带阻滤波器。从时域特性上 看,数字滤波器还可以分为有限冲激响应数字滤波器(FIR )和无限冲激响应数字滤波器(IIR)。对于有限冲激响应数字滤波器(FIR),其输出y(n)只取决于有限个过去和现在的 输入,x(n),x(n-1),x(nm),滤波器的输入输出关系可表示为My(n)八 brx(n -r)(1-4)r /对于无限冲激响应数字滤波器(IIR),它
13、的输出不仅取决于过去和现在的输入, 而且还取决于过去的输出,其差分方程为NMy(n)+ aky(n- k)八 bx(n-r)(1-5)k4r z0该差分方程的单位冲激响应是无限延续的。1.2 常用滤波器的性能指标4滤波器性能一般用系统频率特性 H (e)来说明,常用的性能指标主要有以下三 个参数:(1)幅度平方函数2(1-6)ejR(e嵋(1-7)H(e鬥| =H(e ”H*(ej) =H(ej )H (e) =H( z)H*(z)该性能指标主要用来说明系统的幅频特性。(2)相位函数H (eja) = ReH (ej)P j Im H (e1) = H j其中:P(e鬥=arctg*ImH(e
14、临) ReH(e血)(1-8)该指标主要用来说明系统的相位特性。(3)群延时()一 d(ej )(1-9)定义为相位对角频率导数的负值,说明了滤波器对不同的频率成分的平均延时。 当要求在通带内的群延迟是常数时,滤波器相位响应特性应该是线性的。实际设计中所能得到的滤波器的频率特性与理想滤波器的频率特性之间存在着 一些显著的差别,现以低通滤波器的频率特性为例进行说明。(1)理想滤波器的特性:设滤波器输入信号为x(t),信号中混入噪音u(t),它们有不同的频率成分。滤波 器的单位脉冲响应为h(t)。则理想滤波器输出为:y(t) =x(t) u(t) h(t)二 K x(t - .)( 1-10)即噪
15、音信号被滤除u(t)“h(t)=O,而信号无失真只有延时和线性放大。对上式作傅里叶变换得:丫() =X(j) H(j) U(j) H(j) = KeX(j)(1-11)假疋噪音信号被皮滤除,即:U(jQ) H(jO)=0(1-12)整理得:H (j)二丫(j J =KeXj)(1-13)八 |Hj)KJhh (t)0QcQ7 2 2 *t假定信号频率成分为:C,噪音频率成分为八c。则完成滤波的理想低图1理想低通滤波器频率特性图2理性滤波器的单位脉冲响应 (H =0)通滤波器特性是:即:系统的单位脉冲响应为:H(j)Y(rO _ KX(j-)0|Hj卄 0ITc丨carg(H (j)-h(t)二
16、2鳥小严泊二(t _ )理性低通滤波器的频率特性如图1所示,单位脉冲响应的波形如图(1-14)(1-15)(1-16)(1-17)2所示。理想滤波器具有非因果、无限长的单位脉冲响应和不连续的频率特性, 要用稳定 的线性时不变(LTI)系统来实现这样的特性是不可能的 。工程上是用脉冲响应为 有限长的、因果的、稳定的线性时不变系统或具有连续频率特性的线性时不变系统来 逼近理想特性。在满足一定的误差要求的情况下来实现理想滤波特性。因此实际的滤波器的频率特性如图3所示。其中:截止频率性图3实际滤波器的频率特性s 阻带起始频率过渡带宽在通带内幅度响应以 “1的误差接近于1,即:1H (eJW) cr1(
17、1-18),s为阻带起始频率,在阻带内幅度响应以小于 J的误差接近于零,即:(1-19)S 一 C的不H (eJ)兰口2s |为了使逼近理想低通滤波器的方法成为可能,还必须提供一带宽为 为零的过渡带。在这个频带内,幅度响应从通带平滑的下落到阻带。1.3 MATLAB 概述2MATLA是 英文Matrix Laboratory(矩阵实验室)的缩写。它是由美国 Math Works 公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。其优秀 的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出
18、MATLA系统最初是由Cleve Moler用FORTRAN言设计的,现在的 MATLA程序是Math Works公司 用C语言开发的。它的第一版(DOS版本1.0)发行于1984年,经过10余年的不断改进, MATLA的版本不断升级,其所含的“工具箱”功能也越来越丰富,工具越来越多,因 此应用范围也越来越广泛。MATLA软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为(IEEE评述)国际公认的最优秀的科技应用软件。它功能强大、界面友善、语言自然、开放性强的特点使它获得了对应用学科(特别是边缘学科和交叉学科)的极强适应力,并很 快成为应用学科计算机辅助分析、 设计、仿真、教学乃至
19、科技文字处理不可缺少的基 础软件.在欧美等高校,MATLAB.成为理工科高级课程的基本教学工具,成为攻读学 位的大学生、硕士生、博士生必须掌握的技能。在设计研究单位和工业部门,MATLAB己经成为研究和解决各种具体工程问题的一种标准软件 。近年来该软件系统开始在 国内流行,受到理工科大专院校师生及科研人员的重视, 这也是本文选择用它来设计 实现数字滤波器的原因所在。2 IIR滤波器设计2.1 双线性变换法设计IIR数字滤波器从S平面到Z平面是多值的映射关系会造成频率响应的混叠失真。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-n /T-n /T之间,再用z=es
20、T转换到Z平面上。也就是说,第一步先将整个 S平面压缩映射到 S1平面的-n /n /T条横带里;第二步再通过标准变换关系z=es仃将此横带变换到整个Z平面上去。这样就使 S平面与Z平面建立了一一对应的单值关系,消除了 多值变换性,也就消除了频谱混叠现象,映射关系如图4所示。图4双线性变换的映射关系为了将S平面的整个虚轴j Q压缩到S1平面j Q1轴上的-n /T到n /T段上,可以通 过以下的正切变换实现(2-1)式中,T仍是采样间隔当Q1由-n门经过0变化到n门时,Q由-,经过0变化到+汽 也即映射了整个j Q轴。将式(2-1)写成:e击占允+孚吋“胃总(2-2)将此关系解析延拓到整个 S
21、平面和S1平面,令j Q =s j Q仁s1则得:1-宀1 +戶再将S1平面通过以下标准变换关系映射到 Z平面z=es1T(2-3)从而得到S平面和Z平面的单值映射关系为:2 1-z-1Tl+z1(2-4)1 - S 一+ &1S -S2 T(2-5)式(2-4)与式(2-5)是S平面与Z平面之间的单值映射关系,这种变换都是两 个线性函数之比,因此称为双线性变换式(2-1)与式(2-4)的双线性变换符合映射变换应满足的两点要求。首先,把z=ej g可得2 1-严亍1+莎(2-6)即S平面的虚轴映射到Z平面的单位圆其次,将s=c +j代入式(3-6),得(2-7)T(2-8)由此看出,当(7 0
22、时寸,|Z|0寸,|Z|1。也就是说,S平面的左半平面映 射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴 映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤 波器也一定是稳定的。双线性变换法优缺点:双线性变换法,其主要的优点是避免了频率响应的混叠现象。这是因为这里S平面与Z平面是单值的一一对应关系。S平面整个j Q轴单值地对应于Z平面单位圆 一周,即频率轴是单值变换关系。这个关系如式(2-6)所示,表明,S平面上Q与 Z平面的g成非线性的正切关系,如图5所示。由图5看出,在零频率附近,模拟角频率 Q与数字频率g之间的变换关系接近 于线性关系;但
23、当Q进一步增加时,g增长得越来越慢,最后当 Qf曲寸,g终止在 折叠频率g =冗处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到 低频部分去的现象,从而消除了频率混叠现象。图5双线性变换法的频率变换关系但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(2-6)及图5所示。由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个 线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型 的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带 通、带阻型滤
24、波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模 拟滤波器的幅频响应会有畸变,如图 6所示。图6双线性变换法幅度和相位特性的非线性映射对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。在MATLAB,双线性变换法的调用函数是 bilinear 。其调用格式为:a. zd,pd,kd= bili near(z,p,k,fs)b. zd,pd,kd= bili near(z,p,k,fs,fp)c. nu
25、 md,de nd=bili near(nu m,de n,fs)d. nu md,de nd=bili near(nu m,de n, fs,fp)e. Aa,Bb,Cc,Dd=bili near(A,B,C,D,fs)f. Aa,Bb,Cc,Dd=bili near(A,B,C,D,fs,fp)zd,pd,kd=bili near(z,p,k,fs)是把模拟滤波器的零极点模型转换为数字滤波器的零极点模型,fs为采样频率,乙p,k分别为滤波器的零点、极点和增益;nu md,de nd=bili near( num,de n,fs)是把模拟滤波器的传递函数模型转换为数字滤波器的传递模型;Aa,
26、Bb,Cc,Dd=bili near(A,B,C,D,fs)是把模拟滤波器的状态方程模型转换为数字滤波器状态方程模型。例如,用双线性变换法设计一个巴特沃思数字低通滤波器,技术指标如下:通带截止频率1打=2二4k rad/s,阻带截止频率幔=2二8k rad/s,通带波纹系数 Rp=0.3dB,阻带波纹系数Rs=50dB,采样频率fs=20000Hz。程序如下:N,Wn=buttord (wp,ws,Rp,Rs, s )% 估计滤波器最小阶数z,p,k=buttap(N);Bap,Aap=zp2tf(z,p,k);b,a=lp2lp(B ap,Aap,Wn);b z, az=bili near(
27、b,a,fs)freqz(bz,az, Nn,fs)程序在MATLAB境下的运行及结果如图7所示:结果如下:N =11Wn =1.4892e+004bz =Columns 1 through 60.01100.12110.60551.81663.63335.0866Columns 7 through 125.08663.63331.81660.60550.12110.0110az =Colum ns 1 through 61.0000 2.7098 4.63795.22524.36852.7207Columns 7 through 121.28850.45610.11810.02110.002
28、30.0001-300050010001500Frequency (Hz)20002500O00T-002-0-200-400-600-800-1000050010001500Frequency (Hz)20002500图7巴特沃思数字低通滤波器幅频-相频特性2.2 脉冲响应不变法10顾名思义,脉冲响应不变法就是要求数字滤波器的脉冲响应序列h( n)与模拟滤波器的脉冲响应ha(t)的采样值相等,即h(n)=ha(t) s =ha(nT)(2-10)式中,T为采样周期。根据模拟信号的拉普拉斯变换与离散序列的Z变换之间的关系,我们知道1H z=Ha(Sja)(2-11)此式表明,ha (t)的拉普
29、拉斯变换在s平面上沿虚轴,按照周期s=2:/T延拓后, 按式z= eST,进行Z变换,就可以将Ha(s)映射为H(z)。事实上,用脉冲响应不变法设 计IIR滤波器,只适合于Ha(s)有单阶极点,且分母多项式的阶次高于分子多项式阶次 的情况。将Ha(s)用部分分式表示:N AHa(s)=LTha(t)=-( 2-12)im S Sj式中,LT 代表拉普拉斯变换,s为的单阶极点。将Ha(s)进行拉普拉斯反变换, 即可得到:Nha(t)= AeSitu(t)(2-13)i#N式中,u(t)是单位阶跃函数。则ha(t)的离散序列h(n)=ha(nT)八 AieSinTu(nT)对h( n)进行z变换之
30、后,可以得到数字滤波器的系统函数 H(z):旳NaH(z)=J: h(n)z= (2-14) 0i 1 - e z对比Ha(s)与H(z),我们会发现:s域中Ha(s)的极点是si,映射到z平面之后,其极 点变成了 eST,而系数没有发生变化,仍为 A。因此,在设计IIR滤波器时,我们只 要找出模拟滤波器系统函数Ha(s)的极点和系数A,通过脉冲响应不变法,代入H(z) 的表达式中,即可求出H(z),实现连续系统的离散化 。但是脉冲响应不变法只适合于设计低通和带通滤波器,而不适合于设计高通和带 阻滤波器。因为,如果模拟信号ha(t)的频带不是介于一二/T之间,则会在一二/T的奇数倍附近产生频率
31、混叠现象,映射到 z平面后,则会在川=感附近产生频率混叠现 象。从而使所设计的数字滤波器不同程度的偏离模拟滤波器在=7附近的频率特性,严重时使数字滤波器不满足给定的技术指标。为此,希望设计的滤波器是带限滤波器,如果不是带限的,例如,高通滤波器、带阻滤波器,需要在高通滤波器、带阻 滤波器之前加保护滤波器,滤出高于折叠频率 -/T以上的频带,以免产生频率混叠现 象。但这样会增加系统的成本和复杂性。因此,高通与带阻滤波器不适合用这种方 法。将模拟滤波器转化为数字滤波器,牵涉到一个关键的问题,即寻找一种转换关系, 将s平面上的Ha(s)转换成z平面上的H(z)。这里Ha(s)是模拟滤波器的传输函数,H
32、(z) 是数字滤波器的系统函数10。为了确保转换后的H(z)稳定且满足技术要求,转换关系 要满足以下要求:1) 将因果稳定的模拟滤波器转换为数字滤波器后,仍然是因果稳定的。我们知道,当模拟滤波器的传输函数Ha(s)的极点全部位于s平面的左平面时,模拟滤波器才是因 果稳定的;对于数字滤波器而言,因果稳定的条件是其传输函数H(z)的极点要全部位于单位圆内。因此,转换关系应是s平面的左半平面映射到z平面的单位圆内。2) 数字滤波器的频率响应与模拟滤波器的频率响应相对应,S平面的虚轴映射为Z 平面的单位圆,而响应的频率之间是线性变换关系。在MATLAB中,脉冲响应不变法的调用函数是imp in var
33、,其调用格式为:a. bz, az=impinvar(b,a,fs)b. bz,az=impinvar(b,a)c. bz,az=impinvar(b,a,fs,tol)该函数的功能是将分子向量为 b、分母向量为a的模拟滤波器,转换为分子向量 为bz、分母向量为az的数字滤波器。fs为采样频率,单位为Hz,默认值为1Hz。tol 指误差容限,表示转换后的离散系统函数是否有重复的极点。例如,用脉冲响应不变法设计一个契比雪夫型数字低通滤波器,指标要求:通带截止频率p=1000Hz,阻带截止频率s=1200Hz,采样频率fs=5000Hz,通带衰减系数Rp=0.3dB,阻带衰减系数Rs =40dB程
34、序如下:wp=1000*2*pi ; ws=1200*2*pi ; fs=2500; Rp=0.3; Rs=40; N,Wn=cheb1ord(wp,ws,Rp, Rs,s); %估计滤波器最小阶数 z,p,k=cheb1ap(N,Rp);%模拟滤波器函数引用A,B,C,D=zp2ss(z,p,k);%返回状态转移矩阵形式AT,BT,CT,DT=lp2lp(A,B,C,D,Wn);%频率转换%返回传递函数形式%调用脉冲相应不变法%返回频率响应%画图b,a=ss2tf(AT,BT,CT,DT); bz,az=impinvar(b, a, fs);H,W=freqz(bz , az); plot(
35、W*fs/(2*pi) , abs(H); grid;xlabel(freque ncy/Hz); ylabel(mag nitude);0.40.2200400600 800freque ncy/Hz100012001400图8契比雪夫型数字低通滤波器幅频特性曲线N, Wn程序在MATLAB环境下的运行及结果如图8所示:4 21 .118 6 a aeQMrnoa mN =11 Wn =6.2832e+0032.3 语音滤波实例根据语音信号的特点给出有关滤波器的性能指标:1 )低通滤波器性能指标,fp=1000Hz, fc=1200 Hz,As=100dB, Ap=1dB ; 2)高通滤波器
36、性能指标,fc=2800 Hz, fp=3000 Hz As=100dB,Ap=1dB ; 3)带通滤波器性能指标,fp仁 1200 Hz, fp2=3000 Hz, fc1= 1000 Hz,fc2=3200 Hz, As=100dB,Ap=1dB。用 IIR 对其分析,最后,利用 MATLAB 中的函数freqz画出各滤波器的频率响应。1 语音信号的采集:1) 利用windows下的录音机(开始一程序一附件一娱乐一录音机,文件一属性 立即转换一8000KHZ, 8位,单声道),录制一段自己的话音 信号” 时间控制在 1秒左右,然后将音频文件保存 “ E解少飞.wav”2) 在MATLAB软
37、件平台下,利用函数wavread对语音信号进行采样,记住采样 频率和采样点数。解少飞.wav)运行结果:fs =44100bits =16wavread函数调用格式:y=wavread(file),读取file所规定的wav文件,返回采样值放在向量 y中。y,fs,nbits=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits 表示采样位数。y=wavread(file, N),读取前N点的采样值放在向量 y中。y=wavread(file,N1,N2),读取从N1点到N2点的采样值放在向量 y中。2 语音信号的频谱分析 首先画出语音信号的时域波形解少飞.wa
38、v);plot(z1);图像输出如图10 对语音信号进行频谱分析,在 MATLAB中,可以利用函数fft对信号进行快速 付立叶变换,得到信号的频谱特性解少飞.wav);y1= z1(1:8192);Y1= fft(y1);n=0:8191;plot(n, 丫1);图像输出如图11所示。信号时域波形图10图11 信号频谱分析图根据语音信号的特点,设计出不同性能的数字滤波器,并用MATLAB进行仿真 设计程序及仿真结果如下:设计IIR低通滤波器滤波程序如下:Clear; close allz1,fs,解少飞.wav)y1= z1(1:8192);丫仁 fft(y1);fp=1OOO; fc=120
39、0; As=100; Ap=1 ; Fs=8000;wc=2*fc/Fs;wb=2*fp/Fs ;n,wp=cheb1ord(wc,wb,Ap,As);b, a=cheby1(n, Ap,wp);figure(1);freqz(b, a);x=filter(b, a, z1);X=fft(x,8192);figure(2);subplot(2, 2,1); plot(abs(Y1); axis(0,1000,0,1.0);title(滤波前信号频谱);subplot(2,2,2); plot(abs(X) ; axis(0,4000, 0, 0.03); title(滤波后信号频谱);subp
40、lot(2,2, 3); plot(z1);title(滤波前信号波形);subplot(2,2,4); plot(x);title(滤波后信号波形);sound(x,fs,bits);仿真结果如下:滤波前信号频谱滤波后信号频谱0.03滤波前信号波形图 12 IIR0.020.011000200030004000图13数字低通滤波器幅频-相频特性滤波前后信号频谱和波形对比3 FIR滤波器设计FIR滤波器的设计问题在于寻求一系统函数 H,使其频率响应H (ej )逼近滤 波器要求的理想频率响应H d(e),其对应的单位脉冲响应hd (n)。3.1窗函数法3.1.1用窗函数设计FIR数字滤波器的基
41、本方法5设计思想:从时域从发,设计 h(n)逼近理想hd(n)。设理想滤波器Hd(e)的单 位脉冲响应为hd(n)。以低通线性相位FIR数字滤波器为例。Hd(e)二- hd(n)en,n 二:hd(n) Hd(ej )ejn d,hd(n) 般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器 h(n),最直接的方法是截断h(n)=hd(n)w(n), 即截取为有限长因果序列,并用合适的窗函数进行加权作为 FIR滤波器的单位脉冲响 应。按照线性相位滤波器的要求,h( n)必须是偶对称的。对称中心必须等于滤波器的 延时常数,即h(n) =hd (n
42、 -a)w(n)a =(N -1)/2用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现 出振荡现象,且最大波纹大约为幅度的 9%,这个现象称为吉布斯效应。根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N (或阶数M=N-1),窗函数类型可根据最小阻带衰减 As独立选择,因为窗口长度 N对最小阻 带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所 拟用的窗函数的窗口长度 N,设待求滤波器的过渡带宽为 Aw,它与窗口长度N近似 成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的 窗口长度还要在计算中逐步修正,原则是
43、在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用 MATLAB中的窗函数求出窗函数 wd (n)。根据待求滤波器的理想频率响应求出理想单位脉冲响应hd( n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:hd(n)=乂: Hd(e鬥ed在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从w=0 到w=2冗采样N点,采用离散傅里叶反变换(IDFT)即可求出。用窗函数wd(n)将hd(n)截断,并进行加权处理,得到h(n)二 hd(n) (n)如果要求线性相位特性,则h(n)还必须满足:h(n)二 _h(
44、N -1 -n)根据上式中的正、 负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。例如,要设计线性相位低通特性可选择 h(n)=h(N-1-n) 类,而不能选 h(n)=-h(N-1-n) 类。验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz 子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求 为止o3.1.2典型的窗函数51. 矩形窗(Rectangle Window)w(n) = Rn (n)其频率响应和幅度响应分别为:N A.Wje亍,WrC0=SL2) si n/2)sin (co/2)
45、2. 三角形窗(Bartlett Window)2nN -1, 2n2 -N -1其频率响应为:N 10乞n乞w(n) =2N -1n _ N -12N _4W jZsin(N 4)2.2N si n/2)3. 汉宁(Hanning)窗,又称升余弦窗1 2n兀w(n) =1【1-cos()Rn( n)2 N -1N V-j()e2其频率响应和幅度响应分别为:W(e? ) =0.5Wr( ) 0.25Wr() Wr(-N -1N -1二W( )e_ aW() =0.5WrC) 0.25Wr() Wr()N -1N -14.汉明(Hamming)窗,又称改进的升余弦窗w(n) =0.54 -0.4
46、6cos() RN (n)N -12n 二其幅度响应为:2 2叽)54%)。勿叫二“)Wn_1)5.布莱克曼(Biankman)窗,又称二阶升余弦窗2n 応4n ttw(n) =0.42-0.5cos( ) 0.08cos() RN (n)N -1N -1其幅度响应为:W( 0 =0.42WC ) 0.2轲()WR(-N -124兀。叫一越)WR(市)6.凯泽(Kaiser)窗w(n)2n/(N-1)2),o”N_l其中:B是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般 说来,B越大,过渡带越宽,阻带越小衰减也越大。1。()是第一类修正零阶贝塞尔函 数。若阻带最小衰减表示为 A
47、s - -20log10飞,B的确定可采用下述经验公式:10P =卩.5842(人-21)0.4 +0.07886(人-21)As 岂 2121 : As _ 500.1102(As -8.7)As 50若滤波器通带和阻带波纹相等即 S p=S时,滤波器节数可通过下式确定:N= As -7.9514.36 F其中:2 二 2 二在MATLAB中,实现矩形窗的函数为 boxcar和rectwin,其调用格式如下:w=boxcar(N)w=rectwi n(N)其中N是窗函数的长度,返回值 w是一个N阶的向量,它的元素由窗函数的值组成。实际上,w=boxcar(N)等价于 w=ones(N,1)。
48、在MATLAB中,实现三角窗的函数为triang,调用格式为:w=tria ng(N)在MATLAB中,实现汉宁窗的函数为 hann,调用格式如下:w=hann(N)w=ha nn(N, sflag)Hann函数中的参数sflag为采样方式,其值可取symmetric(默认值)或periodic。 当sflag = symmetric时,为对称采样;当 sflag = periodic时,为周期采样,此时 hann 函数计算N+1个点的窗,但是仅返回前 N个点。在MATLAB中,实现海明窗的函数为 hamming,调用格式分别如下:w=hammi ng (N)w=hamming (N,sfla
49、g)其中sflag的用法同上。在MATLAB中,实现布拉克曼窗的函数为 blackman,调用格式如下:w=blackma n (N)w=blackman (N,sflag)在MATLAB中,实现切比雪夫窗的函数为 chebwin,调用格式为:w=chebwin (N,r)其中r表示切比雪夫窗函数的傅里叶变换旁瓣幅度比主瓣低rdB(其默认值为100dB),且旁瓣是等纹波的。在MATLAB中,实现巴特里特窗的函数为 bartlett,调用格式为:w=bartlett (N)在MATLAB中,实现凯塞窗的函数为kaiser,调用格式为:w=kaiser (N,beta)其中beta为窗函数的参数
50、俟在MATLAB中,提供了基于窗函数法的两类设计函数,即函数 fir1和函数fir2。1 .函数fir1该函数实现加窗的线性相位FIR数字滤波器,可设计标准低通、带通、高通和带 阻滤波器5。其调用格式如下:a. b=fir1(n,Wn)b. b=fir1(n,Wn, ftype)c. b=fir1(n,Wn,window)d. b=fir1(n,Wn,,ftype,window)e. b=fir1( ,normalization)n表示滤波器的阶数。ftype代表所设计滤波器的类型:high表示高通滤波器; stop表示带阻滤波器;DC1表示多通带滤波器,第一频带为通带;DC0表示多 通带滤波
51、器,第一频带为阻带;默认时代表低通或带通滤波器。 win dow%窗函数,是长度为N的列向量,默认时函数自动取Hamming窗。b=fir1(n,Wn)可得到n阶低通 FIR滤波器,调用后返回维数为n+1的行向量b,它是滤波器的系数。b与FIR滤波 器的系统函数有如下关系:H(z)二b(1)b(2)z b(n 1)z对于高通和带阻滤波器,n取偶数,.n为滤波器的截止频率,范围是(0,1);对于 带通和带阻滤波器,-n=i/2,且:2 ;对于多通带滤波器,* n =12 J - 3J 4 , 频段为 0 : -1 ,1 :2,2 m;3,。2.函数fir2该函数用于设计基于窗函数的任意响应FIR
52、滤波器,其频率响应由向量f和向量m共同决定,取值在0,1之间;n为滤波器阶数;b向量为返回滤波器的系数;window 为窗函数,长度为n+1,默认时为hamming窗;npt为对频率响应进行内插点数,默 认时为512; lap参数用于指定fir2在重复频率点附近插入的区域大小。3.2 FIR滤波器滤波实例1.窗函数设计低通程序设计如下:Clear; close allz1,fs, bits=wavread(E:解少飞.wav)y1= z1(1:8192);Y1= fft(y1);fp=1000; fc=1200; As=100; Ap=1 ; Fs=8000;wc=2*pi*fc/Fs ; w
53、p=2*pi*fp/Fs ;wdel=wc-wp ;beta=0.112*(As-8.7);N=ceil(As-8)/2.285/wdel);wn= kaiser(N+1,beta);ws=(wp+wc)/2/pi ;b=fir1(N,ws,wn);figure(1);freqz(b,1);x=fftfilt(b ,z1);X=fft(x,8192);figure(2);subplot(2,2,1); plot(abs(Y1) ; axis(0,1000,0,1.0);title(滤波前信号频谱);subplot(2,2,2); plot(abs(X) ; axis(0,1000,0,1.0);title(滤波后信号频谱);subplot(2,2, 3); plot(z1);title(滤波前信号波形);subplot(2, 2,4); plot(x); t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GA 2172-2024警服材料蓄热保暖复合絮片
- 2025年人造肉行业当前发展现状及增长策略研究报告
- 2025年智慧停车行业当前市场规模及未来五到十年发展趋势报告
- 2025年医学专业“医学护理”职业技能资格知识考试题与答案
- 播出网安全知识培训课件
- 2024年特种作业(设备安装施工员专业技术及管理实务)知识试题与答案
- 2025年社会工作者之初级社会综合能力考试题库
- 2025年重庆公务员事业单位考试事业单位考试公共基础知识预测冲刺试题库(含答案)
- 2024年保险销售员从业资格及基础知识资质综合竞赛试题库(附含答案)
- 2024年危货司机资格证考试题与答案
- 2024中级经济师《工商管理》真题和答案
- 2024年1月高考真题浙江卷英语试题(真题+答案)
- T/CCMA 0147-2023异型吊篮安装、使用和拆卸安全技术规程
- 电缆沟电缆管电缆井专项施工方案方针
- DB31/T 375-2022柑橘栽培技术规范
- GB/T 6730.90-2025铁矿石金、银、铂、钯含量的测定电感耦合等离子体质谱法
- (完整版)220kV线路工程架线施工方案
- 肿瘤标志物介绍课件图片
- 社工项目督导协议书
- 雅迪电车购车合同协议
- 2025重庆对外建设(集团)有限公司招聘10人笔试参考题库附带答案详解
评论
0/150
提交评论