版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、攀枝花学院本科毕业设计(论文)基于USB4716的心电监测系统设计学生姓名: 学生学号: 院(系): 电气信息工程学院 年级专业: 2011级测控技术与仪器 指导教师: 黄昆 讲师 助理指导教师: 二一五年五月 摘 要心电监测系统是一种需要的监护系统,通过它可以获得检测对象心电信号的具体信息,其对研究不同状态下的心脏状态具有重要的价值。该系统主要应用USB4716数据采集卡和LabVIEW系统,通过传感器获取心电数据,利用数据采集卡将数据传输到PC机。在PC机上,LabVIEW针对心电数据分别进行波形放大和滤波前后的波形显示和滤波后的频谱显示,与此同时将原始心电数据存储为DAT文件,此文件可以
2、被本程序中的读取模块进行读取、分析和显示。从而使系统实现实时显示、滤波处理、频谱分析并能保存波形文件的虚拟仪器。此虚拟仪器系统操作方便,便于修改,适用于人体心电监护、信号采集及后期分析。关键词 LabVIEW,USB4716,心电监测ABSTRACTECG monitoring system is a monitoring system, specific information can be acquired by thedetection of ECG signal, which has important v
3、alue to study the state of heart. The system is mainly used USB4716 data acquisition card and LabVIEW system, to obtain the ECG data through the sensor card, to transmit the data to PC data acquisition. On the PC, LabVIEWfor ECG d
4、ata were performed before and after amplifying and filtering waveform waveform display and spectrum filtering after the display at the same time, the original ECG data is stored as a DAT file, this file can be read
5、module in this program to read, analyze and display. In order to make the system to achieve real-time display, filtering, spectrum analysisand virtual instrument can save the waveform file. This virtual instrument system is easy t
6、o operate, easy to modify, suitable for human ECG monitoring, signal acquisition andanalysis.Key words : LabVIEW, USB4716, ECG monitoring目录 摘 要IABSTRACTI1 绪论31.1引言31.2 心电信号的形成机理与特性31.2.1心电信号的形成和人体心电信号特点31.3 虚拟仪器在心电信号处理中的应用51.3.1虚拟仪器应用于心电监测的特点51.3.2虚拟仪器应用于心电信号检测的意义62 设计基
7、础72.1 硬件72.1.1 数据采集的结构72.1.2 USB471672.1.3数据采集系统的简介和构成82.1.4数据采集卡功能及软件配置92.2软件92.2.1 LabVIEW的简介 92.2.2LabVIEW软件工具特点及其编程环境 102.2.3 LabVIEW的使用133 系统的总体设计153.1心电监测系统设计思路153.2前面板整体设计153.3 程序整体设计164 系统软件模块设计184.1.数据采集模块184.2波形显示模块214.2.1原始信号显示214.2.2滤波后信号显示模块214.3信号处理234.3.1原始信号滤波处理234.3.2原始信号滤
8、波处理前面板设计234.3.3原始信号滤波处理软件设计254.4滤波后信号的频谱分析模块设计264.4.1滤波后信号的频谱分析模块前面板设计264.4.2频谱分析模块软件设计274.5文件的保存模块294.5.1文件保存模块软件设计294.5.2系统时间提取设计324.6文件读取334.6.1文件读取模块前面板设计334.6.2文件读取软件设计345 系统调试375.1程序运行演示37结论38参 考 文 献39附录40致 谢411 绪论1.1 引言近年来,随着人类生活节奏的加快,患心脏病的人数也逐年的增加据统计,几乎每年有将近千万人死于心脏性疾病,占世界人口总死亡数的1/3,是人类健康的杀手。
9、世界卫生组织(WHO)提出“在当今世界,心脏类疾病比其他任何疾病疾病杀死更多的人,并使成千上百万的人残疾。”心脏病已成为危害人类健康的主要疾病之一。因此,心电信号采集系统在心脏病的诊断方面有着重要的意义。人体的血液流动是心脏舒张和收缩一个周期产生的,并且会沿着血管壁产生向前传播的脉搏波,根据脉搏可以通过对脉搏波的采样、分析以及准确、直观的波形显示可以了解脉搏波中蕴含的生理信息,如心脏机能、呼吸机能甚至是血管的硬化程度等。心率变异性(Heart Rate Variability,HRV)是指心率的快慢的不同性。通过对HRV分析是在现在多种心电检测方法中最近研究出来的一种,同时也是现代心电检测研究
10、领域的先进代表。从理论上看,它可以用于检测与人体神经活动有关的心脏类疾患。因此,分析判断自主神经在人体心血管疾病中所起的作用,防止心脏类疾病引起的死亡发生等方面。心电监测系统主要是对人体的心电信息进行及时的获取,以便发现异常情况,采取相应的医疗处理措施,是降低心脏病死亡率的有效手段之一。本次课题就是利用USB4716作为数据采集的硬件,设计出基虚拟信号处理仪。1.2 心电信号的形成机理与特性 人体的心电信号是一种低频率的微弱电信号,常规心电信号是mV量级信号,幅度约为10uV5mV,频率范围为O.05150Hz,其主要能量成分集中在0.05100Hz。1.2.1 心电信号的形成和人体心电信号特
11、点 心肌细胞的动作电位 心肌细胞除极和复极的电生理现象;极化状态(polarised): 静息电位(resting potential);动作电位(action potential, AP): 除极(depolarisation)和复极(repolarisation) 电兴奋的传导(conduction or spread of electrical excitation) 窦房结: 心脏的起搏兴奋点, 其细胞自发产生50-100次/分的可传导AP 心房的传导: 心房传导束->右心房->左心房 传导系统的传播: 房室束->希氏束->左、右分支->普金野(Purki
12、nje)纤维网->心室肌 电兴奋通过普金野(Purkinje)网使心室肌细胞兴奋 心电图(electrocardiogram, ECG)的产生 电流源:每个心肌细胞的除极和复极过程等效于一个偶极子层(dipole layer) 容积导体(volume conductor):人体组织是导电的,看作是一个容积导体, 心电向量:所有心肌细胞的偶极子场的向量和 心电图:所有心肌细胞的偶极子场在容积导体内产生电场,从而有电位差产生,即心电图。正常人心电图是由一系列的波群组成如图2.1所示,各个波段反映不同阶段的心电信号的变化,但由于QRS波变化比较集中,所以分解图如下。下面是对每个波形点意义的简要
13、介绍:图2.1 典型的心电信号P波:波形中最先发生的偏离的波被称作为P波,它的意义是反映心房除极过程的电位变化,代表了两个心房的去极。QRS波群:心室激活产生最大的波,它反映了心室肌电位变化的过程。正常的距离0.08 - 0.12秒。QRS波群通常是指三波紧密相连的波,第一个向下的波是Q波,这种波并不总是存在。QRS波向上第一波非线性波,R波后第一向下的波为S波,S波发生在上行波称为R . QRS是一个广义的代表心室去极化波,不是每个QRS波群都会有Q、R、S三个波,一个单向负的QRS复合波称为QS波。PR间期:从P波起始到QRS复合波,它代表了心房心室去极化的去极化的开始时间开始。O.12-
14、2.0秒是正常区间。测量从P波的起点到QRS波起点,无论初始波是Q波或是R波。是在房室传导时间的测量,由于这个原因,它在临床诊断非常有用。建立基线的TP波(T波的P波到下一个开始)。ST段:在QRS波群后,平整线T波前。左、右心室去极化复极化毕竟开始之前的一段时间。部分在确定心肌梗塞等病理变化(增加)和缺血(减少)是非常重要的。在正常情况下,它是用于其他等位线的振幅的测量。T波:代表心室肌复极过程引起的电位变化。QT间隔:代表整个心室复极化时间总共以来的极端。QT间隔代表反映心室肌的激活和恢复时间间隔。但与持续时间和心率的变化相反。但通常不使用QT,修改QT,= QT + 1.75:称为高职院
15、校学前教育专业高职院校学前教育专业(心率-60)。心电图反映的ECG信号的时域特征,分析可以看到界面的心电信号波形的特征是拐点。人体心电信号的特点如下:信号具有进场检测的特点,离开人体表面微小的距离,就基本上检测不到信号;心电信号通常比较微弱,一般为mv量级;心电信号是低频信号,且能量主要在几百赫兹以下;干扰性强。干扰来自生物体内,如肌电干扰、呼吸干扰等;也有来自体外干扰,如工频干扰、和其它外来干扰等;干扰信号与心电信号本身的频带重叠。1.3 虚拟仪器在心电信号处理中的应用1.3.1 虚拟仪器应用于心电监测的特点虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和
16、仪器的密切结合是目前仪器发展的一个重要方向。粗略的说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓的智能化的仪器。虚拟仪器作为新兴的仪器代表,由于具有绝对的技术优势,被广泛的应用于电子、机械、通信、汽车制造、生物、医药、化工、科研、军事、教育等各个领域。在测量仪器方面,示波器、逻辑分析仪、频谱仪、信号发生器、电压电流表,是科研机关、企业研发实验室的必备测量仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器的功能也越来越强大。以通过计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器在心电监测方面的主要特点有:尽可能通过采用通用的硬件,各种仪器的差异主要是软件。尽可
17、能充分的发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 用户可以根据自己的需要定义和制造各种仪器。虚拟仪器实际上是一个按照仪器需要组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。1.3.2 虚拟仪器应用于心电信号检测的意义心电信号属于生物医学信号,也属于强噪声背景下的低频微弱信号,也是由复杂的生命体内发出的不稳定的部规律的检测困难的一种自然信号。但是由于人体能够产生多种生物电信号并且这些繁杂的生物信号又和外界各种各样的噪声交织,甚至能够对测量系统本身造成一定的影响,使得对人体内信号的处理变得更加复杂和困难。但现代科技的迅猛发展,人们通过
18、应用计算机来分析生物微弱的电信号,能有效降低对人体内那些复杂性和困难度高的信号的处理。特别是应用虚拟仪器技术来对复杂的生物医学信号进行分析,这种创新型科学技术检测方式将对人体心脏功能检查和心电监护等变得越来越方便、灵活和高效。2 设计基础2.1 硬件2.1.1 数据采集的结构数据采集系统随着传感器技术、微电子技术及计算机技术的发展而迅速发展。现今的控制系统一般由计算机完成,因此也将数据采集系统称作计算机数据采集系统。其采集系统结构如图2.1所示:被测物理量传感器信号调理数据采集卡计算机非电量电信号模拟信号数字信号图2.1 数据采集系统结构2.1.2 USB4716数据采集卡USB4716如图2
19、.2所示:图2.2 USB4716一个典型的数据采集卡功能包括有模拟输入、模拟输出、数字输入和数字输出、计时器、定时器等,然而这些功能都是由相对应的单元电路来完成。本设计采用研华数据采集卡USB4716,它具有如下测量与控制功能:16个单端/8个差分或组合方式模拟量输入通道 16-bit分辨率A/D转换器,采样速率高达200kS/s 8个数字量输入和8个数字量输出通道(TTL电平),2个模拟量输出通道 1个16-bit可编程计数器/定时器 每个模拟量输入通道的增益可编程 自动通道/增益扫描 板载用于AI通道采样的1K采样FIFO缓存 总线供电,设备状态LED指示灯,板上接线端子可移除 支持高速
20、USB2.0,自动校准功能 热插拔本设计通过USB4716数据采集卡任意采集一个心电信号,再将该信号输入已经编写好的LabVIEW程序中进行信号处理。2.1.3 数据采集系统的简介和构成数据采集,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是结合基于计算机(或微处理器)的测量软硬件产品来实现灵活的、用户自定义的测量系统。该数据采集系统是一种基于TLC549模数转换芯片和单片机的设备,可以把ADC采集的电压信号转换为数字信号,经过微处理器的简单处理而交予数码管实现电压显示功能,并且通过与PC的连接可以实现计算机更加直观化显示。一个数据采集器的系统一般是由数据输
21、入通道、数据存储与管理、数据处理、数据输出及显示这五个部分组成。其中输入通道的作用是要实现对被测对象的检测、采样和信号转换等一系列工作。数据存储和管理的作用是要通过存储器把数据采集器所采集到的数据存储起来,并且还要建立与其相对应的数据资料库,还要对其进行数据的管理和使用时的调用。其实数据处理的原理就是在所采集到的原始数据中,对其进行删除干扰噪声、无关信息和不必要的信息的处理,并提取出能够正确的反映被测对象特征的重要信息。另外,就是对采集到的数据进行统计分析,从而便于检索;还有就是能够把数据恢复变成原来初始状态下的物理量形式,和可输出的形态能够在输出设备上进行输出,例如显示、绘图等能以物理形式直
22、观的反应出来。简而言之,数据输出及显示其实就是对数据以适当的形式进行输出和显示。对于数据采集系统性能的好坏,主要取决于它的精度和速度。在能够保证其精度的条件下,应该尽可能的提高它的采样速度,来满足对信号的实时采集、实时处理和实时控制的要求。2.1.4 数据采集卡功能及软件配置一个典型的数据采集卡的功能有模拟输入、模拟输出、数字I/O、计数器/计时器等,这些功能分别由相应的电路来实现。通道数:就是板卡可以采集几路的信号,分为单端和差分。常用的有单端32路/差分16路、单端16路/差分8路采样频率:是指在单位时间里所采集到的数据点数,这个时间的长短与AD芯片的转换一个点所需时间有关,比如:一个AD
23、转换在转换一个点需要时间T = 10us,那么它的采样频率f = 1/T结果为100K,即AD芯片转换100K的数据点数只需要一秒钟。它用赫兹(Hz)表示,通常有100K、250K、500K、800K、1M、40M等。缓存的区别及它的作用:主要用来存储AD芯片转换后的数据。有缓存的就可以在其功能面板上设置采样频率,如没有则不可以进行设置。缓存有RAM和FIFO两种:当FIFO应用在数据采集卡上,其作用是对数据缓冲,运行速度快但存储量不大。RAM是随机存取内存的简称。其功能是存储量大,运行速度较慢故一般运用于高速采集卡。2.1.5 心电传感器硬件配置将调理板的输出端接入示波器或其他测量设备观测脉
24、搏波形。将传感器的输出端接入USB4716数据采集卡的探头,数据采集卡的垂直增益调节在1V/div,水平扫描率调制在500ms/div,即可观测到被测试者的心电波形,心电传感器硬件配置如图2.3所示。图2.3 心电传感器硬件配置2.2 软件2.2.1 LabVIEW的简介 LabVIEW(Laboratory Virtual Instrument Engineering)又称虚拟仪器即实验室虚拟仪器工程,它是一个图形化的编程语言,人们普遍在的工业、学术界和研究实验室接受它,是一个一个标准的数据采集和仪器控制软件。这是一个功能很强大而且还很灵活的软件。它
25、可以方便的使用建立自己的虚拟仪器,图形化的界面使得编程和使用过程很有趣而形象生动。一个图形化的编程语言,也称为“G”的语言。在编程时如果使用这种语言,基本上不写代码,取代那些代码的然而仅仅是一个图表或流程图。它还可以使用技术人员、科学家、工程师们熟悉的概念和术语图标,因此,LabVIEW(虚拟仪器)是最终用户的工具。虚拟仪器的使用,可以产生一个独立的可执行文件,这是一个真正的32位编译器。像许多重要的软件和虚拟仪器一样,版本多种多样比如提供了Windows、UNIX、Linux、mac等。LabVIEW还具有很高的查错能力,不同于其他编程语言,LabVIEW的程序查错无需编译,如果有语法错误,
26、它会自动提示并给出准确位置。与其他常见的编程语言相比,它最大的特点就在于它是一种图形化编程语言(G语言)。也就是说,我们在用LabVIEW编程时,面对的不是高度抽象的文本语言,而是图形化的方式。而文本语言和图形化语言也就相当于DOS系统和Windows系统。LabVIEW集成了很多仪器硬件库,如GPIB/VXI/PXI/基于计算机的仪器、模拟、/数字/计数器I/O、 RS232/485协议、信号调理、插入式数据采集、图像获取和机器视觉、分布式数据采集、PLC/数据日志、运动控制等。与传统的编程方式相比,使用LabVIEW设计虚拟仪器,可以提高效率410倍。与此同时利用其模块化和递归方式的方式,
27、用户可以在很短的时间内构建、设计或是更改自己的虚拟仪器系统。2.2.2LabVIEW软件工具特点及其编程环境 虚拟仪器组成包括硬件和软件两部分。硬件是虚拟仪器的基础,被测信号的采集、分析、处理、传输等都由硬件完成。软件是虚拟仪器技术中最重要的部份。使用正确的软件工具并通过设计或调用特定的程序模块,用户可以高效地创建自己的应用以及设计出个人风格特设的人机交互界面。与传统测量仪器相比,虚拟仪器的设计理念、系统结构和功能定位方面都发生了根本性的变化。传统仪器与虚拟仪器的比较如表2-1所示:表2.1 传统仪器与虚拟仪器的比较 虚拟仪器技术最核心的思想,就是通过利用计算机的硬、软件资源,使原本
28、需要通过计算机硬件来实现的技术软件化(虚拟化)。同时基于计算机软件在VI系统中有着举足轻重的作用,故NI公司提出了“软件就是仪器(The software is the instrument)”这一口号。对虚拟仪器的软件框架从低层到顶层来分,可以分作三部分:VISA库、仪器驱动程序、应用软件。 虚拟仪器应用软件的编写,大致可分为两种方式: 应用通用的编程软件进行编写。这些软件主要有:Microsoft公司的Visual Basic与VisualC+、Borland公司的Delphi和Sybase公司的PowerBuilder。 应用专业的图形化编程软件进行开发。
29、这些图形化的编程软件主要有:HP公司的VEE、 NI公司的LabVIEW和Lab windows/CVI等。图形软件系统的开发是工程人员通过用人们熟悉的术语和图形符号来代替传统的文本编程语言,界面友好,操作简单,可以大大缩短系统的开发周期,是由专业的研究人员的最受欢迎的一种软件系统。应用软件还包括通用数字处理软件。通用数字处理软件的各种功能包括数字信号处理功能,如频域分析的功率谱估计、FFT谱估计,逆FFT等。关联分析、时域分析、卷积反褶积运算,RMS估计,微分积分计算和排序等。甚至还有数字滤波器等等。所有这些为用户提供基本功能进一步扩大虚拟仪器的功能。 虚拟仪器
30、是计算机技术与仪器技术结合的一款相当成功的技术产物,甚至一跃成为一项当代计算机辅助测试领域的重要技术,还成功的成为了未来仪器发展方向的代表,并且成为了仪器领域中的领头羊。其特点如下: LabVIEW是一种基于图形化的软件编程平台,是应用于测控领域的一种专用软件开发工具。 使用图形(数据流模式语言)编程语言,交互式编程环境,不仅使用可视化技术来构建人机界面,而且它让程序代码也成为一种图形化的编程代码,用这种方式进行编程更接近于人类思维,设计师不需要编写任何代码以文本格式,是真正的工程师的语言。 其编程模式是采用数据流编程模式,可以同时运行多个程序来执行多个任务的系统。 提供了丰富的函数库可以用于
31、数据采集、数据分析、数据表达及数据存储。 提供传统的调试工具,如设置断点,单步操作,同时提供一个独特的亮点执行和探针工具,使程序运行动画,将帮助设计师观察运行程序的细节,这使得程序开发和调试更方便。 拥有32bit的编译器编译运行32bit的编译程序,能够充分的有效保证用户对数据采集、测试和测量方案的快速执行。 内置T PCI, DAQ, GPIB, PXI, VXI, RS-232和RS-485在内的各种仪器通信总线标准的所有功能函数,还支持数据采集卡和GPIB ,穿口设备、VXI仪器、PLC、工业现场总线。 LabVIEW可以实现与外部的一些应用软件如:Word, Excel等、C语言、W
32、indows API、 Matlab等编程语言之间进行一些相关的通信,具有强大的外部接口能力。它的外部接口种类繁多诸如DLLS(动态链接库)、CIN代码调用、DDE(共享库)、MATLAB , ActiveX等。 具有强大的Internet功能,TCPIIP,DDE,ActiveX等软件标准的库函数通过内置T来方便于应用。并且网络方便可以支持常用的网络协议。 LabVIEW功能丰富可以在多种操作系统平台上执行,当在可操作的系统平台上开发LabVIEW应用程序是可以直接移植到其操作系统平台上,实现无缝式对接。LabVIEW增强了用户构件自己系统的能力,为用户提供了实现仪器编程与数据采集系统的便捷
33、途径。使用LabVIEW进行原理研究、设计、测试并实现仪器系统,可以大大缩短系统的开发时间,提高生产效率高达4-10倍。因此,基于LabVIEW的医学信号采集系统具有开发周期短,可扩展性强,操作简单,界面友好,使用灵活等特点。所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。典型的LabVIEW程序结构如图2.4所示,与大多数界面设计软件相同,根据用户的需求要构建一个虚拟仪器程序首先需要建立一个合适的界面,主要是设计前面板的接口,包括各种输入和输出控件,文本和图片
34、,然后在程序框架程序为了实现特定的功能。在实际的设计中,实现上述两个步骤通常是交叉的。 图2.4 LabVIEW程序结构图2.2.3 LabVIEW的使用使用LabVIEW编写的程序就是虚拟仪器简称VI。VI由三部分组成,前面板,程序框图,图标和连线板。前面板和程序框图窗口都有各自的工具栏,菜单栏,标题栏。前面板:前面板即是和用户的交互界面,就是模仿真实仪表的前面板,通常包括用户输入和显示输出两类对象。具体的样式可有用户自己选择定义,比如指示灯,按钮,图形显示等。程序框图:用户所要实现的功能、整个系统的运行包括前面板上的控件实际上都是通过程序的编制来实现的,即通过图形化的函数构成的程序框图驱动
35、。其中包含接线端,函数,以及连线板等。图标和连线板:文本编程语言中的函数原型就相当于图标和连线板。图标是VI的图形化表示,其中包含图形和文字或是其组合。而VI中的输入控件和输出控件的连线端是通过连线办板显示的,与文本文件中参数列表类似。编写一个虚拟仪器程序主要会用到LabVIEW的三个操作选板。工具选板:LabVIEW中的工具选板如图2.5所示。图2.5 工具选板工具选板位于菜单中的【查看】,单击菜单中从【查看】选取即可。在工具选板中提供了各种供VI调试、修改的工具。当从中选择了一种工具后鼠标将会自动变为选择的相应工具的形状。控件选板:控件选板也位于菜单栏的【查看】中,也可直接在前面板单击鼠标
36、右键,即会弹出控件选板。前面板设计中所要用到的所有输入输出控件都在控件选板中,主要包含有“新式”,“系统”,“经典”,“Express”,“信号处理”等,具体控件选板如图2.6所示。函数选板:函数选板中包含创建程序要的函数和VI。与控件选板一样,函数选板根据函数和VI的类型不同将其分到不同的子选板中。如图2.7所示。因工具选板我们编写的工具,所以其同时位于前面板和框图中。控件选板为我们前面板设计提供控件,其只位于前面板。函数选板是我们编写程序框图的基础,前面板是用户交互界面,与程序函数无关,所以只位于函数选板。 图2.6 控件选板图2.7 函数选板3 系统的总体设计3.1心电监测系统设计思路该
37、系统是一种基于USB4716采集卡和LabVIEW开发平台来设计心电监测系统(前面板和程序框图设计),操作简单方便。主要由数据采集部分、数据处理部分、波形显示部分、波形存储和回放以及频谱分析等部分组成,可以完成对信号的输入及获取,信号的波形显示及存储回放和信号的频谱分析等功能。根据实现的任务不同,可以分为以下几个功能子系统。主要包括以下几个模块:数据采集。通过采集获取心电数据,包括波特率和通讯口的设置。波形显示。对采集到的信号进行实时显示,以及进行时间的显示,同时也能显示经过处理后的波形。信号处理。主要对采集到的信号进行滤波处理及频谱分析。波形存储和回放。可将采集到的信号进行存储,以便日后分析
38、或处理。回放功能可以随时将存储的波形文件重新读取后显示在示波器前面板上,并同时调整滤波器的参数显示后的波形。系统设计框图如图3.1所示。图3.1 系统设计框图由系统设计框图简单明了的看出,该设计是通过USB4716数据采集卡采集由心电传感器传来的心电信号,再通过数据采集卡传输到PC机上,经过心电监测系统处理的过程。3.2 前面板整体设计使用LabVIEW创建VI时,通常先设计前面板,然后通过设计的程序框图来执行前面板上的输入输出任务。本设计中的前面板设计首先构建大的设计面板,因本前面板包含信号的写入文件和读取文件,所以设计“写入文件”和“读取文件”的选项控件,如图3.2所示。该选项卡的创建可以
39、通过“控件选板”,选择其中的【经典】子选板中的【经典容器】,单击其中的【选项卡控件】即可。用户可通过前面板上的这两个选项将屏选择显示为处写入/读取文件。图3.2 整体前面板3.3 程序整体设计整体程序结构为While循环,以此保证程序的不断运行。While循环是LabVIEW中最基本的程序结构之一,其功能相当于C语言中的While和dowhile循环。在程序中,当循环的次数不能确定时,使用while循环。while循环包括两个端口,一个为条件端口,另一个为重复端口i,重复端口i表示当前循环的次数。如图3.3所示:重复端口条件端口图 3.3 While循环结构从条件端口输入的是布尔变量,其作用是
40、判断循环在什么条件下停止运行。条件端口有两种使用状态:Stop if True和Continue if True。如图3.4所示:图3.4 端口状态当每次循环结束时,条件端口便开始检测通过数据连线输入的布尔量值,并且根据输入的布尔值和它的使用状态来决定循环是否继续执行。其具体的设置方法是将鼠标移动至条件端口,然后单击右键,会弹出如图2.7所示对话框,在弹出对话框中可以选择“真(T)时停止”或是“真(T)时继续”,以此来切换条件端口的使用状态。本设计是通过创建一个布尔控件,在前面板直接选择其是否停止运行。除此外,我们在程序中设计了循环的时间控制。因为一般情况下,循环结构在一次循环结束后就将立即执
41、行下一次循环,而我们是通过前面板决定程序是否停止运行,如果用户需长时间运行程序,对循环不加以控制,循环将以最快的速度执行,这就会占用计算机大量的CPU资源,。所以要控制循环的执行速度,使系统在执行时要有一定的延时。所以设置如图的时间延时程序。该设置为系统执行完一次循环后时间不足500ms时,将等待到500ms再执行下一次循环。如果一次循环在500ms内没有执行完,系统将在其执行完后再开始下一次循环,即保证了程序执行一次循环的时间不会少于500ms。该循环的具体创建过程:While循环:该循环位于“函数选板”中的【结构】子选板中。停止按钮:该停止按钮为简单布尔量,可在“控件选板”的【系统】后的【
42、布尔】中选取。时间控制:定时函数位于“函数选板”中【编程】子选板【定时】中。4 系统软件模块设计4.1. 数据采集模块虚拟仪器主要用于获取真实物理世界的数据,换而言之,虚拟仪器必须要有数据采集的功能,从这个角度来说,数据采集就是虚拟仪器设计的核心,使用虚拟仪器必须要掌握如何进行数据采集。本设计采用DAQ模块进行采集,它主要通过DAQ助手实现信号的采集同时也能自动设定好波特率。该采集模块主要包含DAQ助手模块、DAQ读取模块和DAQ清除模块。它们都是通过【函数选板】【测量I/O】【DAQ Navi】在程序框图中进行创建如图4.1所示。图4.1 创建方式图4.2 DAQ助手DAQ助手模块它可以自动
43、的调试好,device:配置过程中分配给采集卡的设备号;channel:指明模拟输入的通道号;number of samples:指定采样过程完成后获得的采样数,默认值为1000;sample rate:指定通道中数据的采样率,默认值为1000;waveform:输出指定通道的与测量物理量成比例的模拟输入波形;通过DAQ助手选项板用户可直接设置采样率,采样数,选择设备和通道。 DAQ助手模块的功能显示如图4.3所示。图4.3 DAQ助手模块的功能显示4.2 波形显示模块4.2.1 原始信号显示模块其模块如图4.4所示。图4.4 原始信号显示原始信号显示模块主要由DAQ读取模块,平化至字符串模块
44、,字符串至字节数组转换模块构成。该模块是通过DAQ读取模块对输入信号的读取转换,再通过平化至字符串模块使任何数据输入转换为二进制值组成的平化数据字符串。也可使用该函数转换已平化的数据字符串的字节顺序或endian格式。再由字符串至字节数组转换模块使字符串转换为不带符号字节的数组。最后滤波器进行显示出来。图4.5 平化至字符串模块 通过强制类型转换函数,进行不会产生平化数据的简单数据类型转换。图4.6 字符串至字节数组转换模块 完成字符串至字节数组的转换,将字符串转换为不带符号字节的数组。数组中的各个字节是字符串中相应的ASCII码值。4.2.2滤波后信号显示模块 信号显示模块前面板设计: 前面
45、板的波形显示控件是在【控件】选板中的【波形显示控件】中进行选择如图4.7所示。图4.7 前面板中显示滤波前后波形的示波器 滤波后信号显示模块在前面板中设置两个虚拟示波器分别用于显示滤波前后的波形。 信号显示模块软件设计:图4.8 滤波后显示模块该滤波模块选用的是Butterworth滤波器,Butterworth滤波器的高截止频率是1000.0,用户可以自行设置低截止频率来得到自己想要的波形。4.3信号处理4.3.1原始信号滤波处理信号滤波处理技术是信号分析和处理技术之中最常用的手段。不论是信号的获取与传输,还是信号的处理和交换等,都离不开滤波技术,它对信号的有效灵活传递以及提高信号的安全可靠
46、性都是非常重要的。4.3.2原始信号滤波处理前面板设计该输入控件由【控件】选板中选择【数值输入控件】如图4.9和【控件】选板中选择【经典】【经典数值】图4.10所示 图4.9 滤波器截止频率设定控件 图4.10 滤波器阶数设定控件“截止频率”是设定滤波器截止频率的控件,其必须满足大于零并小于等于采样频率的一半的条件。Filter Order为一个垂直数值滑动杆,它是用来调节IIR低通滤波器的阶数的,该值越大通带和阻带之间衰减得越迅速,同时通带中的波纹越小。图4.11 Butterworth滤波器前面板其中,“滤波器”选项为枚举型,可在前面板上单击右键从【系统】的【下拉列表和枚举】中选取【系统枚
47、举】,其中的三种滤波器即“巴特沃斯滤波器”,“切比雪夫滤波器”,“贝塞尔滤波器”的下拉选择项与之前的信号发生器中各种信号类型选择的设计方法类似,不再赘述。“低截止频率”,“高截止频率”,“阶数”为常见的数值输入控件,可从前面板中选取。4.3.3 原始信号滤波处理软件设计原始信号滤波处理软件设计图4.12 原始信号的滤波处理模块 该模块选用的是众多滤波器模块中的滤波模块是Butterworth滤波器,它是通过【函数选板】【滤波器】【Butterworth】中选择。该滤波器主要由滤波输入信号、滤波器控制、频率选择和输出构成。该滤波器的输入和输出接口如图4.13所示。图4.13 Butterwort
48、h滤波器模块接口 各端口含义如下: “滤波器类型”指定滤波器的通带,如表4.1所示。表4.1滤波类型0Lowpass1Highpass2Bandpass3Bandstop X是滤波器的输入信号。 “采样频率:fs”是指将采样频率并且并且大于0,“采样频率:fs”的默认值为1.0。如果“采样频率:fs”小于等于0时,VI就将把滤波后得X设置为空数组并返回错误。 “高截止频率:fh”是高截止频率,默认值为0.45.如果“滤波器类型”为0(Lowpass)或1(Highpass),VI将忽略该参数。“滤波器类型”为2(Bandpass)或3(Bandstop)时,“高截止频率:fh”必须大于“低截止
49、频率:fl”并满足Nyquist准则。 “低截止频率:fl”是低截止频率并且必须满足Nyquist准则,默认值为0.125。如果“低截止频率:fl”小于0或大于采样频率的一半,则VI将把滤波后X设置为空数组并返回错误。“滤波器类型”为2(Bandpass)或3(Bandstop)时,“低截止频率:fl”必须小于“高截止频率:fh”。 “阶数”指定滤波器的阶数并且必须大于0,默认值为2.如果“阶数”小于等于0,则VI将滤波后X设置为空数并返回错误。 “初始化/连续”控制内部状态的初始化,默认值为False。VI第一次运行或“初始化/连续”的值为False时,LabVIEW将内部状态初始化为0。如
50、果“初始化/连续”的值为True,则LabVIEW将内部状态初始化为VI的实例上一次被调用时的最终状态。如果需处理由小数据块组成的较大数据序列,则可针对第一个块将输入设置为False,然后再设置为True,对其他的块继续进行滤波。 “滤波后X”是滤波后的采样数组。 “错误”返回VI的任意错误或警告。如果将“错误”连线至错误代码至错误簇转换VI,则错误代码或警告可转换为错误簇。4.4 滤波后信号的频谱分析模块设计4.4.1 滤波后信号的频谱分析模块前面板设计 前面板的频谱显示器是在【控件】选板中的【波形显示控件】中进行选择如图4.14所示。图4.14 频谱显示器4.4.2频谱分析模块软件设计频谱
51、分析模块软件设计如图4.15所示。图4.15 频谱分析模块 下面是各子模块的简要说明,它们的图标分别如图4.16图4.18所示。图4.16 快速傅里叶变换(FFT)模块图4.17 数组元素个数计算模块图4.18 复数分解为极坐标分量模块 快速傅里叶变换(FFT)模块的作用是使计算输入序列X的快速傅里叶变换(FFT)。连接到X输入端的数据类型决定了所使用的多态实例。 数组元素个数计算模块的作用是返回数组每个维度中元素的个数。 复数分解为极坐标分量模块其作用是将一个复数分解为极坐标分量。其原理是把z的形式为z = a + bi时,函数通过下列方程转换z = r * e(i*theta)的极坐标元素
52、:r = |z| = sqrt(a² + b²)theta = arg(z) = arctan2(b,a) 连接矩阵至该函数的输入端时,该函数会被替换成一个VI,其中包含可处理矩阵的子VI。得到的VI图标相同,但其中包括与矩阵相关的算法。如在输入端断开与矩阵的连线,该节点仍可作为VI使用。连线其它数据类型作为输入时,该节点可恢复为原来的函数。如数据类型连线至函数后导致基本数学运算的失败,则该函数可返回空矩阵或nan。 独立元素合并为簇模块的作用是将独立元素组合为簇。也可使用该函数改变现有簇中独立元素的值,而无需为所有元素指定新值。如需实现上述操作,可连线该簇至该函数中间的簇
53、接线端。连线簇至该函数时,函数可自动调整大小以显示簇中的各个元素输入。连线板可显示该多态函数的默认数据类型。在创建新簇时,必须连线所有的输入。输出簇中的元素顺序必须与输入元素一致。连线现有簇至函数中间的接线端时,输入为可选。图4.19 独立元素合并为簇模块4.5 文件的保存模块4.5.1 文件保存模块软件设计 文件保存软件模块中包含两个模块,分别如图4.20和图4.21所示。在创建这两个模块是通过【函数】选板【编程】【文件I/O】的方式创建如图4.22所示。图4.20 创建函数面板图4.21 文件对话框框图图4.22 打开/创建/替换数据记录文件模块 文件对话框模块起做显示和指定显示出来的波形
54、文件的存储路径和文件名的作用。仅限于单项选择用户可以选择一个或多个文件。取消选择该选项时,用户可选的文件或文件夹类型变为灰色。 该模块可以打开/创建/替换数据和记录文件,使用文件对话框,打开一个已经有的数据记录文件或创建一个数据记录文件是通过编程或交互的方式。该模块是通过程序或使用文件对话框打开已有的数据记录文件,创建新的数据记录文件,或替换已有的数据记录文件。但是LLB文件不可用于这个函数。可以指定一个文件对话框提示或默认的文件名。这个函数可以读取数据记录文件和写入记录文件函数组合使用功能的组合。参考文件的使用功能可以使用该函数关闭。文件保存框图程序如图4.20所示。图4.23 文件保存模块
55、图4.24 保存文件设定模块图4.25 文件对话框4.5.2 系统时间提取设计 图4.26所示模块功能是提取系统时间并显示。它主要是由【获取日期/时间字符串】和【连接字符串】两个模块构成用来实现对系统时间提取和显示。图4.26 提取系统时间模块下面对各子模块做简要说明如图4.27和图4.28所示。图4.247 获取日期/时间字符串模块 获取日期/时间字符串模块是使时间标示的值或数值转换为计算机配置的时区的日期和时间字符串。图4.28 连接字符串模块连接字符串模块是连接输入字符串和一维字符串数组作为输出字符串。对于数组输入,该函数连接数组中的每个元素。4.6 文件读取4.6.1 文件读取模块前面
56、板设计 读取文件循环框内有一个循环框。该循环框是采用while循环结构。While循环结构属于LabVIEW基本结构中的一种,这种结构适用于循环次数不能预先确定下来的情况下使用。While循环也有移位寄存器。创建一个while循环结构是通过【函数】选板【编程】【结构】中进行创建如图4.29所示。图4.29 创建函数面板 文件读取模块包含打开文件对话框设定模块、滤波前后波形及频谱分析显示模块和写入文件模块中的对应模块基本一样。4.6.2 文件读取软件设计 文件读取模块软件总体设计如图4.30所示。图4.30 文件读取模块 下面对各子模块进行简要说明如图4.28所示:图4.31 读取文件模块说明 读取文件模块的读取是由引用句柄所指定的数据记录的形式返回。当前的数据记录位置即是读取的起始位置。 读取文件循环框内还有一个循环框(图4.32)。该循环框也是采用while循环构。该循环框的作用是控制读取结束按钮的循环框。图4.32 读取文件控制循环框图4.33所示为完整的程序前面板。图4.33 完整的前面板程序图4.34为完整的框图程序图4.34 程序框图5 系统调试5.1 程序运行演示通过连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鞋品购销协议格式
- 广告公司合作伙伴合同
- 房产代理销售独家协议
- 计划生育保证书范文
- 服装批发商加盟连锁加盟购销合同
- 食品安全我坚守
- 社区服务合作协议模板
- 土建分包合同文件
- 酒水采买合同
- 基础版服务合同案例
- GB/T 19342-2024手动牙刷一般要求和检测方法
- 洗车场清淤合同范本
- 2023-2024学年广东省深圳市南山区八年级(上)期末英语试卷
- GB/T 15822.1-2024无损检测磁粉检测第1部分:总则
- QC080000培训资料课件
- 《研学旅行课程设计》课件-学习情境三 研之有方-研学课程教学设计
- 音乐教师职业生涯发展报告
- 薄膜材料 第五章薄膜的形成、生长与结构
- 3--碎石土路基填筑施工工法(完整版)
- 英语四级单词表4500.xls
- 圆幂定理教案
评论
0/150
提交评论