哈明窗函数是一种改进的升余弦函数,或者称为改进的汉宁窗。
?n???0.54?0.46cos2?RN(n) (30)它的时域表达式为: w(n)?? ?????N?1????哈明窗在保证与汉宁窗相同的主瓣宽度的条件下,使大约99.96%的能量集中在主瓣,第一旁瓣比主瓣低41dB,阻带最小衰减为53dB。
在MATLAB中,哈明窗函数为hamming,调用格式为: w=hamming(N) 其中,N是窗函数的长度;返回值w是一个长度为N的哈明窗序列。 5、布莱克曼窗
布莱克曼窗函数又称三阶升余弦函数,它对升余弦函数加上一个二次谐波余弦分量,从而进一步降低旁瓣。
??2?n??4?n???0.08cos它的时域表达式为:w(n)??0.42?0.5cos? ????RN(n)(31)
?N?1??N?1???它的频域表达式为:
??2??2????W(ej?)?0.42WR(?)?0.25?WR?????WR??????
N?1?N?1????? 0.04?WR???????4??4????(32) ??WR?????
N?1?N?1???布莱克曼窗的主瓣宽度为
12?,第一旁瓣比主瓣低57dB,阻带最小衰减为74dB。 N在MATLAB中,布莱克曼窗函数为blackman,调用格式为: w=blackman(N) 其中,N是窗函数的长度;返回值w是一个长度为N的布莱克曼窗序列。上述各种窗函数的性能比较如表所示: 6、窗函数的MATLAB实现
窗函数 矩形窗 三角形窗 汉宁窗 汉明窗 第一旁瓣相对于主瓣衰减(dB) 主瓣宽度近似值 主瓣宽度精确值 阻带最小衰减(dB) -13 -25 -31 -41 4?/N 8?/N 8?/N 8?/N 12?/N 1.8?/N 6.1?/N 6.2?/N 6.6?/N 11?/N 21 25 44 53 74 布莱克曼窗 -57
21
绘出长度为64的矩形窗、三角窗、汉宁窗、哈明窗和布莱克曼窗函数的时域和频域幅度特性曲线。
程序代码如下:clear all;close all;clc;
N=64; w1=boxcar(N);w2=triang(N);
w3=hanning(N);w4=hamming(N);w5=blackman(N); wvtool(w1);wvtool(w2);wvtool(w3); wvtool(w4);wvtool(w5);
结果如下图所示:
常用窗函数的时域和频域幅度特性曲线
Time domain401300.820100-10-20Frequency domain0.60.40.2010203040Samples5060Magnitude (dB)Amplitude00.20.40.60.8Normalized Frequency (?? rad/sample)
矩形窗
Time domain5010Frequency domain0.80.6Magnitude (dB)10203040Samples5060Amplitude-500.4-1000.20-15000.20.40.60.8Normalized Frequency (?? rad/sample)
三角窗
22
Time domain5010Frequency domain0.80.6Magnitude (dB)10203040Samples5060Amplitude-500.4-1000.20-15000.20.40.60.8Normalized Frequency (?? rad/sample)
汉宁窗
Time domain401200Frequency domain0.8Magnitude (dB)10203040Samples5060Amplitude0.6-20-40-600.40.2-80-100000.20.40.60.8Normalized Frequency (?? rad/sample)
哈明窗
Time domain150Frequency domain0.80Amplitude0.6Magnitude (dB)10203040Samples5060-500.40.2-1000-15000.20.40.60.8Normalized Frequency (?? rad/sample)
布莱克曼窗
23
7、 MATLAB信号处理工具箱提供了基于窗函数法的FIR滤波器的设计函数fir1和fir2,它们能使滤波器的设计更加简单。 1)fir1
功能:基于窗函数的FIR滤波器设计——标准频率响应形状。 格式:b=fir1(n,Wn,’ftype’,window)
其中,b为滤波器系数;n为滤波器阶数;Wn为截止频率,0 说明:标准频率响应应指所设计的滤波器的预期特性为理想频率响应,包括低通、带通、高通或带阻特性。 2)fir2 功能:基于窗函数的FIR滤波器设计——任意频率响应形状。 格式:b=fir2(n,f,m,window) 其中,b为滤波器系数;n为滤波器阶数;f为频率点矢量,0 说明:fir2函数用于设计具有任意频率响应形状的加窗线性相位FIR数字滤波器,其幅频特性由频率点向量f和幅度值向量m给出,0 f 1,要求f为单增向量,而且从0开始,以1结束,1表示数字频率w= .m与f等长度,m(k)表示频点f(k)的幅频响应曲线。 三、基于切比雪夫等效一致逼近法 工具箱采用remez算法实现线性相位FIR数字滤波器的等波纹最佳一致逼近法设计。与其他设计法相比,其优点是,设计指标相同时,使滤波器阶数最 低,或者阶数相同时,使通带最平坦,阻带最小,衰减最大;通带和阻带均为 24 等波纹形式,最适合设计片段常数特性的滤波器。其调用格式如下: b=remez(n,f,m,w,’ftype’) 其中,w和ftype可默认。b为滤波器系数向量,调用参数n,f,m的含义与函数fir2中类同,但这里有一点不同,期望逼近的频幅响应值位于f(k)与f(k+1)(k为奇数)之间的频段上,而f(k+1)与f(k+2)之间为无关区。w为加权向量,其长度为f的一半。w(k)为对m中第k个常数片段的逼近精度加权值,w值越大逼近精度越高。ftype用于指定滤波器类型。 Remezord函数用于估算FIR数字滤波器的等波纹最佳一致逼近设计的最低阶数n,从而使滤波器在满足指标的前提下造价最低。基本调用格式如下: [n,fo,mo,w]=remezord(f,m,dev,Fs) 其返回参数供remez函数使用。设计的滤波器可以满足由参数f,m,dev和Fs指定的指标。F和m与remez中所用的类似,这里f可以是模拟频率(Hz)或归一化数字频率,但必须以0开始,以Fs/2(用归一化频率时为1)结束,而且其中省略了0和Fs/2两个频点。Fs为采样频率,省略时默认为2Hz。 dev为各逼近频段允许的幅频响应偏差(波纹振幅)。 remez函数可直接调用remezord返回的参数,使用格式如下: b=remez(n,fo,mo,w)。 四、FIR数字滤波器的MATLAB设计 MATLAB设计的程序流程图: 初始化 产生需要的滤波信号 画出滤波后信号频谱图 画出原始信号频谱图 生成FIR滤波器 进行滤波 25 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库DSP课程设计(5)在线全文阅读。
相关推荐: