尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

滤波器阶数详解:从谐波抑制到工程选型实战

滤波器阶数详解:从谐波抑制到工程选型实战 做信号处理的人几乎都绕不开“滤波器”和“谐波”这两个词。前几天帮一个做电机驱动器的朋友排查问题他一脸困惑地问我“我明明加了一阶低通滤波器截止频率也设得挺合理为什么PWM开关频率附近的高次谐波还是压不下去”这个问题的背后恰恰就是滤波器阶数和谐波这两个概念没有真正打通。今天我想抛开课本上那些过于抽象的公式推导从一个工程实践者的视角把这两个东西放在一起聊透。滤波器阶数不是玄学也不是越高越好谐波也不是什么凭空出现的“干扰”它有着严格的物理来源。搞清楚这两者各自的原理以及它们之间的相互关系你才能在项目里做出真正合理的设计决策。这篇文章适合正在学习信号处理、从事电子硬件设计、做嵌入式数据采集或者经常要和频谱分析仪打交道的朋友。1. 阶数的本质从RC电路到传递函数极点1.1 一阶RC滤波器为什么叫“一阶”先从最简单的RC低通滤波器说起。一个电阻串联、一个电容并联到地输出取电容两端的电压这就是教科书里最经典的一阶低通滤波器。它之所以叫“一阶”并不是因为它长得像楼梯的一级台阶而是因为描述它的微分方程是一阶微分方程——电路里只有一个储能元件也就是电容。我见过很多刚入门的同学把“一阶”理解成“一次滤波”以为加了一个滤波器就是“一次”再加一个就是“二阶”。其实不是的。严格从电路角度看有几个独立的储能元件电容或电感滤波器就是几阶。所以一个RC就是典型一阶一个RLC电路就是二阶。如果非要用一句话类比你可以把储能元件数量想象成房间里的“惯性系统”每一个储能元件都会让信号的能量流动多一个“时间维度”。从频域角度来看一阶RC低通的传递函数表达式是 H(s) 1/(1 sRC)。当频率远低于截止频率 f_c 1/(2πRC) 时信号几乎无损通过当频率远高于截止频率时每升高10倍频率增益就下降20dB。这个“每十倍频程下降20dB”的斜率就是“一阶”在频域中最直观的体现。1.2 阶数的两种存在形式模拟域的储能元件与数字域的延迟级数在模拟滤波器里阶数由储能元件个数决定这很好理解。但在数字滤波器里阶数这个概念需要稍微转个弯。数字滤波器的“阶数”通常指差分方程中延迟项的级数或者传递函数分母多项式的阶数。比如一个IIR滤波器如果分母是s²asb的形式它就是二阶一个FIR滤波器有多少个抽头就对应多少阶延时链。这里有个值得注意的坑模拟滤波器和数字滤波器的“阶数”虽然都叫阶数但它们对资源、功耗和延迟的影响完全不同。模拟高阶滤波器需要更多运放、电阻和电容调试难度随阶数非线性增长数字高阶滤波器则主要消耗更多乘法器和寄存器只要算法稳定实现起来比模拟域“温和”得多。所以你在选型时先要想清楚自己究竟在哪个域里解决问题。举个例子雷达信号处理里的匹配滤波器和脉冲压缩经常用到数百阶的FIR滤波器。这在模拟电路里几乎不可想象——你不可能用几百个运放去搭一个高阶滤波器。但在数字域里几百阶FIR太正常了因为FPGA或DSP的乘法器资源足够多而且算法固定、一致性好。1.3 极点的位置决定滤波器的“性格”阶数只是数量真正决定滤波器行为的是极点在s平面上的位置。一个n阶系统有n个极点它们分布在复平面上。极点的实部决定衰减速度虚部决定振荡频率如果极点的实部是负的系统稳定如果某个极点的虚部不为零就说明阶跃响应会出现振荡。一阶滤波器的极点只有一个位于实轴上所以它的阶跃响应是缓慢单调上升没有任何过冲。二阶滤波器就有意思了当两个极点从实轴逐渐分离变成共轭复数时系统的品质因数Q开始起作用。Q值小于0.5时响应依然单调Q值等于0.5是两个实极点重合的临界状态Q值大于0.5后阶跃响应开始出现振荡和过冲。Q值越大过冲越明显。这说明一个很关键的问题二阶以上的高阶滤波器不是简单地把多个一阶滤波器串联起来就能得到“完美”的响应。你把两个一阶RC低通直接串联确实能在数学上得到二阶传递函数但它的两个极点都是实极点Q固定为0.5响应不会振荡但过渡带也不算特别陡峭。真正设计一个巴特沃斯、切比雪夫或者贝塞尔二阶滤波器时需要刻意调整Q值让极点落在特定的位置才能得到想要的通带平坦度、过渡带陡峭度或相位线性度。我在实际调试中常遇到一种迷惑行为有人觉得巴特沃斯四阶滤波器就是把四个一阶RC串起来结果测出来幅频响应确实有每十倍频程80dB的衰减斜率但阶跃响应振铃特别严重输入一个方波输出波形在上升沿大幅度过冲甚至引发后端电路误触发。原因就是他没有按照巴特沃斯四阶的极点位置设计各级的Q值而是简单堆叠了四个相同的一阶节。设计高阶滤波器不是“搭积木”每一级的Q值都要严格按照归一化极点表格来分配。2. 阶数改变的是什么衰减斜率、过渡带与相位失真2.1 每增加一阶阻带多衰减20dB/dec滤波器的阶数最直接的影响就是阻带衰减斜率。理想情况下n阶低通滤波器的阻带衰减率是-20n dB/dec。也就是说一阶是每十倍频程衰减20dB二阶是40dB/dec三阶是60dB/dec四阶是80dB/dec。这个规律可以用传递函数分母的阶数推出来——当频率远大于截止频率时幅频响应近似为 (f_c/f)^n取对数乘以20正好是-20n dB/dec。这个斜率到底有多重要你可以算一笔账假设你有一个基波频率是1kHz的信号但里面混着一个10kHz的谐波分量你想把它压下去至少40dB。如果只用一阶滤波器因为10kHz和截止频率之间需要拉开足够距离你不得不把截止频率设得很低比如100Hz甚至更低这样基波1kHz本身也会被大幅衰减。但如果用二阶滤波器40dB/dec的斜率意味着从截止频率到10kHz需要两个十倍频程才能到-40dB所以截止频率可以设在1kHz附近对基波的损伤就小很多。如果是四阶滤波器只需要从截止频率出发一个十倍频程就衰减40dB截止频率甚至可以高于1kHz。这就是阶数在实际工程设计中的意义——它决定了你能在“保护有效信号”和“压制干扰信号”之间打出多大的过渡带余量。不过要提醒的是这个斜率只有在频率远大于截止频率的渐近区才成立。在截止频率附近各类滤波器因为极点设计的差异响应曲线并不完全一致。巴特沃斯的幅频特性在截止频率处精确为-3dB切比雪夫在通带内有纹波但在截止频率附近下降更快而椭圆滤波器甚至在过渡带和阻带都有纹波换来的是更窄的过渡带。这句话看起来像是公式但背后只有一个问题你的信号有多宽的频谱需要保留干扰有多近你对波形畸变有多敏感。2.2 高阶滤波器的“代价”相位滞后与阶跃响应振铃滤波器不只是改幅度它一定会改相位。每一阶滤波器都会引入相位滞后阶数越高在截止频率附近的总相位滞后越大。一阶低通在截止频率处滞后45度二阶低通在相同位置滞后90度四阶就是180度。如果你在做闭环控制比如伺服系统、开关电源的环路补偿或者锁相环里的环路滤波器这种相位滞后极其致命它会吃掉系统的相位裕度让原本稳定的环路开始震荡。另一个容易被忽略的问题是群延迟。群延迟是相位对频率的导数它衡量的是不同频率成分经过滤波器后到达输出端的时间差。高阶滤波器的群延迟在截止频率附近会出现明显的峰值这意味着靠近截止频率的谐波成分会比低频成分晚到一会儿。如果你关心的是时域波形的保真度比如心电信号、振动冲击信号那么高阶滤波器即使把谐波幅度压下去了也可能会让波形看起来“变形”。这就是为什么很多高速数据采集系统宁可要一个响应相对平缓但相位线性的滤波器也不盲目追求高衰减斜率。贝塞尔滤波器就是为了解决这个问题而生的。它在所有同阶滤波器里拥有最平坦的群延迟换句话说它的相位响应最接近线性阶跃响应几乎不产生振铃。但代价是过渡带的陡峭程度明显低于巴特沃斯和切比雪夫。我自己的习惯是如果主要目标是把高频干扰滤掉同时对波形细节有要求优先考虑贝塞尔如果目标是纯粹的频谱处理对时域波形不敏感巴特沃斯是性价比最高的选择。2.3 巴特沃斯、切比雪夫、贝塞尔、椭圆的阶数选择差异不少初学者问同一个阶数下这些滤波器到底有什么差别我用一张表总结一下它们的特性方便大家对照滤波器类型通带特性过渡带陡峭度相位线性度典型应用场景巴特沃斯最大平坦适中一般通用信号调理、音频、数据采集切比雪夫I型通带有纹波较陡较差需要更陡过渡带的射频/中频滤波贝塞尔平坦但过渡带宽较缓最佳时域波形保真、控制环路椭圆通带和阻带都有纹波最陡最差窄带干扰抑制、通信信道选择同样都是四阶巴特沃斯的极点Q值有一个大约是0.541另一个大约是1.306而切比雪夫如果设定0.5dB通带纹波两个极点Q值都会比较高过渡带确实更陡但阶跃响应的振铃也更严重。在做滤波器选型时阶数只是“骨架”滤波器的近似类型才是“血肉”。我见过不少人在电路里堆了四阶、八阶滤波器以为阶数越高越好结果测出来波形振铃严重或者相位滞后到系统无法稳定最后只能推倒重来。3. 谐波的本质不是你想象中的“多余信号”3.1 谐波是信号自身的“分身”傅里叶级数的直观解释很多工程师对谐波的理解停留在“干扰”层面这其实是一种误解。谐波不是外界强加给信号的杂质而是信号本身固有的一种描述方式。任何一个周期信号只要它不是纯粹的正弦波都可以分解成一个基波频率加上整数倍频率的正弦波分量这就是傅里叶级数。比如一个标准的方波它的频谱其实是一系列奇次谐波——1倍频、3倍频、5倍频、7倍频……每个谐波的幅度按照1/n的规律递减。你看到的“方波”在频域里就是基波加无数个奇次谐波的叠加。这意味着什么如果你在电路里对这样一个方波做滤波滤掉3次谐波、5次谐波剩下基波加少量高次谐波时域上看起来就接近正弦波了。所以谐波的第一个来源是信号本身的周期矩形特性。音视频、PWM信号、逆变器输出、数字时钟全都是典型的谐波“富矿”。你在示波器上看到信号边缘有点“圆润”了其实不是信号变干净了而是高频谐波被某个环节衰减掉了。3.2 系统非线性产生的谐波从放大器饱和到PWM开关纹波谐波的第二个来源是系统非线性。比如放大器输出过载进入饱和区削峰就会产生大量新的谐波变压器铁芯磁饱和时励磁电流畸变也会产生3次、5次、7次等奇次谐波晶闸管整流、逆变器的PWM开关动作本质上就是用一系列脉冲去逼近正弦波脉冲边缘天然包含开关频率及其倍频的谐波成分。这里要区分一个概念线性系统不会产生新的频率分量。一个线性时不变系统输入是单一频率的正弦波输出只能是同一个频率的正弦波只是幅度和相位变了。一旦你看到输出里出现了输入里没有的频率说明系统有非线性。所以当你在测量端看到异常谐波时要判断它是信号源本来就有的还是你电路里的某个环节“制造”出来的。这个问题不搞清楚滤波器设计方向都可能反了。举个实际案例我一个做并网逆变器控制的朋友一直抱怨电感电流里谐波太大想用LCL滤波器把谐波压下去。LCL滤波器本身是用于并网电流谐波抑制的常用方案但设计参数不匹配时反而会在某些频率上产生谐振放大。他一开始以为是滤波器阶数不够把电容加大、电感加多结果谐波不但没降开关频率附近还出现了严重的振荡。后来发现真正的问题是他电流采样信号里混入了一个微弱的高频振荡这个振荡经过控制环路的非线性环节互调出了使用频段内的谐波源头根本不在功率级的滤波上。这提醒我们看到谐波超标要先溯因再动滤波器。3.3 谐波与噪声的区别离散谱线vs连续谱谐波和噪声经常被混为一谈但在滤波器设计里它们必须被严格区分。谐波是离散的谱线能量集中在基波整数倍的频率点上噪声则是连续的频谱分布无论白噪声还是1/f噪声没有一个固定的“频率点”可以精准用药。这个区别直接决定了滤波策略。对于谐波你可以用低通滤波器把高于某频率的谐波分量统一削掉如果谐波集中在某个特定频率比如50Hz电网的3次150Hz、5次250Hz你甚至可以用陷波器精准打击。但噪声无法用这种方式处理因为噪声的能量散布在所有频率上滤除噪声只能在“信号有效带宽”和“噪声容忍度”之间做妥协用低通把带宽压窄牺牲一部分信号动态响应。还有一个我经常在数据采集系统设计中强调的点抗混叠滤波器的设计目标并不是滤除“噪声”或“谐波”中的某一个而是把高于奈奎斯特频率的所有能量包括谐波、带外噪声、时钟串扰压到ADC量化噪声之下否则混叠会把这些高频成分搬移到低频段变得“像信号”一样不可去除。在信号处理系统中谐波和噪声的混淆会导致不必要的滤波复杂度甚至误判系统健康状态。4. 阶数与谐波怎么交互滤波器如何应对谐波成分4.1 低通滤波器对谐波的衰减公式距离截止频率越远越有效当我们讨论滤波器对谐波的抑制时本质上是在问某一个特定频率的谐波分量经过该滤波器后衰减了多少dB答案取决于谐波频率与截止频率之间的距离以及滤波器的阶数。用一个近似公式表示在阻带渐近区衰减量约等于 -20n·log10(f_h / f_c) dB。其中f_h是谐波频率f_c是截止频率n是滤波器阶数。这个公式里最值得注意的是“f_h / f_c”的对数关系。如果谐波频率只是截止频率的1.5倍即使你是四阶滤波器衰减也只有-20×4×log10(1.5)≈-14dB但如果谐波频率是截止频率的10倍同样的四阶滤波器能给出-80dB的衰减。这就是“距离产生美”在滤波器里的体现。设计中千万不能只看滤波器阶数还要评估干扰频率到底距离你的信号频带有多远。如果干扰频率和有用信号靠得特别近你想靠增加阶数来强行分离信号和干扰需要的阶数可能是天文数字。这种情况下更适合的策略是改用陷波滤波器或者从源头降低干扰幅度。4.2 以四阶巴特沃斯为例谐波衰减率的定量计算为了更有体感我以四阶巴特沃斯低通滤波器为例做一组定量计算。巴特沃斯滤波器的幅频响应为| H(jω) | 1 / sqrt(1 (ω/ω_c)^(2n))n取4分别计算谐波频率为1倍、2倍、5倍、10倍截止频率时的衰减f_h / f_c衰减量四阶巴特沃斯1-3dB2-24.1dB5-55.9dB10-80dB你可以看到在2倍截止频率处四阶滤波器只能压制约24dB相当于信号功率降到原来的1/250左右这个效果在工程上很多时候并不够。真正明显的压制要等到5倍截止频率以后。对比一下如果把四阶换成八阶2倍截止频率处的衰减能达到约-48dB5倍处超过-112dB。但你要清楚八阶滤波器的相位失真、群延迟、数字实现时的数值稳定性问题全都上来了而且对元件误差的敏感度也是成倍增加。所以“几阶够用”不是一个可以拍脑袋决定的数字你必须有明确的谐波幅度目标和频率分布数据。4.3 群延迟对谐波相位的影响为什么时域波形还是不好看有时候你会发现一个奇怪的现象频谱仪上谐波已经衰减得很干净了但示波器里看到的信号波形依然“不对劲”不是过冲就是拖尾。这种情况十有八九是滤波器的相位响应在作怪。因为谐波不只是被衰减幅度它的相位也发生了偏移。不同频率的谐波分量偏移量不同高阶滤波器导致的相对相位差会让波形形状发生变化。一个典型的例子是方波经低通滤波后如果理想情况下所有高次谐波被均匀衰减波形应该变得平滑但如果滤波器的群延迟在截止频率附近有明显起伏某些频率分量被延迟得比其他分量更多波形就会出现不对称的振铃。我在设计便携式振动采集仪时也踩过类似坑。振动信号通常包含多个谐波成分比如齿轮箱的啮合频率及其倍频。我用了一个六阶巴特沃斯低通滤波器做抗混叠频谱仪上看高频毛刺全部消失了但解调后的包络波形畸变严重导致后续的轴承故障特征提取失败。后来我把滤波器换成相同阶数的贝塞尔低通包络形状明显改善。原因就是贝塞尔滤波器的群延迟更平坦谐波之间的相对相位关系保持得比巴特沃斯好得多。所以在关心波形形状的场景里阶数不但要考虑幅度衰减还要考虑群延迟一致性。5. 工程实战面对谐波问题该如何选择滤波器阶数5.1 用频谱分析确定谐波分布与目标衰减量真实项目里我从来不会一开始就定滤波器阶数。第一步永远是先把问题信号“看”清楚。用示波器自带的FFT或者频谱分析仪把包含基波和谐波的频谱拉出来记录每个谐波分量的频率和幅度。这时候你会面对两个重要信息有用信号的频带边界以及最麻烦的那个谐波的频率和幅度。举个例子假设你做一个电流采样环节基波频率50Hz信号带宽需要保住到1kHzPWM开关频率是20kHz并且20kHz处的谐波幅度很大大约只比基波低20dB。你的ADC是12位无杂散动态范围大约是74dB你希望经过模拟抗混叠滤波后20kHz谐波至少被压制到ADC量化噪声以下也就是说你对这个谐波的目标衰减量至少是54dB左右。那么问题就变成了在截止频率为1kHz的前提下20kHz处要获得至少54dB的衰减需要几阶按前面说的渐近公式算20kHz是截止频率的20倍log10(20)≈1.301要达到54dB需要20×1.301×n ≥ 54解出来n ≥ 2.07。这么看二阶就够了别急着高兴上面这个估算太乐观因为二阶滤波器在截止频率附近的实际曲线并没有这么快逼近渐近线。更稳妥的办法是查滤波器归一化设计表或者直接用一个在线滤波器设计工具来拟合。实测发现要在20倍截止频率处压到-60dB以上四阶是更可靠的选择——它的实际响应在20倍带宽处能到-80dB左右留足了裕量。5.2 模拟滤波器阶数的设计路径从二阶到四阶的层层递进模拟滤波器设计中我的日常经验是尽量不要试图一次做一个六阶以上的有源滤波器。原因很简单高阶意味着更多的运放、电阻和电容而且每一级的元件误差都会影响最终的极点位置。除非你用的是集成的开关电容滤波器芯片或者LCR无源电路否则高阶离散元件电路调试起来非常痛苦。一个更务实的路径是先用二阶节作为基本单元按照归一化极点分配表级联。比如四阶巴特沃斯就要拆成两个二阶节第一个二阶节的Q0.541第二个Q1.306。具体实现时可以用Sallen-Key拓扑或者多重反馈拓扑。Sallen-Key电路结构简单、增益容易设置但对元件容差敏感多重反馈拓扑对运放带宽要求高一些但Q值稳定性好。如果你问我怎么选我会建议在1kHz到100kHz的范围内Sallen-Key足够用而且调试方便。但要注意运放的增益带宽积至少要是截止频率的50倍以上否则实际滤波器响应会出现Q值虚高。另外一个对初学者不太友好但很关键的细节每一级的元件值不是随便配的要先选一个合适的C值然后根据截止频率和所需的Q值反算电阻值。我通常先固定C为10nF到100nF之间的电解电容或C0G电容再算R。如果算出来的R超过1MΩ就说明C选小了换个更大的C。5.3 数字滤波器的阶数选择IIR与FIR的不同思路在数字域中滤波器的阶数选择逻辑和模拟域有很大不同。IIR滤波器可以用很低的阶数通常4到8阶获得和模拟滤波器类似的衰减斜率代价是相位非线性FIR滤波器则需要很高的阶数才能达到同样的过渡带陡峭度但能实现完美的线性相位。很多人在数字信号处理里用FIR时会被阶数吓到。举个例子你要设计一个采样率48kHz、截止频率1kHz、过渡带200Hz、阻带衰减60dB的FIR低通滤波器用窗函数法估算阶数可能在150到200左右。这在定点DSP或FPGA里并不是什么大负担但在某些低成本的MCU上就会很吃力。所以工程上有一个常用的折中方案用IIR滤波器处理对相位不敏感的频谱分析场景用FIR处理对波形保真要求高的场景。关于IIR滤波器还有一个稳定性的提醒用双线性变换法把模拟原型转为数字滤波器时高频段的频率响应会被压缩如果你设计的数字滤波器截止频率接近奈奎斯特频率要特别小心预畸变补偿。我在一个音频项目里就吃过这个亏设计了截止频率18kHz的IIR低通结果输出在20kHz附近出现了一个诡异的隆起后来发现是双线性变换没有做频率预畸变真实截止频率偏得离谱。5.4 特殊场景滑动窗口滤波器的延迟陷阱与PLL环路滤波器除了传统低通滤波器工程里还有一种经常被当成“滤波器”用的算法——滑动窗口平均滤波器。它本质上是一个FIR滤波器所有抽头系数均为1/n。它在时域上对信号做平滑能在某些特定频率比如窗口频率的整数倍形成衰减零点。这个特性有时候非常有用比如你在采集一个50Hz的工频信号采样率是1kHz窗口长度为20个采样点那么50Hz的基波被保留而100Hz、150Hz这些谐波正好落在衰减零点上效果比普通低通还好。但是滑动窗口平均滤波器有一个非常隐蔽的陷阱群延迟固定为 (n-1)/2 个采样周期。如果你的窗口选得太大反馈到控制系统里的延迟也会相应增加很可能导致系统不稳定。雷达信号处理里的多普勒滤波器组、分布式阵列信号处理中的波束域滤波都深受这种延迟的困扰。很多做雷达信号处理的朋友在用滑动窗口做慢时间维积累时没有考虑到延迟对动目标检测的影响结果目标运动速度稍微快一点积累输出就差得离谱。所以任何“平均类”滤波器都要把延迟作为一等公民来考虑而不是只盯着幅度响应。PLL里的环路滤波器阶数也是一个经典话题。锁相环的环路滤波器通常用一阶或二阶但它面对的是相位误差信号而不是普通电压信号。环路滤波器的阶数直接影响PLL的捕获时间、锁定时间和对频率斜升信号的跟踪能力。如果你在PLL里盲目增加环路滤波器阶数虽然能更好地抑制带外杂散和谐波干扰但会引发环路稳定性的巨大风险。我在调一个射频本振源时尝试过三阶无源环路滤波结果锁相环在特定频偏的小信号下出现了类似“呼吸”的周期性失锁现象。后来换回标准二阶无源环路滤波把带宽参数重新整定问题才消失。6. 我踩过的坑滤波器阶数选错的那些真实案例6.1 盲目追求高阶滤波导致系统不稳定我做数字电源控制时曾经犯过一个很典型错误。为了把采样端的开关噪声压干净我在ADC前端加了一个八阶有源低通滤波器截止频率约10kHz。频域测试结果理想得令人满意谐波毛刺全都不见了。但当我接上控制环路之后系统开始持续振荡带宽只有原来的一半多一点。排查到最后问题出在八阶滤波器的相位滞后上。10kHz截止频率的八阶滤波器在1kHz处就已经有接近100度的相位滞后加上数字控制本身的计算延迟整个环路的相位裕度直接变成负值。后来我把滤波器降到二阶环路可以稳定工作虽然高频谐波残留多了些但通过软件中值滤波和多次采样平均把影响控制到了可接受范围。这次经历让我明白了一个规律滤波器不是你系统的“加分项”而是整个链路的一部分。它的相位响应、延迟和群延迟都会参与系统闭环不能只在开环状态下看它对谐波的衰减。6.2 陷波器Q值与元件容差的矛盾有一次做精密仪器需要滤掉50Hz工频及其谐波但保留47Hz到53Hz之外的所有信号。我一开始想的办法是用多个陷波器中心频率分别在50Hz、150Hz、250Hz。调试时发现50Hz陷波器效果不错但150Hz和250Hz陷波器因为元件容差导致中心频率偏移了大约2Hz结果不但没有衰减掉目标谐波反而把一个本不该受影响的有用频率分量削掉了一块。陷波器的Q值是个双刃剑Q值高陷波带宽窄对邻近频率的损伤小但对元件精度要求高Q值低陷波带宽宽容差不敏感可是会伤及附近的信号成分。实际设计时我后来改用数字陷波器加自适应滤波算法不再依赖模拟元件精度这个问题才算解决。这也说明面对多谐波场景模拟陷波器阵列的调试复杂度会随着谐波数量急剧上升远不如数字域里用几个双二阶节级联来得灵活。6.3 忽略运放本身的谐波畸变还有一个很容易被忽视的问题有源滤波器里的运放并不是理想的。运放的带宽、压摆率、输出电流能力都有限制。你把运放接成有源滤波器之后运放本身也可能成为谐波发生器。印象很深的一次我做了一个四阶有源低通滤波器截止频率设成200kHz用了一个增益带宽积只有1MHz的运放。结果测试发现即使输入一个干净的正弦波输出里也出现了明显的3次和5次谐波失真度高达1%以上。罪魁祸首就是运放带宽不足在闭环增益为1的配置下高频段环路增益太低开环失真无法被充分抑制。所以设计有源滤波器时运放的选型容不得马虎。简单的经验法则是运放的增益带宽积至少是滤波器截止频率的50到100倍压摆率也要足以支撑最大输出信号的变化率。否则你别指望它帮你滤除谐波它自己反而会“造”出谐波来。结尾的一点个人体会滤波器阶数和谐波这两个词放在一起看起来是理论问题实际上是一个非常工程化的问题。阶数决定了滤波器的“力度”谐波则决定了你要对什么频率“用力”。搞清楚了谐波的来源、频率位置和幅度再结合相位、延迟、稳定性和元件容差这些现实约束去选择阶数你就能避免“堆高阶滤波但系统趴窝”的悲剧。如果让我给一条最实用的忠告那就是设计滤波器之前永远先看频谱再看相频最后选阶数。仪器和仿真能给你答案但前提是你能问对问题。希望这篇关于滤波器阶数与谐波的理解能在你下一次面对波形毛刺时帮你省下几个小时。
返回列表