基于窗函数的FIR数字滤波器设计

 时间:2024-11-08 12:00:23

在实际工程应用中,采集的信号需要做频率分析或功率谱分析,这时会导致频谱能量的泄漏,为了减少频谱能量的泄漏,需要对采集的信号进行加窗处理,加窗可以防止由于无线序列的截断带来的吉布斯效应,matlab软件提供很多和加窗有关的函数,本节就基于窗函数的FIR滤波器设计进行讲解:

工具/原料

窗函数滤波器设计

matlab

方法/步骤

1、rectangle矩形窗,矩形窗的优点是主瓣比较集中,缺点是旁瓣比较高,并有负旁瓣,导致变换中会带来高频干扰和泄漏,频率识别精度高,幅值识别精度低,其调用格式如下:w=boxcar(N);产生一个长度为N的矩形窗示例:基于矩形窗的滤波器设计,滤波器阶数9阶,截至频率0.4HZ,窗长度10编写对应的m文件如下:window=boxcar(10);b=fir1(9,0.4,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

2、汉宁窗(Hanning);又称余弦窗,主瓣加宽并降低水貔藻疽,但旁瓣明显减低,,从减少泄漏角度来说,汉宁窗优于矩形窗,但是主瓣加宽芟坳葩津,分析带宽变大,频率分辨率减低,如果测试信号有多个频率分量,频谱表现复杂,测试目的更多关注频率点而非能量的大小,选择汉宁窗,其调用格式:w=hanning(N);示例:基于汉宁窗的滤波器设计,滤波器设计阶数为5阶,截止频率0.5HZ(指归一化截止频率),窗长度6编写对应的m文件如下:window=hanning(6);b=fir1(5,0.5,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

3、海明窗(Hamming),与汉宁窗类似,又叫改进的余弦窗,只是加权系数不同,旁瓣更低,衰减速度要低于汉宁窗,其调用格式如下:w=hamming(N);示例:基于汉宁窗的滤波器设计,滤波器设计阶数为6阶,截止频率0.7HZ(指归一化截止频率)窗长度7编写对应的m文件如下:window=hamming(7);b=fir1(6,0.7,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

4、凯撒窗Kaiser,通过调整参数β可以在主瓣宽度和旁瓣衰减之间自由选择他们的比重,对于某一个长度擢爻充种的Kais髫潋啜缅er窗,给定β,则其旁瓣高度也就确定了w=kaiser(N,beta);示例:基于汉宁窗的滤波器设计,滤波器设计阶数为12阶,截止频率0.6HZ(指归一化截止频率),窗长度13,β=0.8编写对应的m文件如下:window=kaiser(13,0.8);b=fir1(12,0.6,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

5、布莱克曼窗(Blackman):二阶升余弦窗,主瓣较宽,旁瓣低,频率识别精度最低,幅值识别精度最高,有更好的选择性,常用来检测两个频率相近,幅值不同的信号w=blackman(N);示例:基于布莱克曼窗的滤波器设计,滤波器设计阶数为15阶,截止频率0.3HZ(指归一化截止频率),窗长度16编写对应m文件如下:window=blackman(16);b=fir1(15,0.6,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

6、高斯窗(Gausswin):是一种指数窗,主瓣较宽,频率分辨率低,没有负旁瓣,常用来截断一些非周期信号,如指数衰减信号,其调用格式如下:I=Gausswin(N,b);示例:基于高斯窗的滤波器设计,滤波器设计阶数为10阶,截止频率0.2HZ(指归一化截止频率),窗长度9编写对应的m文件如下:window=gausswin(10,2.5);b=fir1(9,0.2,window);freqz(b,1);程序运行结果如下:

基于窗函数的FIR数字滤波器设计

7、三角窗(Triangular):其调用格式如下:w=triang(N);示例:基于三角窗的滤波器设计,滤波器设计阶数为11阶,截止频率0.35HZ(指归一化截止频率),窗长度10编写对应的m文件如下:window=triang(11);b=fir1(10,0.45,window);freqz(b,1);文件运行结果如下图:

基于窗函数的FIR数字滤波器设计

Altium Designer怎么设置关于图形编辑 C语言如何定义全局变量 【图像处理】检测圆的Hough变换算法 labview中字符串的一种用法 labview显示当前时间
热门搜索
游戏王图片 黑猫男友的玩法漫画 卡通狮子图片 千图网图片 中医养生图片