如何使用ADS基础实验平台和LabVIEW搭建心电图测试仪?本期IECUBE将带大家用ADS基础实验平台和LabVIEW搭建心电图测试仪,一起来看看吧。
在这个案例中,我们将使用ADS的示波器来测量真实的心电信号。由于测量信号的振幅很小,它需要先用外部电路进行放大,外部电路可以建立在面包板上,由ADS提供电源。在WaveForms的帮助下,接收到的数据被发送到LabVIEW中进行后处理。
软硬件清单
软件
1. 一台安装了最新版本的WaveForms和LabVIEW的计算机
2. WaveForms 的LabVIEW驱动工具包
3. Biomedical toolkit
4. ECG VI
硬件
1. 带有面包板和MTE线缆的ADS
2. 部分模拟电子器件及线缆
(1) 1个OP482四路运算放大器
(2) 2个1N914二极管
(3) 1个47nF 电容器
(4) 4个4.7KΩ 电阻器(黄-紫-红-金)
(5) 1个10KΩ电阻(棕-黑-橙-金)
(6) 2个20KΩ电阻(红-黑-橙-金)
(7) 3个100KΩ 电阻器 (棕-黑-黄-金)
(8) 1个150KΩ 电阻器 (棕-绿-黄-金黄)
(9) 2个470KΩ电阻(黄-紫-黄-金)
(10) 跳线若干
3. 3 个 鳄鱼夹
4. 3个 表面电极
项目搭建和使用说明
电路搭建
本节将贯穿心电图测量电路的每个阶段。你也可以直接跳到最后一步,在最后一步有一个完整的电路图,以及用Fritzing软件绘制的接线图。
构建放大器电路
皮肤上电位差的振幅只是在毫伏或微伏的范围内,所以它必须被放大。为了放大信号,我们使用OP482构建放大器。增益设置为500(A = (1 + 2 * R2/R1) * R3/R4)。正极输入应连接到右腿,在脚踝上方,负极输入连接到右手,在手腕上。在表面电极和放大器输入端之间连接100kΩ的电阻,以限制任何流向身体的电流(防止操作失误的情况)。
放大器的输出可以在WaveForms的示波器仪器中可视化。
滤除共模信号
可以看出,测量的信号噪音太大,心脏信号无法被识别。为了解决这个问题,使用OP482 ( A = -R6 / R5 )中的第四个运算放大器对第一级放大器输出的共模信号进行放大和倒置。经过放大和倒置的共模信号(G)被连接到一个限流电阻上,然后连接到左腕。在G表面电极和设备接地之间连接两个反向并联二极管,将信号限制在-0.6V和+0.6V之间,以防止触电。
信号变得具有周期性,噪音较小,但它的偏移量很大。
消除直流偏移
在放大器的输出和示波器探头之间接入一个小的去耦电容,就可以很容易的消除信号偏移。
在信号的功率谱上,直流分量消失了。由于在皮肤上出现的来自电源的50赫兹正弦信号,高功率谱成分出现在50赫兹的倍频上。相较于使用模拟滤波器,在LabVIEW中使用高阶数字滤波器更容易消除这些问题。
在Fritzing的接线图
在下图中,给出了在Fritzing中绘制的相同电路的接线图,更容易参考。
用户界面
下载、解压并打开软硬件清单中提供的ECG VI。在前面板上,为了控制数据采集和后处理,有四个控件可用:一个用于选择示波器通道的下拉列表;一个输入字段,用于输入数据采集的时间,单位为秒,一个用于选择主频率的下拉列表,该频率之后会被过滤掉,以及用于停止测量的停止按钮( 按下按钮后 ,当前数据采集完成时 ,程序停止 )。
在控件下面放置了一个绘图窗格,用于显示心电图信号。在绘图窗格下面有一个滑块和一个数字指示器,用于显示计算出的心率,当心率被认为是正常(50-100bpm之间)时,滑块为绿色,否则为红色。在右边放置一列控件,用于显示从心电信号特征提取模块获得的所有数据。
数据流
数据采集
ECG VI的程序框图分可为六个部分,具有不同的结构。前两部分为示波器仪器的初始化和数据接收,第一部分中,将使用的测试测量装置设置为ADS,借助前面板上相应的控件选择示波器通道,探头衰减设置为1 ( 因为使用 MTE线缆 ),触发耦合设置为AC,偏移设置为0,范围设置为-1.5V ~ + 1.5V ( 这并不重要 ,因为可以使用自动缩放 )。
示波器的采样模式被设定为在前面板控制元件的控制下,在指定的时间内以1000的采样率采样。在初始化后,仪器句柄和错误信号被送入一个while循环,数据采集开始并持续,直到按下“停止”按钮。
后处理
获得的信号仍然像WaveForms上看到的那样有噪声,所以需要进行过滤。在估算出直流分量并从信号中减去偏移后(去耦后可能仍有一些),数据进入移动平均滤波器,其参数取决于使用频率。这个滤波器几乎完全消除了功率谱中的50赫兹或60赫兹分量,以及其谐波,输出信号被平滑化。从电路搭建部分提供的功率谱上可以看出,信号中最重要的成分在50赫兹以下,所以上述过滤掉的信号均不会对有效信息造成损坏。然而,由于QRS波(心电图信号的高振幅部分)的上升时间约为15ms,应考虑25Hz的阈值,因此低通滤波器的截止频率为75Hz。
经过适当的过滤后,得到数据集的极大值点,用峰值检测器,找到所有高于极大值75%且宽10毫秒的数据点(P-QRS和T-QRS的信号不应达到这个振幅)。这些点的位置与信号的时间导数相乘,并与起始时间相加求和,得到每个峰值的准确时间。计算出两个连续峰值之间的时间并转换成频率,然后与60相乘,得到每分钟的心跳。
结果和清理
过滤后的信号被显示在绘图窗格和心电信号特征提取模块,使信号本身和有关数据可视化。计算出的心率在滑块的帮助下也是可视化的,而且会进行评估,如果它低于50bpm,或高于100bpm,滑块的填充颜色就会变成红色(否则就是绿色)。
只有在按下停止按钮或出现错误时,才会退出while循环,但在这两种情况下,都是先完成当前的数据采集。退出循环后,示波器仪器被停止并关闭,以便其他程序可以调用ADS。在这里还对错误进行了处理:如果有任何错误,就会显示相应的信息。
为了测试该设备,在面包板上搭建电路,打开ADS并将其连接到PC上。打开ECG VI。左腕内侧放置1个表面电极,右腕内侧放置1个电极,右踝内侧放置1个电极。
用鳄鱼夹将电路连接到电极上,如下图所示。启动VI。保持几秒钟静止不动,你将在绘图窗格上看到你的心电图信号和估计的心率。