摘要: 本文提出了一些低成本实现心电监护仪的设想。
心电图(ECG)是由心脏产生的体表电活动的记录。心电图测量信息是通过放置在身体指定位置的皮肤电极收集的。心电信号的特征是六个波峰和波谷,分别用字母P、Q、R、S、T和U的连续字母标记(图1)。
本文提出了一些低成本实现心电监护仪的设想:(1)其配置设想与个人计算机(PC)一起使用。尽管本文是在考虑患者安全的情况下编写的,但所提出的任何想法本身并不一定与所有系统安全要求兼容;任何使用这些想法的人都必须确保,在一个特定的设计中,设计作为一个整体符合所需的安全标准。
首先,我们概述了典型的心电拓扑结构。然后提出了一种电路,它执行数字转换,数字滤波和数字放大-所有这些都通过使用微转换器-一种集成的“片上系统”,结合了a /D转换器,微控制器和闪存。文章还讨论了微转换器的元件选择和编程的注意事项。
ECG的前端必须能够处理0.5 mV至5.0 mV的极弱信号,加上高达±300 mV的直流分量(由电极与皮肤接触产生)以及高达1.5 V的共模分量(由电极与地之间的电位产生)。根据不同的应用,ECG信号的有用带宽可以从0.5 Hz到50 Hz(用于重症监护病房的监测应用)到1 kHz(用于晚电位测量(起搏器检测))。标准的临床心电图应用的带宽为0.05 Hz至100 Hz。
心电信号会受到各种噪声的干扰。噪音的主要来源有:
电源线干扰:来自电源的50-60 Hz拾音器和谐波
电极接触噪声:电极与皮肤之间的可变接触,引起基线漂移
运动伪影:由电极-皮肤阻抗变化引起的基线偏移
肌肉收缩:产生肌电图型信号(EMG)并与心电信号混合
呼吸,导致基线漂移
来自其他电子设备的电磁干扰,电极线作为天线,和
来自其它电子设备的噪声,通常是高频的。
为了进行有意义和准确的检测,必须采取步骤滤除或丢弃所有这些噪声源。
图2显示了典型单通道心电图仪的框图。在该链中,很明显,所有滤波都是在域中完成的,而微处理器,微控制器或DSP主要用于通信和其他下游目的。因此,数字核心的强大计算特性并不完全可用来处理其本质上原始状态的信号。此外,复杂的过滤器由于缺乏灵活性,以及它们所需要的空间、成本和功率,可能会给整体设计带来昂贵的成本。
信号链可以通过使用ADuC842微转换器来简化,该转换器允许将ADC,滤波器和微处理器组合在单个集成电路中。其他优点是滤波器实现的灵活性和数字域的隔离。提出的系统设计如图3所示。
前端采用典型的仪表放大器(IA)和右腿共模反馈运放。IA是AD620,一款低成本、高精度的仪表放大器,具有出色的直流性能:CMR>>100 dB至近1 kHz,最大失调电压50µV,低输入偏置电流(最大1 nA)和低输入电压噪声(0.1 Hz至10 Hz范围内0.28µV)。
AD620只需要一个外部增益设置电阻R(G)。电阻R2和R3将正常增益方程改为[增益= 1 + 49.4 k/ R(G) + (49.4 k/2)/22 k]。为了避免输出饱和,可用增益受到输出摆幅和IA的最大输入电压的限制。在±5v供电时,AD620的输出摆幅约为±3.8 V;最大输入为±5mv,加上±300mv的可变正模直流偏置,最大增益为12.45。这里,增益保守地设置为8(±1%),使用R(G) = 8.45 k欧姆。
右腿共模反馈电路中使用的运算放大器是OP97,这是一款低功耗、高精度的运算放大器,具有极高的共模抑制(最小114 dB)。该电路将共模干扰的反向版本应用于受试者的右腿,目的是消除干扰。该运放的共模电压增益为91[即R4/(R2 || R3) = 1 毫欧/11 k欧姆],具有1.6 Hz的滚降和约160 Hz的低通截止,以保持稳定性[f (- 3 dB) = 1/(2π × (10 k欧姆 × 0.1µf)]。
数字隔离是到PC的RS232接口的核心,建议在本例中用于显示。隔离器是ADuM1301,一种基于Devices的双向数字隔离器我耦合器 技术-消除通常与光耦合器相关的设计困难的技术(不确定的电流传输比,非线性传递函数等)。
它还能以比光耦合器更低的功耗实现高数据速率。ADuM1301有三个独立的隔离通道,其中两个用于发送数据,另一个用于接收数据。(adum1301的另一个功能——这里不需要——是启用/禁用输入/输出数据的能力。)ADuM1301测量侧的电源来自ADP3607-5升压/稳压器,提供固定的5-V输出。PC端的电源与电路完全隔离。它可以从PC(就像这里)或从不同的来源。
隔离电源由电池提供,不使用时在充电站充电。为了处理双极输入信号,AD620和OP97需要±5v双电源。ADP3607-5升压/稳压器和ADP3605逆变器作为稳压双电源,从单个3-V电池提供正负稳压电压。
ADP3607是一款调节输出开关电容倍压器,能够提供高达50 mA的电压。它能够在低至3v的输入电压下工作,提供稳压固定为5v的版本(ADP3607-5) -这里使用的就是这个。(它也可以通过外部电阻在3 v至9 v范围内调节。它可以产生一个更大的正电压与外部泵级组成的被动元件。)
ADP3605开关电容电压逆变器,具有可调节的输出电压,能够提供高达120 mA的电压。它提供的调节固定在-3 V (ADP3605-3)或可通过外部电阻在-3 V至- 6 V范围内调节。(更大的负电压可以通过增加一个外部泵级来实现,就像ADP3607一样。)需要一个- 5v电源,输入电压为+ 5v,因此R设为31.6 k欧姆(±1%),使用公式,V(OUT) = -1.5 R/9.5 k欧姆。
两个电源电压(±5 V)都是由电容式电荷泵产生的,即使在故障条件下也不会产生不安全的电压,因为它们不需要任何电感。这些设备还具有关闭模式,允许MicroConverter在系统不使用时关闭设备。
除了数字隔离和安全电源外,Rx1、Rx2和Rx3系列电阻还为患者提供保护,以符合AAMI(医疗器械进步协会)安全电流水平标准(请参阅参考资料)。这些标准要求来自电子设备的接地电流或故障电流的有效值必须小于50µA。
ADuC842微转换器非常适合于主要的信号处理任务。它具有一个快速的12位ADC和其他高性能外设,一个快速8052微处理器核心,集成了62KB的代码闪存,以及几个其他有用的外设,如图4所示。
本设计的微转换器的关键部件是ADC和8052内核。ADC将仪表放大器的输出转换为数字信号。为8052内核编写的软件对数字化信号进行处理,生成最终心电描记的数据。在许多MicroConverter设计中,软件既包括用C编写的复杂高级代码,也包括用汇编代码编写的时间敏感例程。在这种情况下,带通滤波器和陷波滤波器是用C语言实现的,而ADC是由汇编代码控制的。汇编代码与转换器速度相结合,可以积累多个样本,大大提高ADC的有效分辨率,远远超出其正常的12位。
图5很好地说明了微转换器的有效性。顶部走线是来自仪表放大器的信号,应用于ADC。中间的跟踪显示了仅使用c代码过滤获得的初始结果,而底部的跟踪显示了使用汇编代码处理多个转换后的最终结果。
采集到的信号在微变换器中进行数字滤波处理。为此,我们设计了两个基于500 Hz采样频率的二阶数字无限脉冲响应(IIR)滤波器。设计了陷波滤波器来抑制50 hz的干扰。所选择的设计方法为极-零放置法,陷波频率为50 Hz,陷波宽度为10 Hz。要实现这一点,需要以下传递函数:
传递函数可转换为可编程递归算法:
在这个方程中,子指数k表示现值,k -1表示前一刻的值,以此类推。
现在我们需要将这个方程转换成代码。C编码是这种算术密集型处理的自动选择,因为在汇编中编程太耗时了。使用ADuC842直接实现滤波器方程的效率很低,因为它不是为浮点计算量身定制的。幸运的是,我们可以缩放系数(例如4096)并实现缺口代码如下:
iNOut = (4096L*iNIn-6627L*iNIn1+4096L*iNIn2+6211L*iNOut1-3598L*iNOut2)/4096;
这实现了一个二阶滤波器。虽然我们可以计算高阶滤波器,但在实践中,简单地级联二阶滤波器似乎是可行的。
第二个滤波器是巴特沃斯通带滤波器,具有0.05 hz的低截止频率和100 hz的高截止频率。传递函数和递归算法为:
这是在C代码中实现的:
iBOut = (1723L*iBIn-1723L*iBIn2+4745L*iBOut1-650L*iBOut2)/4096;
注意,输出可以简单地通过改变输入的系数来缩放。还要注意的是,为了效率(如果信号都是正的),除以4096最后是通过向右移动12来完成的。
图6所示的实现是5个带通滤波器和2个陷波滤波器的级联。在第一和第二带通滤波器中,信号被按比例放大4倍。12位右移完成除以4096。
注意这几行,if (iDac >24000)iDac-= 1,,if(iDac <8000)iDac += 1,,通过调整ADuC842的DAC输出来驱动AD620的电平移位输入,从而将AD620的输出移动到一个舒适的值,用于微转换器的ADC输入。这是为了减少由于电极施加到皮肤上的方式的微小差异而导致的可变直流偏移的影响。一个类似的技术被用来确保输出电压在输出范围内居中。
汇编代码的主要功能是定期测量输入信号,并确保C代码的计算以每秒500次的要求速率重复进行。在第一个实例中,我们将Timer0编程为连续运行,并以1毫秒的间隔生成中断。每个中断重启Timer0,获得ADC转换结果,并增加一个变量c2ms,该变量用于同步C代码。在代码开发的这个阶段,C代码的前几行是:
而(c2ms< 2);//在第一阶段使用。
C2ms = 0;
iAdc00 = iAdc0;
最初,c2ms为0,C代码将在行中等待而(c2ms< 2);。在1ms之后,发生Timer0中断,c2ms增加到1。再过1ms, c2ms增加到2。现在(c2ms< 2);不再满足,C代码继续将计数器c2ms重置为0并进行过滤器计算。之后,C代码将结果沿变量链向下移动,这些变量表示为下一次循环迭代准备的各种延迟结果。循环的最后一部分是printf(…),它将结果发送到PC进行显示。PC上的数据处理超出了本文的范围,可以像将其导入电子表格以进行图形显示一样简单,也可以像设计人员希望的那样复杂。这个解决方案产生了图5所示的中间轨迹。
为了改善结果,将Timer0中断率缩短为1/32 ms,并将数据积累在iAdc0中,以利用多次测量而不仅仅是一次测量。同时,而被改为而(c2ms< 64)以便C代码在执行每个过滤器循环之前等待累积64个测量值。iAdc0中的值保存在iAdc00中,用于进一步处理,然后清除iAdc0,准备累积接下来的64个测量值。图7显示了汇编代码。这个改进的解决方案产生了图5中较低的跟踪。
信号增益一直是心电信号链中一个重要的考虑因素。在上述设计中,它取决于许多因素。增益设置为8倍,如前所述。接下来,该信号的64次测量累积得到64倍的增益。接下来,从代码iBIn = iacc0 >>3;得到8倍的信号损失,最后,从前两个带通滤波器方程的缩放得到4倍的增益。这导致总增益G = (8 × 64/8) × 4 × 4 = 1024,这是典型的ECG电路。
图8显示了在inthoven lead I配置中连接的主题的结果。可以看出,尽管所使用的电子硬件很简单,但取得了良好的效果。本文表明,通过简单的硬件加上对软件的关注,可以实现显著的改进。本例中的改进绝不是在最佳水平上;这应该是一个专门的设计师可以显著改善结果。如果要实现具有不同滤波器频率或其他特殊特性的代码,则可以进行额外的改进。ADuC842的代码存储器是基于闪存的,允许在使用它的产品生产出来之后进行这种定制,甚至可以根据患者的需求进行更改。最终的结果可能是为潜在的大容量市场提供一种紧凑、廉价的ECG。
韦伯斯特约翰·G,医疗仪器。应用与设计。3(第3版),Wiley, 1998。
Firth J.和Errico P.,“ECG系统要求的低功耗、低电压IC选择”,《对话》,第29卷,第3期,1995年。
美国国家标准,电子医疗器械的安全电流限制(ANSI/AAMI ES1-1993)。促进医疗仪器协会,1993年。
F. Devices, Inc., 2003。
(1)器械条款和条件的标准第(19)段:
设备销售的产品并非设计用于生命支持和/或安全设备,在这些设备中,产品的故障可以合理地预期会导致人身伤害或死亡。买方自行承担风险,将该等产品用于生命支持和/或安全应用,并同意对设备因该等使用而产生的任何及所有损害、索赔、诉讼或费用进行抗辩、赔偿并使其免受损害。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308