当前位置:文档之家› FIR数字滤波器设计及MATLAB使用要点

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计《数字信号处理》课程设计报告FIR数字滤波器设计及MATLAB实现专业:通信工程班级:通信1101班组次:第9组姓名及学号:姓名及学号:目录一、设计目的 (3)二、设计任务 (3)三、设计原理 (3)3.1窗函数法 (3)3.2频率采样法 (4)3.3最优化设计 (5)3.3.1等波纹切比雪夫逼近准则 (5)3.3.2仿真函数 (6)四、设计过程 (7)五、收获与体会 (13)参考文献 (13)FIR数字滤波器设计及MATLAB实现一、设计目的FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。

二、设计任务FIR滤波器设计的任务是选择有限长度的()H e满足一定h n,使传输函数()jw的幅度特性和线性相位要求。

由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。

设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。

三、设计原理FIR滤波器设计的任务是选择有限长度的()H e满足一定h n,使传输函数()jw的幅度特性和线性相位要求。

由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。

设计过程一般包括以下三个基本问题:(1)根据实际要求确定数字滤波器性能指标;(2)用一个因果稳定的系统函数去逼近这个理想性能指标;(3)用一个有限精度的运算去实现这个传输函数。

3.1窗函数法设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。

FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jwH e,设计d一个FIR 数字滤波器频率响应()jw H e ,去逼近理想的滤波响应()jw d H e 。

然而,窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()jw d H e 推导出对应的单位取样响应()d h n ,再设计一个FIR 数字滤波器的单位取样响应()h n 去逼近()d h n 。

设计过程如下:*()()()()()I D T F F T w n D T F T j j d d H e h n h n H e ωω−−−→−−−→−−−→(3-1) 加窗的作用是通过把理想滤波器的无限长脉冲响应()d h n 乘以窗函数()w n 来产生一个被截断的脉冲响应,即()()()d h n h n w n =并且对频率响应进行平滑。

MATLAB 工具箱提供的窗函数有:矩形窗(Rectangularwindow)、三角窗(Triangular window)、布拉克曼窗(Blackman window)、汉宁窗(Hanningwindow)、海明窗(Hamming window)、凯塞窗(Kaiser window)、切比雪夫窗(Chebyshev window)。

窗函数主要用来减少序列因截断而产生的Gibbs 效应。

但当这个窗函数为矩形时,得到的FIR 滤波器幅频响应会有明显的Gibbs 效应,并且任意增加窗函数的长度(即FIR 滤波器的抽头数)Gibbs 效应也不能得到改善。

为了克服这种现象,窗函数应该使设计的滤波器:(1) 频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内;(2) 窗函数频率特性的旁瓣ω趋于π 的过程中,其能量迅速减小为零。

3.2频率采样法频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应()jw H e 加以等间隔的抽样 ,得到()d h k :(2)()()k N jwd d w H k He π== k=0,1,…,N -1(3-2)再利用()d H k 可求得FIR 滤波器的系统函数()H Z 及频率响应()jw H e 。

而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。

但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。

为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。

选取w ∈[0,2π]内N 个采样点的约束条件为:{()()()()H k H N k m N m ϕϕ=-=- 01k N ≤≤- (3-3)(1)增大阻带衰减三种方法:1)加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。

2)过渡带的优化设计利用线性最优化的方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近(而不是盲目地设定一个过渡带值)。

3)增大N 。

如果要进一步增加阻带衰减,但又不增加过渡带宽,可增加采样点数N 。

代价是滤波器阶数增加,运算量增加。

直接从频域进行设计,物理概念清楚,直观方便;适合于窄带滤波器设计,这时频率响应只有少数几个非零值,但是截止频率难以控制。

典型应用:用一串窄带滤波器组成多卜勒雷达接收机,覆盖不同的频段,多卜勒频偏可反映被测目标的运动速度;3.3最优化设计最优化设计方法是指采用最优化准则来设计的方法。

在 FIR DF 的最优化设计中 ,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。

实际设计中 ,只有采用窗函数法中的矩形窗 才能满足前一种最优化准则 ,但由于吉布斯 (Gibbs )效应的存在,使其根本不能满足设计的要求。

为了满足设计的要求 ,可以采用其它的窗函数来消除吉布斯效应 ,但此时的设计已经不能满足该最优化准则了。

因此 ,要完成 FIR DF 的最优化设计 ,只能采用后一种优化准则来实现。

3.3.1 等波纹切比雪夫逼近准则在滤波器的设计中 ,通常情况下通带和阻带的误差要求是不一样的。

等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数 ,实现在不同频段(通常指的是通带和阻带)的加权误差最大值相同 ,从而实现其最大误差在满足性能指标的条件下达到最小值。

尽管窗函数法与频率采样法在FIR 数滤波器的设计中有着广泛的应用, 但两者不是最优化的设计 。

通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。

等波纹切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带) 的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得()jw d H e 和()jw H e 之间的最大绝对误差最小。

等波纹切比雪夫逼近是采用加权逼近误差()jw E e ,它可以表示为:()()(()())jw jw jw jw d E e W e H e H e =-(3-4)其中,()jw W e 为逼近误差加权函数在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。

尽管按照 FIR 数字滤波器单位取样响应 h(n)的对称性和 N 的奇、偶性,FIR 数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形式:(1)22()()()j N w j k jw H e e e H w π--= (3-5)其中,k ∈{0 ,1} , H (ω)为幅度函数,且是一个纯实数,表达式也可以写成统一的形式:()()()jw d H e Q P ωω= (3-6) 其中,()Q ω为ω的固定函数,()P ω为M 个余弦函数的线性组合。

3.3.2仿真函数利用数字信号处理工具箱中的 remezord 和 remez 函数可以实现 FIRDF 的最优化设计。

在此先介绍这两个函数:(1)n ,fo ,ao ,weights =remezordf ,a ,dev功能:利用 remezord 函数可以通过估算得到滤波器的近似阶数 n ,归一化频率带边界fo ,频带内幅值ao 及各个频带内的加权系数weights 。

输入参数f 为频带边缘频率 ,a 为各个频带所期望的幅度值 ,dev 是各个频带允许的最大波动。

(2)h =remez(n ,fo ,ao ,weights‘, ftype’)功能:利用 remez 函数可以得到最优化设计的FIR DF 的()h n 系数 ,输入参数 n 是滤波器的阶数 ,fo ,ao ,weights 参数含义说明同 (1)。

ftype 是所设计的滤波器类型 ,它除了可以设计普通的滤波器外 ,它还可以设计数字希尔钞特变换器以及数字微分器。

实际设计中 ,由于 remezord 函数可跑高估或低估滤波器的阶数 n ,因此在得到滤波器的系数后 ,必须检查其阻带最小衰减是否满足设计要求。

如果此时的技术指标不能满足设计要求 ,则必须提高滤波器的阶数到 n +1 ,n +2等。

故等波纹切比雪夫逼近法设计FIR 数字滤波器的步骤是:①给出所需的频率响应()jw d H e ,加权函数()jw W e 和滤波器的单位取样响应 ()h n 的长度N 。

②由①中给定的参数来形成所需的()W ω、()d H ω和()P ω的表达式。

③根据Remez 算法,求解逼近问题。

④利用傅立叶逆变换计算出单位取样响应()h n 。

四.程序实现1.窗函数实现程序:passrad=0.4*pi;w1=boxcar(61);w2=hamming(61)n=1:1:61;hd=sin(passrad*(n-31))./(pi*(n-31));hd(31)=passrad/pi;h1=hd.*rot90(w1);h2=hd.*rot90(w2);[mag1,rad]=freqz(h1);[mag2,rad]=freqz(h2);subplot(2,2,1);plot(rad,20*log10(abs(mag1)));grid on;title('designed by Rectangular window'); subplot(2,2,2);plot(rad,20*log10(abs(mag2)));grid on;title('designed by Hamming window');[h1,w1]=freqz(h1,1,100,2);subplot(2,2,3);plot(w1,unwrap(angle(h1)));grid on;[h2,w2]=freqz(h2,1,100,2);subplot(2,2,4);plot(w2,unwrap(angle(h2)));grid on;图1 窗函数设计的FIR低通滤波器频率响应结果分析:可以看出,采用特殊的窗函数如Hamming窗,可以减小Gibbs效应,但同时也会使滤波器的过度带变宽。

相关主题