第一部分:FIR滤波器的设计方法 —— “裁缝的哲学”
FIR设计师像个裁缝,他的核心任务就是剪裁和缝合一组完美的权重系数。目标:做出一件合身(满足滤波要求)的衣服。
方法一:窗函数法 —— “用模子扣饼干”
比喻:就像你想做一块星星形状的饼干。最直接的办法就是拿一个星星形状的模具(窗函数),在擀好的大面片(理想的、无限长的滤波器系数)上用力一扣!
具体步骤:
画理想图纸:先在心里画一个完美的、理论上才能实现的滤波器频率响应(比如“所有低于1000Hz的声音100%通过,高于1000Hz的声音0%通过”,像一把绝对锋利的刀)。
得到理想系数:通过数学计算(傅里叶反变换),得到这个理想滤波器对应的权重系数序列。但这个序列是无限长的,现实中无法实现。
开剪!:用一个有限长度的“窗口”去截取中间最主要的一段系数,强行把它变成有限的。这个窗口可以是矩形(简单粗暴),也可以是汉宁窗、汉明窗(像边缘光滑的模子,效果更柔和)。
优点:直观、简单,容易理解。
缺点:这是一种“硬裁剪”,在截止频率附近会产生振铃和过渡带变宽(就像饼干边缘有点毛糙,不如模具那么锋利)。性能和长度难以兼得。
一句话总结:理想蓝图 + 有限窗口 = 现实设计。
方法二:频率采样法 —— “按点描图,连接成线”
比喻:你想画一条复杂的曲线。你先在纸上固定几个关键高度的点(采样),然后用一根有弹性的尺子(插值)把这些点连接起来,形成一条平滑的曲线。
具体步骤:
直接在频率轴上,对你想要的滤波器频率响应进行等间隔采样。比如在0Hz, 100Hz, 200Hz...的位置上,指定你想要的增益(0或1)。
用这组采样值,通过数学计算(离散傅里叶反变换)直接得到滤波器的权重系数。
优点:在采样点位置上,频率响应是精确匹配的。非常适合设计那些频率响应有特定形状的滤波器(比如多频段滤波器)。
缺点:采样点之间的频率响应是插值出来的,无法控制,可能会出现不希望的起伏。
一句话总结:指定关键点的目标,让数学自动生成整体。
方法三:等波纹最佳逼近法 —— “智能优化,精益求精”
比喻:这是王牌裁缝的做法。他有一个智能助手(雷米兹交换算法)。裁缝不断提出方案,助手就拿着尺子到处量,然后告诉裁缝:“这里高了0.1厘米,那里低了0.05厘米,最大误差是0.1厘米。”裁缝根据反馈修改,目标是让全身上下各处误差的最大值(波纹的幅度)变得最小且相等。
具体步骤:
设定目标(通带/阻带的边界和允许的纹波)和滤波器阶数(布料的多少)。
启动优化算法,它会在通带和阻带内自动、反复地调整权重系数,直到实际频率响应与理想响应之间的正负偏差(波纹)的峰值达到最小并且均匀分布。
优点:这是最优化的方法。在给定阶数下,它能设计出性能最好的FIR滤波器(过渡带最陡,纹波最小)。
缺点:计算比窗函数法复杂,但现代计算机和软件(如MATLAB的
firpm函数)可以轻松完成。一句话总结:在资源(阶数)固定的前提下,用算法找到全局最优解。
FIR设计心法:一切工作都围绕寻找那组最优的【权重系数】展开。
第二部分:IIR滤波器的设计方法 —— “翻译家的智慧”
IIR设计师像个翻译家,他的核心任务是:把一本经典的、久经考验的“模拟滤波器食谱”(模拟传递函数),精准地翻译成数字世界的语言(数字传递函数)。
为什么这么做?因为人类在模拟电路(电阻电容电感)设计滤波器方面有百年经验,积累了很多现成的、性能优异的“祖传秘方”。
核心方法:从模拟到数字的映射(双线性变换法为主)
比喻:你想复刻一道失传的宫廷菜。你找到了一份用古代度量衡(“文火”、“少许”)写的食谱(模拟滤波器)。你需要一个精确的转换规则,把“文火”翻译成“95摄氏度”,把“少许盐”翻译成“2克”(双线性变换),从而得到一份现代厨房可执行的标准化食谱(数字IIR滤波器)。
具体步骤:
选择经典菜系:根据你的口味(滤波要求)选择一种经典的模拟滤波器原型。
巴特沃斯型:口感最“顺滑平坦”,通带内完全没有纹波,但过渡带较缓。(追求平滑)
切比雪夫I型:允许通带有一点小纹波,但换来了更陡峭的过渡带。(追求陡峭)
椭圆型:通带和阻带都允许有纹波,但换来了最陡峭的过渡带。(追求极致的陡峭)
根据指标设计模拟原型:根据你的数字滤波器指标(截止频率、衰减),换算成模拟频率,设计出对应的模拟滤波器传递函数 Ha(s)。
进行“翻译”:使用双线性变换这个数学公式 s=2Tz−1z+1 ,将模拟的 Ha(s)Ha(s) 中的复变量 s 替换成数字域的 z。这个变换就像一座精心设计的桥梁,能把整个模拟系统的特性(除了频率轴的轻微扭曲)完整地映射到数字世界。
得到数字配方:完成替换和整理后,你就得到了数字IIR滤波器的传递函数 H(z),它自然就包含了反馈所需的系数。
优点:直接继承了模拟滤波器的优良性能,设计过程规范,能高效地实现陡峭的滤波特性。
注意:双线性变换不是简单的频率缩放,它会把整个模拟频率轴(0到无穷大)“挤压”到数字频率的0到π之间。这会导致频率响应产生弯曲(频率畸变),需要在设计前进行“预畸变”校正。
一句话总结:站在模拟滤波器的巨人肩膀上,用数学桥梁进行跨领域转换。
IIR设计心法:巧妙“借用”模拟世界的成熟方案,通过精确“翻译”来实现。
终极选择指南
| 你想设计的滤波器 | 推荐的首选设计方法 | 为什么? |
|---|---|---|
| FIR滤波器 | 等波纹最佳逼近法 | 在给定资源下,它能给出最优性能,是现代设计的工业标准。 |
| (当需要绝对线性相位时) | ||
| FIR滤波器 | 窗函数法 | 当你想快速了解原理、做一个简单原型,或者需要特殊形状的窗时。 |
| (快速上手或教学演示) | ||
| IIR滤波器 | 基于双线性变换的 | 这是最主流、最可靠的方法。巴特沃斯、切比雪夫、椭圆等类型任你选择。 |
| (追求高效和陡峭) | 模拟原型法 |
简单记忆:
做FIR,你是一个创造者裁缝,在优化一组数。
做IIR,你是一个翻译家厨师,在转换一个公式。