基于虚拟仪器技术的家用心电仪的设计
扫描二维码
随时随地手机看文章
0引言
心血管疾病日益严重地威胁着人类的生命,通过日常监护预先发现异常,及时施救,是对抗心血管疾病的重要手段。近年来一些便携式的家用心电仪陆续诞生,满足了心电参数快速采集的基本需求,改善了家庭护理条件。随着计算机和互联网技术的发展,远程监护系统应运而生,远程数据采集和分析对便携式心电仪在信息可视化、数据记录分析以及资源共享等方面提出了新的需求。
虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通讯及图形用户界面的软件组成的测试系统。它以计算机作为统一的硬件平台,把传统仪器的专业化功能和面板控件软件化,兼具传统仪器的功能和计算机智能资源。利用虚拟仪器强大的数据分析和图形界面功能,开发小型化、模块化、网络化的家用心电仪,可以很好地实现信息可视化、数据分析和远程共享功能。
图1 基于虚拟仪器技术的家用心电监护系统结构示意图
本文设计了一种基于虚拟仪器技术的家用心电监护系统(如图1),重点介绍可移动终端与虚拟分析仪的设计与实现。可移动终端基于51单片机与相关的模拟电路开发实现,虚拟分析仪则通过计算机上的LabVIEW软件编程实现。患者的心电信息由可移动终端采集,经处理得到标准化的数字信号,无线传送至虚拟分析仪,实现图形化的显示、记录与数据分析功能。虚拟分析仪还能通过互联网实现与专业医疗机构的信息共享,达到对特定对象重点监护的目的。
1可移动终端
可移动终端实现心电信号的采集、传输与就地显示,由心电信息采集模块、主控制器、显示模块、电源模块和无线通讯模块五部分组成(图2)。
图2 可移动终端结构图
1.1心电信息采集模块
体表心电信号极其微弱,极易夹杂噪声干扰,心电信息采集模块就是通过反复的放大与滤波来提取其中的有效信息。信号处理步骤主要包括:前置放大、带通滤波、工频陷波、次级放大和电平抬升(图3)。
图3 心电信息采集模块电路结构框图
图4 LMC7660电压转换电路原理图
前置放大部分采用具有高输入阻抗、高共模抑制比的差分放大电路。带通滤波部分由高通滤波器和低通滤波器组成,设计通频带为0.3~100Hz.50Hz工频干扰采用双T陷波电路来抑制。滤除噪声之后,还需经过次级放大与电平抬升以使波形覆盖A/D采样的电压范围,保证转换精度,通过同相放大电路与加法电路实现。信号最后输出到主控制器STC12C5A08AD的A/D模块。
为保证系统的性能,前置放大电路采用高精度、高输入阻抗仪表放大器AD620,其他电路均选用高精度低噪声运算放大器OP07来设计。
1.2电源模块
系统采用5V锂电池供电,但由于运算放大器需要正负电源供电,所以通过LMC7660来设计一个-5V的电压转换电路。LMC7660是高度集成的CMOS电压转换器,只需外接一个10μF的充电电容(图4),具有宽工作电压范围与高电压转换效率的特点。
1.3无线通讯模块
无线通讯模块是联系可移动终端与虚拟分析仪的纽带,保证了系统的便携性与灵活性。选用APC220集成半双工微功率无线数据传输模块,该模块嵌入高速单片机和高性能射频芯片,为底层设置提供了通用接口,方便在线修改参数,无需编写复杂的设置与传输程序,大大提高了开发效率。其引脚定义如表1所示。
可移动终端与虚拟分析仪各配一块APC220模块,终端与APC220直接通过串口(RXD、TXD)连接,分析仪则通过TTL-USB转换器与APC220通讯。
1.4主控制器与显示模块
主控制器是整个可移动终端的核心,接收信息采集模块输出的波形,实现A/D转换与数据输出功能,选用51内核的单片机STC12C5A08 AD.STC12C5A08AD是一种低功耗、高性能的8位微控制器,具有8k字节Flash,1280字节RAM,内部集成8路10位高速A/D转换通道。显示模块选用点阵式图形液晶显示屏FYD12864,分辨率为128×64点,带中文字库。
主控制器电路包括时钟电路、复位电路、A/D接口电路、显示接口电路和串行通信电路(图5)。单片机通过P1.0(ADC0)口接收采集模块的输出信号;通过地址线(P2.3,P2.4)、数据线(P0口)、控制线(P2.0,P2.1,P2.2,P2.5)控制12864显示屏;通过串行口(P3.0,P3.1)与通讯模块相连。复位电路包括上电复位与按键复位;晶振的时钟频率选为11.0592MHz,确保精确的通信波特率。
图5 主控制器及其接口电路原理图
STC12C5A08AD兼容标准8051指令系统,采用工程上普遍使用的C51语言来编写程序。主要包括A/D转换、串口发送和波形显示。
首先设置串口的工作方式、波特率,选择STC12C5A08AD自带的A/D转换通道ADC0,定义其工作在单端方式,通过定时器溢出触发方式来启动A/D转换,待转换完成自动进入中断服务程序,将结果存入RAM.再将RAM中的数据写入串口缓存器SBUF,完成串口发送。程序流程如图6所示。
图6 A/D转换与串口通信程序流程图
图7 波形显示程序流程图
波形显示主要通过定时刷新液晶屏图片的方式来实现。屏幕横轴表示时间刻度,纵轴表示电压值;根据横向分辨率定义一个长度为128的数组。每隔一定的时间,根据当前RAM存入的数据a点亮坐标(1,a),同时将之前点亮的点全体向右移动一格,并将数组长度减1.待数组长度减至0,则清屏重新开始,如此往复循环。程序流程如图7所示。
2虚拟分析仪
虚拟分析仪包括无线通讯模块与计算机,无线通讯模块在1.3小节中已有详细介绍,计算机为普通家用计算机。该部分是整个系统的枢纽,承担着信息展示、综合分析与资源发布等功能,通过LabVIEW软件编程实现,其功能结构与工作流程如图8所示。
图8 虚拟分析仪结构图
虚拟分析仪采用NI公司的LabVIEW8.5软件进行开发,其面板采用图形化的编程语言(G语言)进行开发,设计了通讯端口设置、心电图显示存储、心率计算、健康状况评估、网络发布等功能模块。程序流程图如图9所示,首先设置通讯端口参数,读取数据并通过波形图的方式显示与保存;同时通过波形图计算心率,并存入数据库;根据数据库建立的模型与实时心率综合分析患者当前的健康状况,并将波形、心率、评估信息通过网络实现共享。
图9 虚拟分析仪程序流程图
2.1通讯端口设置
无线通讯模块与分析仪通过USB映射的虚拟串口通讯,不同的终端设备通过串口号来区分。同时,还需设置数据格式和传输速率,以便相互匹配。该功能利用LabVIEW自带的visa驱动来开发,端口号为COM3,波特率9600b/s,8bit,1位停止位,无奇偶校验位。
2.2心电图显示与存储
心电图显示是将从通讯端口读取的数据以波形的形式显示在面板上,同时将历史波形以文件的形式存储,随时调用回放。波形显示利用LabVIEW自带的波形图控件,将串口读入的值转化成数组,再转化成图形显示在面板上。波形存储则利用“写入波形至文件”函数实现,用条件结构来控制其运行。
2.3心率计算与分析
由于心电图波形信号成分比较复杂,波形的频率并不直接等于心率,所以心率的计算需要基于波形图像的分析来实现。通过观察波形可知,一次心跳伴随着一个较窄的尖峰脉冲,只要准确地捕捉到尖峰脉冲,就能求得心率。对尖峰脉冲的检测,可以调用LabVIEW自带的“波峰检测”函数,注意合理的阈值和宽度设置,需要在实验过程中反复调试。心率计算的算法为:
式中,F表示心率,T表示相邻波峰时间间隔,l表示相邻波峰索引位置之差,t表示相邻两点采样时间间隔,f表示采样频率。
“波峰检测”函数计算出当前波峰所处的索引位置,利用移位寄存器可以求出相邻两波峰的索引位置之差l,将其乘以相邻采样点的时间间隔t,得到相邻波峰的时间间隔,也即两次心跳的时间间隔,从而得到心率。
分析仪将长期监测得到的波形和心率数据存入数据库,综合时间、环境、既往病史等因素建立患者的经验模型。根据大量的数据计算出患者的心率平均值、正常心率范围等参数,结合当前的测量值,给出异常状况的提醒与分析,实现对健康状况的初步评估。
2.4网络发布
网络发布功能为远程访问提供了一个客户端接口,医疗机构能够通过互联网从web浏览器直接访问虚拟分析仪,获取最及时的患者信息,进行更为专业的分析与诊断。利用“Web发布工具”,设置查看方式与URL地址,即可实现该功能。
3实验结果
系统经设计、制板、安装、联调,运行稳定之后,选取健康志愿者进行测试。测试实验原理如图10所示,体表信号通过心电导联进入可移动终端,在虚拟分析仪面板上显示心电图波形、心率以及分析结果:同时,用示波器测量心电信息采集模块的输出信号,以此作为真实的心电图波形,人工计算心率真实值,对分析仪显示的结果进行校验。
图10 测试实验原理图
以一名志愿者的实验数据为例,分别得到心电信息采集模块输出的波形(图11)和虚拟分析仪的运行界面(图12),两种方法得到的测试数据对比如表2所示。同时,分析仪的心率数据以仪表盘的形式图形化显示,数据分析面板显示为“正常”,远程访问的功能也基本实现。实验结果表明,心电仪波形失真小、测量精度较高、数据分析功能强、可视化程度高,达到了预期目标。
图11 心电信息采集模块输出信号
图12 虚拟分析仪运行状态
4结束语
基于虚拟仪器技术的家用心电仪遵循模块化的设计理念,以低廉的硬件成本实现了对患者心电信息的采集、显示、存储和分析,具有灵活便携、可靠性高的特点;借助计算机与LabVIEW软件强大的数据计算能力,开发了人性化的信息集成与数据分析功能,对异常状况及潜在威胁给予提醒,达到预防保健的目的;开放式的网络访问接口便于专业医疗机构对患者进行重点监护,进一步保障了患者的生命安全。具有较强的临床实用价值。