1、数字信号处理课程设计报告FIR 数字滤波器设计及 MATLAB 实现专 业: 通信工程 班 级: 通信 09-1BF 组 次: 第 16 组 姓 名: 李 涛 学 号: 14092300928 FIR 数字滤波器设计及 MATLAB 实现摘要:本文采用窗函数法和等波纹最佳逼近法两种方法分别设计一个 FIR数字带通滤波器,运用 MATLAB 进行 FIR 数字滤波器的设计与仿真,并比较了两种方法的特点。结果表明,在同样的设计指标下,利用等波纹切比雪夫逼近法则的设计可以获得最佳的频率特性和衰耗特性,具有通带和阻带平坦,过渡带窄等优点。关键词:FIR 滤波器;MATLAB;窗函数法;等波纹最佳逼近法
2、1 FIR 滤波器的基本概念FIR 滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。2 FIR 滤波器的特点有 限 长 单 位 冲 激 响 应 ( FIR) 滤 波 器 有 以 下 特 点 : (1) 系 统 的 单 位 冲 激 响 应 在 有 限 个 n 值 处 不 为 零 ; ()hn(2) 系 统 函 数 在 处 收 敛 , 极
3、点 全 部 在 z = 0 处 ( 因 果 系 统 )()Hz0; (3) 结 构 上 主 要 是 非 递 归 结 构 , 没 有 输 出 到 输 入 的 反 馈 , 但 有 些 结 构中 ( 例 如 频 率 抽 样 结 构 ) 也 包 含 有 反 馈 的 递 归 部 分 。 设 FIR 滤 波 器 的 单 位 冲 激 响 应 为 一 个 N 点 序 列 , , 则()hn01nN滤 波 器 的 系 统 函 数 为 (2-()()Hzz1)就 是 说 , 它 有 ( N1) 阶 极 点 在 z = 0 处 , 有 ( N1) 个 零 点 位 于 有限 z 平 面 的 任 何 位 置 。优点 :
4、(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;(2)可得到多带幅频特性;(3)极点全部在原点(永远稳定),无稳定性问题;(4)任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列,所以因果性总是满足;(5)无反馈运算,运算误差小。缺点:(1)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;(2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。3 FIR 数字滤波器设计及matlab实现FIR滤波器设计的任务是选择有限长度的 ,使传输函数 满足()hn()jwHe
5、一定的幅度特性和线性相位要求。由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。设计过程一般包括以下三个基本问题: (1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。3.1 窗函数法3.1.1 窗函数法设计原理设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应 ,设计()jwdHe一个FIR数字滤波器频率响应 ,去逼近理想的滤波响应 。然而,()jw
6、He j窗函数法设计FIR数字滤波器是在时域进行的,因而必须由理想的频率响应推导出对应的单位取样响应 ,再设计一个FIR数字滤波器的单位取()jwdHe ()dhn样响应 去逼近 。设计过程如下:hn()dn(3-*() ()IDTFwnDTFj jde He 1)加窗的作用是通过把理想滤波器的无限长脉冲响应 乘以窗函数 来()dhn()wn产生一个被截断的脉冲响应,即 并且对频率响应进行平滑。()()dhnw窗函数主要用来减少序列因截断而产生的Gibbs效应。但当这个窗函数为矩形时,得到的FIR滤波器幅频响应会有明显的Gibbs效应,并且任意增加窗函数的长度(即FIR滤波器的抽头数)Gibb
7、s效应也不能得到改善。为了克服这种现象,窗函数应该使设计的滤波器:(1) 频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内;(2) 窗函数频率特性的旁瓣趋于 的过程中,其能量迅速减小为零。实际工程中常用窗的特性及MATLAB函数比较如表1所示。表 1 常用窗函数性能比较窗类型 最小阻带衰 减 主瓣宽 度 精确过渡带 宽 窗函数矩形窗 21dB 4/M 1.8/M boxcar三角窗 25dB 8/M 6.1/M bartlett汉宁窗 44dB 8/M 6.2/M hanning哈明窗 53dB 8/M 6.6/M hamming布莱克曼窗 74dB 12/M 11/M blackman
8、取凯塞窗时用 kaiserord 函数来得到长度 M 和 kaiser3.1.2 窗函数法设计 FIR 数字滤波器的步骤(1) 选择窗函数类型和长度,写出窗函数 w(n)表达式。根据阻带最小衰减选择窗函数 w(n)的类型,再根据过渡带宽度确定所选窗函数的长度 N。(2) 构造希望逼近的频率响应函数 Hd(ej)。(3) 计算: 或者可以直接写出低通单位脉冲响应(4) 加窗得到设计结果: h(n)=hd(n)w(n)(5)检验滤波器性能:本文将针对一个含有 5Hz,15Hz 和 30Hz 的混合正弦波信号,用设计的带通滤波器对其进行滤波,检验滤波器性能。3.1.3 设计题目及程序的代码用窗函数法
9、设计第二类线性相位 FIR 带通滤波器。要求阻带下截止频率Ws1=0.2pi,通带下截止频率 Wp1=0.35pi,通带上截止频率 Wp2=0.65pi,阻带上截止频率 Ws2=0.8pi,通带最大衰减 Rp=1dB,阻带最小衰减 As=60dB。 (采样频率 fs=150Hz)根据窗函数最小阻带衰减的特性。以及关参照窗函数的基本参数表,选择布莱克曼窗可达到 75dB 最小阻带衰减,其过渡带为 11pi/N。本文的带通滤波器设计及滤波程序如下:clear;close all;clc; j j(1)/2ddg(e)()eNHcdgc1 |()0|H2spcdeHnhnjjdd )(1)( si(
10、)()cdh%输入设计指标Wp1=0.35*pi;Wp2=0.65*pi;Ws1=0.2*pi;Ws2=0.8*pi;As=60;Rp=1;Fs=150;Bt=min(Wp1-Ws1),(Ws2-Wp2);%求过渡带宽M=ceil(11*pi/Bt)+1; %求滤波器长度if mod(M,2)=0; N=M, else N=M+1, end; %选用第二类滤波器n=0:1:N-1;m=0:1:N;wc1=(Ws1+Wp1)/2/pi;%理想带通滤波器的下截止频率wc2=(Ws2+Wp2)/2/pi; %理想带通滤波器的上截止频率wc=wc1,wc2;%设置理想带通截止频率w_bla=(blac
11、kman(N);%布莱克曼窗hn=fir1(N,wc,blackman(N+1);%调用 fir1 计算带通 FIR 数字滤波器的 h(n)t=(0:100)/Fs;s=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信号sf=filter(hn,1,s);%对信号 s 进行滤波%滤波器幅频特性和相频特性figure(1)freqz(hn,1,512);grid on;% 绘制结果并加网络%布莱克曼窗 w(n)figure(2)stem(n,w_bla);title(blackman window) axis(0 N-1 0 1.1);xla
12、bel(n);ylabel(w(n);%绘制滤波前后波形figure(3)subplot(2,1,1) plot(t,s);grid on;subplot(2,1,2)plot(t,sf);grid on;%实际单位脉冲响应 h(n)figure(4)stem(m,hn);title(实际单位脉冲响应 h(n)xlabel(m);ylabel(h(n)3.1.4 设计并用 matlab 仿真后的结果N =76图 1 滤波器幅频特性和相频特性图 2 滤波效果图(滤波前后的波形)图3 布莱克曼窗函数波形图图 4 实际单位脉冲响应31.5 结果分析经计算 N 为 76,设计的是第二类滤波器,一般来说
13、选取的 N 越大,误差越小,但同时 h(n)长度也增加,使成本和计算量增大,因此在满足指标的情况下N 只取 76。另外从频率特性图可以看出,阻带衰减刚好满足指标,通带衰减有较大的富余。从相位特性图可以看出,在截止频率内,显现出严格的线性特性。3.2 等波纹最佳逼近法等波纹最佳逼近法是指采用最优化准则来设计的方法。在 FIR DF 的最优化设计中 ,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。实际设计中 ,只有采用窗函数法中的矩形窗 才能满足前一种最优化准则 ,但由于吉布斯 (Gibbs )效应的存在,使其根本不能满足设计的要求。为了满足设计的要求 ,可以采
14、用其它的窗函数来消除吉布斯效应 ,但此时的设计已经不能满足该最优化准则了。因此 ,要完成 FIR DF 的最优化设计 ,只能采用后一种优化准则来实现。3.2.1 等波纹最佳逼近法设计原理通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。等波纹切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带) 的加权误差最大值相同 ,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得 和 之间的最大绝对误差()jwdHe()jwe最小。等波纹切比雪夫逼近是采用加权逼近误差 ,它可以表示为: ()jwE(3-4)()()()jwjwjwjdEeWee其中,
15、 为逼近误差加权函数在误差要求高的频段上,可以取较大的j加权值,否则,应当取较小的加权值。 尽管按照 FIR 数字滤波器单位取样响应 h(n)的对称性和 N 的奇、偶性,FIR 数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形式:(3-5)(1)2()()jNwjkjwHeeH其中,k0 ,1 , H ()为幅度函数,且是一个纯实数,表达式也可以写成统一的形式: (3-6)()()jwdeQP其中, 为 的固定函数, 为 M 个余弦函数的线性组合。()Q3.2.2 设计题目及程序的代码用最优设计法设计线性相位 FIR 带通滤波器。要求阻带下截止频率Ws1=0.2pi,通带下截
16、止频率 Wp1=0.35pi,通带上截止频率 Wp2=0.65pi,阻带上截止频率 Ws2=0.8pi,通带最大衰减 Rp=1dB,阻带最小衰减 As=60dB。 (采样频率 fs=150Hz)本文将针对一个含有 5Hz,15Hz 和 30Hz 的混合正弦波信号,用设计的带通滤波器对其进行滤波,检验滤波器性能。本文的带通滤波器设计及滤波程序如下:clear all,close all,clc;%输入设计指标Wp1=0.35*pi;Wp2=0.65*pi;Ws1=0.2*pi;Ws2=0.8*pi;f=0.2 0.35 0.65 0.8;m=0 1 0;rp=1;rs=60;Fs=150;%求波
17、纹幅度 dat1、dat2 和 ripdat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat2,dat1,dat2;M,fo,mo,w=remezord(f,m,rip);hn=remez(M,fo,mo,w);n=0:1:Mt=(0:100)/Fs;s=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信号sf=filter(hn,1,s);%对信号 s 进行滤波%滤波器幅频特性和相频特性figure(1)freqz(hn ,1 ,512);% 绘制结果并加网络grid on;%绘制滤
18、波前后波形figure(2)subplot(2,1,1)plot(t,s);grid on;subplot(2,1,2)plot(t,sf);grid on;%实际单位脉冲响应 h(n)figure(3)stem(n,hn);title(实际单位脉冲响应 h(n)xlabel(n);ylabel(h(n)3.2.3 设计并用 matlab 仿真后的结果M =26图 5 滤波器幅频特性和相频特性图 6 滤波效果图(滤波前后的波形)图 7 实际单位脉冲响应3.2.4 结果分析经计算 M=26。即 h(n)的长度 N=27。由此可见,等波纹最佳逼近设计方法大大减小了滤波器的阶数,从而减小了滤波器的体
19、积,并最终降低了滤波器的成本。这样使得设计出来的滤波器更为简单经济。因而在实际的滤波器设计中,这种最优化方法是完全可行的。另外从频率特性图可以看出,阻带衰减和通带衰减刚好满足指标。从相位特性图可以看出,在截止频率内,显现出严格的线性特性。3.3 综合分析同样是设计一个 FIR 带通数字滤波器,综合分析可以看出:(1) 窗函数法在阶数较低时,阻带特性不满足设计要求,只有当滤波器阶数较高时,基本可以达到阻带衰耗要求;窗函数法设计带通滤波器阶数较高,N=76。(2) 利用等波纹切比雪夫逼近法则的设计可以获得最佳的频率特性和衰耗特性,具有通带和阻带平坦,过渡带窄等优点。等波纹最佳逼近设计法设计的带通滤
20、波器阶数较低,N=27。4 收获与体会这次课程设计花了我很多时间,我很认真的再次温习了书本上第七章的知识,进一步熟悉了窗函数法设计 FIR 数字滤波器的原理及步骤,而且我还自学了设计 FIR 数字滤波器的另一种方法-等波纹最佳逼近设计法。我很认真的做了这次课程设计,我享受了这个过程,觉得很充实也很有成就感。通过这次课程设计,我对 FIR 数字带通滤波器有了更深刻的理解。熟悉matlab 的运行环境,其中对于布莱克曼窗的原理也有了更透彻的理解。初步掌握了 matlab 语言在数字信号处理中的一些基本库函数的调用和编写基本程序等应用。学会了数字滤波器的设计的一般步骤及处理后的结果。学会了利用等波纹
21、最佳逼近设计法设计 FIR 数字带通滤波器。掌握了 remez、remezord 和 fir1函数的调用。掌握了窗函数的基本知识及实际应用技巧。进一步认识到了将所学的东西运用于实践的重要性。总之,收获颇多。5 参考文献1 陈怀琛,吴大正,高西全.MATLAB 及在电子信息课程中的应用(第 2 版)M.北京:电子工业出版社, 20042 高西全,丁玉美.数字信号处理(第三版)M.西安:西安电子科技大学出版社,20083 张志勇.精通 MATLAB6.5M.北京:北京航空航天大学出版社,20034 万建伟,王 玲.信号处理仿真技术M.长沙:国防科技大学出版社, 20085 数字信号处理及 MATLAB 实现 余成波 清华大学出版社 6 数字信号处理教程matlab 释义与实现 陈怀琛 电子工业出版社7 matlab7 辅助信号处理技术与应用 飞思科技产品研发中心 电子工业出版社8 Sanjit K Mitra. 数字信号处理实验指导书M.孙洪等译.北京:电子工业出版社,2006