毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc

上传人:laozhun 文档编号:3979385 上传时间:2023-03-30 格式:DOC 页数:23 大小:3.14MB
返回 下载 相关 举报
毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc_第1页
第1页 / 共23页
毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc_第2页
第2页 / 共23页
毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc_第3页
第3页 / 共23页
毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc_第4页
第4页 / 共23页
毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于LabVIEW的心电信号测试系统(心电信号采集) .doc(23页珍藏版)》请在三一办公上搜索。

1、基于LabVIEW的心电信号测试系统(心电信号采集)1 绪论由于计算机技术发展迅猛, 且具有众多厂商的软硬件支持, 使其在各领域的应用得到了长足的发展, 同时也促进了图形开发软件包和图形开发环境的迅速普及【2】。虚拟仪器是计算机硬件资源、仪器与实验系统硬件资源和虚拟仪器软件资源三者的有效结合。在虚拟仪器的图形软件开发平台研究方面, 最有代表性的是LabVIEW虚拟仪器软件开发平台【3】。LabVIEW 是一种基于图形化语言的开发、调试、运行的集成化虚拟仪器开发平台。它针对测试系统软件开发的需要将数据的采集、处理、存储、输出和远程传输等一些常用的功能模块化, 通过对程序模块的调用, 提高了模块的

2、复用度和软件的开发效率【4】。 LabVIEW是一种面向对象的图形化编程语言开发环境,本文对其在医学心电信号采集与处理中的应用将做出具体介绍。由于心电信号经DAQ数据采集卡采集后,在LabVIEW的前面板上只能显示出最原始,最简单的数据,尚不能直观的看出心电信号的心率大小等信息。因此,本次设计的目的是开发一套基于LabVIEW的心电信号测试系统,要求在LabVIEW的前面板上能直观的读取心率数据。这种方法在国际上,并不是一个新的课题,前人已有过研究。但是他们采用的计算方法都比较复杂。所以,在延续已有的研究方案上,本人想设计出一套更为简单、便捷的测试系统。实验方法均是在插入式信号采集卡DAQ的硬

3、件支持下,利用LabVIEW编程软件,设计一套多通道心电信号采集测试系统。使用模拟心电信号发生器,将心电信号进行调试和放大处理,然后输入DAQ数据采集卡进行采集,最终在电脑上通过LabVIEW编程软件的界面,显示出连续的,完整的心电信号。通过对LabVIEW的编程,使电脑能显示出心率大小,信号采集次数和信号采集频率的信息。与已有的方案相比,本次设计的不同之处就在于如何对LabVIEW进行编程【5】。本人的设计重点是信号的采集部分,对于种种设计中应注意的问题,和细节,将在本文中得以解释。2 虚拟仪器概述虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结

4、合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要是指这种方式。下面的框图(1)反映了常见的虚拟仪器方案。图(1) 常见的虚拟仪器组建方案虚拟仪器的主要特点有:(1)尽可能采用了通用的硬件,各种仪器的差异主要是软件。(2)可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。(3)用户可以根据自己的需要定义和制造

5、各种仪器。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威【6】。3 数据采集系统简介在计算机广泛应用的

6、今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。各种类型信号采集的难易程度差别很大。实际采集时,噪声也可能带来一些麻烦。数据采集时,有一些基本原理要注意,还有更多的实际的问题要解决。在通用微机系统里,含有一块非常重要的采集卡DAQ数据采集卡,它是完成采集系统的不可或缺的部分。31 数据采集系统的构成图(2) 数据采集系统结构上图表示了数据采集的结构。在数据采集之前,程序将对采集板卡初始化,板卡上和内存中的Buffer是数据采集存储的中间环节。需要注意的两个问题是:是否使用Buffer?是否使用外触发启动、停止或同步一个操作。311 缓冲(Buffers)这里的缓冲指的是

7、PC内存的一个区域(不是数据采集卡上的FIFO缓冲),它用来临时存放数据。例如,你需要采集每秒采集几千个数据,在一秒内显示或图形化所有数据是困难的。但是将采集卡的数据先送到Buffer,你就可以先将它们快速存储起来,稍后再重新找回它们显示或分析。需要注意的是Buffer与采集操作的速度及容量有关。如果你的卡有DMA性能,模拟输入操作就有一个通向计算机内存的高速硬件通道,这就意味着所采集的数据可以直接送到计算机的内存。不使用Buffer意味着对所采集的每一个数据你都必须及时处理(图形化、分析等),因为这里没有一个场合可以保持你着手处理的数据之前的若干数据点。下列情况需要使用Buffer I/O:

8、 需要采集或产生许多样本,其速率超过了实际显示、存储到硬件,或实时分析的速度。 需要连续采集或产生AC数据(10样本秒),并且要同时分析或显示某些数据。 采样周期必须准确、均匀地通过数据样本。下列情况可以不使用Buffer I/O: 数据组短小,例如每秒只从两个通道之一采集一个数据点。 需要缩减存储器的开支。312 触发(Triggering)触发涉及初始化、终止或同步采集事件的任何方法。触发器通常是一个数字或模拟信号,其状态可确定动作的发生。软件触发最容易,你可以直接用软件,例如使用布尔面板控制去启动/停止数据采集。硬件触发让板卡上的电路管理触发器,控制了采集事件的时间分配,有很高的精确度。

9、硬件触发可进一步分为外部触发和内部触发。当某一模入通道发生一个指定的电压电平时,让卡输出一个数字脉冲,这是内部触发。采集卡等待一个外部仪器发出的数字脉冲到来后初始化采集卡,这是外部触发。许多仪器提供数字输出(常称为“trigger out”)用于触发特定的装置或仪器,在这里,就是数据采集卡。下列情况使用软件触发: 用户需要对所有采集操作有明确的控制,并且 事件定时不需要非常准确。下列情况使用硬件触发: 采集事件定时需要非常准确。 用户需要削减软件开支。 采集事件需要与外部装置同步。32 数据采集(DAQ)卡321 DAQ数据采集卡简介LabVIEW的数据采集(Data Acquisition)

10、程序库包括了许多NI公司数据采集(DAQ)卡的驱动控制程序。通常,一块卡可以完成多种功能 - 模/数转换,数/模转换,数字量输入/输出,以及计数器/定时器操作等。用户在使用之前必须DAQ卡的硬件进行配置。这些控制程序用到了许多低层的DAQ驱动程序。本课程需要一块安装好的DAQ卡以及LabVIEW开发系统。数据采集系统的实物组成如图(3)所示: 图(3)数据采集系统的组成DAQ系统的基本任务是物理信号的产生或测量。但是要使计算机系统能够测量物理信号,必须要使用传感器把物理信号转换成电信号(电压或者电流信号)。有时不能把被测信号直接连接到DAQ卡,而必须使用信号调理辅助电路,先将信号进行一定的处理

11、。总之,数据采集是借助软件来控制整个DAQ系统包括采集原始数据、分析数据、给出结果等。 上图中描述了插入式DAQ卡。另一种方式是外接式DAQ系统。这样,就不需要在计算机内部插槽中插入板卡,这时,计算机与DAQ系统之间的通讯可以采用各种不同的总线,如并行口或者PCMCIA等完成。这种结构适用于远程数据采集和控制系统。 当采用DAQ卡测量模拟信号时,必须考虑下列因素:输入模式(单端输入或者差分输入)、分辨率、输入范围、采样速率,精度和噪声等。 单端输入以一个共同接地点为参考点。这种方式适用于输入信号为高电平(大于一伏),信号源与采集端之间的距离较短(小于15英尺),并且所有输入信号有一个公共接地端

12、。如果不能满足上述条件,则需要使用差分输入。差分输入方式下,每个输入可以有不同的接地参考点。并且,由于消除了共模噪声的误差,所以差分输入的精度较高。322数据采集卡的功能一个典型的数据采集卡的功能有模拟输入、模拟输出、数字I/O、计数器/计时器等,这些功能分别由相应的电路来实现。我们使用的是NI公司生产的PCI6221型号的数据采集卡,它具有如下功能特点: 分辨率:16-Bit, 采样率:250 kS/s, 16 路模拟输入 两路 16-位模拟输出 (833 kS/s) 24 路数字 I/O; 32-位计数器; 数字触发 相关的 DIO (8 时钟, 1 MHz) NI-MCal 校准支持 N

13、I-DAQmx 测试软件和硬件配置程序支持 NIST- 校准证书和多余70种的信号调理模块选择 NI PXI-6221 (16-通道, 24 路数字I/O, 2 路模拟输出)模拟输入是采集最基本的功能。它一般由多路开关(MUX)、放大器、采样保持电路以及A/D来实现,通过这些部分,一个模拟信号就可以转化为数字信号。A/D的性能和参数直接影响着模拟输入的质量,要根据实际需要的精度来选择合适的A/D。 模拟输出通常是为采集系统提供激励。输出信号受数模转换器(D/A)的建立时间、转换率、分辨率等因素影响。建立时间和转换率决定了输出信号幅值改变的快慢。建立时间短、转换率高的D/A可以提供一个较高频率的

14、信号。如果用D/A的输出信号去驱动一个加热器,就不需要使用速度很快的D/A,因为加热器本身就不能很快地跟踪电压变化。应该根据实际需要选择D/A的参数指标。 数字I/O通常用来控制过程、产生测试信号、与外设通信等。它的重要参数包括:数字口路数(line)、接收 (发送 )率、驱动能力等。如果输出去驱动电机、灯、开关型加热器等用电器,就不必用较高的数据转换率。路数要能同控制对象配合,而且需要的电流要小于采集卡所能提供的驱动电流。但加上合适的数字信号调理设备,仍可以用采集卡输出的低电流的TTL电平信号去监控高电压、大电流的工业设备。数字I/O常见的应用是在计算机和外设如打印机、数据记录仪等之间传送数

15、据。另外一些数字口为了同步通信的需要还有“握手”线。路数、数据转换速率、“握手”能力都是应理解的重要参数,应依据具体的应用场合而选择有合适参数的数字I/O。 许多场合都要用到计数器,如定时、产生方波等。计数器包括三个重要信号:门限信号、计数信号、输出。门限信号实际上是触发信号使计数器工作或不工作;计数信号也即信号源,它提供了计数器操作的时间基准;输出是在输出线上产生脉冲或方波。计数器最重要的参数是分辨率和时钟频率,高分辨率意味着计数器可以计更多的数,时钟频率决定了计数的快慢,频率越高,计数速度就越快。323 数据采集卡的软件配置一般说来,数据采集卡都有自己的驱动程序,该程序控制采集卡的硬件操作

16、,当然这个驱动程序是由采集卡的供应商提供,用户一般无须通过低层才能与采集卡硬件打交道。NI公司还提供了一个数据采集卡的配置工具软件Measurement & Automation Explorer ,它可以配置NI公司的软件和硬件,比如执行系统测试和诊断、增加新通道和虚拟通道、设置测量系统的方式、察看所连接的设备等。4 LabVIEW的简介LabVIEW 是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国NI公司推出的一种非常优秀的面向对象的图形化编程语言,是一个开放型的开发环境。它使用图标代替文本代

17、码来创建应用程序,拥有大量与其它应用程序通信的VI 库。例如LabVIEW 使用自动化ActiveX、DDE 和SQL,可与其它Windows 应用程序集成;使用DataSocket 技术、Web Server、TCP/IP 和UDP 网络Vis,与远程应用程序通信。在对硬件的支持方面,LabVIEW 集成了与GPIB、VXI、PXI、RS-232/485、PLC和插入式数字采集设备等进行数据通信的全部功能。在LabVIEW 下开发的程序称为虚拟仪器VI(Virtual Instrument),因为其外形和操作可以模拟实际的仪器。在对各种算法的支持方面,LabVIEW 的工具箱非常有限,这就限

18、制了大型应用程序的快速开发。LabVIEW 是虚拟仪器的图形化开发平台,是直观的前面板与流程图式的编程方法的结合,是简化了而更易于使用的、基于图形化的语言的开发环境,LabVIEW 编程语言的核心是图形化编程语言(G 语言),它类似于许多高级编程语言,也是一种多用途编程语言,不过它不是用语句来描述,而是用图形来描述。通过类似于传统的程序调试工具,使用者可以清楚地看见数据在程序中流动,使程序调试更加方便。LabVIEW 采用了所见即所得的可视化技术来建立人机界面,在测控领域,LabVIEW 提供了现成的各种对象,方便用户将各种控制对象用作自己的对象,并易于更改。LabVIEW 提供了很多现成的可

19、供调用的函数库,从底层的GPIB 、VXI 、PXI、串口数据采集板的控制子程序到大量的仪器驱动程序;从基本的功能函数到高级分析库,几乎涵盖了仪器设计中需要的所有函数;同时,LabVIEW 还支持用于网络通讯的TCP/IP 协议、动态数据交换(DDE )和网络化多媒体对象技术(ActiveX)等应用软件标准。LabVIEW 支持多种系统平台,在WindowsNT/3.1/9X/2000、SUNSTAR、HP、Power Macintosh等多种系统平台上,NT公司都提供了相应版本的软件。各平台之间开发的应用程序还可以直接进行移植。LabVIEW 还提供了动态链接库(DLL )接口和代码接口节点

20、(CIN),使用户在LabVIEW 平台上能调用其他软件平台编译的模块,如MatLAB1、VC+ 2 等,提供对对象链接和嵌入(OLE)的支持。LabVIEW 平台支持先进、灵活、强大的数字信号分析功能,自身带有波形测量、信号监测、波形发生和信号处理,它们提供了直流交流成分分析、振幅测量、脉冲测量、谐波畸变分析、信号提取等功能;同时还提供了高级数学分析库。可以实现一维、二维可视化处理以及积分微分导数和曲线拟合的功能。因此在数字信号处理领域,LabVIEW 设计的信号处理软件可以作为数据采集系统或测试仪器系统的信号处理部分。LabVIEW 的强大功能归因于它的层次化结构,用户可以把创建的VI 程

21、序当作子程序调用,调用的阶数是无限的。这种层次结构利用了模块化编程的概念,用户可以把一个复杂的任务分成许多简单的任务,再用许多子VI 来分别完成这些子任务,然后用一个总的VI 把这些子VI 结合起来,完成这项复杂的任务。子程序可以独立调试运行,这样,整个VI 调试起来相对的简便、快捷。41 LabVIEW应用程序的构成所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。411 前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对

22、象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。图(2)所示为一个简单VI的随机信号发生和显示的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。还有一个控制对象开关,可以启动和停止工作。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。控制对象(输入)显示对象(输出)图(4)随机信号发生前面板前面板工具条:412 流程图流程图是提供VI的图形化源程序界面。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端口,还有一些前面板上没有,但编程必须有的器件,例如函

23、数、结构和连线等。图(3)是与图(2)对应的流程图。我们可以看到流程图中包括了前面板上的开关和随机数显示器的连线端口,还有一个随机数发生器的函数及程序的循环结构。随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续工作下去,设置了一个While Loop循环,由开关控制这一循环的结束。函数:随机数发生器结构:循环与前面板控件对应的连线端子与前面板控件对应的连线端子图(5) 随机信号发生器流程图框图工具条:如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪

24、器面板,而且其功能也与标准仪器相差无几。413 图标/连接器VI具有层次化和结构化的特征。一个VI可以作为子程序,这里称为子VI(subVI),可以被其他VI调用。42 LabVIEW的操作模板在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。421 工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具。如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示

25、该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。下述工具中注意和的区别,用于编程时,用于运行程序时。是一个特有的工具,它并不是一个简单的画线工具,而是一个符合LabVIEW语言规定的对象连接工具。图(6) 工具模板表1 各工具图标的名称和作用图标名称功能Operate Value(操作值)用于操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具Position/Size/S

26、elect (选择)用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。Edit Text(编辑文本)用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。Connect Wire(连线)用于在流程图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。Object Shortcut Menu(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。Scroll Windows(窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。Set/Clear Breakpoint(断点设置清除)使用该工具在VI的流程图对象上设置

27、断点。表1 续表:各工具图标的名称和作用下面的两个模板是多层的,其中每一个子模板下还包括多个对象。422 控制模板(Control Palette)注意:只有打开前面板时才能调用该模板该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。控制模板如图(5)所示,它包括如下所示的一些子模板。子模板中包括的对象,我们在功能中用文字简要介绍。 图(7) 控制模板表2 各控制子的名称和作用图标子模板名称功 能Numeri

28、c(数值量)数值的控制和显示。包含数字式、指针式显示表盘及各种输入框。Boolean(布尔量)逻辑数值的控制和显示。包含各种布尔开关、按钮以及指示灯等。String & Path(字符串和路径)字符串和路径的控制和显示。表2 续表:各控制子的名称和作用423 功能模板(Functions Palette) 注:只有打开了流程图程序窗口,才能出现功能模板。功能模板是创建流程图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板【7】。功

29、能模板如图(8)所示,其子模块如表3所示。(个别不常用的子模块未包含) 图(8) 功能模板表3 各功能子模板的名称和功能图标子模板名称功能Structure(结构)包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。Numeric(数值运算)包括各种常用的数值运算,还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。Boolean(布尔运算)包括各种逻辑运算符以及布尔常数。String(字符串运算)包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。Array(数组)包括数组运算函数、数组转换函数,以及常数数组等。Cluster(簇)包括簇的处理函数,

30、以及群常数等。这里的群相当于C语言中的结构。Comparison(比较)包括各种比较运算函数,如大于、小于、等于。Time & Dialog(时间和对话框)包括对话框窗口、时间和出错处理函数等。File I/O(文件输入/输出)包括处理文件输入/输出的程序和函数。Data Acquisition(数据采集)包括数据采集硬件的驱动,以及信号调理所需的各种功能模块。Waveform(波形)各种波形处理工具Analyze(分析)信号发生、时域及频域分析功能模块及数学工具 。Instrument I/O(仪器输入/输出)包括GPIB(488、488.2)、串行、VXI仪器控制的程序和函数,以及VISA

31、的操作功能函数。Motion & Vision(运动与景像)Mathematics(数学)包括统计、曲线拟合、公式框节点等功能模块,以及数值微分、积分等数值计算工具模块。Communication(通讯)包括TCP、DDE、ActiveX和OLE等功能的处理模块。Application Control(应用控制)包括动态调用VI、标准可执行程序的功能函数。Graphics & Sound(图形与声音)包括3D、OpenGL、声音播放等功能模块。包括调用动态连接库和CIN节点等功能的处理模块。Tutorial(示教课程)包括LabVIEW示教程序。Report Generation(文档生成)A

32、dvanced(高级功能)Select a VI(选择子VI)User Library(用户子VI库)5 实验环节51 基于LabVIEW的心电信号采集与处理 利用LabVIEW 进行生理信号采集和处理,一般要结合硬件采集卡,LabVIEW 提供了大量的数据采集子程序,但是这些子程序只支持NI公司的数据采集卡和其他少数公司开发的支持LabVIEW 平台的数据采集卡,因此最简单直接的方式是使用NI公司的数据采集卡(DAQ ),但是成本较高【8】。在基于LabVIEW 的心电信号测试系统的设计中,本人就使用了NI 公司的相关产品进行心电信号的采集。利用LabVIEW 图形化软件开发平台的超强能力和

33、DAQ数据采集板,建立了一种新的心电信号采集、显示和分析方法,使传统的心电图机成为一个智能化的心电信号采集和分析系统。该系统利用传统的心电图机将心电信号转换为电信号,再由DAQ卡进行AD 转换,将信号以数字形式采集到计算机,交给由LabVIEW 设计的软件进行分析和处理。由于所采用的DAQ 是多通道,所以该系统可以同时处理多导心电信号【9、10】。数据采集系统最实用的方式是自己设计数据采集卡,然后通过串行通信、并行通信、USB 等接口的方式与上位机进行通信【11】。本系统主要由三部分构成,如图(9)所示:图(9) 系统的构成系统各部分的主要功能有:(1) 心电采集预处理电路该模块为必要的硬件处

34、理模块,它通过前端电极,引入人体标准导联心电信号,从而对心电信号进行必要的放大和去除干扰,该模块电路利用集成电路构成的差动输入方式和右腿驱动方式提高CMRR,利用光电隔离技术保证人体的安全性,输入的心电信号通过放大可达到1.5.Vp-p。(2) Labjack接口卡该模块是基于USB2.0串行口的多功能数据采集卡。它有8个模拟输入端子可用于心电信号的输入,每路输入范围在正负10V之间,分辨率为12bit,另外,它有多路数字信号输入/输出中断,用于开关量的控制和输入。该模块能用软件和硬件定时捕捉,当时软件定时捕捉时,该模块能以每通道200dot/s采样速率进行采集,它将已放大的模拟心电信号转换成

35、数字信号并通过USB借口送入PC进一步处理。(3)通用微机系统该系统模块主要利用美国National Instrument Corporation公司研制的虚拟仪器图形编程软件LabVIEW 7.0,在微机上编制应用程序以实现心电信号的实时动态显示、分析、存储、回放和输入、输出控制,主要完成对信号的数字滤波、R波提取、心率计算。该系统的特点是利用计算机的强大信号处理能力实现心电信号的分析监控功能【12】。52 实验原理讲解实验程序框图如图(14)所示:图(14)采集程序模型简单介绍一下各器件的功能如下:AI Config VI 指定使用的采集卡和通道,并指定获取的样本数(number of s

36、cans to acquire )。本设计中,该VI在计算机中开设大小为2500的缓存;AI Start VI 启动一个每次50点,每秒250次的扫描,并将得到的数据放入缓存。AI Read VI 从计算机的缓存中读取50个点。AI Clear VI 停止数据采集过程,并释放缓存和板上的资源【15】。具体的实验程序图(15)和前面板图(16)如图所示:图(15)程序图图(16)前面板接下来,将对图中的部分器件进行详细介绍。(1) 对应前面板中的 ,功能为设置输入的上下限。它是由两个器件镶嵌而成的。您可以在该数组控制器框中输入您想设置的输入极限。这样每个输入通道都被设置成您定义的输入范围。 (2

37、) 对应前面板中的 ,其功能是选择输入的设备号。这里选择的是设备1。(3) 对应前面板中的 ,其功能是选择输入通道。我这里选择的是通道0。您只能同时选择一组通道。当然,您可以根据自己具体的需要从下拉菜单中选择合适的通道。该器件也是由两个不同的器件经过设置镶嵌在一起的。(4) 对应前面板中的 , 其功能是选择缓冲的宽度,这里的缓冲为2500。数据被寄存在这里,然后照原样被输出。 (5) 对应前面板中的 ,其功能为选择延迟时间。像这种器件,在软件里是不能直接找到的,需要经过一系列的设置。先要在前面板中找出一个 的器件,对应程序图中的 ,在该图标上右击,选择View As Icon,再右击选择Pro

38、perties选项,修改它的属性。选择Data Range,在右侧单击DBL图标,选择SGL。这样,一个对应的,完整的,正确的功能器件就设置好了。(6) 对应前面板中的 ,其功能为选择扫描频率,这里选择的是250次/秒。可以根据需要进行修改。(7) 这两块其实是一个器件的多个属性,对应前面板的其功能是显示输出结果,并可以对输出波形进行修改,改变栅格颜色、宽度等。您可以在显示波形的那个图标上右击,选择Visible Items选项,去掉选项里的一些子选项前的勾,来隐藏右边的3个图框。(8) 对应前面板中的 ,其功能是显示扫描的次数。该器件也是要经过一系列的设置才最终成型的。方法与的设置雷同,在此

39、就不重述了。(9) 对应前面板中的 ,其功能是选择输出图形中您想要开始的起点位置Y坐标。 (10) 对应前面板中的 ,其功能是定义一个心电波形的扫描点的个数,这里为50个/次。 (11) 对应前面板中的 ,其功能是控制程序的运行进程。大的控制器件就是这些,剩下的为一些参数设置,包括数组等参数。在程序执行前,您可以单击工具栏上的图标,它的功能是执行点亮。单击后,将变成 ,这时,您再执行程序时,数据流就会像一个一个的点一样,形象的从程序的开始,流向结束。您可以清楚的看见这个程序执行的过程。 为循环控制圈,主要功能为循环控制。在执行循环控制前,有必要对X轴的标度进行设置,于是本人设置了 这样一个控制

40、器。它也是循环控制器里的一种,在这里它的功能就是对X轴进行设置。可以控制起点坐标的位置。关于心率的计算,这里涉及到一些数组的概念和运用,下面我简单的介绍一下有关的知识。 Format Value:字符串的格式转换。 Array Size:array为任意维数的数组,size(s)返回各维的长度。如果array为一维,则size(s)返回一个整数值;如果array为多维,则size(s)返回一维整型数组,每一个分量为一维的长度。 Index Array:为索引数组元素,用于访问数组中的某个元素。索引数组n-dimension array为任意类型的n维数组,接入此输入参数后函数自动生成n个索引输

41、入端子,这n个输入端子作为一组,使用定位工具拖曳函数的下边沿可以增加新的输入索引端子组,每组索引端子对应一个输出端口。建立多组输入端子时相当于使用同一数组输入参数,同时对该函数进行多次调用。输出端口element or snbarray返回索引值对应的标量和数组。 Concatenate String:把几个字符串连接起来组成一个字符串。 Array To Spreadsheet String:把数组转换成电子表格格式的字符串。 Initialize Array:它的功能为创建n维数组,每一维长度分别由dimension size 0n-1指定,创建之后每一个元素的值都与输入参数element

42、相同【16】。结 论经过3个月的实验,最终我完成了整个的毕业设计。但实验的过程是极为曲折的。在整个的实验中,从对课题的理解,对程序的设计,最后到对程序的调试,我都遇到了重重困难。由于以前没有对LabVIEW软件进行过仔细的学习,也不了解该软件的多种强大功能,因此在设计过程中,常常因为一个功能器件的选择,就要花去大量的时间。即便是选对了器件,还要对其属性进行多项设置。碍于多种因素,实验进展缓慢。但是,在辅导老师的帮助和提点下,对LabVIEW软件进行了深入的理解,一边学习一边设计。最终,功夫不负有心人,我在5月下旬,终于设计出一套基于LabVIEW的心电信号的采集测试系统,成功的完成了毕业设计。

43、本次课程设计是用Labview7.0软件实现对所采集的生理信号进行分析和显示;主要研究心电信号的检测、采集和显示;编写Labview程序,对所采集的心电信号实现检测QRS波群并计数,实现心率的显示。 本系统的特点是利用虚拟仪器技术,将传统心电监护系统中需要硬件电路实现的大部分功能,转为由软件来实现,如仪器面板的显示与控制、ECG中R波的检测、不同导联的选择与控制等功能,不仅节约了成本、避免了重复维修产生的浪费,而且由于Labview具有强大的扩展功能和通用功能模块,便于今后监护项目由心电扩展至诸如血压、呼吸、脉搏等多种生理内容,监护深度可以进一步深入至更复杂的诊断和分析、系统化存档和检索、网络通讯等功能。经过这几个月的训练,我想我具备了独立运用LabVIEW软件进行一些简单设计的能力。我的设计重点部分心电信号采集部分,得以成功完成。就整个设计来说,美中不足的是,我们的程序产生的数据是以文本文档的形式保存的,在前面板上未直接显示出来。若想知道心率大小,还得进行更深一步的分析计算。如果能直接一目了然的看出心率的大小,那是很完美的。若要将这个课题深入下去,我想我的下一个目标就是实现在

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号