4、心电信号基础:心电图导联系统、PQRST波群特征、常见心律失常类型

各位同学,今天我们进入心电监护仪实战的核心基础——心电信号。说实话,很多做嵌入式开发的工程师,一看到心电波形就头大。我当年刚入行时也是这样,觉得这玩意儿太抽象了。但后来我发现,只要把导联系统、波形特征和常见异常这三块吃透,后面写算法、调参数就会顺手很多。

4.1 心电图导联系统:你看到的信号从哪来?

先聊聊导联。说白了,导联就是电极在人体上的放置方式。不同的放置方式,看到的波形角度不一样。就像你从不同角度看一座山,形状肯定有差异。

临床上最常用的是标准12导联系统。但我做监护仪项目时,大部分时间只用到3导联或5导联。为什么?因为监护仪要的是实时监测,不是诊断。你想想看,ICU里病人身上贴十几个电极,护士会疯掉的。

核心要点:监护仪常用的导联配置

  • 3导联系统:RA(右臂)、LA(左臂)、LL(左腿)——最基础,适合心率监测
  • 5导联系统:在3导联基础上加V1和RL(右腿参考)——能看更多导联波形
  • 12导联系统:6个胸导联 + 4个肢体导联——诊断级,监护仪很少用

我记得有一次在医院调试设备,护士长跟我说:「你们那个3导联的机器,贴上去病人翻个身就掉线了。」后来我改进了电极片的粘胶工艺和导联线的固定方式,才解决了这个问题。嗯,这里要注意,导联线的线缆材质和屏蔽层设计,直接影响信号质量。

4.2 PQRST波群特征:读懂心脏的「语言」

一个完整的心电周期,包含P波、QRS波群、T波,有时候还能看到U波。每个波都有它的生理意义。我习惯把心电波形比作心脏的「工作日志」——每个波峰波谷都记录着一次电活动。

波形 代表意义 典型特征 我在项目中踩过的坑
P波 心房除极 圆钝、宽度<0.11s P波太小容易被噪声淹没,滤波参数要调好
QRS波群 心室除极 窄而高,宽度0.06-0.10s R波检测是心率计算的关键,阈值设不好就漏检
T波 心室复极 宽而圆,方向与QRS一致 T波倒置可能是心肌缺血,但正常人也可能出现
U波 心室后继电位 低幅,T波后出现 低钾血症时U波会明显,但很多算法直接忽略它

做嵌入式心电算法时,我最头疼的就是QRS波群的检测。为什么?因为干扰太多了。肌电干扰、工频干扰、电极移动伪迹……这些噪声的幅度有时候比R波还大。我曾经在算法里用了一个自适应阈值,效果还不错,但调试过程真是折磨人。

我的经验:检测QRS波群时,别只看幅度。结合斜率变化和宽度信息,准确率会高很多。我常用的方法是:先带通滤波(5-15Hz),然后计算一阶差分,再用滑动窗口找极值点。

4.3 常见心律失常类型:监护仪要抓的「坏蛋」

心律失常,说白了就是心脏的节律乱了。监护仪的核心任务之一,就是及时发现这些异常并报警。我参与过的项目里,客户最关心的就是「你们能不能准确识别室颤和停搏」——这两个是致死率最高的。

下面我列出几种监护仪必须能识别的常见心律失常:

  1. 窦性心动过速:心率>100次/分,P波正常。常见于发热、运动、焦虑。说实话,这个一般不致命,但需要排除其他原因。
  2. 窦性心动过缓:心率<60次/分,P波正常。运动员常见,但低于40次/分就要警惕了。
  3. 房性早搏:提前出现的P波,形态与窦性P波不同。我见过一个案例,病人偶尔房早,但算法误报成房颤,搞得护士白跑一趟。
  4. 室性早搏:提前出现的宽大畸形QRS波,没有P波。这是最常见的恶性心律失常前兆。
  5. 心房颤动:P波消失,代之以f波,RR间期绝对不齐。嗯,这个检测算法最难写,因为f波幅度太小了。
  6. 心室颤动:QRS-T波消失,代之以混乱的颤动波。这是最危险的,必须秒级响应。
  7. 室性心动过速:连续3个以上的室早,频率>100次/分。我曾经在算法里把室速和室上速搞混过,后来加了P波检测才区分开。

⚠️ 重要提醒:做心律失常检测算法时,千万别只依赖单一特征。比如室颤,有时候看起来像噪声,有时候又像基线漂移。我建议至少用3个维度来判断:时域特征(心率、RR间期)、频域特征(频谱能量分布)、形态学特征(波形相似度)。

4.4 实战中的信号处理要点

讲完理论,咱们聊聊实际开发中要注意的事。我整理了几个关键点:

  • 采样率选择:心电信号的主要能量集中在0.05-100Hz。我一般用250Hz或500Hz采样。250Hz够用,500Hz更精细,但计算量翻倍。
  • 工频滤波:50Hz(国内)或60Hz(国外)的干扰必须滤掉。我用过陷波滤波器,也用过自适应滤波。说实话,陷波器简单可靠,但会损失一点信号细节。
  • 基线漂移抑制:病人呼吸、电极移动都会导致基线上下飘。高通滤波器(0.5Hz截止)能解决大部分问题。但要注意,滤波太狠会把ST段信息也滤掉。
  • R波检测阈值:我习惯用动态阈值——根据最近几个心跳的R波幅度自动调整。初始阈值设为信号最大值的60%,然后每次检测到R波后更新。

避坑指南:我曾经在某个项目中,因为工频滤波器的Q值设得太高,导致滤波后的信号出现了振铃现象。R波检测算法把振铃误判成了QRS波群,心率直接翻倍。后来我改用级联的双二阶滤波器,才解决了这个问题。

好了,这一章的内容就到这里。心电信号基础是后面所有算法和系统设计的地基。你想想看,如果连P波和T波都分不清,后面做心律失常分类、ST段分析、起搏器检测,那根本无从下手。下一章我们会深入心电信号的数字滤波与预处理,到时候我会带大家手写一个完整的滤波链。

课后小练习:找一段公开的心电数据(比如MIT-BIH数据库),用Python画出PQRST波群,标注出各个波的起始点和终点。试试看,能不能用简单的阈值法检测出R波?


公众号:蓝海资料掘金营,微信deep3321