信号处理基础:采样定理、时域与频域表示、傅里叶变换简介及其在特征提取中的作用

在进入Edge Impulse的MFCC、频谱特征与时序窗口之前,我们必须先建立坚实的信号处理地基。传感器输出的原始数据(如加速度计的x/y/z轴数值、麦克风的电压波形)本质上是一串随时间变化的离散数值序列。如何从这串看似杂乱的数字中提取出有物理意义的“特征”,决定了后续机器学习模型的性能上限。本章将系统梳理采样定理的约束条件、时域与频域两种观察视角的差异,以及傅里叶变换如何成为连接两者的桥梁,并最终阐明这些基础概念在特征提取流水线中的具体落点。

时域表示 x[n] = 离散采样序列 横轴:时间/样本序号 纵轴:幅值(电压/数字量) 直观但难以分离叠加信号 频域表示 X(f) = 频谱分量 横轴:频率 (Hz) 纵轴:幅度/功率 清晰分离不同频率成分 采样定理 fs ≥ 2 × fmax 欠采样 → 混叠失真 抗混叠滤波器前置 决定可分析的最高频率 傅里叶变换 (FFT) 将时域信号分解为正弦波叠加 特征提取 MFCC / 频谱质心 / 带宽 / 能量 fs 不足 → 频谱混叠

核心原理:从连续世界到离散数字的必然约束

现实世界中的物理信号(声音、振动、温度)本质上是连续的模拟量。微控制器(MCU)中的ADC(模数转换器)只能以一定的时间间隔对信号进行采样,得到离散序列x[0], x[1], ..., x[N-1]。这一过程看似简单,却隐藏着第一个关键约束——采样定理(Nyquist-Shannon采样定理)。定理指出:为了能从离散样本中无失真地重建原始连续信号,采样频率fs必须至少为信号最高频率分量fmax的两倍,即fs ≥ 2fmax。这里的fmax被称为奈奎斯特频率,而fs/2则是系统能正确表示的最高频率。

为什么这个约束如此重要?如果采样率不足,高频成分会“伪装”成低频信号出现在频谱中,这种现象称为混叠(Aliasing)。例如,一个实际频率为7kHz的信号,若以8kHz采样,其频谱会错误地出现在1kHz处。在Edge Impulse的加速度计数据采集中,如果设备振动频率为500Hz,而采样率设为800Hz,那么频谱分析将完全失真。因此,在配置采样率之前,必须了解传感器信号的带宽范围,必要时在ADC前端加入低通抗混叠滤波器。

时域表示是最直观的观察方式:横轴为时间(或样本序号),纵轴为信号的瞬时幅值。它保留了信号的相位信息和时间顺序,适合观察波形形态、幅值变化、过零率等特征。然而,当多个频率成分叠加在一起时,时域波形会变得难以解读。频域表示则通过傅里叶变换将信号分解为不同频率的正弦波分量,横轴为频率,纵轴为该频率分量的幅度或功率。频域视角能清晰揭示信号的能量分布、主频位置和谐波结构,这正是MFCC和频谱特征提取的基础。

判断方法:如何确定采样率与FFT参数

在实际项目中,确定采样率需要遵循一套可操作的流程。首先,查阅传感器数据手册或通过示波器观察信号,估算其最高有效频率fmax。对于语音信号,通常取4kHz(电话带宽)或8kHz(宽带语音);对于加速度计的人体运动识别,有效频率通常在20Hz以内,但为了捕捉冲击峰值,常设为50-100Hz。其次,根据采样定理设定fs ≥ 2.5×fmax,留出10%-20%的工程裕量,以应对滤波器非理想滚降。最后,在Edge Impulse的采样配置界面中,将采样率设置为2的幂次(如16kHz、32kHz),便于后续FFT计算。

FFT(快速傅里叶变换)的参数选择同样关键。FFT点数N决定了频率分辨率Δf = fs/N。例如,fs=16kHz,N=512时,Δf=31.25Hz;N=2048时,Δf=7.8Hz。更高的频率分辨率能区分更接近的频率成分,但会降低时间分辨率(因为需要更长的采样窗口)。在特征提取中,通常采用短时傅里叶变换(STFT):将长信号切分为20-40ms的帧,帧间重叠50%,对每一帧加窗(如汉明窗)后做FFT。这样既能获得频率信息,又保留了时间动态特性。

参数 典型值 影响 注意事项
采样率 fs 16kHz(语音)/ 50Hz(运动) 决定最高分析频率 必须 ≥ 2×fmax,否则混叠
FFT点数 N 256 / 512 / 1024 频率分辨率 = fs/N N越大频率越精细,但时间窗变长
帧长 20-40ms 时间分辨率与频率分辨率的折中 语音常用25ms,运动信号可更长
帧移 帧长的50% 相邻帧重叠程度 减少信息丢失,但增加计算量
窗函数 汉明窗 / 汉宁窗 抑制频谱泄漏 矩形窗旁瓣高,不推荐

案例拆解:振动信号的特征提取前处理

假设我们要构建一个工业电机故障诊断系统,使用加速度计采集振动信号。电机正常运行时基频为50Hz,但故障时会产生2倍频(100Hz)、3倍频(150Hz)以及高频共振成分(约2kHz)。初始配置时,工程师将采样率设为4kHz,FFT点数设为1024,帧长256ms。采集到的时域波形看似杂乱,但经过FFT后,频谱中清晰出现了50Hz、100Hz、150Hz的谱峰,以及2kHz附近的宽带共振峰。

然而,在后续测试中发现,当电机转速升高至3000rpm(基频50Hz)时,频谱中出现了异常的25Hz分量。经过排查,发现这是采样率不足导致的混叠:实际存在一个3.975kHz的高频噪声,与4kHz采样率混叠后映射到25Hz。解决方案是在ADC前端增加一个截止频率为1.8kHz的低通滤波器,并将采样率提升至8kHz。修改后,频谱中的虚假分量消失,故障特征(如轴承磨损产生的2kHz共振峰幅度变化)变得稳定可重复。

这个案例揭示了信号处理基础在特征提取中的实际价值:错误的采样配置会直接污染特征数据,即使后续使用再先进的机器学习模型也无法弥补。在Edge Impulse中,我们可以通过“Raw Data”页面直接观察时域波形,通过“Spectrum”选项卡查看FFT结果,从而快速验证采样设置是否合理。

常见误区与总结复盘

误区一:采样率越高越好。虽然高采样率能捕捉更多高频信息,但会显著增加数据量、功耗和计算负担。对于电池供电的嵌入式设备,过高的采样率可能导致内存溢出或电池快速耗尽。正确做法是根据信号带宽和任务需求选择“够用”的采样率。
误区二:忽略抗混叠滤波器。许多MCU内置ADC没有硬件抗混叠功能,如果信号中存在高于fs/2的频率成分,必须外接RC低通滤波器或使用数字滤波。否则,混叠成分会“污染”整个频谱,且无法通过后处理去除。
经验要点:在Edge Impulse中,建议先使用“Impulse Design”页面的“Spectral Analysis”模块快速预览不同FFT参数下的频谱图。观察特征频率是否清晰、是否存在混叠。如果频谱在奈奎斯特频率附近出现异常隆起,应优先检查采样率和抗混叠措施。

傅里叶变换在特征提取中的作用不仅限于可视化。它提供了三个核心特征类别:频谱能量(各频段的能量分布)、频谱形状(质心、带宽、滚降率)和谐波结构(基频与倍频关系)。MFCC正是基于梅尔刻度对频谱进行非线性压缩,模拟人耳对频率的感知特性,从而获得更紧凑、更具判别力的特征向量。理解时域与频域的转换关系,是掌握这些高级特征的前提。