178、TinyML实战项目:医疗健康监测
TinyML实战项目:医疗健康监测从一次诡异的ADC跳变说起去年做心电监测原型时,半夜盯着示波器上那个忽高忽低的波形,差点把咖啡泼到开发板上。STM32L4的ADC采集PPG信号,明明滤波算法写得天衣无缝,数据却像抽风一样每隔几十个点就蹦出一个尖峰。排查了三天,最后发现是板子上的开关电源纹波耦合进了模拟前端——那个该死的DC-DC转换器工作频率正好落在信号频带内。从那以后,我养成了习惯:任何医疗级TinyML项目,第一件事不是调模型,而是拿频谱仪怼着电源轨看噪声。硬件选型:别被“低功耗”三个字骗了医疗监测设备最坑人的地方在于:信号微弱到微伏级,但功耗预算可能只有毫瓦级。你不可能用台式心电图机那套方案,但也不能随便找个蓝牙SoC就往上堆。传感器前端是第一个分水岭。MAX30102这类集成式PPG传感器确实方便,但它的环境光抑制能力在强光下会崩——有次在阳光直射的窗边测试,基线漂移直接让心率算法输出变成乱码。后来换成AFE4404,虽然贵了3倍,但它的差分输入和可编程增益放大器能扛住大部分干扰。记住:医疗级信号链,模拟前端花的每一分钱都值得。MCU选择上,Cortex-M4带FPU是底线。别信那些说“定点运算也能跑神经网络”的鬼话——当你要做实时QRS波检测时,浮点运算的精度差异直接决定误检率。我踩过的坑是STM32G4系列,它的CORDIC硬件加速器对三角函数运算有奇效,但文档里没写的是:启用CORDIC后,DMA传输会随机丢包。最后被迫切回软件计算,功耗多了0.3mA,但至少数