2、传感器基础:常见传感器类型(加速度计、陀螺仪、磁力计、麦克风等)的工作原理与输出特性
TinyML 的起点不是模型,而是传感器。传感器将物理世界的连续模拟量(加速度、角速度、磁场强度、声压等)转换为电信号,再经模数转换(ADC)成为数字时间序列。理解每种传感器的物理机制、输出格式、噪声特性和采样约束,是后续进行信号预处理、特征工程和模型部署的前提。本章聚焦四种在端侧 AI 中最常用的传感器:加速度计、陀螺仪、磁力计和麦克风,并简要对比其与温度、压力等慢变传感器的差异。
2.1 加速度计:测量比力与静态姿态
加速度计的核心原理基于 MEMS(微机电系统)中的质量块-弹簧-阻尼结构。当传感器发生加速度变化时,质量块因惯性产生位移,改变差分电容的间距,从而引起电容值变化。通过 ASIC 将电容变化转换为电压信号,再经 ADC 输出数字量。值得注意的是,加速度计测量的是"比力"(specific force),即物体受到的惯性力与重力之和,因此静止时输出为 1g(约 9.8 m/s²)的竖直分量。
核心原理与输出特性
现代加速度计通常提供 3 轴输出(X/Y/Z),量程可选 ±2g、±4g、±8g、±16g。量程越小,分辨率越高。以 16-bit ADC 为例,±2g 量程下 LSB 对应约 0.061mg,而 ±16g 量程下 LSB 对应约 0.488mg。输出数据率(ODR)从 1Hz 到 1000Hz 可配置,功耗随 ODR 线性增长。加速度计的关键参数包括:零偏(bias)稳定性、噪声密度(μg/√Hz)、灵敏度温漂和交叉轴灵敏度。
判断方法与操作流程
- 量程选择:日常活动识别选 ±2g~±4g;剧烈运动或车辆检测选 ±8g~±16g。
- 采样率设定:人体活动频率通常低于 20Hz,采样率 50Hz 即可;振动分析需 500Hz 以上。
- 校准:六面静态校准法——将设备分别朝上、朝下、左、右、前、后放置,记录各轴输出,计算零偏和尺度因子。
- 滤波:低通截止频率设为采样率的 1/4~1/2,去除高频噪声。
案例拆解:基于加速度计的跌倒检测
某智能手环项目需检测老年人跌倒。初始方案直接使用 SVM 分类原始 3 轴数据,准确率仅 72%。分析发现,跌倒过程包含三个典型阶段:失重(约 200ms)、撞击(约 50ms)、静止(约 1s)。改进方案:提取 2s 窗口内的特征——合加速度峰值、失重持续时间、撞击后静止时长、姿态变化角度。使用随机森林分类器,准确率提升至 94%。关键教训:原始数据直接输入模型并非最优,结合物理先验的特征工程能显著提升性能。
2.2 陀螺仪:角速度测量与姿态积分
陀螺仪基于科里奥利效应。MEMS 陀螺仪内部有一个质量块在驱动轴方向做高频振动,当传感器绕敏感轴旋转时,质量块受到科里奥利力作用,在检测轴方向产生位移,该位移与角速度成正比。通过电容检测和闭环控制,输出数字角速度值。陀螺仪测量的是角速度(dps),而非角度,角度需通过积分获得。
核心原理与输出特性
陀螺仪同样提供 3 轴输出,量程从 ±125dps 到 ±2000dps。16-bit ADC 下,±250dps 量程的分辨率约为 0.0076dps/LSB。关键参数包括:零偏稳定性(bias stability,通常 3~10dps)、角度随机游走(ARW,°/√h)、带宽(通常 100~400Hz)和 g 灵敏度(振动引起的误差)。陀螺仪对温度敏感,零偏随温度漂移可达 ±20dps。
| 参数 | 加速度计 | 陀螺仪 | 磁力计 | 麦克风 |
|---|---|---|---|---|
| 物理量 | 比力 (m/s²) | 角速度 (dps) | 磁场强度 (μT) | 声压 (Pa) |
| 典型量程 | ±2g~±16g | ±125~±2000dps | ±49 gauss | 94dB SPL |
| 输出轴数 | 3 | 3 | 3 | 1 (单声道) |
| 采样率范围 | 1~1000Hz | 1~1000Hz | 1~100Hz | 8k~48kHz |
| 接口 | I²C/SPI | I²C/SPI | I²C/SPI | PDM/I²S |
| 主要噪声源 | 热噪声、振动 | 零偏漂移、ARW | 硬铁/软铁干扰 | 环境噪声、电路噪声 |
| 典型功耗 | 0.5~2mA | 1~5mA | 0.1~1mA | 0.5~2mA |
判断方法与操作流程
- 零偏校准:静止放置 10 秒,取平均作为零偏值,后续输出减去该值。
- 积分漂移控制:纯积分姿态在 10 秒内漂移可达 5~10°,需结合加速度计进行互补滤波或卡尔曼滤波。
- 带宽设置:根据应用选择低通滤波截止频率,避免高频振动耦合。
2.3 磁力计:地磁测量与航向角
磁力计用于测量环境磁场强度,常见原理包括各向异性磁阻(AMR)、巨磁阻(GMR)和霍尔效应。AMR 磁力计内部有坡莫合金薄膜,其电阻随外部磁场方向变化,通过惠斯通电桥输出差分电压。磁力计输出 3 轴磁场分量,可用于计算航向角(方位角),但极易受环境中的铁磁性物质干扰。
核心原理与输出特性
典型磁力计量程为 ±49 gauss(1 gauss = 100μT),地磁场强度约 0.25~0.65 gauss。14-bit ADC 下分辨率约 0.15mG。磁力计的主要误差源包括:硬铁干扰(固定磁场偏移,如扬声器磁铁)、软铁干扰(磁场扭曲,如 PCB 走线)、以及标度因子误差。校准方法通常采用"8字"旋转法,采集空间各方向数据,拟合椭球模型。
案例拆解:室内定位中的磁力计校准
某室内导航项目使用磁力计计算行人航向。初始测试中,航向角误差高达 15°,导致定位漂移严重。分析发现,手机内部扬声器和马达产生硬铁干扰,偏移量约 200mG。采用椭球拟合校准后,误差降至 2°以内。校准流程:① 旋转设备采集 500 个样本;② 最小二乘拟合椭球参数;③ 计算偏移量和尺度因子;④ 应用校正矩阵。注意:校准后需验证不同方向的误差,避免过拟合。
2.4 麦克风:声学感知与音频特征
MEMS 麦克风是 TinyML 音频应用的核心传感器。其工作原理是:声波引起振膜振动,振膜与背板构成可变电容,电容变化经 ASIC 转换为电信号。数字麦克风通常输出 PDM(脉冲密度调制)或 I²S 格式信号。PDM 是 1-bit 高采样率流(典型 1~3MHz),需经抽取滤波转换为 PCM 数据。
核心原理与输出特性
麦克风的关键参数包括:信噪比(SNR,通常 60~70dB)、灵敏度(-26~-35dBFS)、频率响应(20Hz~20kHz)和声学过载点(AOP,通常 120dB SPL)。在 TinyML 中,音频通常以 16kHz 采样率、16-bit 量化,每帧 20~30ms(320~480 样本)。特征提取常用 MFCC(梅尔频率倒谱系数)或 Mel 频谱图,作为 CNN 或 Transformer 模型的输入。
操作流程与注意事项
- 采样率选择:语音识别用 16kHz;超声波检测需 48kHz 以上。
- 帧长与帧移:典型帧长 25ms,帧移 10ms,保证相邻帧重叠。
- 预加重:一阶高通滤波(系数 0.97)提升高频分量。
- 窗函数:汉明窗或汉宁窗减少频谱泄漏。
- 增益控制:自动增益控制(AGC)需谨慎使用,避免动态范围压缩影响分类。
2.5 传感器选型与数据采集策略
在 TinyML 项目中,传感器选型直接影响模型性能和系统功耗。选型需考虑:量程是否覆盖应用场景、分辨率是否满足精度需求、采样率与功耗的平衡、接口兼容性(I²C/SPI/PDM)、以及封装尺寸。数据采集时,需注意同步问题——多传感器数据需时间戳对齐,否则融合算法会引入误差。
| 应用场景 | 推荐传感器 | 采样率 | 特征类型 | 典型模型 |
|---|---|---|---|---|
| 活动识别 | 加速度计 | 50Hz | 时域统计特征 | 随机森林/1D CNN |
| 姿态估计 | 加速度计+陀螺仪 | 100Hz | 四元数/欧拉角 | 互补滤波+MLP |
| 航向跟踪 | 9轴 IMU | 50Hz | 融合姿态 | 卡尔曼滤波+LSTM |
| 语音唤醒 | 麦克风 | 16kHz | Mel频谱 | DS-CNN |
| 声学事件检测 | 麦克风 | 16kHz | MFCC | CRNN |
| 振动分析 | 加速度计 | 1kHz | FFT频谱 | 1D CNN |
数据采集最佳实践
- 覆盖多样性:采集数据需包含不同用户、不同环境、不同设备姿态,避免过拟合。
- 标注一致性:制定明确的标注规范,多人标注需进行一致性校验(Cohen's Kappa)。
- 数据增强:对加速度计数据可进行旋转、缩放、加噪;对音频可进行时间拉伸、音调变换、背景噪声叠加。
- 存储格式:建议使用二进制格式(如 NPY、TFRecord)存储原始数据,附带元数据(采样率、量程、时间戳)。