信号与系统(10)- 从频谱图看周期信号的时频关联
1. 频谱图周期信号的身份证第一次接触频谱图时我把它想象成音乐的成分表。就像包装食品的营养标签会标明蛋白质、碳水化合物的含量一样频谱图清晰地展示了一个周期信号由哪些频率成分组成以及每种成分的含量有多少。实测案例用手机APP测吉他弦的振动频率时屏幕上跳动的柱状图就是最直观的频谱图。当弹奏A音440Hz时你会看到440Hz处有显著峰值同时880Hz、1320Hz等位置也有较小峰值——这些就是泛音。1.1 振幅频谱信号的能量分布图振幅频谱的横轴是频率纵轴对应幅度。以周期方波为例# 绘制周期方波的振幅频谱前5次谐波 import matplotlib.pyplot as plt import numpy as np harmonics [1, 3, 5] # 奇次谐波 amplitudes [4/np.pi, 4/(3*np.pi), 4/(5*np.pi)] # 对应幅度 plt.stem(harmonics, amplitudes, use_line_collectionTrue) plt.xlabel(频率 (nΩ)) plt.ylabel(幅度) plt.title(周期方波的单边振幅频谱) plt.grid(True) plt.show()这段代码生成的图像会显示随着谐波次数增加幅度呈1/n衰减。这就是为什么方波听起来比正弦波更尖锐——高频成分赋予了它丰富的音色特征。1.2 相位频谱信号的时间密码相位频谱往往被初学者忽视但它决定了各频率分量在时间轴上的对齐方式。比如两个振幅相同的正弦波若相位差0°叠加后振幅翻倍若相位差180°则完全抵消生活类比就像合唱团如果所有人同时发声相位一致声音最洪亮如果有人抢拍或拖拍相位混乱整体效果就会打折扣。2. 从时域到频域的魔法转换2.1 傅里叶级数的两种语言实数形式f(t) a₀/2 Σ[ Aₙcos(nΩt φₙ) ]复数形式f(t) Σ[ Cₙ·e^(jnΩt) ]关键区别实数形式物理意义直观适合手工计算复数形式数学处理简洁适合计算机运算2.2 周期方波的频谱分解通过积分计算系数时我常犯的错误是忽略对称性。实际上偶函数如cos的bn0奇函数如sin的an0对于周期为T、幅度A的方波Cₙ (Aτ/T)·Sa(nΩτ/2)其中Sa(x)sin(x)/x是抽样函数。这个公式揭示了时域脉宽τ与频域包络的关系。3. 时域参数如何塑造频域特征3.1 周期T的影响频谱密度之谜保持脉宽τ不变增大周期T时谱线间隔Δf1/T减小 → 频谱更密集幅值Aτ/T减小 → 整体幅度下降包络形状不变 → 收敛速度相同工程启示想要高频率分辨率增加信号观测时间3.2 脉宽τ的影响能量扩散现象保持周期T不变减小脉宽τ时第一个过零点频率1/τ增大 → 高频分量增加谱线间隔不变 → 结构保持稳定幅值降低但分布更广 → 能量向高频扩散实测对比宽脉冲τT/2能量集中在低频窄脉冲τT/10频谱延伸到高频4. 频域分析的三大核心规律4.1 时频对偶性压缩与展宽时域压缩⇨频域展宽这一规律在信号处理中无处不在。例如快速敲击桌子短时冲击产生宽频声音缓慢摆动手指长时间变化只会产生低频波动数学表现为f(at) ⇨ (1/|a|)F(ω/a)4.2 负频率的物理意义复数表示中出现的负频率常让人困惑。实际上对实数信号负频率与正频率共轭对称物理意义表示旋转方向e^(jωt)逆时针e^(-jωt)顺时针类比理解就像同时记录顺时针和逆时针旋转的陀螺才能完整描述其运动。4.3 吉布斯现象截断的代价用有限项傅里叶级数逼近间断点时会出现9%的过冲。这就像用乐高积木拼圆形——无论积木多小边缘始终有锯齿。工程处理加窗函数平滑截断效应增加谐波数量减小起伏5. 从理论到实践频谱分析应用5.1 信号滤波设计通过频谱图可以直观设计滤波器低通滤波保留|ω|ωc的成分带通滤波选择ω₁|ω|ω₂的范围Python示例# 设计简单RC低通滤波器 def lowpass_filter(signal, cutoff, fs): nyquist 0.5 * fs normal_cutoff cutoff / nyquist b, a signal.butter(4, normal_cutoff, btypelow) return signal.filtfilt(b, a, signal)5.2 故障诊断中的频域分析轴承故障特征频率往往出现在特定高频段。通过对比正常与异常信号的频谱可以快速定位问题采集振动信号计算FFT频谱检查特征频率幅值异常实测技巧配合包络分析更能突出高频共振带的故障信息。