重庆邮电大学本科毕业设计(论文)
⑥由h(n)求出FIR滤波器的系统函数:H(z)??h(n)z?nn?0N?1
以上6步设计步骤中最重要的是窗体的选择和检验标准和改进。窗体选择应该遵从前面分析的6大窗体本身各自的特点和实际情况结合起来综合考虑。在简要指标做出改进时,应注意实际的成本和相关参数的有效选取,改进一方时不应将另一方劣势扩大。
根据上面的分析现采用窗函数设计方法完整的分析线性相位FIR滤波器设计。 已知:通带的截止频率?p?0.2?rad,通带允许的最大衰减ap?0.25dB。阻带的截止频率?s?0.4?rad,阻带允许的最小衰减as?50dB
①先确定窗函数,查表可知,汉明窗和布莱克曼窗均可提供大于50dB的衰减。但汉明窗有较小的过渡带,从而有较小的长度N,因此选择汉明窗设计。
②其次确定窗函数的阶数。由于过渡带为:????s??p?0.2?,所以设计的低通滤波器单位脉冲长度为:N?6.6?/???6.6?/0.2??33。还可得到滤波器的群时延为??(N?1)/2?16
③ 求解滤波器的截止频率:
根据滤波器3dB截止频率同时得到:?c?(?s??p)/2?0.3?
④根据汉明窗的表达式得出所设计的滤波器单位响应表达式为:
N?1??sin??c(n?)?2???0.54?0.46cos(2?n)?R(n)h(n)?hd(n)W(n)?N??N?1N?1???(n?)(3- 39) 2sin?0.3?(n?16)???n??0.54?0.46cos()?RN(n)??(n?16)16??
⑤MATLAB设计代码见附录代码3-3及图样如下:
⑥设计出来的衰减为50dB,同时as?50.142dB,ap?0.0866dB,满足设计要求。
图3- 11窗函数设计实例
- 31 -
重庆邮电大学本科毕业设计(论文)
第三节 频率采样法设计FIR滤波器的实现与分析
一、 频率采样法简介
1. 频率采样法的基本思想
从时域出发我们得到了窗函数设计,是通过截取把无限长变为有限长进行设计的
Hd?ej??进行等间隔抽样即: 方法。另一个角度来看,从频率出发对理想频率响应 Hd?ej??|H?k?,即令
??2?kN?Hd?k?然后以此Hd?k?作为实际FIR数字滤波器的频率特性的抽样值
H?k??Hd?k??Hd?ej??|,k?0,1,?,N?1
(3- 40)
??2?kN频域的这个N个抽样值H?k?可以唯一确定有限长序列h(n),同时,这些频域抽样值H?k?同样可以求得FIR滤波器的系统函数H(z)以及频率响应H?ejω?。这个H(z)或者H?ejω?将逼近错误!未找到引用源。或H?ejω?。H(z)和H?ejω?的内插公式为:
1?z?NH?z??NH?ej?N?1k?0H?k? ??k?1k?01?WNzN?1(3- 41)
2π?ω?k? ???H?k????N??(3- 42)
其错误!未找到引用源。是内插函数
?ωN?sin?N?1???jω???12???2?Φ?ω??eN?ω?sin???2?
(3- 43)
将式(3-42)代入(3-41)式,化简后得
??ωπk??sin?N?1?N?1?k?N?2?N???j??j?N?1??1????H?ej???e?2??H?k?eN
ωπkN??k?0sin????2N?(3- 44)
从内插公式中可以看到,在各个频率采样点中,滤波器的实际频响是严格地
?j2Nπk??j2Nπk?和理想频率响应数值相等,即H?e??H?k??Hd?k??Hd?e?。
????- 32 -
重庆邮电大学本科毕业设计(论文)
各抽样点的加权抽样函数的延伸叠加产生频率响应,逼近误差是无法避免的。理想的响应变化越平缓,内插值越接近理想值,逼近误差越小。反之,如果抽样点的理想频率变化越陡,则误差越大,响应的就会产生肩峰,在通带和阻带内还会产生波纹。可以说误差大小取决于理想的响应曲线形状。
2. 线性约束
设计线性相位的FIR滤波器,则频率响应采样值的幅度和相位都一定要满足前面讨论的四种线性相位约束条件。对于第1种线性相位的FIR滤波器,即h(n)偶对称,N为奇数时,满足:
H?ej???H???e?N?1??j????2?
(3- 45)
式中幅度函数中?关于??0,?,2?对称。其中幅度函数满足:
H(?)?H(2?-?)
(3- 46)
1??N?1?2??同时可知?k必须为? ??k??k?1?k????且满足偶对称,并且:
?2?N?N?
Hk?HN?k
(3- 47)
所以当h(n)偶对称,N为奇数时,Hk对k?N/2偶对称。第2种情况,即h(n)偶对称,N为偶数时,Hk对k?N/2奇对称,并且HN/2?0。第3种情况,h(n)奇对称,N为奇数时,Hk对k?N/2奇对称。 h(n)奇对称,N为偶数时,Hk对k?N/2偶对称。
采样方式分为两种类型。Ⅰ型就是刚才讨论过的采样,它的第一个采样点在??0处,各采样的角频率为??(2?/N)k,k?0,1,?N?1。Ⅱ型是第一个采样点在???/N处,采样角频率为??(2?/N)k??/N,k?0,1,?N?1。Ⅱ型的优势在于使设计方法更加灵活,可根据具体情况加以选择。设计不同滤波器性质的要求和前面讨论的类似,此外,对于高通和带阻滤波器,N只能取奇数。
二、 频率采样法设计滤波器分析
在频率采样法中设计滤波器可简单的分为直接设计法和最优设计法。当然,直接设计法可以看做是最优设计法的铺垫,为了得到更优的频谱设计通常还是采用最优设计法。
1. 直接设计法:
- 33 -
重庆邮电大学本科毕业设计(论文)
j2?N在这种方法中,使H(k)?Hd(e),k?0,?,N?1,然后得到脉冲响应h(n)。
给出一个低通滤波器的技术指标:?p?0.2?,?s?0.3?,Rp?0.25dB,
As?50dB。采用频率采样法直接设计FIR滤波器可以做以下分析:
选择N=20,2?/20?0.1?,所以在通带??0????p??上有3个样本点,而阻带??s?????上有7个样本点。可以得到:
??H(k)??1,1,1,0,?,0,1,1? ?????15个零??(3- 48)
又由于N=20,?=(20-1)/2,所以它的线性相位属于第2种情况的滤波器,会用到hr_type2(h)函数。根据H(k)可以确定脉冲响应h(n);
在MATLAB中仿真,程序见附录代码3-4和结果如下:
从下图中可以发现最小阻带衰减只有16dB,不符合实际要求。但是如果增加N的取值,则在过渡带中会有样本,它的频率响应无法精确,所以在实际的应用中很少用到直接设计法。
图3- 12 频率直接设计法设计FIR滤波器
2. 频率设计法中最优设计法
前面我们提到为得到更大的衰减,必须增大N的值,并且要让过渡带中产生自由样本中得到最大衰减。通过以下例子来说明改变过渡带样本值对于设计的影响。 技术指标和上面相同:?p?0.2?,?s?0.3?,Rp?0.25dB,As?50dB
设计中我们选取N=40,2?/40?0.05?,这样在过渡带?0.2????0.3??中就有一个样本。在k=5以及k=40-5=35处用T1来表示这些样本值。可以得到:
??H(k)??1,1,1,1,1,T1,0,?,0,T1,1,1,11,? ?????29个零??(3- 49)
- 34 -
重庆邮电大学本科毕业设计(论文)
T1的值可以有不同的选择,但是为了得到最优的结果手动比较并查表取
?0.0.2?,?0.4,0.6?,?0.8,1? =0.39可以得到最优解:MATLAB设计代码见附录代码3-5.
图3- 13频率设计,T1=0.39 图3- 14 频率设计,T1=0.5925,T2=0.1099;
从图3-13中可以看出优化的阻带衰减为43dB,所以,为了进一步的增加衰减,在过渡带中还必须多改变一个样本值。从理论上讲,为了减小过渡带需要优化两个样本,来得到最大的最小阻带衰减。同样,可以利用MATLAB来仿真。
还是之前的低通设计,为了让过渡带中出现2个样本,选择N=60。设定,过渡带中的两个样本分别为T1,T2。此时 通过查表可得T1=0.5925,T2=0.1099,在MATLAB中仿真代码见附录代码3-6。
从图3-14中可以看出过渡带衰减达到63dB。当然还可以尽量通过增加过渡带来增加衰减,一般情况下最多增加3个过渡采样点就可以满足阻带衰减的要求。当然滤波器的复杂程度和计算量也随之大大增加。所以,在使用频率采样法设计FIR滤波器是,要综合考虑阻带衰减和滤波器长度的要求从而达到设计的最优化。
3. 频率采样法在MATLAB中最优设计
为了更近一步了解频率采样法,现在采用频率采样法在MATLAB中设计高通滤波器设计代码见附录代码3-7。
基本原理与上面类似。选取N=33,T1=0.1095,T2=0.593。线性相位属于第1种情况,会用到hr_type1(h)函数。设计代码见3-7,图如3-15。幅度衰减能够达到50dB。
- 35 -