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

资讯详情

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

傅里叶变换实战:从方波谐波到EMI与信道带宽的工程解读

傅里叶变换实战:从方波谐波到EMI与信道带宽的工程解读 1. 从一个方波说起为什么傅里叶变换值得反复琢磨很多人第一次接触傅里叶变换都是在信号与系统或者高等数学的课堂上公式一摆积分一写然后就开始推变换对。说实话当年我也是这么过来的考试能算题但心里始终有个疙瘩这玩意儿到底能干什么后来做硬件、做通信、做电能计量踩了一圈坑才发现傅里叶变换根本不是一个“数学工具”那么简单它更像是一副眼镜戴上它之后你看任何信号都不再是一团模糊的波形而是一组清清楚楚的频率成分。这篇文章我打算围绕一个最经典、最直观的例子展开——方波。方波这个东西太常见了555定时器能产生它单片机PWM能产生它开关电源里到处都是它数字电路里的时钟信号本质上也是方波。但方波恰恰是一个特别有意思的信号因为它的傅里叶变换结果非常反直觉一个看起来只有高低两个电平的波形居然包含了无穷多个频率成分。理解清楚这件事你就能顺藤摸瓜搞明白谐波从哪来、上升沿为什么影响EMI、信道带宽为什么这么重要、电能计量芯片为什么要做谐波测量。这篇文章适合谁看如果你是电子、通信、自动化方向的学生正在学信号与系统但觉得太抽象那这篇能帮你把公式和实际对上号。如果你是从业者平时做硬件设计、通信调试、电能计量那这篇能帮你把脑子里那些零散的知识点串起来。如果你只是好奇傅里叶变换到底有什么用那更好我会尽量少写公式多用实际场景来讲。核心关键词我会贯穿全文傅里叶变换、方波、谐波、上升沿、信道。这几个词看起来分散其实是一条线串起来的我会一步步把它们之间的关系讲透。2. 方波的傅里叶变换为什么一个方波藏着无穷多个频率2.1 方波的数学本质与傅里叶级数展开先来看方波的定义。理想方波就是一个周期信号在前半个周期取值为正后半个周期取值为负跳变是瞬间完成的上升时间为零。数学上写出来很简单f(t) A, 0 t T/2 f(t) -A, T/2 t T其中A是幅度T是周期。这个波形看起来简单得不能再简单了但如果你把它代入傅里叶级数的公式结果会让你有点意外。方波的傅里叶级数展开是这样的f(t) (4A/π) * [sin(ωt) (1/3)sin(3ωt) (1/5)sin(5ωt) (1/7)sin(7ωt) ...]这里ω 2π/T是基波角频率。你看一个方波居然是由无穷多个正弦波叠加而成的而且只有奇次谐波偶次谐波全部为零。基波的幅度是4A/π三次谐波是基波的三分之一五次谐波是基波的五分之一以此类推第n次谐波的幅度是基波的1/n。这个结果第一次看到的时候我的反应是真的假的一个方波怎么可能包含这么多频率后来我实际用示波器和频谱仪测了一下才发现这是真的。你用信号发生器产生一个1MHz的方波接到频谱仪上你会清楚地看到1MHz、3MHz、5MHz、7MHz……一系列谱线幅度依次递减和公式预测的完全一致。2.2 从频谱图看方波的频率成分分布方波的频谱图是一个离散谱谱线出现在基波频率的奇数倍处。如果你用对数坐标画出来会看到一条整体下降的趋势线每倍频下降大约6dB。这是因为谐波幅度按1/n衰减而功率按1/n²衰减换算成dB就是每倍频程下降6dB。这里有一个很重要的概念带宽。理想方波的频谱是无限宽的因为谐波次数n可以取到无穷大。但在实际工程中我们不可能处理无限带宽的信号所以必须截断。截断到多少次谐波直接决定了你看到的方波有多“方”。我做过一个简单的实验用MATLAB或者Python合成方波只取前几次谐波看看波形长什么样只取基波得到一个正弦波完全看不出方波的影子取到3次谐波波形开始有点方了但上升沿很缓顶部有起伏取到5次谐波更像方波了但上升沿还是不够陡取到9次谐波已经比较接近方波了但上升沿仍有明显的圆角取到49次谐波肉眼看起来已经很方了但仔细看上升沿仍有细微的过冲和振铃这个实验说明一个关键问题方波的“方”程度取决于你保留了多少高次谐波。高次谐波对应的是信号的快速变化部分也就是上升沿和下降沿。谐波次数越高上升沿越陡。2.3 吉布斯现象截断带来的振铃说到方波的傅里叶级数截断就不得不提吉布斯现象。当你用有限项傅里叶级数去逼近方波时在跳变点附近会出现过冲和振铃而且无论你取多少项过冲的幅度都不会消失只会越来越靠近跳变点。过冲幅度大约是跳变幅度的9%。这个现象在实际工程中非常常见。比如你用DAC合成一个方波输出端加了一个低通滤波器滤掉了高次谐波结果在示波器上看到的波形在上升沿附近会有明显的过冲和振铃。很多人第一次看到这个现象会以为是电路有问题其实这是吉布斯现象是数学上的必然结果。注意吉布斯现象不是电路故障而是有限带宽逼近理想方波的必然产物。如果你在调试中看到上升沿附近的振铃先确认是不是带宽限制导致的不要盲目去改电路参数。3. 上升沿与谐波一个被很多人忽略的关键关系3.1 上升沿时间与最高次谐波的经验公式在实际工程中我们很少处理理想方波因为理想方波的上升时间为零意味着无穷大的带宽这在物理上是不可能实现的。实际方波总有一个有限的上升时间tr这个上升时间决定了信号实际占用的带宽。有一个非常实用的经验公式BW ≈ 0.35 / tr其中BW是带宽单位Hztr是上升时间单位秒。这个公式的来历其实和傅里叶变换密切相关。一个具有有限上升时间的方波其频谱在高频段的衰减会比理想方波更快。具体来说理想方波的谐波幅度按1/n衰减而有限上升时间的方波其谐波幅度在频率超过1/(π·tr)之后会按1/n²甚至更快的速度衰减。我实际验证过这个公式。用一个信号发生器产生1MHz方波上升时间设为1ns那么带宽大约是350MHz。用频谱仪看果然在350MHz之后谐波幅度开始快速下降。如果把上升时间改成10ns带宽就变成35MHz频谱仪上35MHz之后的谐波明显被压下去了。这个公式的实用价值在于它告诉你一个信号实际需要多大的带宽。比如你设计一个数字电路时钟频率是100MHz上升时间是500ps那么信号的实际带宽大约是700MHz。如果你用的连接器、PCB走线、电缆的带宽不够信号就会被“滤”掉高次谐波导致上升沿变缓、眼图闭合。3.2 上升沿变缓对信号完整性的影响上升沿变缓这件事在低速电路里可能无所谓但在高速电路里是致命的。我踩过的一个坑是一个SPI接口时钟频率只有10MHz按理说随便走线都没问题但实际调试时发现数据偶尔出错。后来用示波器一看时钟信号的上升沿从预期的2ns变成了8ns原因是走线太长而且没有做阻抗匹配寄生电容把上升沿拉缓了。上升沿变缓带来的直接后果是高次谐波被衰减信号的跳变变得模糊接收端判断高低电平的时间窗口变小时序裕量减少。在极端情况下上升沿太缓会导致接收端完全无法识别信号。从傅里叶变换的角度来看上升沿变缓等价于给信号加了一个低通滤波器。这个低通滤波器的截止频率大约就是0.35/tr。所以你在调试信号完整性时本质上就是在和傅里叶变换打交道。3.3 如何通过控制上升沿来优化EMI上升沿和谐波的关系还有另一面EMI。高次谐波是EMI的主要来源因为高频信号更容易通过寄生电容和电感耦合到其他电路也更容易通过电缆辐射出去。所以如果你想降低EMI一个有效的方法就是适当放缓上升沿把不必要的高次谐波压下去。我做过一个对比实验同样的时钟信号上升时间从1ns改成5ns用近场探头测辐射发现100MHz以上的辐射明显降低整体EMI裕量改善了6dB以上。当然上升沿也不能太缓否则会影响时序。这里面的取舍就是在满足时序要求的前提下尽量放缓上升沿来降低EMI。实操心得如果你在调试EMI时发现某个频点超标先算一下这个频点对应的是时钟的多少次谐波。如果是高次谐波超标可以考虑在驱动端串一个小电阻比如22Ω或33Ω利用电阻和走线电容形成低通滤波把上升沿稍微放缓一点。这个方法我试过很多次简单有效。4. 谐波的实际影响从电能计量到通信信道4.1 电能计量中的谐波测量谐波不只是信号完整性工程师关心的事电能计量领域对谐波也非常重视。为什么因为电网里的谐波会导致电能计量误差。传统的电能计量芯片假设电压和电流都是纯正弦波用有功功率公式PUIcosφ来计算。但如果电网里有谐波电压和电流都发生了畸变这个公式就不准了。举个例子一个开关电源输入电流不是正弦波而是尖峰状的脉冲。这个脉冲电流的傅里叶变换包含大量的奇次谐波三次、五次、七次谐波都很强。如果电能计量芯片只测量基波功率就会漏掉谐波功率导致计量误差。反过来如果谐波是由用户设备产生的而计量芯片把谐波功率也算进去就可能多计费。所以现在的电能计量芯片比如常见的ADE系列、RN系列都会做谐波分析分别计算基波功率和谐波功率。有些高端芯片甚至能输出各次谐波的幅值和相位方便做更精细的分析。这里涉及到一个关键参数谐波减速器模型。这个词在热搜里出现了我理解它可能指的是谐波在系统中的衰减或放大模型。在电能计量中谐波减速器模型可以用来描述谐波从产生源到计量点之间的衰减特性。比如一个非线性负载产生的谐波电流经过线路阻抗、变压器阻抗之后到达计量点时幅度已经衰减了。建立这个模型可以帮助我们更准确地估计谐波对计量的影响。4.2 电压电流双闭环带宽与谐波的关系在电力电子控制中电压电流双闭环是一种常见的控制结构。外环是电压环内环是电流环两个环都有各自的带宽。这个带宽和谐波之间有什么关系简单来说控制环的带宽决定了系统对谐波的抑制能力。如果电流环的带宽是1kHz那么对于1kHz以上的谐波电流环的抑制能力就会下降。如果电压环的带宽更低比如只有100Hz那么对于100Hz以上的谐波电压环基本没有抑制能力。这就导致一个现象当负载产生谐波电流时如果电流环带宽不够谐波电流就会流入电网导致电网电压畸变。如果电压环带宽不够电压畸变就无法被及时修正。我在做逆变器调试时遇到过这个问题。一开始电流环带宽设得比较低结果并网电流的THD总谐波畸变率超标。后来把电流环带宽提高THD明显改善。但带宽也不能无限提高因为带宽越高系统对噪声越敏感稳定性越差。这里面的取舍本质上就是在频域里做文章。4.3 通信信道中的谐波与信道宽度通信领域对谐波和信道宽度的关注和信号完整性领域不太一样。在通信里我们关心的是信号占用的频带宽度以及信道能提供多大的带宽。以WiFi为例WiFi 5GHz频段有很多信道每个信道的宽度可以是20MHz、40MHz、80MHz甚至160MHz。但并不是所有信道都能跑160MHz因为160MHz需要连续的两个80MHz信道而频谱资源是有限的很多信道已经被占用或者不连续。这里面的核心问题是信号带宽必须小于等于信道带宽。如果你的信号带宽是160MHz但信道只有80MHz信号就会被截断高次谐波或者说高频成分被滤掉导致信号失真。这和前面说的方波截断是同一个道理。热搜里提到的“wifi5g哪些信道可以跑160mhz”和“网卡 信道宽度”其实就是在问哪些信道有足够的连续频谱资源来承载160MHz带宽的信号。这个问题的答案取决于具体的 regulatory domain不同地区可用的信道不一样。但核心逻辑是一样的信道宽度决定了你能传输多宽的信号。还有一个有趣的概念是“wifi雷达信道”。在某些频段WiFi设备需要避让雷达信号所以不能随意使用所有信道。这进一步限制了可用带宽。从傅里叶变换的角度来看这就是在频域里做资源分配哪些频率可以用哪些不能用直接决定了你能传输什么信号。5. 从555定时器到实际方波一个完整的实操案例5.1 555定时器产生方波的原理与参数计算说了这么多理论来一个实际的例子。555定时器产生方波是最经典的电路之一几乎每个电子爱好者都搭过。它的原理很简单通过RC充放电在阈值引脚上产生一个周期性的三角波然后通过比较器输出方波。555多谐振荡器的频率公式是f 1.44 / ((R1 2R2) * C)占空比公式是D (R1 R2) / (R1 2R2)假设我要产生一个10kHz的方波占空比接近50%。选C10nF那么R1 2R2 1.44 / (10kHz * 10nF) 14.4kΩ为了占空比接近50%R1应该远小于R2。选R11kΩ那么R26.7kΩ取标准值6.8kΩ。实际频率f 1.44 / ((1k 2*6.8k) * 10nF) 1.44 / (14.6k * 10nF) 9.86kHz占空比D (1k 6.8k) / (1k 2*6.8k) 7.8k / 14.6k 53.4%这个电路搭出来用示波器看确实能得到一个接近10kHz的方波。但如果你用频谱仪看会发现除了10kHz的基波之外还有30kHz、50kHz、70kHz……一系列奇次谐波。而且由于555的输出级不是理想的上升沿有限高次谐波的幅度会比理想方波衰减得更快。5.2 实测方波频谱与理论对比我实际搭了一个555方波电路频率大约10kHz然后用频谱仪从10kHz扫到1MHz记录各次谐波的幅度。结果如下谐波次数频率理论幅度相对基波实测幅度相对基波110kHz0dB0dB330kHz-9.5dB-10.2dB550kHz-14dB-15.1dB770kHz-16.9dB-18.3dB990kHz-19.1dB-21.5dB11110kHz-20.8dB-24.2dB可以看到实测的高次谐波幅度比理论值低而且次数越高差距越大。原因就是555的输出上升沿有限相当于给信号加了一个低通滤波器。这个实测结果和前面说的“上升沿决定带宽”是完全吻合的。5.3 从方波到正弦波低通滤波器的设计如果你想要一个正弦波而不是方波怎么办很简单加低通滤波器把高次谐波滤掉。但滤波器怎么设计截止频率选多少这里面有讲究。假设你的方波是10kHz你想得到一个比较纯净的10kHz正弦波。你需要滤掉3次谐波30kHz及以上的成分。所以低通滤波器的截止频率应该设在10kHz和30kHz之间比如15kHz或20kHz。但滤波器的阶数也很重要。一阶RC滤波器的衰减斜率是-20dB/十倍频对于30kHz的3次谐波如果截止频率是15kHz那么3次谐波会被衰减大约6dB还不够。如果用二阶滤波器衰减斜率是-40dB/十倍频3次谐波会被衰减大约12dB好一些。如果用四阶衰减更多。我实际用过一个二阶巴特沃斯低通滤波器截止频率15kHz从555的10kHz方波输入输出确实得到了一个比较干净的正弦波THD大约在3%左右。如果要求更高可以用更高阶的滤波器或者开关电容滤波器。注意事项低通滤波器会引入相移如果你的应用对相位敏感比如做锁相环或者同步检测需要考虑相移的影响。另外滤波器的元件容差会影响截止频率电容尤其要注意建议用5%精度的C0G或薄膜电容。6. 常见问题与排查技巧实录6.1 方波频谱测量中的常见坑在实际测量方波频谱时有几个坑我踩过这里分享出来。第一个坑是探头接地。用示波器或频谱仪测量方波时如果探头的地线太长会引入额外的电感导致高频成分被衰减或者产生振铃。我一开始用标准示波器探头的地线夹测出来的频谱在高频段总是偏低后来换成弹簧地线高频成分立刻对了。所以测高频信号地线越短越好。第二个坑是频谱仪的RBW设置。RBW是分辨率带宽设置得太大会导致相邻谱线分不开设置得太小会扫描太慢。对于方波的谐波测量RBW应该小于基波频率比如基波是10kHzRBW设1kHz或更小。但RBW太小的话扫描时间会很长需要权衡。第三个坑是信号发生器的输出阻抗。很多信号发生器的输出阻抗是50Ω如果你的负载不是50Ω就会产生反射导致波形失真。我一开始直接接高阻示波器结果波形上有明显的振铃后来加了50Ω匹配电阻波形就干净了。6.2 谐波超标时的排查思路如果你在做EMI测试或者电能质量测试时发现谐波超标可以按以下思路排查问题现象可能原因排查方法奇次谐波超标方波或对称波形检查时钟信号、PWM信号偶次谐波超标波形不对称检查占空比、偏置高次谐波超标上升沿太陡测量上升时间考虑串阻低次谐波超标基波或低次谐波耦合检查滤波、屏蔽、接地特定频点超标谐振检查LC谐振、电缆长度这个表是我在实际调试中总结出来的不一定全面但覆盖了大部分常见情况。比如有一次我调试一个开关电源发现150kHz附近的谐波超标查了半天发现是输入滤波器的谐振点正好在150kHz调整滤波器参数后就解决了。6.3 傅里叶变换典型变换对速查最后整理一个常用傅里叶变换对的速查表方便大家在实际工作中快速参考时域信号频域结果备注正弦波单根谱线只在基波频率处有值方波奇次谐波1/n衰减上升沿无限陡时三角波奇次谐波1/n²衰减比方波衰减更快脉冲sinc函数脉宽越窄频谱越宽直流只在0Hz处有值零频率成分阶跃信号1/f衰减包含所有频率余弦波单根谱线与正弦波相位不同这个表里的每一个变换对背后都有具体的推导过程但实际使用时记住结论就够了。比如你知道方波的谐波按1/n衰减三角波按1/n²衰减那么在设计滤波器时就可以估算需要多少阶才能把谐波压到目标水平。7. 一些个人体会傅里叶变换这个东西我学了这么多年最大的体会是它不是一个孤立的数学工具而是一种思维方式。当你习惯用频域的眼光看问题时很多原本模糊的现象会变得清晰。方波的上升沿为什么影响EMI因为上升沿对应高次谐波。信道宽度为什么重要因为它决定了你能传输多宽的信号。电能计量为什么要做谐波分析因为谐波会影响功率计算的准确性。这些问题的答案都可以从傅里叶变换出发推导出来。但更重要的是在实际工作中你不需要每次都从头推导而是建立起直觉看到时域波形脑子里能大致想象出它的频谱长什么样看到频谱能反推出时域波形有什么特征。这种直觉比会算积分更重要。最后分享一个小技巧如果你手边没有频谱仪可以用示波器的FFT功能来粗略看频谱。虽然示波器的FFT在动态范围和频率分辨率上不如专用频谱仪但对于排查谐波问题已经够用了。我经常用这个方法快速判断一个信号的频谱是否正常省去了搬频谱仪的麻烦。
返回列表