当前位置:文档之家› DSP课程设计-FIR高通滤波器设计说明

DSP课程设计-FIR高通滤波器设计说明

FIR高通滤波器设计师大学物科院从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。

FIRDF的最大优点是可以实现线性相位滤波。

而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。

我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。

另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。

所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。

FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。

其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。

本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。

在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。

因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。

本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。

关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS1.设计目标产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较2.设计原理2.1数字滤波器数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。

其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。

由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。

数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。

按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。

2.2高通滤波器高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。

对于不同滤波器而言,每个频率的信号的减弱程度不同。

它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。

高通滤波器与低通滤波器特性恰恰相反。

这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。

使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。

高通和低通滤波器也用于数字图像处理中在频域中进行变换。

2.3高通滤波器的分析2.3.1高通滤波器的时域分析在时域,信号经过系统的响应y (n)体现为激励x(n)跟系统单位抽样响应h(n)的卷积和y(n)=(n)×h(n)=ΣN–1m=0h(m)x(n-m)[223] 。

对于长度为N 的FIR系统, h(n)可以看成一个长度为N 点的固定窗口,而x(n)则看成一个队列以齐步走的方式穿过h(n)窗口,每走一步,位于窗口中的x(n)部分的点跟h(n)的对应点的值相乘(即加权)再求和,所得结果构成此时系统的响应值y(n), x(n)队列每走一步就得到一个响应值y(n),即y(n)是h(n)对位于其窗口中的x(n)的加权求和。

高通滤波要求h(n)窗口具有波形锐化作用,即利用h(n)窗口加权和使得变化快的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通) ,而变化缓慢(即低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通) 。

设其中N 必须取奇数,)/10002sin(2.0)/1002sin(8.0)()()(21s s f n f n n x n x n x ⨯⨯+⨯⨯=+=ππ其中: fs = 11kHz, n 为整数,即x ( n)由100Hz 的x1(n)和1kHz 的x2(n)两种频率的信号组成。

高通滤波的目的就是要尽可能地去掉x(n)中的低频分量x1(n) ,同时尽可能地保留x(n)中的高频分量x2(n)。

2.3.2 高通滤波器的频域分析在频域,信号经过系统的响应y(n)的频谱Y(ej ω)体现为激励x(n)的频谱X(ej ω)跟系统单位抽样响应h(n)的频谱H(ej ω)(即系统的频谱)的乘积Y(ejω)=|H(ej ω)|×|X(ej ω)|×ej φH+φx,即响应的频谱Y(ej ω)的幅值由系统频谱H(ej ω)的幅值对激励频谱X(ej ω)的幅值相乘(加权)得到,响应的频谱Y(ejω)的幅角由系统的频谱H(ej ω)的幅角跟激励频谱X(ej ω)的幅角相加(移相)得到[122 ]。

高通滤波要求系统幅度函数|H(jf)|对需要保留的高频信号频谱加权权重较大(理想时为1) ,对需要滤除的低频信号频谱加权权重较小(理想时为0) 。

其中L 为x(n)的长度(L=100), 0≤k ≤L- 1,N 为h(n)的有值长度,m 、k 均为整数,跟数字频率k 相对应的模拟频率为f=fs ×k/L (Hz)。

h(n)在不同N 值时的频谱如图2所示(横轴单位为kHz),当N=11时,在f=m(kHz)即f=1kHz 、2kHz 、3kHz等处为1,而在f=(2m-0.5)(kHz)即f=1.5kHz 、3.5kHz 等处幅度最大。

而在f=(2m+0.5)(kHz)即f=2.5kHz 、4.5kHz 等处幅度最小,如图2(b);当N=5时, 在f=mfs/5处为1,即f=2.2kHz 、3.3kHz 等处为1,在f=(4m-1)fs/10即f=3.3kHz处幅度最大。

而在f=(4m+1)fs/10即f=5.5kHz 处幅度最小,如图2(c);当N=21时,在f=mfs/21即f=524Hz 、1047Hz 等处为1, 在f=(4m-1)fs/42处幅度最大,而在f=(4m+1)fs/42处幅度最小,如图1图1用不同宽度的h(n)对x(n)的滤波在频域上表现如图2.2.1所示,图2.2.1(a)为x(n)的频谱|X(jf)| ,从图2中可以看出x(n)中含有100Hz 和1kHz 两种频率的信号,图1(b)~(d)为不同长度的h(n)对同一x(n)的滤波情况,这跟在时域中分析的结论是一致的。

2.4 FIR 滤波器从实现方法方面考虑,将滤波器分为两种,一种是IIR 滤波器,另一种是FIR 滤波器。

IIR 滤波器保留了模拟滤波器较好的幅度特性,设计简单有效。

但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输,图像处理系统都越来越多的要求系统具有线性相位特性。

FIRDF 的最大优点是可以实现线性相位滤波。

而IIRDF 主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。

我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。

另外,FIR 是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。

所以,FIRDF 是一种很重要的滤波器,在数字信号处理领域得到广泛应用。

FIRDF 设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。

其中窗函数计法的基本思想是用FIRDF 逼近希望的滤波特性。

本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。

2.5 各种窗函数参数 窗函数类型 旁瓣峰值n α(dB) 过渡带宽度B ∆阻带最小衰减s α (dB) 近似值 精确值矩形窗 -13 4π/N 1.8π/N-21 三角窗 -25 8π/N 6.1π/N-25 汉宁窗 -31 8π/N 6.2π/N-44 哈明窗 -41 8π/N 6.6π/N-74 布莱克曼窗 -57 12π/N11π/N -80⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡--=)12cos()()(5.0)()12cos(15.0)(N n n R n R n R N n n N N N hn ππω 0510152025303500.10.20.30.40.50.60.70.80.913. 设计流程3.1 应用MATLAB 设计滤波器:为了满足高通滤波的效果,设置线性相位高通FIR 的参数为:通带截止频率rad p 2/πω=,阻带截止频率rad s 4/πω=,通带最大衰减dB p 1=α,阻带最小衰减dB s 40=α。

由以上参数,通过查表可得,hanning 窗和haming 窗都满足条件,我们选择hanning 窗。

过渡带宽4/πωω=-=∆p s B ,hanning 窗的精确过渡带宽为B ∆=6.2π/N ,所以要求/4/N 6.2ππ≤=∆B ,解之得N=25。

输入程序:从而得到满足条件的高通FIRDF :h(n)=[-0.0004,-0.0006,0.0028,0.0071,-0.0000,-0.0185,-0.0210,0.0165,0.0624,0.0355,-0.1061,-0.2898,0.6249,-0.2898,-0.1061,0.0355,0.0624,0.0165,-0.0210,0.0185,-0.0000,0.0071,0.0028,-0.0006,-0.0004] 其波形如图3所示,频谱如图4,其幅频特性和相频特性如图5。

图3 图4图53.2用CCS对高通滤波器进行仿真设置输入信号fIn=sin(2πn/30)/2+cos(2πn*1.6),使用MATLAB运算得到的高通FIR滤波器进行滤波,滤去低频分量。

选择“Debug”菜单的“RUN”项,或按F12 键运行程序。

观察“fin”、“fout”窗口中时域图形;观察滤波效果。

鼠标右键单击“Input”和“Output”窗口,选择“Properties…”项,设置“Display Type”为“FFT Magitude”,再单击“OK”按钮结束设置。

观察“Input”、“Output”窗口中频域图形;理解滤波效果。

4. 仿真波形4.1 MATLAB 对高通FIRDF 的设计0510152025-0.3-0.2-0.10.10.20.30.40.50.60.70510152025-1-0.8-0.6-0.4-0.200.20.40.60.814.2 CCS 对高通FIRDF 的应用仿真5.设计结果由MATLAB和CCS的仿真结果可以看出,此高通FIRDF可以实现高通滤波的功能,在输入为fIn=sin(2πn/30)/2+cos(2πn*1.6)时,输出波形中已不含w= 1/30的低频分量,滤波效果良好,输出频谱中低频部分基本没有信号。

相关主题