3. 可穿戴数据采集硬件与嵌入式基础
可穿戴临床传感系统的数据质量,并不是从算法阶段才开始决定的。它首先被采集前端的模拟链路、ADC 量化过程、MCU/SoC 的时序调度、BLE 传输策略以及整机功耗管理共同塑造。理解这些硬件与嵌入式因素,才能判断一条 PPG、ECG 或加速度信号是否“可信”,以及误差究竟来自生理变化、电极接触,还是采样与传输环节。
采样率:决定时间轴是否够用
采样率首先受奈奎斯特准则约束:要无混叠地重建带宽为 fmax 的信号,采样率 fs 必须大于 2fmax。但临床可穿戴信号往往还需要保留波形形态,因此实际取值远高于理论下限。例如 ECG 诊断带宽约 0.05–150 Hz,若只做心率监测,125–250 Hz 已足够;若要观察 QRS 形态、ST 段趋势或进行心律失常分析,常取 250–500 Hz。PPG 的脉搏波基频约 0.5–5 Hz,但为提取上升时间、反射波等形态特征,通常取 50–125 Hz。加速度计用于步态或震颤分析时,常取 50–200 Hz。
采样率不足会带来两类问题:一是高频成分折叠到低频,形成无法事后分离的混叠;二是时间分辨率下降,使 R 波峰值、脉搏波到达时间等关键点定位变粗。因此,模拟前端必须配置抗混叠低通滤波器,其截止频率应低于 fs/2,并留出过渡带。若采样率选得过高,则单位时间数据量、ADC 功耗和 BLE 负载都会上升,对低功耗可穿戴设备并不划算。
分辨率、动态范围与 ADC 选型
分辨率指 ADC 能区分的最小电压台阶。对 N 位 ADC、参考电压 VREF,理想量化步长为 VREF/2N。例如 12 位、3.0 V 参考时,LSB 约 0.73 mV;16 位时约 45.8 μV;24 位时约 0.18 μV。ECG 信号幅度约 0.5–5 mV,若用 12 位 ADC 直接采集,量化台阶已接近信号幅度的千分之一量级,尚可用于心率,但对 P 波、ST 段等微弱细节就偏粗。因此临床级 ECG 前端常采用 16–24 位 ΔΣ ADC,配合 1–6 倍增益,把信号抬升到 ADC 有效量程内。
动态范围描述系统能同时容纳的最强与最弱信号之比,通常用 dB 表示。它不等于分辨率:一个 24 位 ADC 若前端噪声很大,有效位数(ENOB)可能只有 16–18 位,实际动态范围随之下降。可穿戴场景中,电极接触阻抗变化、运动伪迹、工频干扰都会占用动态范围,因此前端增益、滤波和高输入阻抗设计必须与 ADC 量程匹配。若增益过高,基线漂移会使信号饱和;增益过低,微弱成分又被量化噪声淹没。
MCU/SoC 与嵌入式调度
ADC 采到数据后,MCU 或 SoC 负责搬运、缓冲、滤波、特征提取和协议封装。若用 CPU 逐点中断读取,高采样率下中断开销会迅速吃掉功耗预算,还容易因中断延迟造成采样抖动。更稳妥的做法是使用 DMA 将 ADC 结果直接写入环形缓冲区,CPU 只在半满或全满时处理。这样采样时刻由硬件定时器触发,时间间隔稳定,不会因软件任务抢占而忽长忽短。
以 500 Hz、16 位、单通道 ECG 为例,原始数据率为 500 × 2 B = 1 kB/s;若三轴加速度各 100 Hz、16 位,则再加 600 B/s。看似不大,但若在 MCU 内做 50 Hz 陷波、0.5 Hz 高通和 40 Hz 低通,再提取 R 波间期,计算负载就不可忽略。此时应把滤波放在 DMA 完成后的块处理中,并让 MCU 在两次处理之间进入低功耗睡眠。SoC 方案则常把模拟前端、ADC 和 BLE 射频集成在一起,减少外围器件,但需注意内部资源共享带来的噪声耦合。
BLE 传输与低功耗设计的耦合
BLE 不是“透明串口”。连接间隔、从设备延迟、MTU 和通知机制共同决定吞吐与延迟。若连接间隔设为 100 ms,而每次通知只能携带 20 B 有效载荷,则理论吞吐约 200 B/s,低于 500 Hz ECG 的 1 kB/s,必然积压或丢包。解决方式包括:协商更大 MTU(如 247 B)、使用多包通知、提高连接间隔利用率,或在设备端先压缩/提取特征再发送。但压缩会改变数据形态,临床分析若需要原始波形,就不能只发特征值。
低功耗设计的关键是占空比调度:采集时开启 AFE 和 ADC,处理完立即关闭;BLE 只在连接事件窗口内唤醒射频;其余时间 MCU 进入 STOP 或 STANDBY。需要警惕的是,频繁唤醒的能耗可能高于持续低速率运行,因此连接间隔、缓冲深度和采样率必须联合优化。若缓冲过小,BLE 拥塞时就会覆盖未发送数据;若缓冲过大,则内存占用和延迟上升。一个实用判断是:缓冲至少能覆盖 2–3 个最坏连接间隔内的数据量。
把硬件参数落到数据质量判断上
面对一段可穿戴采集数据,可以从波形和日志反推硬件配置是否合理。若波形出现规则的高频折叠、R 波峰值位置跳动,优先怀疑采样率不足或抗混叠滤波失效;若波形顶部或底部被削平、基线缓慢漂移后突然饱和,说明增益与动态范围匹配不当;若时间轴上出现等间隔缺口、相邻包时间戳跳跃,则更可能是 BLE 缓冲溢出或连接事件丢失,而非生理信号本身变化。把这些判断与前端增益、ADC 位数、采样率、连接间隔等参数对照,才能定位问题发生在模拟链路、数字调度还是无线传输环节。
配置检查清单(可直接对照)
| 检查项 | 典型取值 / 判断 | 对数据质量的影响 |
|---|---|---|
| 采样率 fs | ECG 250–500 Hz;PPG 50–125 Hz | 不足则混叠、峰值定位变粗 |
| 抗混叠截止 | 低于 fs/2,留过渡带 | 防止高频折叠到低频 |
| ADC 位数与参考 | 16–24 bit;LSB = VREF/2^N | 决定最小可分辨电压台阶 |
| 前端增益 | 使信号占满 ADC 量程 50%–80% | 过高饱和,过低被量化噪声淹没 |
| DMA 缓冲 | 覆盖 2–3 个最坏连接间隔 | 不足则丢包、时间戳错位 |
| BLE 连接间隔 / MTU | 按吞吐需求联合设定 | 决定延迟、功耗与是否积压 |
硬件与嵌入式基础不是数据处理的“前置杂项”,而是决定后续滤波、特征提取和临床判读能否成立的前提。采样率、分辨率、动态范围、ADC、MCU/SoC、BLE 与低功耗设计之间相互牵制,任何一项单独优化都可能把瓶颈转移到别处。实际工程中,应先用数据率和功耗预算做粗算,再通过波形与日志验证,最后才进入算法调参。