课程设计说明书(论文)
加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是4?/N。N越大,过渡带越窄、越陡;
过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰幅度取决于窗谱主瓣和旁瓣面积之比。矩形窗情况下是8.95%,与N无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为
jwj0 A(w)?20lg[H(e)/H(e)]?20lg[H(w)/H(0)] (3-4)
这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。其中(-0.0895)对应的点的值定义为阻带最小衰耗。
以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。
窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为:
旁瓣峰值衰耗=20lg(第一旁瓣峰值/主瓣峰值) (3-5)
为了改善滤波器的性能,需使窗函数谱满足:
主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带;
第一副瓣面积相对主瓣面积尽可能小,即能量尽可能集中在主瓣,外泄少,使设计出来的滤波器的肩峰和余振小。
但上面两个条件是相互矛盾的,实际应用中,折衷处理,兼顾各项指标。
第 3 页 共 15页
课程设计说明书(论文)
2.1线性相位
一个单一频率的正弦信号通过一个系统,假设它通过这个系统的时间需要t,则这个信号的输出相位落后原来信号wt的相位。从这边可以看出,一个正弦信号通过一个系统落后的相位等于它的w*t;反过来说,如果一个频率为w的正弦信号通过系统后,它的相位落后delta,则该信号被延迟了delta/w的时间。在实际系统中,一个输入信号可以分解为多个正弦信号的叠加,为了使得输出信号不会产生相位失真,必须要求它所包含的这些正弦信号通过系统的时间是一样的。因此每一个正弦信号的相位分别落后,w1*t,w2*t,w3*t。因此,落后的相位正比于频率w,如果超前,超前相位的大小也是正比于频率w。从系统的频率响应来看,就是要求它的相频特性是一条直线。在FIR滤波器的设计中,为了得到线性相位的性质,通常利用实偶对称序列的相频特性为常数0和实奇对称序列为相频特性为常数90度的特点。因此得到的是对称序列,不是因果序列,是不可实现系统,为了称为物理可实现系统,需要将它向右移动半个周期,这就造成了相移特性随时间的变化,同时也是线性变化。
单位脉冲响应h(n)(为实数)具有偶对称或奇对称性,则FIR数字滤波器具有严格的线性相位特性。
数字滤波器中,IIR数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。FIR滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。
2.2 基本窗函数
数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和汉宁窗函数,哈明窗函数布莱克窗函数,凯塞窗函数等。下面就对这些窗函数展开介绍。 2.2.1 矩形窗函数
矩形窗(Rectangular Window)函数的时域形式可以表示为:
1,0?n?N?1 w(n)?RN(n)?? (3-2-1) ??0,其他第 4 页 共 15页
课程设计说明书(论文)
它的频域特性为
?N?1??j????2? W?ej???eR??N?sin???2? (3-2-2) ???sin???2?Boxcar函数:生成矩形窗
调用方式w = boxcar (N):输入参数N是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。从功能上讲,该函数又等价于w = ones(n,1)。 2.2.2 三角窗函数
j?三角窗是最简单的频谱函数W(e)为非负的一种窗函数。三角窗函数的时域形式可以
表示为:
当n为奇数时
n?1?2(k?1),1?k? w(k)??n?1 2 (3-2-3)?2(k?1)n?1?2?,?k?nn?12?当n为偶数时
n?2(k?1),1?k? w?k???n?1 2 (3-2-4)?2(n?k)n?,?k?n2?n?1Bartlett函数:生成巴特利特窗 调用方式w = bartlett(n): (1) 输入参数n是窗函数的长度;
(2) 输出参数w是由窗函数的值组成的n阶向量。 (3) 三角窗也是两个矩形窗的卷积。
三角窗函数的首尾两个数值通常是不为零的。当n是偶数时,三角窗的傅立叶变换总是非负数。
第 5 页 共 15页
课程设计说明书(论文)
2.2.3汉宁窗函数
汉宁窗函数的时域形式可以表示为:
k?? k?1,2,?,N (3-2-5)? w(k)?0.5? ??1?co?s2πn?1??????? 它的频域特性为:
????j????2π2π???? W?????0.5WR????0.25?WR?????WR??????e?N?1?N?1???????N?1??2? (3-2-6)
其中,WR(?)为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8π/N。
hanning函数:生成汉宁窗 调用方式
(1) w = hanning(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。
注意:此函数不返回是零点的窗函数的首尾两个元素。 (2) w = hanning(n,'symmetric'):与上面相类似。
(3) w = hanning(n,'periodic'):此函数返回包括为零点的窗函数的首尾两个元素。
2.2.4 哈明窗函数
海明窗函数的时域形式可以表示为
k? k?1,2,?,N (3-2-7) w(k)?0.54?0.46co??s2π??N?1? 它的频域特性为
2π?2π?? (3-2-8) ?? W(?)?0.54WR(?)?0.23?W???W??????RR?N?1N?1???????其中,WR(?)为矩形窗函数的幅度频率特性函数。
海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大
第 6 页 共 15页
课程设计说明书(论文)
的。
Hamming函数:生成海明窗 调用方式
(1) w = hamming(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。
(2) w = hamming(n,sflag):参数sflag用来控制窗函数首尾的两个元素值;其取值为symmetric或periodic;默认值为symmetric。 2.2.5 布莱克曼窗函数
布莱克曼窗函数的时域形式可以表示为
k?1??k?1? k?1,2,?,N (3-2-9) w(k)?0.42?0.5cos??2π??0.08co?s4π??N?1??N?1?它的频域特性为
?W(?)?0.42WR????0.25WR???????2??2?????4π?4π?? (3-2-10) ???WR??????0.04?WR??????WR?????N?1?N?1??N?1N?1???????其中,WR(?)为矩形窗函数的幅度频率特性函数。
布莱克曼窗函数的最大旁瓣值比主瓣值低57dB,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N。
Blackman函数:生成海明窗 调用方式
(1) w = blackman (n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。
(2) w = blackman (n,sflag):参数sflag用来控制窗函数首尾的两个元素值;其取值为symmetric或periodic;默认值为symmetric。 2.2.6 凯塞窗
上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。而凯塞窗定义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是近乎最大的。而且,这种窗函数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使用户的设计变得非常灵活。
第 7 页 共 15页