1. 从时域到频域:PWM波形背后的数学本质
在嵌入式系统开发中,PWM(脉宽调制)是最基础也最强大的控制手段之一。我第一次在电机控制项目中使用PWM时,曾困惑于为什么简单的方波信号能实现如此精确的速度调节。直到深入理解时域与频域的转换关系,才真正看透PWM工作的底层逻辑。
PWM在时域上表现为周期固定、占空比可调的方波信号。以常见的5V系统为例,一个50%占空比的PWM波在时域呈现为2.5ms高电平+2.5ms低电平交替出现(假设周期5ms)。这种直观的波形很容易用示波器观测,但仅停留在时域观察,我们无法理解为什么这样的波形能实现模拟电压输出、电机调速等复杂控制。
1.1 傅里叶级数:时域与频域的桥梁
法国数学家傅里叶在19世纪提出的傅里叶级数理论,揭示了任何周期信号都可以分解为一系列正弦波的叠加。对于占空比为D、幅值为A、周期为T的PWM波,其傅里叶级数展开为:
code复制f(t) = A·D + Σ(2A/nπ)·sin(nπD)·cos(2πnft)
这个公式中:
- 第一项A·D是直流分量,其值等于占空比与幅值的乘积
- 求和部分代表各次谐波分量,n为谐波次数
- 每个谐波分量的幅度由(2A/nπ)·sin(nπD)决定
通过这个分解,我们可以清晰地看到:
- 直流分量与占空比D成正比——这正是PWM实现模拟输出的核心
- 谐波分量随着频率升高而衰减(n在分母)
- 特定占空比下某些谐波会消失(当sin(nπD)=0时)
1.2 PWM的频域特征分析
以一个具体实例说明:假设PWM频率为1kHz(T=1ms),幅值5V,占空比30%。通过傅里叶分析,我们得到:
- 直流分量:5V×0.3=1.5V
- 基波(1kHz):幅值≈0.96V
- 二次谐波(2kHz):幅值≈0.48V
- 三次谐波(3kHz):幅值≈0.32V
- ...
在实际应用中,我们通常只关心直流分量,因为它代表了"有效电压"。高频谐波虽然存在,但可以通过低通滤波器去除。这就是为什么PWM能等效为模拟信号——我们通过控制占空比来调节直流分量,而高频成分可以通过物理系统(如电机的惯性)自然滤波。
提示:在STM32等MCU中,PWM频率的选择需要考虑系统响应速度与谐波干扰的平衡。频率太低会导致滤波困难,太高会增加开关损耗。
