1、心电数据基础:心电信号原理、心电图波形特征、常见心律失常类型
1.1 心电信号是怎么来的?
说实话,很多人一开始接触心电数据,会觉得这东西很玄乎。不就是几条弯弯曲曲的线吗?其实不然。
心脏要跳动,靠的是电信号驱动。这个电信号从窦房结出发,像接力赛一样,一路传到心房、房室结、心室。每次电信号传导,都会在身体表面产生微弱的电位差。我们把电极贴在皮肤上,就能捕捉到这种变化。
我当年第一次看真实的心电数据时,心里想的是:「这玩意儿真能看出心脏有没有问题?」后来做多了项目才明白,每个波折背后都有它的生理意义。
核心要点:心电信号本质是心肌细胞去极化和复极化的综合电位变化。频率范围在0.05Hz~100Hz之间,幅度通常只有0.5mV~4mV。嗯,信号非常微弱,这也是为什么采集电路需要高增益、高共模抑制比。
1.2 心电图波形特征——你得认识这几个「零件」
一个标准的心电图周期,由P波、QRS波群、T波组成。有时候还能看到U波,不过那个比较少见。
| 波形 | 代表什么 | 正常时长 | 我踩过的坑 |
|---|---|---|---|
| P波 | 心房去极化 | ≤0.11s | P波太小容易被噪声淹没,滤波参数要调好 |
| QRS波群 | 心室去极化 | 0.06~0.10s | 宽QRS往往提示室性心律,别漏了 |
| T波 | 心室复极化 | 0.10~0.25s | T波高尖可能是高血钾,我吃过这个亏 |
| PR间期 | 房室传导时间 | 0.12~0.20s | PR间期延长=房室传导阻滞,别当正常处理 |
| QT间期 | 心室除极+复极总时间 | 0.32~0.44s(需校正) | QT延长容易诱发尖端扭转型室速,要警惕 |
你想想看,这些波形组合在一起,就像心脏的「指纹」。每个波形的形态、时长、幅度,都能告诉我们心脏的工作状态。
我的经验:做心电数据存储系统时,我习惯把每个波形的起止点都标记出来。这样回放的时候,可以快速定位异常片段。说白了,就是给数据打好标签,后面分析起来才顺手。
1.3 常见心律失常类型——这些你得能认出来
做心电系统,最核心的功能之一就是识别心律失常。我整理了几种最常见的,也是面试时经常被问到的。
1.3.1 窦性心律与窦性心律失常
正常人的心律就是窦性心律。P波规律出现,频率在60~100次/分。如果频率<60,叫窦性心动过缓;>100,叫窦性心动过速。
我记得有一次做24小时动态心电监测,发现患者夜间心率掉到38次/分。当时差点报警,后来发现是运动员,生理性的。所以啊,阈值不能设太死。
1.3.2 房性早搏与室性早搏
早搏说白了就是心脏「抢拍」了。房性早搏的P波形态和正常不一样,QRS一般正常。室性早搏更吓人——QRS宽大畸形,没有P波。
我曾经在项目中遇到一个情况:室早二联律被算法误判为室速。原因是噪声干扰导致QRS宽度计算偏大。后来我加了一个形态学校验,准确率才上去。
1.3.3 心房颤动
房颤是最常见的心律失常之一。特征很明显:P波消失,代之以f波,RR间期绝对不齐。
做房颤检测时,我建议重点关注两点:一是P波检测的灵敏度,二是RR间期的变异性分析。两者结合,准确率能到95%以上。
1.3.4 室性心动过速
这个比较危险。连续3个以上的室早,频率>100次/分,QRS宽大畸形。搞不好会恶化为室颤。
警告:室速和室上速伴差传有时候很难区分。我建议在系统中同时保留自动分析和人工复核的接口。别全信算法,也别全不信。
1.4 心电数据的存储要点
讲完了信号原理和波形特征,最后聊聊存储。毕竟咱们的课程是《心电数据存储与历史回放系统实现》。
我个人习惯用以下结构来存储心电数据:
{
"patient_id": "P2024001",
"record_time": "2024-01-15 14:30:00",
"sample_rate": 250, // Hz
"lead_count": 12,
"data": [ // 每个导联的采样点
[0.12, 0.15, 0.13, ...], // 导联I
[0.08, 0.11, 0.09, ...], // 导联II
// ... 其他导联
],
"annotations": [
{"type": "normal", "start": 100, "end": 350},
{"type": "pvc", "start": 1200, "end": 1450}
]
}
为什么要存标注信息?因为回放的时候,你不可能每次都重新做波形识别。把识别结果存下来,回放时直接加载,速度快得多。
小技巧:心电数据压缩可以用差分编码。相邻采样点的差值通常很小,用更少的位数就能存储。我在一个项目里用这个方法,存储空间省了60%。
好了,这一章的内容就到这里。心电信号原理是基础,波形特征是工具,心律失常类型是应用场景。三者串起来,你就能理解心电数据的全貌了。