基于LabVIEW的虚拟心电示波器的设计研究.docx
《基于LabVIEW的虚拟心电示波器的设计研究.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟心电示波器的设计研究.docx(15页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的虚拟心电示波器的设计研究
基于LabVIEW的虚拟心电示波器的设计研究
作者:
梁刚毅指导老师:
李洪波
摘要:
在心电信号的自动分析中,心电信号特征波形(如P波、QRS波群)的识别与分析尤为重要,也具有相当大的难道。
LabVIEW是一种新型的图形化编程工具,尤其在信号处理领域具有很大的优势。
本文主要探讨以LabVIEW8.5为平台的虚拟心电示波器的设计方法。
通过示波器技术中的信号触发原理对心电信号的特征波形进行识别、记录和分析。
以实现心电图的显示和各个心脏电生理参数的准确计算及输出为最终目的。
关键词:
心电图(ECG)LabVIEW示波器触发
DesignandResearchofVirtualDigitalElectrocardiogramOscillographbasedonLabVIEW
Abstract:
ThespecialwaveformcomplexdeteetionisthemostimportantanddifficultissueinECGautomaticanalys.
Asanewtypeofgraphicalprogrammingtools,LabVIEWhastremendousadvantagesinthefieldofsignalprocessingparticularly.OnthisdissertationwewilldiscussthedesignmanneroftheECGoscilloscopeintheLabVIEW8.5.ThespecialwaveformoftheECGbediscerned、recordedandanalyzedbytheaxiomoftriggeroff.ShowtheECGandcomputetheparameteroftheECGistheobjectiveofthisdesign.
Keywords:
Electrocardiogram(ECG)LabVIEWOscilloscopeTriggeroff
1前言
心电图(简称ECG)是心脏在每个心动周期中,由起搏点、心房、心室相继兴奋,伴随着生物电的变化,通过心电描记器从体表引出多种形式的电位变化的图形。
心电图是心脏兴奋的发生、传播及恢复过程的客观指标。
由于虚拟仪器具有稳定性高,不会因温度、湿度的影响而产生误差,不需要精度组件,性价比高等优点,同时因为医院信息系统的建设在我国得到了飞跃性的发展,所以虚拟医疗仪器技术的研究、开发及应用也渐趋广泛。
而虚拟心电示波器就是其中的一个重要的范畴。
2信号触发与心电图分析
2.1信号触发的基本原理
示波器主要由示波管、垂直通道、水平通道和电源电路等部分组成。
而为了满足不同测量和显示的需求,不同的示波器其组成部分又有所不同。
在电子枪中,电子经过聚焦形成电子束,电子束通过垂直或水平偏转板打到荧光屏上,产生亮点,亮点在荧光屏上垂直或水平偏转的距离与加在垂直或水平偏转板上的电压成正比,即亮点在屏幕上移动的轨迹,是加到偏转板上的电压信号的波形。
示波器显示图形或波形的原理就是基于电子与电场之间的相互作用原理进行的。
根据这个原理,示波器可以显示随时间变化的信号波形和显示任意两个变量X与Y的关系图形。
示波器通过对加在X通道上的信号和加在Y通道上的信号进行分析从而得到两个信号间的关系并显示在荧光屏上。
2.1.1扫描的概念
如上所述,如果在X通道上加一个随时间线性变化的信号,即加上一个锯齿波电压,Y通道不加信号,那么荧光屏上光点就在X方向作匀速运动。
这样,X方向的偏转距离的变化反映的就是时间的变化。
光点水平移动所形成的水平亮线就是“时间基线”。
图2-1X,Y偏转板同时加信号时光点的轨迹图
当锯齿波信号达到最大值时,屏幕上的光点也就达到了最大偏转,然后锯齿波信号就迅速返回起始点,光点也迅速返回到屏幕的最左端,再重复前面的变化。
光点在锯齿波作用下扫动的过程称为扫描。
2.1.2同步的概念
如果将X信号每一次扫描开始时刻都对应于Y信号一个周期的同一点,使得每一次扫描对应的Y信号都相同,也就是让示波器的扫描信号与被测信号“同步”。
当将这样的信号同时分别加到示波器的X和Y偏转系统时,由于扫描信号与被测信号同步,也就是被测信号与时间基线一一对应,这样就可以得到唯一波形,因为每一个扫描周期电子束都打在这个波形的轨迹上,而不是其他位置,因而这个波形是稳定的。
这就是示波器扫描与信号同步的结果。
2.1.3触发
为了使扫描信号与被测信号同步,我们可以设定一些条件,将被测信号不断地与这些条件相比较,只有当被测信号满足这些条件时才启动扫描,从而使得扫描的频率与被测信号相同或存在整数倍的关系,也就是同步。
这种技术我们就称为“触发”,而这些条件我们称其为“触发条件”。
2.2信号触发在心电图分析中的应用
心电信号是一种连续的非线性周期信号。
在对心电信号进行分析时,重要的是对心电信号中的特征波形进行分析。
因为不同的特征波形有着其各自的含义,代表着心脏及相关组织中不同部分的“工作情况”。
分析心电信号的方法有很多,在本设计中主要是以信号的电平触发,从而记录通过触发的特征波形。
以心电图知识为基础,通过公式及算法对记录下的特征波形进行计算或估算,从而得出该信号的心率、QRS间期、P波间期等有着医学参考价值的心电数据。
3基于LabVIEW的虚拟心电示波器设计
基于LabVIEW的虚拟示波器的设计以LabVIEW8.5为程序设计平台,首先实现一般示波器的常规功能。
在YJ-01型医学电子教学仪器综合实验箱的硬件支持下,以实现对硬件采集到的三导联心电信号进行相关处理及分析为最终目的。
3.1虚拟心电示波器的前面板设计
如图3-1所示,虚拟心电示波器的前面板主要分为了波形显示、信号设置和滤波处理三个部分。
设计中采用了选项卡的分支结构,把不同类型的功能模块进行了明确的分类,避免了操作控件的重复及冲突。
图3-1虚拟心电示波器的前面板设计
上图是示波器正在进行的对仿真信号进行处理及李沙育图显示。
从图上可以看到,本设计具有通用示波器的一般功能,可以对不同的信号进行模拟仿真。
3.2心电信号输出、处理及分析部分设计
心电信号部分采用了三通道同步输入、独立处理的方法,实现了三导联心电图的输出(如图3-2所示)。
图3-2三导联心电图
通过对不同导联的心电信号进行垂直偏移控制令三导联信号能清晰并独立地显示在屏幕上。
在选定被检测导联信号后就可以对信号进行放大及滤波等预处理,供后期处理和分析使用(如图3-3所示)。
图3-3预处理前后的心电图对比
预处理后的心电信号波形图显示较为清晰,也提高了后期处理和分析的精确度。
信号经过预处理后就可以通过电平触发的方法记录不同的特征波形。
由于虚拟心电示波器在测量中主要针对的特征波形是P波、R波和S波,所以在选择被测导联时应该选择这三个波形较为清晰的导联。
图3-4是针对第三导联所进行的R波测量的触发电平调节,图3-5是通过触发所记录下的信号波形。
图3-4触发电平调节图3-5通过触发所记录的波形
通过触发被保留的各个特征波形再经过不同算法的处理和分析后就可以显示出该心电信号中的瞬时心率、QRS波群间期和P波宽度(如图3-6所示)。
其中由于心电信号的Q波并不明显,所以QRS波群的间期是根据R-S间期通过其函数关系进行估算的。
图3-6各个测量值计算结果显示
在调节好触发电平的情况下,虚拟心电示波器可以自动检查和计算出各个心电信号的电生理参数。
以后台相关算法的支持,基本实现了数据测量和计算的自动化。
3.3虚拟心电示波器的设计思路
图3-7虚拟心电示波器的程序框图
如图3-7所示,在虚拟心电示波器的程序框图中,加入了子VI的调用、循环结构、分支结构、局部变量调用等多种编程的思想。
除了能体现G语言可视化编程的特点以外,还实现了输出波形的动态显示效果、水平垂直的增益偏转、信号的放大滤波、心电信号的各个特征波形的分析和计算等多项功能
3.3.1设计总体思路
如图3-8虚拟心电示波器设计总体思路框架图所示,虚拟心电示波器的功能从开始就已经根据不同类型信号源的选择而作出了明确的分工。
当信号源为仿真信号时,首先就要对两个通道的信号进行参数的调节和整合得到双通道的信号,再通过水平垂直增益偏转调节、加噪、滤波、相位幅值整合及通道选择等处理后得到相应的波形显示。
当选择信号源为心电信号时,首先是进行心电信号的读取。
然后把读取到的信号(以三导联信号为例)转化为三维数组。
通过对数组进行拆分、调节垂直偏转、整合就能得到清晰的三导联心电图。
再选择被测量的导联信号,就可以开始对信号进行放大、滤波等预处理。
调节触发电平对预处理后的信号进行触发并记录通过触发信号,对通过触发的信号进行相关的分析计算就能得到相应的电生理参数。
实现了心电信号的非实时处理与分析。
图3-8虚拟心电示波器设计总体思路框架图
3.3.2仿真信号部分的设计
仿真信号的的发生部分以两个仿真信号发生子VI为主体,通过子VI的创建及调用,减省了主程序的后台设计的空间,令主程序的程序框图变得简约明了。
同时也令系统的思想得到了一定程度的体现。
与此同时,为了实现噪声信号逐点添加的效果,本设计调用了以MATLAB所编写的噪声发生子VI。
通过LabVIEW8.5中的MATLAB程序节点,将噪声发生及调整的相关MATLAB算法写入LabVIEW中。
利用MATLAB在信号处理方面的强大计算能力,令程序在功能上得到了完善。
通过MATLAB节点不仅可以实现MATLAB与LabVIEW的结合,而且可以减省.M文件中对自变量的定义从而简化了.M文件,突出主要的算法程序。
下面是用于生成噪声的.M文件主要程序。
a=rand(1,N);(生成均值约为0.5,方差约为1/12的均匀白噪声)
b=a-mean(a);(令噪声信号的均值变为0,记录为信号b)
c=b*sqrt(p/var(a));(令噪声信号的方差变为p,记录为信号c)
第三句是本算法的重点,下面将进行详细的演算分析:
3.3.3仿真信号波形输出部分的设计
为了实现示波器的水平垂直的增益和偏转,在本设计中波形输出部分应用了属性节点及相关参数的调节。
如图3-9所示
图3-9垂直增益控制部分
两个通道的垂直增益控件是共通的,Y坐标上的最大值和最小值分别设定为10和-10,通过条件语句实现多档位的变换。
具体参数设定如表3-1所示:
表3-1垂直增益的设置
序号
最大值
最小值
放大倍数
增益档位
0(默认)
10
-10
100
10mV/div
1
10
-10
50
20mV/div
2
10
-10
20
50mV/div
3
10
-10
10
0.1V/div
4
10
-10
5
0.2V/div
5
10
-10
2
0.5V/div
6
10
-10
1
1V/div
7
10
-10
1/2
2V/div
8
10
-10
1/3
3V/div
9
10
-10
1/5
5V/div
由于在LabVIEW中当不添加缩放系数时,波形图默认显示的是1V/div,所以增益档位在实现时,其档位表示的电压值与缩放系数的乘积就必须为1V/div。
而水平增益和偏转的调节原理与垂直的相似,都是通过缩放系数对波形图的属性节点进行调节的。
3.3.4信号读取及输出部分的设计
心电信号的读取是一个重要且复杂的部分,这部分涉及到了不