news 2026/9/12 18:24:07

数字信号篇---FIR与IIR滤波器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数字信号篇---FIR与IIR滤波器

第一部分:核心概念对比(从“管中窥豹”到“杯中涟漪”)

A. 理论视角(定义与方程)
维度FIR滤波器IIR滤波器
全称有限脉冲响应无限脉冲响应
本质无反馈系统。当前输出仅取决于有限个过去的输入有反馈系统。当前输出取决于过去的输入和过去的输出
差分方程$y[n] = b_0x[n] + b_1x[n-1] + ... + b_Mx[n-M]$$y[n] = (b_0x[n] + b_1x[n-1] + ...) - (a_1y[n-1] + a_2y[n-2] + ...)$
脉冲响应有限长序列,如[0.2, 0.5, 0.2],打完就结束。理论上是无限长序列,如[1, 0.5, 0.25, 0.125...],逐渐衰减但永不归零。
稳定性天生稳定(没有反馈,不会“自激振荡”)。可能不稳定(如果反馈过强,输出会“爆炸式增长”)。
相位可轻松实现线性相位(保证信号波形不失真)。通常为非线性相位(可能导致波形畸变)。
B. 通俗比喻(一听就懂)

1. 工作原理比喻

  • FIR滤波器 → 移动平均/加权滑动窗口

    想象一个固定长度的管道,里面有一排权重不同的筛网(系数)。信号像沙子一样从一端流入。每个时刻的输出,是当前管道里所有沙子按不同权重(系数)相加的结果。沙子流出管道后就不再影响未来。简单,可控,但需要很长的管道(高阶数)才能把沙子筛得很精细。

  • IIR滤波器 → 有反馈的混合水池

    想象一个带搅拌器的水池,你不断倒入新水(输入),同时也会从水池中舀出一部分水(输出)并倒回一部分(反馈)重新混合。当前池水的状态(输出)不仅取决于新倒入的水,还取决于之前池水的状态。效率很高,用很小的池子就能达到很复杂的混合效果,但如果反馈控制不好(舀回去的太多),水池可能溢出(不稳定)。

2. 核心特性比喻

特性FIR(管道筛沙模型)IIR(反馈水池模型)
稳定性绝对安全。管道长度固定,沙子总会流出去,不会堆积爆炸。需要谨慎。如果往回倒的水太多太快(反馈系数太大),水池水位会失控疯涨(不稳定)。
相位特性“齐步走”。管道里所有沙子(不同频率成分)通过管道的时间严格相同,出来时队伍形状不变(波形保真)。这对图像、雷达信号处理至关重要。“各自走”。不同频率的水流在水池里混合时间不同,流出的时间有快有慢,导致出来时波形可能“散架”(相位失真)。对于听声音,人耳不敏感;但对于看图像,问题就大了。
计算效率“人海战术”。为了达到很精细的过滤效果,需要很长的管道(高阶数,如64阶、128阶),计算量大。“精英策略”。利用反馈,往往只需4-8阶就能实现非常陡峭的过滤效果,计算量小,实时性高。
设计难度“直来直去”。主要设计管道里每个筛网的权重(系数)。方法直接,目标明确。“牵一发而动全身”。设计新水注入和旧水反馈的比例(系数)。既要效果好,又要防止水池溢出,更复杂。

第二部分:设计方法(从“菜谱”到“烹饪”)

A. FIR滤波器设计三大“菜谱”

1. 窗函数法(家常菜谱:简单直接,但有局限)

  • 通俗版:你有一个“理想滤波器”的完美蓝图(比如“完美低通”),但它的配方需要无限多种原料(无限长脉冲响应)。你没那么多钱(硬件资源)。怎么办?直接把它切短。但粗暴切短会导致“吉布斯现象”:在截止频率处像摇晃果冻一样出现波纹。

    改进:不用剪刀粗暴地切,而是用一个渐变的窗口(如汉宁窗、海明窗)来温和地“淡化”首尾,相当于给果冻边缘抹上润滑剂。牺牲一点过渡带陡度(主瓣变宽),换来波纹减小(旁瓣降低)。

  • 理论核心:时域加窗 ↔ 频域卷积。h[n] = h_ideal[n] * w[n]

2. 频率采样法(按图索骥法)

  • 通俗版:你不是在时域切,而是直接在频域“点菜”。在目标频率响应曲线上,等间隔地取N个采样点的值,然后说:“我就要一个滤波器,在这几个频率点上的响应严格等于我规定的值”。通过逆向计算(IDFT)得到滤波器系数。

  • 缺点:采样点之间的频率响应可能不听话,乱跑(插值效应)。改进:在过渡带故意留几个“自由点”进行优化,让整体更平滑。

3. 最优等波纹法(米其林优化算法 - 最常用)

  • 通俗版:这是工程上的终极武器。它采用“最差情况最好化”原则:让通带内最大波纹和阻带内最大波纹,在约束下同时达到最小。就像调整一个有很多旋钮的机器,直到通带和阻带的波动都均匀且最小。

  • 工具:MATLAB的firpm(Parks-McClellan算法) 就是干这个的。给定阶数、通带/阻带边缘,它能给你一个最优解。

B. IIR滤波器设计:站在巨人(模拟滤波器)肩膀上

核心思想:数字IIR滤波器设计不“从零发明”,而是把经典的模拟滤波器(如巴特沃斯、切比雪夫)“数字化”

1. 脉冲响应不变法(仿形法 - 基本淘汰)

  • 通俗版:让数字滤波器的脉冲响应,完全模仿模拟滤波器冲激响应的采样值。优点:时域波形保持好。致命缺点频谱混叠。就像用低采样率录制高音,会听到虚假的杂音。只适合处理低频信号。

2. 双线性变换法(扭曲映射法 - 绝对主流)

  • 通俗版:这是解决混叠的“魔法”。它通过一个数学上的“扭曲”,把整个模拟频率轴(无限长)像拧毛巾一样,完美塞进数字频率的有限范围(-π到π)里,从而彻底消灭混叠

    代价:频率轴被非线性扭曲了(频率畸变)。模拟的“线性刻度尺”变成了数字的“弯曲刻度尺”。解决办法预畸变。设计前,先把数字频率指标按扭曲关系反向换算成模拟指标,在这个“弯曲的模拟世界”里设计好滤波器,再变换回来,就刚刚好!

  • 流程:数字指标 →预畸变→ 模拟指标 → 设计模拟原型 →双线性变换→ 数字IIR滤波器。

C. 模拟原型三巨头(IIR的“风味基底”)
  • 巴特沃斯(黄油面包)最平坦。通带尽可能平,没有波纹。过渡带相对较缓。口感平滑

  • 切比雪夫I型(芝士蛋糕)通带等波纹,但过渡带更陡。用通带的一点波纹,换取更锐利的截止

  • 椭圆滤波器(千层酥)通带和阻带都有波纹,但过渡带最最陡峭。在阶数相同时性能最激进,但相位响应也最差。


【总结与速查指南】

  • 需要波形保真、不怕算力贵?→ 选FIR。用firpm(等波纹法)设计。

  • 需要实时处理、相位不重要?→ 选IIR。用双线性变换法,基底选巴特沃斯(求稳)切比雪夫/椭圆(求锐)

初学者一句话理解

FIR像用一长串不同权重的平均数来平滑信号,稳定保形但计算慢
IIR像带反馈的混音台,高效锐利但可能失真和不稳

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 22:11:41

通信原理篇---信道容量与香农极限理论(2)

一、基础概念回顾1. 信道带宽 B定义:信道允许通过的频率范围。本题中:电话线可用频带 300~3400 Hz,所以 B3400−3003100 Hz。注意:这是物理带宽,计算香农容量时直接用这个差值。通俗理解:声音电话的信道是“…

作者头像 李华
网站建设 2026/9/4 20:57:36

新闻媒体素材管理:HunyuanOCR自动标记历史照片中的文字内容

新闻媒体素材管理:HunyuanOCR自动标记历史照片中的文字内容 在一家百年报社的资料室里,一排排泛黄的相册静静躺在铁皮柜中。这些老照片记录着重大历史事件、社会变迁与人物风貌,却因缺乏数字化描述而“沉睡”多年——想查1978年全国科学大会的…

作者头像 李华
网站建设 2026/9/3 2:19:07

Arduino与传感器集成前的IDE安装完整指南

从零开始搭建Arduino开发环境:传感器项目的坚实第一步 你是否曾满怀期待地拆开一块崭新的Arduino板和温湿度传感器,却在第一步就被“编译失败”或“上传超时”拦住去路? 别急——问题很可能不在你的代码,而在于那个看似简单、实…

作者头像 李华
网站建设 2026/9/11 7:32:14

海外仓库存盘点:HunyuanOCR识别货架标签更新库存系统

海外仓库存盘点:HunyuanOCR识别货架标签更新库存系统 在欧洲某大型海外仓的清晨,仓管员手持PDA穿梭于高耸货架之间。他只需对准贴有中英文混合信息的纸质标签拍下一张照片,不到三秒,后台系统便自动解析出SKU编号、批次数量与有效期…

作者头像 李华
网站建设 2026/9/9 17:06:18

Arduino下载安装教程:串口识别与调试技巧

Arduino环境搭建全攻略:从串口识别到高效调试 你是不是也经历过这样的时刻? 满怀期待地打开新买的Arduino板,插上USB线,却发现电脑毫无反应——设备管理器里没有COM端口,Arduino IDE提示“上传失败”,而网…

作者头像 李华