窗函数法设计FIR中,如何选择窗函数和阶数N

这篇具有很好参考价值的文章主要介绍了窗函数法设计FIR中,如何选择窗函数和阶数N。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在用窗函数法设计FIR滤波器时,给出了滤波器要求的具体指标,包括通带频率fp、阻带频率fs、通带波纹Rp和阻带衰减As等,有了这些指标后,是否什么窗函数都可以选择呢?答案是否定的。那么怎么选择窗函数呢?在本小节中将说明窗函数的选择和滤波器阶数N的选择。

不同窗函数的阻带最小衰减是不相同的,例如我们要求阻带衰减为50dB,则矩形窗和汉宁窗的最小衰减分别为21dB和44dB,若用这两种窗函数,无论N有多长,都没有办法满足阻带衰减达到50dB。为了满足阻带衰减达到50dB,只有选择海明窗,因为它的阻带衰减能达到53dB。所以窗函数的选择主要是根据滤波器指标中对As的要求。在选择窗函数后又怎么决定滤波器的阶数N呢?在设定的滤波器指标中给出了通带频率fp和阻带频率fs,在通带频率fs和阻带频率fs之间是过渡带,设△f=fs-fp,,则过渡带应与对应窗函数的“精确过渡带宽”相等。设把精确过渡带宽表示为dw/N,则对于任意某一种窗函数就应有

△f=dw/N

这样可得N为

N=dw/△f

窗函数法设计FIR中,如何选择窗函数和阶数N根据上表,以海明窗为例,N=6.6π/△f,注意在计算中,△f是归一化的角频率。综上所述,经过渡带可求出FIR滤波器的阶数。对于带通滤波器或带阻滤波器,通带频率有fp1及fp2,阻带频率有fs1及fs2,以带通滤波器为例,分别求出△f1=fp1-fs1及△f2=fs2-fp2,从△f1和△f2之间选择小的一个作为△f:

△f=min[△f1,△f2]

式中:min[·]表示选用最小值。

案例、要求设计一个低通滤波器,采样频率为100Hz,通带频率fp=3Hz,阻带频率fs=5Hz;而通带波纹Rp=3dB,阻带衰减As=50dB。由于设计要求As=50dB,分析可知选择海明窗能满足要求,所以在窗函数法中用海明窗。程序如下:

clear all; clc; close all

Fs=100;                          % 采样频率 
Fs2=Fs/2;                        % 奈奎斯特频率
fp=3; fs=5;                      % 通带和阻带频率
Rp=3; As=50;                     % 通带波纹和阻带衰减
wp = fp*pi/Fs2; ws = fs*pi/Fs2;  % 通带和阻带归一化角频率
deltaw= ws - wp;                 % 过渡带宽Δω的计算
N = ceil(6.6*pi/ deltaw);        % 按海明窗计算所需的滤波器阶数N(按式(3-13-1))
N = N + mod(N,2);                % 保证滤波器系数长N+1为奇数
wind = (hamming(N+1))';          % 海明窗计算
Wn=(3+5)/100;                    % 计算截止频率
b=fir1(N,Wn,wind);               % 用fir1函数设计FIR第1类滤波器
[db,mag,phs,gdy,w]=freqz_m(b,1); % 计算滤波器响应
% 作图
subplot 211; plot(w*Fs/(2*pi),db,'k','linewidth',2);
title('(a)低通滤波器的幅值响应');
grid; axis([0 20 -70 10]); 
xlabel('频率/Hz');  ylabel('幅值/dB')
set(gca,'XTickMode','manual','XTick',[0,3,5,20])
set(gca,'YTickMode','manual','YTick',[-50,0])
subplot 212; stem(1:N+1,b,'k');
xlabel('频率/Hz');  ylabel('幅值/dB')
title('(b)低通滤波器的脉冲响应');
xlabel('样点');  ylabel('幅值')
axis([0 167 -0.05 0.1]); 
set(gca,'XTickMode','manual','XTick',[1,84,167])
set(gcf,'color','w');

运行结果如下:

窗函数法设计FIR中,如何选择窗函数和阶数N

说明:
①因为选择了海明窗,按式N=dw/△f求出滤波器阶数N:
N = ceil(6.6 * pi/ deltaw)
②一般设计的FIR滤波器都是第1类FIR滤波器,要求脉冲序列长N是奇数。而从①
中求得的滤波器阶数N不知是偶数还是奇数。通过N = N + mod(N,2)

保证滤波器阶数N为偶数,而脉冲响应序列长将是N+1,即为奇数,满足第1类FIR滤波器要求。滤波器阶数若为N,脉冲响应序列的长度总为N+1,在FIR滤波器中脉冲响应序列的长度与滤波器阶数总差1。

③在计算窗函数长度时用的deltaw是归一化角频率,而在fir1函数中的Wn用的是归一化频率,这两者的单位是不同的,且截止频率Wn的计算是用Wn=(fp+fs)/2。

运行程序后得上图,从图中可看出滤波器完全满足设计的要求,在5Hz处阻带衰减大于50dB。

参考文献:MATLAB数字信号处理85个实用案例精讲——入门到进阶;宋知用(编著)文章来源地址https://www.toymoban.com/news/detail-439213.html

到了这里,关于窗函数法设计FIR中,如何选择窗函数和阶数N的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 还在用Python爬虫?教你一招,摆脱选择元素位置的烦恼!使用Node.js大杀器,并且无需使用cheerio 库~

    咱们以豆瓣历史250最佳电影为例。 豆瓣说,_ 你不要过来啊! 第一步:打开网页源代码 第二步:选择你想要爬虫的元素,右键复制获取JS路径 第三步:将这个路径复制到代码 咱们这个代码很简单,没写过node.js的同学也很容易看懂。引入包,再执行一个http的get操作拿到整个

    2024年02月03日
    浏览(56)
  • Xilinx FIR IP核设计滤波器

    使用matlab工具,根据具体需求设计出滤波器系数; 打开fir ip导入滤波器系数即可; 打开matlab使用fdatool工具,填入相应的参数生成系数; Fs=250; Fpass=50; Fstop=70; Apass=0.01; Astop=80; 将滤波器系数设置为定点数输出; 导出滤波器系数,生成coe文件; Select source:选择为coe文件

    2024年02月05日
    浏览(45)
  • 现在设计师都在用哪些工具做UI设计

    随着国内企业在用户交互方面的竞争,UI设计的未来是无限的。 如果你仍然或只是在寻找一个合适的UI设计工具,那么这篇文章应该非常适合你。 即时设计是一款免费的在线 UI 设计工具,无系统限制,浏览器打开即可使用,更有丰富的在线素材、云端字体、交互动画等功能满

    2024年02月15日
    浏览(41)
  • 平面设计师都在用的设计素材网站,免费下载~

    很多新手设计师不知道去哪里找高清、免费的设计素材,今天我就给大家推荐5个设计素材网站,免费下载,赶紧收藏起来把! 1、菜鸟图库 https://www.sucai999.com/?v=NTYwNDUx 菜鸟图库是我推荐过很多次的网站,主要是站内素材多,像平面、UI、电商等设计素材都能找到,还有超多高

    2024年02月03日
    浏览(82)
  • 5个设计师都在用的在线网页设计编辑器!

    在当今的设计领域,选择一款适合的在线网页设计编辑器对于产设研团队来说至关重要。有许多选择可供考虑,其中包括即时设计、Axure RP、Adobe Illustrator、Sketch 和 Figma 等工具。在这些选择中, 即时设计 是一款备受推荐的在线网页设计编辑器。它不仅具备跨平台协同、免费

    2024年02月09日
    浏览(41)
  • 【Verilog 教程】7.3 Verilog 串行 FIR 滤波器设计

    串行 FIR 滤波器设计 设计说明 设计参数不变,与并行 FIR 滤波器参数一致。即,输入频率为 7.5 MHz 和 250 KHz 的正弦波混合信号,经过 FIR 滤波器后,高频信号 7.5MHz 被滤除,只保留 250KMHz 的信号。 串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算

    2024年02月06日
    浏览(52)
  • Xilinx的FIR滤波器IP的设计与仿真

    平台:Vivado2021.1 芯片:xcku115-flva1517-2-i (active) 语言:VerilogHDL 参考文件:pg149.下载地址 FIR Compiler LogiCORE IP Product Guide • FIR Compiler (PG149) • 阅读器 • AMD 自适应计算文档门户 (xilinx.com) FIR滤波器 最近准备研究以下滤波器。还是从xilinx的官方IP出发,来学习以下这部分。 使用

    2024年01月21日
    浏览(55)
  • 【VHDL笔记】 FIR滤波器的设计(基于Quartus II软件)

    PS:此文章仅供参考 本文介绍了使用VHDL语言实现一个FIR滤波器的设计 以下是本篇文章正文内容,代码可供参考 通常数字滤波器常用于修正或改变时域中信号的属性。学过信号与系统的同学应该知道,最为普通的数字滤波器就是 线性时不变量(LTI)滤波器,线性时不变量滤波

    2023年04月13日
    浏览(52)
  • 推荐10款设计师都在用的3d机械工程软件

    新产品和系统的研究和开发需要特定的软件。您必须能够设计建筑物、系统、机械和设备的蓝图和示意图。您还需要能够与其他工程师、绘图员和团队成员协作,同时有效且高效地工作。设计工程师的软件必须简化其流程,以避免妨碍他们的设计和开发工作。 好的工程设计选

    2024年02月16日
    浏览(51)
  • UI设计师都在用这5个网站,赶紧马住~

    本期推荐5个UI设计师常用的素材、学习网站,设计师们赶紧收藏~ 1、菜鸟图库 https://www.sucai999.com/searchlist/UIsheji----all-0-0.html?v=NTYxMjky 菜鸟图库提供了超多免费设计素材,在这里你可以找到平面、UI、电商等设计类素材,还有大量的高清背景图、图片、PNG素材、图标、样机等等

    2023年04月18日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包