从零设计心电采集电路:仪表放大与双T陷波滤波实战
2026/6/1 12:56:57 网站建设 项目流程

1. 项目概述:从微伏信号到清晰心电波

心电信号采集,听起来像是医院里那些庞大、精密且昂贵的设备才能干的事,但它的核心原理其实就藏在一套精巧的模拟电路里。作为一名长期混迹于生物医学电子和嵌入式硬件开发的工程师,我经常需要从零开始搭建这类前端信号调理电路。这次分享的,就是一个非常经典且实用的“三级火箭”式心电采集电路设计:仪器放大器 -> 陷波滤波器 -> 低通滤波器。整个项目的目标很明确,就是把人体皮肤表面那仅有0.5到2毫伏(mV)的微弱心电信号,放大到足以被后续电路(比如ADC)稳定、清晰读取的电压水平,同时把无处不在的50/60Hz工频干扰和各类高频噪声“打扫”干净。

为什么是这三级?这背后是生物电信号处理的经典思路。心电信号(ECG)本身频率很低,主要能量集中在0.05Hz到150Hz之间,尤其是QRS波群(就是心电图里那个最高的尖峰)的能量最强。但它太微弱了,直接测量就像在嘈杂的菜市场里听一根针掉地上的声音。所以,第一步必须用仪器放大器,它能极高倍数地放大信号(比如1000倍),同时对共模干扰(比如人体同时感应到的工频干扰)有极强的抑制能力。放大之后,信号里最强的“背景噪音”——50Hz或60Hz的工频干扰就暴露无遗了,必须用陷波滤波器(也叫带阻滤波器)精准地把它“挖掉”。最后,再用一个低通滤波器把150Hz以上的高频噪声(比如肌电干扰、环境电磁噪声)滤除,只留下我们关心的心电频段。

这个项目非常适合电子工程、生物医学工程专业的学生,以及对模拟电路设计、生物信号处理感兴趣的硬件爱好者。无论你是想完成一个课程设计,还是为DIY一个便携式心率监测手环打基础,这套从理论计算、LTSpice仿真到实物搭建调试的完整流程,都能让你对模拟前端设计有非常扎实的理解。接下来,我就把这套方案的每一个细节掰开揉碎了讲清楚。

2. 电路核心架构与设计思路拆解

2.1 系统级需求分析与方案选型

设计任何电路,第一步永远是搞清楚“我们要对付的是什么信号”。心电信号有几个关键特征决定了我们的电路架构:

  1. 极低的幅度:典型值0.5-2 mV(峰峰值)。这意味着第一级放大必须具有极高的增益,且自身噪声必须极低,否则信号就被噪声淹没了。
  2. 极低的频率:主要成分在0.05-150 Hz。这要求电路能处理直流和近直流信号,放大器必须采用直流耦合,并仔细处理失调电压和漂移。
  3. 极高的源阻抗与共模干扰:电极与皮肤接触阻抗可能高达几十千欧到几百千欧,且人体像一个天线,会同时拾取强大的50/60Hz工频干扰作为共模信号。这就要求输入级具有极高的输入阻抗和极高的共模抑制比。
  4. 特定的干扰频率:50/60Hz工频干扰是主要敌人,其幅度可能比心电信号大几个数量级。

基于这些特征,经典的“仪表放大+双滤波”架构几乎是唯一合理的选择。为什么不直接用一颗高集成度的ECG模拟前端芯片(比如ADI的AD8232)?对于学习和深度理解原理而言,分立或模块化设计是不可替代的。它能让你亲手调整每一个参数,观察每一个环节对波形的影响,这种经验是直接使用“黑盒”芯片无法获得的。我们这个设计,可以看作是那些集成芯片内部核心模块的透明化展开。

三级电路的分工与信号流如下:

  • 第一级:仪器放大器。任务:在极高的共模噪声中,将微弱的差分心电信号放大1000倍左右。输出信号幅度约为0.5V - 2V,但混杂着巨大的60Hz干扰和其他噪声。
  • 第二级:双T型陷波滤波器。任务:在放大后的信号中,精准地“凿”出一个深度衰减的缺口,中心频率对准60Hz(根据当地电网频率选择),将这个最强的单一频率干扰消除掉。
  • 第三级:二阶有源低通滤波器。任务:像一个“篱笆”,允许150Hz以下的信号成分(主要是心电信号)通过,而将150Hz以上的高频噪声(如肌电信号、射频干扰)大幅度衰减,使波形变得光滑、清晰。

这个顺序不能乱。如果先滤波再放大,微弱的信号在滤波过程中可能损耗,并且放大器的噪声也会被一起放大。先放大,虽然噪声也放大了,但信号幅度提升到了足以被后续滤波器有效处理的水平,整个系统的信噪比优化更合理。

2.2 核心器件选型背后的考量

仪器放大器的选择是关键中的关键。我们通常选用三运放结构的仪表放大器芯片,如AD620INA128。这里以INA128为例说明选型理由:

  • 高输入阻抗:>10^9 Ω,确保不会从高阻抗的生物电极上“抽取”过多电流,导致信号衰减。
  • 高共模抑制比:典型值120dB @ 60Hz。这意味着它能将同时出现在两个输入端的60Hz干扰衰减100万倍,是抑制工频干扰的第一道防线。
  • 增益由单个电阻设定:增益公式 G = 1 + (50kΩ / Rg),计算和调整非常方便。
  • 低噪声、低失调电压:对于处理微伏级信号至关重要。

运算放大器用于构建有源滤波器。我们选择通用型精密运放,如TL072NE5532。它们价格低廉、性能足够,具有较高的输入阻抗和较低的噪声。TL072是JFET输入级,输入阻抗极高,非常适合滤波器应用,不会对RC网络造成负载效应。

电阻与电容的选型同样有讲究:

  • 精度:尤其是决定滤波器中心频率和截止频率的RC元件,应选用1%精度的金属膜电阻和薄膜电容(如C0G/NP0材质的陶瓷电容或聚酯薄膜电容)。用5%精度的普通元件,滤波器的实际频率特性会严重偏离设计值。
  • 值域:电阻值不宜过小(耗电、增加运放负载)或过大(易受寄生电容影响、热噪声大)。通常选择千欧级到百千欧级。电容值不宜过小(受寄生电容影响大)或过大(体积大、漏电流大)。通常选择纳法级到微法级。我们的设计会落在这些合理范围内。

3. 各级电路参数计算与设计细节

3.1 仪器放大器:增益设定与电阻计算

我们的目标增益是1000倍(60dB),将1mV的输入放大到1V。使用INA128,其增益公式为:G = 1 + (50kΩ / Rg)

我们需要求解Rg。 1000 = 1 + (50kΩ / Rg) => 999 = 50kΩ / Rg => Rg = 50kΩ / 999 ≈ 50.05 Ω

这是一个非常小的电阻值,在实际中很难找到精确的,且如此小的电阻会消耗较大电流。因此,我们通常采用两级放大策略来规避这个问题。

更优方案:两级放大

  • 第一级(INA128):设定一个适中的增益,例如 G1 = 50。则 Rg1 = 50kΩ / (50 - 1) = 50kΩ / 49 ≈ 1.02 kΩ。我们可以选用一个1kΩ的精密可调电阻(电位器)串联一个固定电阻进行微调,比如820Ω固定电阻串联一个500Ω的多圈电位器,这样既能精确设定增益,又方便调试。
  • 第二级(同相放大器):用另一颗运放(如TL072的一半)构成同相放大电路,增益 G2 = 20。这样总增益 G_total = G1 * G2 = 50 * 20 = 1000。 第二级同相放大器的增益公式为 G2 = 1 + (Rf / R1)。设定R1 = 1kΩ,则需要 Rf = (G2 - 1) * R1 = 19kΩ。可以选用18kΩ固定电阻串联一个2kΩ电位器进行微调。

注意:将1000倍增益分摊到两级,有以下好处:1)避免使用极小阻值的增益电阻;2)降低对单级放大器带宽的要求(增益带宽积恒定,单级增益越低,可用带宽越宽);3)提高电路稳定性,减少自激振荡风险。这是高增益放大电路的常用技巧。

3.2 60Hz双T陷波滤波器:精准“手术刀”设计

双T型陷波滤波器是模拟电路里消除单一频率干扰的利器。其核心是一个由电阻电容构成的桥式网络,在特定频率(中心频率f0)下产生深度抵消。

对于经典的双T网络,当满足关系 R1=R2=R, R3=R/2, C1=C2=C, C3=2C 时,中心频率公式为:f0 = 1 / (2πRC)

我们需要 f0 = 60 Hz。先选取一个常见的电容值,例如 C = 100nF (0.1μF)。代入公式计算R: R = 1 / (2π * 60Hz * 100nF) ≈ 1 / (2 * 3.1416 * 60 * 1e-7) ≈ 1 / (3.7699e-5) ≈ 26.54 kΩ

因此,我们可以选取:

  • R1 = R2 = 27 kΩ (标准值,接近26.54kΩ)
  • R3 = R/2 ≈ 13.5 kΩ,可以用12kΩ和1.5kΩ串联,或者直接用13.3kΩ(E96系列精密电阻)加微调。
  • C1 = C2 = 100 nF
  • C3 = 2C = 200 nF,可以用两个100nF并联。

为了提升滤波器的品质因数Q值(让陷波更尖锐、更深),并使其易于调整,我们采用有源双T陷波电路,即将双T网络接入一个运放的同相输入端,并引入正反馈。调整正反馈的量可以微调中心频率和陷波深度。在实际电路中,我们会在R3或反馈路径上设置可调电阻,用于在实物调试时精确对准60Hz。

3.3 150Hz二阶低通滤波器:噪声“篱笆”

我们采用经典的赛伦-凯(Sallen-Key)二阶有源低通滤波器拓扑。它结构简单,性能良好,只需要一个运放。

其截止频率 f_c 公式为:f_c = 1 / (2π √(R1 R2 C1 C2))

为了简化设计,通常令 R1 = R2 = R, C1 = C2 = C。则公式简化为:f_c = 1 / (2π R C)

我们需要 f_c = 150 Hz。选取电容 C = 10 nF (0.01μF),计算R: R = 1 / (2π * 150Hz * 10nF) ≈ 1 / (2 * 3.1416 * 150 * 1e-8) ≈ 1 / (9.4248e-6) ≈ 106.1 kΩ

我们可以选用最接近的标准值100 kΩ。这样实际的截止频率 f_c’ = 1 / (2π * 100kΩ * 10nF) ≈ 159.2 Hz,略高于设计值,但在可接受范围内。如果想更精确,可以使用110kΩ或105kΩ的电阻。

Sallen-Key滤波器的增益由运放的同相端电阻决定,通常设置为1(单位增益跟随器),以避免放大噪声。因此,我们将运放接成电压跟随器形式(输出直接接反相输入端)。

4. LTSpice仿真建模与性能验证

理论计算只是第一步,用LTSpice进行仿真就像在电脑里先搭一遍电路,能提前发现很多设计问题,避免浪费元器件。

4.1 创建三级子电路与联合仿真

  1. 绘制仪器放大器级

    • 从元件库中调用INA128模型(如果没有,可以用三个理想运放搭建简化模型,或从ADI官网下载SPICE模型导入)。
    • 放置电源(如±5V)、接地、输入信号源V1。
    • 设置信号源:为了模拟真实心电,我们可以用一个脉冲源来近似QRS波。例如,设置一个脉冲:PULSE(0 1m 0.1 0.01 0.01 0.05 0.8),表示从0到1mV,在0.1秒开始,上升时间0.01秒,宽度0.05秒,周期0.8秒的脉冲串。同时在差分输入端加入一个大的60Hz共模信号,例如SINE(0 1 60),幅度1V,来模拟干扰。
    • 按照计算好的值放置增益电阻Rg1(~1.02k)。
    • 添加负载电阻(如10kΩ)到地。
  2. 绘制陷波滤波器级

    • 调用运放模型(如LT1001或通用运放)。
    • 严格按照双T网络布局放置电阻电容:R1, R2=27k;C1, C2=100n;R3=13.5k;C3=200n。
    • 连接成有源双T形式,注意正反馈网络的连接,通常是通过一个可调电阻分压将部分输出信号反馈到双T的“星型”连接点。
  3. 绘制低通滤波器级

    • 调用另一个运放。
    • 放置R1=R2=100k, C1=C2=10n,连接成Sallen-Key电压跟随器形式。
  4. 级联与仿真设置

    • 将第一级的输出节点连接到第二级的输入节点,第二级的输出连接到第三级的输入。
    • 设置瞬态分析:.tran 0 2 0 1m,仿真2秒时长,最大步长1ms,足以看到多个心电周期。
    • 设置交流分析:.ac dec 100 1 1k,从1Hz到1kHz扫描,用于观察整个系统的频率响应(波特图)。

4.2 关键仿真波形解读与问题预判

运行瞬态分析后,我们需要观察几个关键点的波形:

  • 第一级输出:应该能看到被放大了约50倍的QRS脉冲(约50mV),但波形上叠加着巨大的、幅度可能超过信号本身的60Hz正弦波。这很正常,说明共模抑制起了作用,但差模的60Hz干扰(由于电极阻抗不平衡导致共模转差模)依然存在。
  • 第二级输出:60Hz的正弦波干扰应该被显著削弱,理想情况下几乎变成一条直线。QRS脉冲变得清晰可见。如果陷波效果不好,波形上仍有明显的60Hz纹波,则需要回到原理图,微调双T网络的R或C值,或者在SPICE中直接参数扫描,找到最佳的陷波点。
  • 第三级输出:波形应该更加光滑。由于我们用的心电模型是脉冲,所以输出也是光滑化的脉冲。如果输入是更复杂的心电模型,这里会得到干净的心电波形。

交流分析结果至关重要

  • 绘制整个系统的频率响应曲线(输出电压/输入电压 vs. 频率)。
  • 你应该在60Hz处看到一个非常深的凹陷,衰减可能达到-40dB甚至更深,这意味着60Hz的信号被衰减了100倍以上。
  • 曲线在150Hz附近开始以-40dB/十倍频程的斜率下降,这是二阶低通滤波器的特征。
  • 0.5Hz到40Hz(心电主要频段)的增益应该平坦且稳定,增益值就是总增益(约60dB,1000倍)。

实操心得:在LTSpice中,不要只满足于电路能跑通。要多做“压力测试”:1)改变输入信号幅度,看输出是否线性;2)改变60Hz干扰的幅度,看陷波器是否仍能有效工作;3)在输入端加入高频噪声源,看低通滤波器的效果。这些仿真能极大增强你对电路鲁棒性的信心。

5. 实物搭建、调试与心电图采集实战

仿真通过后,就可以在面包板或万用板上搭建实物了。这是理论走向实践的关键一步,也会遇到最多“意外”。

5.1 分级搭建与静态调试

绝对不要一次性把三级电路全焊上!必须分级搭建、分级测试。

  1. 搭建仪器放大器级

    • 在面包板上插好INA128芯片,注意电源引脚(±5V)和方向。
    • 焊接好增益电阻Rg1。强烈建议:先用一个10kΩ电位器代替固定电阻,方便调整增益。
    • 暂时不接输入电极。先用函数发生器产生一个差分小信号:可以将函数发生器的输出端接INA128的IN+,地端接IN-,设置一个1mVpp,1Hz的低频正弦波。
    • 用示波器测量输出。调整电位器,使输出为50mVpp(增益50倍)。测量无误后,关掉电源,用万用表测量此时电位器的阻值,换上一个最接近的固定精密电阻。
  2. 搭建并单独测试陷波滤波器

    • 在另一区域搭建双T有源陷波电路。
    • 输入接函数发生器,输出接示波器。
    • 进行频率扫描:从10Hz慢慢增加到200Hz,观察输出幅度。你会在60Hz附近看到一个幅度急剧下降的谷点。用示波器的自动测量功能或光标功能,找到幅度最小的频率点,这应该就是实际陷波中心频率。
    • 问题排查:如果谷点不在60Hz,比如在55Hz或65Hz,说明RC值有偏差。此时应微调双T网络中的电阻,通常是微调R3(那个R/2的电阻)。可以在R3上串联一个小的可调电阻(如5kΩ电位器),边扫频边调整,直到谷点精确对准60Hz。调好后测量总阻值,更换为固定电阻。
  3. 搭建并单独测试低通滤波器

    • 搭建Sallen-Key电路。
    • 同样用函数发生器和示波器进行频率扫描。从10Hz扫到1kHz。
    • 观察-3dB截止点(输出幅度下降到输入的70.7%)。这个点应该在150Hz附近。如果偏差较大,检查R、C值是否焊错。

5.2 系统集成与动态测试

三级电路分别调好后,就可以用导线将它们级联起来了:INA128输出 -> 陷波器输入 -> 低通滤波器输入。

  1. 模拟信号测试

    • 保持用函数发生器给INA128输入1mVpp/1Hz差分正弦波。
    • 在陷波器输入端(即INA128输出端)和最终输出端同时用示波器的两个通道观察。
    • 你应该看到,最终输出的是一个干净的、放大1000倍(1Vpp)的正弦波。此时,将函数发生器的频率调到60Hz,幅度可以调大一些(模拟强干扰),观察最终输出。理论上,输出应该几乎为零,这表明陷波器工作正常。
  2. 接入人体采集真实心电

    • 安全第一:确保整个电路由电池或隔离良好的医疗级电源供电,绝对不可使用未隔离的市电适配器直接供电,以防漏电风险。
    • 准备三个心电电极片(一次性Ag/AgCl电极最佳),分别贴于:右腕(RA)左踝(LA)右踝(RL)。这是标准肢体导联I的接法(LA接INA128的IN+,RA接IN-,RL接电路参考地)。
    • 用电极线将电极片连接到电路的输入端。注意保持导线简短并相互绞合,以减少空间电磁干扰。
    • 将电路输出连接到示波器。
    • 让测试者静坐放松。调整示波器的时基(如200ms/div)和垂直灵敏度(如0.5V/div),触发模式设为正常或自动。

你应该能在示波器上看到经典的心电图波形:P波、QRS波群、T波。可能会看到一些基线漂移(呼吸运动导致)和轻微的肌电干扰(微小毛刺),但整体的QRS波应该清晰可辨,并且没有明显的50/60Hz正弦波纹波。

5.3 实测波形分析与优化

观察到波形后,可以进行一些简单测量:

  • 心率计算:测量两个相邻R波(QRS波最高点)之间的时间间隔(R-R间期),单位秒。心率(次/分钟)= 60 / R-R间期。
  • 评估性能
    • 如果基线漂移严重,可能是电极接触不良或皮肤油脂导致阻抗过大。清洁皮肤,使用导电膏,确保电极贴紧。
    • 如果仍有明显的工频纹波,检查陷波器中心频率是否准确。可以尝试微调陷波器的可调电阻。同时检查电路板布局,输入线是否屏蔽,电源去耦电容(每个芯片的电源引脚对地接一个0.1μF和10μF电容)是否焊好。
    • 如果波形高频毛刺多,检查低通滤波器截止频率是否合适,或者尝试将截止频率稍微调低(如100Hz)。

6. 常见问题、故障排查与进阶技巧

即使按照步骤操作,实物电路也常常“罢工”。下面是我在多次项目中总结的排查清单和技巧。

6.1 静态故障排查表

现象可能原因排查步骤
上电后无输出,或输出为电源电压1. 电源未接通或接反
2. 芯片损坏
3. 运放输出对地或电源短路
1. 用万用表测量各芯片电源引脚电压是否正确。
2. 断电,测量各运放输出引脚对地、对电源电阻,排除短路。
3. 更换芯片试试。
输出有高频自激振荡(波形上有毛刺或正弦波)1. 电源去耦不足
2. 电路布局不合理,反馈路径过长
3. 增益过高,接近运放带宽极限
1. 在每个运放电源引脚最近处,加焊0.1μF和10μF电容到地。
2. 检查布线,输入输出线远离,反馈电阻尽量靠近运放引脚。
3. 降低单级增益,采用多级放大。
增益与设计值严重不符1. 增益电阻值错误或接触不良
2. 仪器放大器参考端(REF)未正确接地或接偏置电压
1. 用万用表测量增益电阻实际阻值。
2. 检查INA128的REF引脚,通常应接地(单电源供电时接Vcc/2)。

6.2 动态信号问题排查

现象可能原因排查步骤与解决方案
接入人体后信号微弱或全是噪声1. 电极接触阻抗过大
2. 输入开路或短路
3. 第一级增益实际值太低
1. 用砂纸轻轻打磨皮肤角质层,使用导电膏,确保电极粘贴牢固。
2. 用万用表测量两个输入电极之间的电阻(应在几十kΩ到几百kΩ),确保既未开路(兆欧以上)也未短路(几kΩ以下)。
3. 单独用信号源测试第一级放大倍数。
波形上有规律的50/60Hz正弦波干扰1. 陷波器中心频率偏移
2. 共模抑制不足
3. 空间电磁干扰
1.重点排查:单独测试陷波器电路,用扫频法精确校准其谷点频率至电网频率(用示波器观察市电变压器感应信号确定)。
2. 检查仪器放大器的两个输入线是否等长、绞合,参考端接地是否良好。
3. 使用屏蔽线连接电极,并将屏蔽层单点接地(通常在仪器放大器端)。
波形失真,QRS波变形1. 电路带宽不足,高频成分被过度衰减
2. 运放压摆率不够,跟不上信号快速变化
1. 检查低通滤波器截止频率是否过低。可暂时旁路低通滤波器,看波形是否改善。
2. 确认使用的运放压摆率是否足够。对于QRS波这种快速上升沿,需要一定的压摆率。TL072(典型值13V/μs)对此应用足够。
基线缓慢漂移(不是呼吸波)1. 输入级存在直流失调
2. 电极产生极化电压
3. 耦合电容漏电
1. 仪器放大器本身有失调电压,可查阅数据手册,其REF引脚可以接一个可调电压来微调输出直流电平。
2. 使用高质量的Ag/AgCl电极,它们产生的极化电压小且稳定。
3. 如果电路中有隔直电容,检查其质量。

6.3 进阶优化与扩展思路

当基本电路工作稳定后,可以考虑以下优化,让系统更专业、更可靠:

  1. 右腿驱动电路:这是专业ECG设备中的标配技术。其原理是采集人体共模电压,通过一个运放反相放大后,驱动右腿电极(RL)。这形成了一个负反馈,主动将人体的共模电压“拉”到地电位,可以显著提升共模抑制比(CMRR),是消除工频干扰更有效的手段。可以在我们的仪器放大器前端加入这个电路。
  2. 高通滤波器:心电信号有很低的频率成分(ST段变化),但超低频的基线漂移(如呼吸、身体移动)是干扰。可以在仪器放大器之后,陷波器之前,加入一个截止频率为0.5Hz的一阶高通滤波器,滤除超低频漂移,使波形稳定在屏幕中央。
  3. 后级处理:我们的模拟输出可以接一个微控制器(如Arduino、STM32)的ADC引脚,进行数字化。在软件中,可以进一步做数字滤波(如滑动平均滤波、数字陷波)、QRS波检测和心率计算,实现一个完整的便携式心电监测仪。
  4. PCB设计:如果从面包板转移到自制PCB,布局布线至关重要。模拟部分要集中,远离数字部分;电源走线要宽,并铺铜作为地平面;输入线要走差分线对,并用地线包围屏蔽;去耦电容必须尽可能靠近芯片电源引脚。

这个基于LTSpice仿真和实物搭建的心电采集电路项目,就像一次完整的模拟电路“解剖”实验。它从最根本的物理原理和元器件特性出发,让你亲手操控每一个放大、滤波的环节。过程中遇到的每一个噪声、每一次失真、每一个不起振的电路,都是最宝贵的经验。当你最终从示波器上看到自己清晰的心跳波形时,那种将理论知识转化为实体信号的成就感,是任何虚拟仿真都无法替代的。希望这份详细的指南能帮你少走弯路,顺利捕捉到那抹生命的电信号。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询