应用LabVIEW进行人体脉搏分析
应用LabVIEW进行人体脉搏分析,应用,利用,运用,labview,进行,人体,脉搏,分析
本科生毕业设计(论文)题 目:应用 LabVIEW 进行人体脉搏分析 姓 名:祝熙 学 号:1002594 学 院:物理与信息工程学院 专 业:通信工程 年 级:2002 级 指导教师: (签名)2006 年 06 月 10 日I应用 LabVIEW 进行人体脉搏分析专业:通信工程 学号:1002594 姓名:祝熙 指导教师: 王华栋中文摘要自古以来中医一直是靠手指获取脉搏信息,这难免存在许多主观臆断因素, 并且这种用手指切脉的技巧很难掌握,因此人们迫切期望尽早实现脉诊的科学化和现代化;另一方面从西医的角度看, 近年来人们也试图根据脉搏波的变异性来评价和诊断人体心血管系统的病变 , 以便能找到一个有效的心血管疾病早期无创诊断的方法因此, 对脉搏信号进行无失真的检测采集和处理是一项重要而很有意义的基础工作, 它是对脉搏信号进一步分析并依此对心脏及动脉血管系统疾病进行预报和诊断的前提本文采用肥华科电子技术研究所研制的 HK-2000C 集成化数字脉搏传感器,将测试者的脉搏信号采集到计算机中,并且以数据文件格式存储应用 labVIEW软件设计了脉搏信号的采集系统时域分析系统频域分析系统取检测对象 134例,其中健康人 73 例,冠心病高血压患者 61 例将采集的信号进行时域频域分析,并对各种分析方法进行比较在时域分析中采用了两种方法进行分析,一种是前人使用过的脉搏波波图面积变化为基础的脉搏波形特征量 K 值的提取方法,但是通过数据统计,这种方法无法准确区分开正常人与病人的差异另一种是将时域波形进行一阶求导,然后求出脉搏波下降沿中斜率为负的占整个下降沿的百分比,即提取出重波波的所占比例可以有效区分正常人与病人的差异在频域分析中借鉴了模式识别中语音识别的技术,将谐波分量提取出来,所有谐波分量将确定一个多维的向量,病人和正常人向量之间的相关度和空间距离都存在着差异 关键词:脉搏信号,时域分析,频域分析,脉象识别IITHE ANALYSIS OF HUMAN PULSE SIGNALUSING LABVIEW AbstractHerbalist doctor always depends on their finger to obtain pulse information since the ancient times, however this method exists many unavoidably subjective decisions, and this kind of skill which feels the pulse with their fingers is very difficult to grasp, therefore people expected urgently to realize the scientific and modernized diagnosis as soon as possible. From the western medicines prospective , in order to find an effective method of cardiovascular disease diagnosis in early time, the people also attempted to appraise and diagnose the pathological change of human body cardiovascular system according to the changeability of pulse wave in recent years. Therefore, carrying on non-distorted examination of pulse signal, gathering and processing is an significant foundational work, it is the premise of further analysis to the pulse signal and the forecast and diagnosis to the heart and artery vascular system disease.This article uses HK-2000C integration numeral pulse sensor developed by HuaKe Electronic Technology Research Institute. It is used to collect pulse signal of subjects into computer and store them in data file. Designed the pulse signal collection system,time domain analysis system and frequency domain analysis system using LabVIEW software. 134 objects are taken, including 73 healthy person, 61 coronary disease and hypertension patients. Analysed the signal using time domain and frequency domain system, then compared each analysis method.Two methods in the time domain analysis are introduced. one method is the extraction of pulse contour characteristic value k based on the pulse area change, the other is carried on the first derivation in the time domain, then extracted the the percentage of the negative slope to the entire slope, namely withdrew the proportion of the the pulsate again wave. A method in the frequency domain analysis is also applied, one is profited from the pattern recognition and the speech recognition technology, withdrawed the harmonic component, all harmonic component determined a multi-dimensional vector. The vectors correlation and the space distance between the patient and the normal person have great difference. Key words: Pulse signal, time domain analysis, frequency domain analysis, Pulse IdentifyIII- 1 -目录第 1 章 绪论 .21.1 人体脉搏研究的背景和意义 .31.2 国内外研究现状 .31.3 本课题的主要工作任务 .5第 2 章 脉搏信号的采集系统 .62.1 脉搏信号采集分析系统总体设计方案 .62.2 硬件设计 .72.3 软件设计 .82.3.1 虚拟仪器 LabVIEW 开发环境简介 .82.3.1.1 虚拟仪器概述 .82.3.1.2 虚拟仪器硬件结构 .92.3.1.3 虚拟仪器软件结构 .102.3.1.4 虚拟仪器的特点 .122.3.2 脉搏采集系统设计 .122.3.2.1 基于 LabVIEW 的采集系统设计概述 .122.3.2.2 采集系统总体框图 .132.3.2.3 采集系统前面板设计 .152.3.2.4 各模块介绍 .162.3.3 生成可执行应用程序 .212.3.4 样本的采集与误差分析 .212.3.3.1 样本的采集 .212.3.3.2 误差分析 .22第 3 章 基于 LabVIEW 脉搏时域分析系统 .263.1 时域分析系统概述 .263.2 时域分析系统原理 .263.2.1 脉搏信号简介 .263.2.2 K 值计算的原理 .273.2.3 脉象速率图的原理 .283.3 时域分析系统的设计 .293.3.1 时域分析系统总体框图 .293.3.2 时域分析系统前面板设计 .303.3.3 各模块介绍 .313.4 数据分析与结果 .373.4.1 脉图面积法数据和分析 .373.4.2 脉象速率法数据和分析 .413.4.3 脉率测量和心率不齐检测的数据分析 .39第 4 章 基于 LabVIEW 脉搏频域分析系统 .434.1 频域分析系统概述 .434.2 频域分析的基本原理 .444.2.1 数字信号处理 .444.2.2.1 傅里叶变换 .44- 2 -4.2.2.2 短时傅里叶变换 .454.2.2.3 小波变换 .464.2.2 向量法的基本原理 .474.3 频域分析系统的设计 .494.3.1 频域分析系统总体框图 .494.3.2 频域分析前面板设计 .504.3.3 各模块介绍 .504.4 数据分析与结果 .52第 5 章 改进方法和发展方向 .54结论 .56致谢 .57- 3 -1目录第一章 绪论 .21.1 人体脉搏研究的背景和意义 31.2 国内外研究现状 31.3 本课题的主要工作任务 5第二章 脉搏信号的采集系统 .62.1 脉搏信号采集分析系统总体设计方案 62.2 硬件设计 72.3 软件设计 82.3.1 虚拟仪器 LabVIEW 开发环境简介 .82.3.1.1 虚拟仪器概述 .82.3.1.2 虚拟仪器硬件结构 .92.3.1.3 虚拟仪器软件结构 .102.3.1.4 虚拟仪器的特点 .122.3.2 脉搏采集系统设计 .122.3.2.1 基于 LabVIEW 的采集系统设计概述 .122.3.2.2 采集系统总体框图 .132.3.2.3 采集系统前面板设计 .152.3.2.4 各模块介绍 .162.3.3 生成可执行应用程序 .212.3.4 样本的采集与误差分析 .212.3.3.1 样本的采集 .212.3.3.2 误差分析 .22第三章 基于 LabVIEW 脉搏时域分析系统 .263.1 时域分析系统概述 263.2 时域分析系统原理 .263.2.1 脉搏信号简介 263.2.2 K 值计算的原理 .273.2.3 脉象速率图的原理 .283.3 时域分析系统的设计 293.3.1 时域分析系统总体框图 .293.3.2 时域分析系统前面板设计 .303.3.3 各模块介绍 .313.4 数据分析与结果 373.4.1 脉图面积法数据和分析 .373.4.2 脉象速率法数据和分析 .413.4.3 脉率测量和心率不齐检测的数据分析 .39第四章 基于 LabVIEW 脉搏频域分析系统 .434.1 频域分析系统概述 434.2 频域分析的基本原理 444.2.1 数字信号处理 .444.2.2.1 傅里叶变换 .444.2.2.2 短时傅里叶变换 .4524.2.2.3 小波变换 .464.2.2 向量法的基本原理 .474.3 频域分析系统的设计 .494.3.1 频域分析系统总体框图 .494.3.2 频域分析前面板设计 .504.3.3 各模块介绍 .504.4 数据分析与结果 .52第五章 改进方法和发展方向 .54结论 .56谢辞 .57应用 LabVIEW 进行人体脉搏分析1第一章 绪论1.1 人体脉搏研究的背景和意义脉搏是由心脏搏动而引起, 经动脉和血流传至远端的桡动脉处, 它携带有丰富的人体健康状况信息。早在公元前 7 世纪脉诊就成为中医的一项独特诊病方法。但自古以来中医独特的诊断方法及治病的疗效总是笼罩着一层神秘的面纱。中医一直是靠手指获取脉搏信息, 这难免存在许多主观臆断因素, 况且这种用手指切脉的技巧很难掌握,因此人们迫切期望尽早实现脉诊的科学化和现代化。随着传感器技术及计算机处理技术的发展,人们希望能够将现代技术应用于中医脉象诊断,以便更科学、更客观地揭示脉象的实质与特征。另一方面从西医的角度看,近年来人们也试图根据脉搏波的变异性来评价和诊断人体心血管系统的病变,以便能找到一个有效的心血管疾病早期无创诊断的方法。因此,对脉搏信号进行无失真的检测、采集和处理是一项重要而很有意义的基础工作,它是对脉搏信号进一步分析并依此对心脏及动脉血管系统疾病进行预报和诊断的前提。本论文的研究主要是基于这方面来进行的,利用功能强大的虚拟仪器LabVIEW 设计出脉搏的采集与分析系统,从客观、物理的角度来诠释人体脉搏系统。1.2 国内外研究现状脉搏系统和脉搏信息的研究包括两大方面: 一是理论分析与计算(即建模方面);二是信号检测与分析。从发表的文献来看, 国外在前一方面做了大量的研究, 也早于国内学者; 而国内在后一方面的研究多于国外。对脉搏信号的分析主要包括以下方面:(1) 脉搏信号检测与提取用脉搏记录仪器描绘脉搏波图像已有百余年的历史。1860 年法国人研制了杠杆脉搏描记器,成为现代脉象描记的基础。脉象仪的总体构成包括脉象信号检测,信号预处理和信号分析三个环节。我国医务界约从 50 年代初就开始了用西方传来的脉搏描记技术,使脉象图形化。近十多年来,已经研制出了许多性能各异的脉象仪,各类脉搏描记器最关键和差异较大的部分就是脉象传感器的研制。从测量原理上讲,脉象传感器可分为机械式、压电式、光电容式等多种 1。福州大学本科生毕业设计 ( 论文 )2(2)脉搏信号处理与特征提取目标信号检测的关键是提取信号的特征。在实际中,目标信号总是淹没在大量的杂波或干扰中,而且目标信号的幅值或功率较杂波或干扰信号可能还低得多,这就需要进行有效的信号处理。时域分析法:目前国内对脉象信号的特征提取方法,多数采用时域分析法,即在时间方向上分析波动信号的动态特征,通过对主波、重搏前波、重搏波的高度、比值、时值、夹角、面积值的参量分析,找出某些特征与脉象变化的内在联系 2 。时域分析法包括直观形态法、多因素识脉法、脉象速率图法、脉图面积法。直观形态法。频域分析法:频域分析主要是通过离散快速傅里叶变换,将时域的脉搏波曲线变换到频域,得到相应的脉搏频谱曲线,通过频谱曲线的特征分析,从中提取与人体生理病理相应的信息,实现脉象分类。与时域分析不同, 脉搏信号的频域特征可分辨性好, 因此80年代以来国内外一些学者开始在频域内对脉搏信号进行分析3,4,5,6,7 , 初步取得了有意义的结果。这种从频域和能量的角度来分析脉搏信号的思想是十分正确的。我们从能量角度研究了几种不同疾病脉搏信号的特征频域特征和差异, 利用频域分析的延伸技术倒谱与同态解卷,首次估计出了人体脉搏系统的传递函数, 分析了脉搏系统的频率特性 8。时频联合分析法:是把一维信号或系统表示成一个时间和频率的二维函数,时频平面能描述出各个时刻的谱成分。常用的时频表示方法有短时傅立叶变换和小波变换(WT) 。短时傅立叶变换(STFT)方法:是一种广义情形,是一种线性时频表示方法,它依赖于被分析信号的线性特性,即信号的频谱与在数据中提供正弦成分的幅度成线性比例。其最主要的优点是容易实现、计算简洁有效,而它主要的缺陷是时间和频率分辨率在整个时频平面上固定不变。另外的限制是对一个特殊的信号,需要一个特殊的窗才能得到最佳分辨率。小波变换(WT):是另外一种重要的线性时频表示,它在时频平面上具有可变的时间和频率分辨率,把FT 中的正弦基函数修改成在整个时频平面上具有可变时频分辨率的基函数,使得它在高频区域能够提供高的时间分辨率,而在低频区域能够提供高的频率分辨率。小波变换这种独特的能力使其成为分析脉搏这种非平稳信号的有力工具 9。在目前已知的小波函数中,复值调制的Gaussian 函数是使用最高的小波之一。应用 LabVIEW 进行人体脉搏分析31.3 本课题的主要工作任务 本课题的主要任务是应用LabVIEW做出人体脉搏信号的采集与分析系统,具体的工作有:(1) 熟练使用LabVIEW图形化编程工具。(2) 学习数字信号处理中时频变换的基本理论。(3) 了解模式识别中语音识别系统的基本概念和分析方法。(4) 学习数据压缩中的基本思想。(5) 学习误差理论与数据处理的基本理论与方法。(6) 搭建出数据采集系统,使人体脉搏信号可以在计算机上显示。(7) 自动调整脉搏时域信号波形基线位置和波形的放大倍数。(8) 将时域信号坎头去尾,整周期存贮起来。(9) 到医院和学校进行数据的采集。(10)能够将采集的数据调出来并进行各项分析,搭建基于脉图面积法的k值的计算模块和脉搏波下降沿一阶导数为负占整个下降沿的百分比的计算模块,对时域信号进行FFT变换,之后把频谱数据存储起来。(11)调用频谱数据,应用了两种方法将频谱中各次谐波提取出来,以db值,绝对值和向量的形式存储起来。(12)整理各种分析方法所得出的数据,存储到EXCEL中。(13)应用EXCEL里面的各种数学函数对数据进行统计分析并建立图表。(14)比较各种分析方法的优劣并得出结论。福州大学本科生毕业设计 ( 论文 )4应用 LabVIEW 进行人体脉搏分析5第 2 章 脉搏信号的采集系统2.1 脉搏信号采集分析系统总体设计方案开发脉搏采集虚拟仪器系统应着重考虑以下几个问题:(1)问题提出:脉搏采集虚拟仪器需要完成的主要功能是读进传感器中的数据,并且显示和存储起来。要以什么方式来实现这些功能,硬件和软件之间的数据如何传送;当系统做好后,要考虑数据去哪里采集,采集多少样本,采集的过程中的误差怎么避免,传感器的位置对测量结果的影响有多大。在接下来的章节中要逐一解决以上问题。对采集来的数据进行分析时,主要有时域和频域两种分析方法,前者的研究工作做过不少,因为时域上的波形给人的感觉比较直观。目前国内对脉象信号的特征提取方法,多数采用时域分析法,即在时间方向上分析波动信号的动态特征,通过对主波、重搏前波、重搏波的高度、比值、时值、夹角、面积值的参量分析,找出某些特征与脉象变化的内在联系。时域分析法包括直观形态法、多因素识脉法、脉象速率图法、脉图面积法、直观形态法。这其中也有一些方法值得尝试,但是这些方法的效果还是有待考究的,本文也会用这些方法进行分析,并提出一些新的分析方法做出对比,找出正常人与病人脉象之间的差异。虽然时域描述比较简单,但它不能反映数据的频率结构。为此,人们经常对数据进行频谱分析,研究其频率成分及格频率成分的强度,将信号变换到频域中后,许多包含在其中的信息就变得更为明显。这就是数据的频域描述。频域变化可以看到时域波形中细微的频率变化。频域分析主要是通过离散快速傅里叶变换,将时域的脉搏波曲线变换到频域,得到相应的脉搏频谱曲线,通过频谱曲线的特征分析,从中提取与人体生理病理相应的信息,实现脉象分类。与时域分析不同, 脉搏信号的频域特征可分辨性较好。本文也介绍了几种频域中提取特征值的方法,并且与之前的学者所用的方法进行比较。数据采集系统、时域分析系统和频域分析系统的连接框图如图 2-1 所示。(2)硬件选择:需要在各式各样的传感器当中选择一种结构简单、功能强大的传感器。由于要去医院和学校采集脉搏数据,要求传感器携带方便,并且要与计算机有接口。 (3)软件编程:编程之前需要把所需要实现的功能框架画出来,编程时根据需要选择一定的功能模块,构建框图程序结构,可编出高效的程序,实现脉搏采集虚拟仪器面福州大学本科生毕业设计 ( 论文 )6板上的各种功能。LabVIEW是图形化编程语言,它提供的是图形化功能模块,精心合理的组织这些功能模块就能完成所需要的要求。 图2-1系统总体框图2.2 硬件设计英国人最早设计了以弹簧为动力的杠杆式脉搏传感器, 并记录了桡动脉脉搏波。之后, 应变计式、光电式、压电晶体式、电阻压力式等直接“接触式”的脉搏传感器陆续问世, 使脉搏检测技术在临床和基础医学研究中得到了广泛应用。这些传感器的原理不尽相同, 测出的脉搏信号成分亦不完全相同。用测压式传感器检测的脉搏信号通常称为压力脉搏波,用容积式传感器检测的脉搏信号称为容积脉搏波。而对桡动脉处的脉搏信号, 目前主要是用国内生产的各种“接触式”压力传感器检测, 它们测取的是寸口组织的力变化量 10。除此之外,还有光电式脉搏传感器,是根据光电容积法制成的脉搏传感器,通过对手指末端透光度的监测,间接检测出脉搏信号,光电式脉搏传感器具有结构简单、无损伤、可重复好等优点。但是由于动脉波动引起的光强变化比背景光的变化微弱得多,测量出来的信号容易受到其它光线的影响。通过光电转换得到的包含脉搏信息的电信号一般也比较微弱,容易受到外界电磁信号的干扰。本次课程设计选用了合肥华科电子技术研究所研制的 HK-2000C 集成化数字脉搏传感器。它将力敏元件(PVDF 压电膜) 、灵敏度温度补偿元件、感温元件、信号调理电路、程控放大电路、基线调整电路、A/D 转换电路、串行通信电路 集成在传感器内。主要应用于无创心血管测试,中医脉象诊断。灵敏度高;抗干扰性能强;脉搏信号的采集与时域信号存储系统(第二章介绍)时域信号的读取与分析模块(第三章介绍)频域信号的读取、分析模块(第四章介绍)应用 LabVIEW 进行人体脉搏分析7过载能力大;一致性好;性能稳定可靠;使用寿命长。在使用过程中,将本模块插入 USB 口后计算机提示发现新硬件,之后按照向导安装光盘 DRIVE 目录下的驱动程。驱动程序安装后,在计算机上生成一虚拟 COM口,编写应用程序时将通讯口设置为虚拟 COM 口。由于虚拟 COM 口号一般为 COM3或者 COM4。传感器外观图如下所示: 图 2-2 传感器外观图(1) 硬件接口:USB 接口。(2) 接口协议:通讯速率:9600 bps;数据格式:8 位数据+1 位停止位(3) 技术指标:表 2-1输出高电平 大于 VCC-1.5V 输出低电平 小于 0.2V灵敏度 2000uV/mmHg 灵敏度温度系数 110-4/精度 0.5% 重复性 0.5%迟滞 0.5% 过载 100 倍 电源电压 312VDC 压力量程 -50+300mmHg2.3 软件设计2.3.1 虚拟仪器 LabVIEW 开发环境简介2.3.1.1 虚拟仪器概述20多年前,美国国家仪器公司NI (National Instruments)提出。 “软件即是仪器”的虚拟仪器(Virtual Instruments,又称VI)概念,引发T传统仪器领域的一场重大变福州大学本科生毕业设计 ( 论文 )8革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了“软件即是仪器”的先河。虚拟仪器开发是当前自动化仪表领域研究的热点。虚拟仪器主要被用于构建计算机测试分析系统和自动控制系统。它以软件取代传统的电子仪器,充分发挥了新一代计算机大容量、高速度的潜能,是CAT (Computer Aided Testing), CAE(Computer Aided Engineering)中一个重要的信号采集及分析手段。虚拟仪器是以特定的软件支持取代相应功能的电子线路,充分利用计算机的软硬件资源,用计算机完成传统仪器硬件的部分乃至全部功能,以具备控制、处理、分析能力的软件为核心的软仪器。它是传统仪器功能与外形的模块化和软件化。在虚拟仪器中,传统电子仪器的绝大多数功能,甚至全部功能都由软件来实现。同时,由于虚拟仪器是以软件为核心的仪器,它不能脱离计算机硬件平台而独立实现其功能。就VI所支持的操作系统而言,包括DOS, Win3X及Win9X系列、Macintosh和UNIX。据此,虚拟仪器可分为基于PC机和工作站两类。其中绝大部分VI运行在个人计算机上,操作系统为Windows。借助于软件实现了传统仪器相应功能的虚拟仪器,是计算机化的仪器。也可以认为,VI是“硬”仪器的虚拟化、软件化和图形化计算机表达 11。2.3.1.2 虚拟仪器硬件结构虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。其中通用仪器硬件平台又由计算机和 I/O 接口设备两部分组成。计算机硬件平台可以是各种类型的计算机,如 PC 计算机、便携式计算机、工作站、嵌入式计算机、工控机等。计算机用于管理虚拟仪器的硬软件资源,是虚拟仪器的硬件基础和核心。开发虚拟仪器的目的是为了更方便快捷地进行测试、分析和控制。虚拟仪器是计算机辅助测试、分析系统的主体组成部分。一个典型的虚拟仪器系统,一般由以下几个部分组成:计算机、虚拟仪器软件、硬件接口模块等。其中硬件接口模块可包括插入式数据采集卡(DAQ)、串/并行口、IEEE488 接口卡(GPIB), VXI 控制器以及其它接口卡。目前较为常用的虚拟仪器是由数据采集卡系统、GPIB 仪器控制系统、VXI 仪器系统以及这三者之间的任意组合。这里,硬件仅是为了解决信号的输入输出,软件才是整个系统的关键。所以当基本硬件确定以后,就可以通过不同的软件(如用于数据分析、过程通讯及图形用户界面的软件)实现不同的功能。虚拟仪器应用软件集成了仪器的所有采集、控制、数据分析、结果输出和用户应用 LabVIEW 进行人体脉搏分析9界面等功能,使传统仪器的某些硬件乃至整个仪器都被计算机软件所代替。在虚拟仪器软件支持下,信号由传感器拾取,由数据采集卡在软件的控制下被采样,再经A/D 转换后送入计算机加以保存或处理。虚拟仪器构成如图 1 所示。它包括计算机、虚拟仪器应用软件和硬件接口。硬件接口种类包括数据采集卡、IEEE488 接口卡、串行口、并行口、插卡式仪器以及其它接口卡。在虚拟仪器系统中,PC 数据采集系统是构成虚拟仪器系统最基本的方式,也是最廉价的方式 12。图2-3 虚拟仪器构成框图2.3.1.3 虚拟仪器软件结构构成一个虚拟仪器系统,在基本硬件确定以后,就可通过不同的软件实现不同的功能。软件是虚拟仪器系统的关键,根据VPP系统规范的定义,虚拟仪器系统的软件结构包括仪器I/O接口软件、驱动程序和应用软件三部分。(1)I/O接口软件I/O接口软件存在于仪器(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器寄存器进行直接存取数据操作,并为仪器与仪器驱动程序提供信息传递的底层软件,是实现开放的、统一的虚拟仪器系统的基础与核心。(2)仪器驱动程序每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供用于仪器操作的较抽象的操作函数集。应用程序对仪器的操作是通过仪器驱动程序来实现的,仪器驱动程序对于仪器的操作与管理,又是通过I/O软件所提供的统一基础与格式的函数库(VISA)的调用来实现的。虚拟仪器驱动程序是连接上层应用程序与底层I/O接口软件的纽带和桥梁。福州大学本科生毕业设计 ( 论文 )10(3)应用软件开发环境应用软件开发环境的选择因人而异,一般取决于开发人员的喜好,但最终都必须提供给用户一个界面友好、满足用户功能要求的应用程序。目前,可供开发人员选择的虚拟仪器系统应用软件开发环境主要包括两种: 基于传统的文本语言式的平台。主要是NI公司的LabWindows/CVI、Microsoft公司的VisualC+、Borland公司的Delphi等。 基于图形化编程环境的平台。如LabVIEW和HP公司的HPVEE等。其中 LabVIEW 是由美国国家仪器公司(NO 在 1986 年推出的一种基于图形编程语言(称之为 G 语言)的开发环境,它具有十分强大的功能,包括数值函数运算、数据采集、信号处理、输入输出控制、信号生成、图像获取、处理和传输等等。LabVIEW 与 Pascal、Basic、C、C+等传统编程语言有着许多相似之处,如相似的数据类型、数据流控制结构、程序调试工具,以及模块化的编程特点等。但二者最大的区别在于:传统编程语言用文本语言编程;而 LabVIEW 使用图形语言(即各种图标、图形符号、连线等)编程,界面非常直观形象,而且使用的图形是人们熟悉的开关、旋钮、波形图等,因此是一种直觉式图形程序语言。LabVIEW 的执行顺序是依方块图数据的传递来决定的,并不像传统文本式程序语言必须逐行执行,因此用户能设计出可同时执行多个程序的流程图。LabVIEW 程序称为“虚拟仪器程序” ,简称 VI。VI 包括三个部分:程序前面板、程序框图和图标/连接器端口。在计算机显示屏幕上利用 LabVIEW 提供的功能库开发工具产生一个程序前面板,即仪器的虚拟面板。在程序前面板上,输入量称为控制器,输出量称为指示器。控制器和指示器是以各种图标形式出现在前面板上,如开关、旋钮等。在后台则利用图形化编程语言编写框图程序,构成一个 VI,与程序前面板对应。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制器和指示器传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序命令,而连线则代表程序执行过程中的数据流。LabVIEW 是一种结构化开发平台。结构化是指 LabVIEW 的程序完全支持顺序结构、循环结构和条件结构三种标准结构,同时 VI 也是层次化和模块化的,可用作其它程序的子程序。VI 被其它程序调用时,称之为 Sub VI。用户可以把一个题目分解为一系列的子任务,每个子任务还可以进一步分解成许多更低一级的子任务,直到把一个复杂的任务分解为许多子任务的组合.首先设计 Sub VI 完成每个子任务,然后将之逐步组合成能够解决最终问题的程序。应用 LabVIEW 进行人体脉搏分析112.3.1.4 虚拟仪器的特点同传统测试仪器相比,虚拟仪器除了在智能化程度、处理能力、易用性等方面有更多的优点外,它还具有传统独立仪器无法比拟的优势,但它并不否定传统仪器的作用,它们相互交叉又相互补充,相得益彰。在高速度、高带宽和专业测试领域,独立仪器具有无可替代的优势。在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的优势,是传统的独立仪器难以胜任的,甚至不可思议的工作。虚拟仪器作为一种新型的仪器种类,具有以下特点:增强仪器系统功能和灵活性;实现网络化设计;开放式体系结构、缩短系统开发周期;可灵活组成虚拟仪器实验室;数据存储方便;可集成为多功能的综合测试系统。表 1 传统仪器与虚拟仪器的比较传统仪器 虚拟仪器仪器厂商定义 用户自定义硬件是关键 软件是关键仪器的功能、规模均已固定 系统功能和规模可通过软件修改和增减封闭的系统、与其他设备连接受限 基于计算机的开放系统,可方便的同外设、网络及其它应用连接多为实验室拥有 个人可以拥有一个实验室技术更新慢 技术更新快开发和维护费用高 节省开发和维护费用价格昂贵 价格低,可重复利用2.3.2 脉搏采集系统设计2.3.2.1 基于 LabVIEW 的采集系统设计概述脉搏的采集主要考虑三个方面的问题,一是基于 LabVIEW 平台的软件系统应该怎样搭建,主要能实现哪些功能;二是系统搭建完成后,数据的采集工作,样本的选择;三是采集过程中出现的误差分析问题。首先,采集系统主要实现的功能是数据的读入,显示和整周期时域波形的存储。数据读取的实现方法是通过 I/O 软件所提供的统一基础与格式的函数库(VISA)的调福州大学本科生毕业设计 ( 论文 )12用来实现的。VISA 是连接上层应用程序与底层 I/O 接口软件的纽带和桥梁。通过VISA serial 对端口参数进行配置,通过 VISA read 对端口数据进行读入。显示和存储功能可以应用 LabVIEW 中的许多功能模块实现。由于在采集系统面板上显示的频域图可以通过加窗结构来使频谱图变的整洁,这种方法虽然有效,但是会丢失前后两端的数据,为了防止这种情况出现在我们的时域分析系统中,在存储的过程中就要把时域信号坎头去尾,使之变成整周期的数据,这样在数据读出来并进行分析时不会出现谱漏的现象。所以采集脉搏的数据为时间窗口内坎头去尾之后的信号,大约有十个心动周期的时间长度。这个长度足以得到完整的受测者心脏搏动的脉搏波数据。该系统具体的模块有:串行端口的配置,数据的读取,基线位置的设定,放大倍数的自动调整,数据的显示,FFT 时频域变换后频谱的显示,峰值检测并坎头去尾,时域信号的存储。其次,经过反复修改和调试,采集系统已经成形,下一步就是进行数据的采集。由于是初步探讨性的进行研究,具体什么病症对应什么样的脉象都是一个未知数,所以首先要选择有代表性的疾病人群,要求这种病要与心脏和血管直接相关,分析起来会比较清楚,之后再进行其它病症的分析。经过比较,我们选择采集冠心病、高血压和糖尿病患者的脉搏信号,拿来和健康人群的脉搏相比较,健康人群的数据比较容易采集,我们就选择在本学校进行。最后,要考虑到在测量过程中所出现的误差,由于每次测量的位置会有细微的差异,测出来的数据也会有不同。所以本文针对这种情况,对同一个人进行了二十次的测量,对这些数值求出数学期望和方差,可以确定了随机函数所有现实相对于均值的分散程度。2.3.2.2 采集系统总体框图数据采集模块系统框图如图2-4所示:应用 LabVIEW 进行人体脉搏分析13图2-4 信号采集系统流程图福州大学本科生毕业设计 ( 论文 )142.3.2.3 采集系统前面板设计根据脉搏采集虚拟仪器功能总体框图,虚拟仪器面板需要用到如下一些控制键:仪器总开关、通讯参数设置(串行口选择、波特率设置、停止位设置、数据位设置、奇偶校验位设置、允许接收字符设置)、峰值检测阀值的设定、基线位置大小的设定、放大倍数的调整、时间窗口设定、数据文件读取、数据文件保存。同时,虚拟仪器面板还要有如下一些指示栏: 实时显示读进来的数据串、实时显示脉搏数据波形图、实时显示时域数组中的值、实时显示 FFT 变换后的频谱图。面板的设计既要简洁美观又需操作方便,为此,将面板上相互关联的功能键放置在一起并占特定的区域,如串行通讯参数设置、测量结果参数、数据文件存储/控制等,这样做既是为面板美观也是为操作方便的需要。脉搏采集虚拟仪器面板如图2-5 所示。图2-5 采集系统前面板图应用 LabVIEW 进行人体脉搏分析152.3.2.4 各模块介绍(1)数据读入配置模块数据读入模块包括 VISA 串行端口的配置,数据的读取,基线位置的设定,放大倍数的设定。其中串行口的设置一共有八项,为串行口选择(根据不同计算机有所区别,一般设置为 COM3 和 COM4) 、波特率设置为 9600、停止位设置为 1 位、数据位设置为8 位、奇偶校验位设置、流量控制设置、读数据前的延时设置。放大倍数的设置:是根据串行口通讯协议而设定,往串行端口写入 20h(开始符) 34h(命令字)xxh(放大级别 0h-9h) 就是手动设置放大被数。基线位置的设置:往串行端口写入 20h(开始符) 35h(命令字)xxh(基线位置0h-3h)就是手动设置基线位置。启动采样:往串行端口写入 20h(开始符) 32h(命令字)系统就开始进行采样。后面板程序框图如图 2-6 所示:图 2-6 数据读入模块后面板(2)数据的显示模块数据显示模块包括初始化时域数据存储的数组,时域信号的读取,时域波形信号的实时显示,时域信号按照时间窗口的大小显示,FFT 时频域变换,频谱的显示,基线和放大倍数的自动调整。下面对每个功能进行介绍。首先要初始化数组,这个数组用于存放时域波形的数据,数组的大小由时间窗口和采样频率两个控件共同决定,如果时间窗口设置的比较大,那么读进来并且存福州大学本科生毕业设计 ( 论文 )16储到数组中的数据就比较大,数组中的数据大小即采样数据点的多少,等于时间窗口的大小乘以采样频率,当设置时间窗口和采样频率的同时就对存储数据的数组进行了初始化。一般采集时,设置时间窗口为 11 秒,这样在坎头去尾之后原理上还可以保留 10 秒时间窗口内的数据。数组的初始如图 2-7 所示。 图 2-7 数组初始化框图数据的读取与显示:此模块的后面板框图如图 2-8 所示。当 read 开关置为on,系统可以进行数据的读取。用了一个判断框图来探测端口中的数据,如果端口数据的个数大于零,VISA 读字符串的功能开始运行,读进来一个比特的数据,读进来数据的时候同时把数据实时显示出来,即前面板中右上角的波形显示,然后把该数据放入到已经初始化好的数组中。当读进第二个字节的时候,把数组中的所有数据左移一位,把新读进来的数据放在数组的最后一位,然后把整个数据中的数据显示出来,这样就可以按照时间窗口的大小,把时域波形显示出来,即前面板中左下角的时域显示器中的图形。时频变换和频谱图的显示:每次读进来一个字节的数据时,系统就会把时域信号的波形图输入到 FFT 功率谱变换的 VI 中,并对时域信号加上汉宁窗,这样可以使频谱变得整洁起来。此过程中需要对功率谱变换进行一些参数设置,例如使频谱图按照 DB 的方式显示,平均的方式,使频谱图与前面 400 个点的频谱图进行平均等。基线与放大倍数的自动调整:为了省去手动设置基线和放大倍数麻烦,设计了这个子程序。这个功能做成了子 VI 放在主程序当中,这个子 VI 又包含了基线调整子 VI 和放大倍数调整子 VI(见图 2-9、2-10、2-11) 。基线调整能够在基线位置太底或太高的时候自动调整基线的位置,使图像正好在图表中部。放大倍数的自动调整是指对时域信号进行调整适当倍数的放大,使之达到标准高度。但是一般测量准确的话,也就是传感器探头位置大概准确的话(一般放置在脉搏跳动位置最强处,应用 LabVIEW 进行人体脉搏分析17也就是手腕的外侧) ,系统默认的脉搏波基线位置和放大倍数都是比较合适的。所以在测量时,可以把前面板上的调整按钮置为 OFF,等脉搏信号过小(脉象很沉)或脉象信号很强的时候再打开。图 2-8 数据显示模块程序框图图 2-9 自动调整后面板福州大学本科生毕业设计 ( 论文 )18图 2-10 基线自动调整后面板图 2-11 放大倍数自动调整后面板(3)数据的存储模块数据的存储模块主要包含两个部分,一个是谷值的检测并把时域波形坎头去尾,从第一个波的波谷记录到最后一个波的波谷;另一个是数据的存储。在进行傅里叶变换的过程中,系统将时间窗口内采集的信号不断重复,以生成无限周期性波形。对于非整数个波形周期采样会导致时频变换后的连续周期之间的突变。这些在生成周期性波形的过程中引起的突变将导致信号频谱中出现非常高的频率,而在原始信号中并不存在这些频率。因此得到的频谱不是原始信号的真实频谱。在频域中,看起来就好像是某个频率的能量泄漏到了其它所有频率中,导致了谱漏。前面板所显示的频谱图可以加上汉宁窗等窗体函数,乘窗后的信号波形在端点处逐渐减小为零。当计算有限长度数据的傅里叶变换时,可将乘窗技术应用于采样波形以最小化所构成的周期性波形突,所以频谱数据也会比较整洁。但是时域窗口应用 LabVIEW 进行人体脉搏分析19前后两端的数据会有一定的衰减。我们所存储的数据不希望这种衰减。所以采用了在存储时域波形之前把时间窗口内的波形整周期提取出来,这样提取出来的数据再经过 FFT 变换时就不用加任何窗体函数,也不会出现谱漏现象。具体的实现办法是加上一个谷值探测的子程序,通过这个子 VI,可以探测出时域窗口所有的谷底值,然后把时域窗口中第一个谷底到最后一个谷底之间的数据放到新的数组中,再把这数组中的数据存储起来。当需要记录该数组值得时候,要把前面板上的 records 按钮置为 ON。谷值探测子程序前后面板图如图 2-12、图 2-13、图 2-14 所示。存储数据程序图如图 2-15 所示。图 2-12 谷值探测子程序前面板图 2-13 谷值探测子程序后面板福州大学本科生毕业设计 ( 论文 )20图 2-14 谷值探测子程序内部框图图 2-15 数据存储程序框图至此,脉搏的采集系统已经完成了,可以实现脉搏信号进行采集、显示时域和频域波形、整周期存储等功能。2.3.3 生成可执行应用程序由于 LabVIEW 的安装程序很庞大,安装程序就有 1.6G。安装到电脑上的应用程序有 1G 左右。安装的时间要一个小时左右。这为脉搏采集系统的推广与应用带来了很大的不便,也为工作人员采集数据带来了不便。基于这个问题,我们应用 LabVIEW 建立了项目(project),把所需要的软件驱动程序集成在一起,例如 LabVIEW Run-time Engine、VISA 驱动和 NI-serial 驱动,做成一个安装文件。并将设计好的采集与分析系统做成可执行应用程序。这样,在没有安装 LabVIEW 的计算机上也可以通过安装驱动程序,运行脉搏采集系统。这为应用 LabVIEW 进行人体脉搏分析21工作人员节省了时间。做成的可执行应用程序保留系统的前面板,而后面板隐藏起来,用户看不到。这样还可以保护开发者的知识产权。2.3.4 样本的采集与误差分析2.3.3.1 样本的采集(1)脉搏的检测 脉搏通常选用较表浅的动脉,最常采用的部位是靠拇指一侧手腕部的桡动脉,左右手均可,但是一般情况下男生右手脉搏波跳动较为强烈,女生左手脉搏波跳动较为强烈,可以按照这个来进行测试。检查脉搏前,要让受测试者休息 10 至 15 分钟,心情放松并保持安静。受测试者取坐卧的姿势都可以,但是由于场地的限制,本次均采用坐姿。将手平放于适宜的位置,腕部伸展,一般与心脏齐平的桌子上,并在手腕下方垫上一个棉垫。检查着将食指,中指和无名指三指并齐放在患者近手腕段的桡动脉上,左右移动,找到脉搏跳动位置最强烈的地方,不能用拇指摸脉,因为拇指本身动脉搏动较强,易与患者脉搏混淆,然后将传感器探头置于此位置上,用弹性腕带包裹住。一般情况下测量时间为脉搏波数据填满整个时间窗口大小,即存储的数组全部填满,时间为 12 秒左右。测量位置的选择如图所示:图 2-16 测量位置图(2)样本的收集脉搏采集系统设计完成后,就可以进行人体脉搏数据的采集了。由于是初步探讨性的进行研究,具体什么病症对应什么样的脉象都是一个未知数,所以首先要选择有代表性的疾病人群,要求这种病要与心脏和血管直接相关,分析起来会比较清楚,之后再进行其它病症的分析。为了找到健康群体与患病者的脉搏差异,健康人福州大学本科生毕业设计 ( 论文 )22和病人的数据都要采集。地点选择在学校采集健康人群的数据,在南京军区总医院糖尿病科和心血管科采集病人的脉搏。由于数据要具有统计规律,所以数据采集应该尽量多,但是由于时间的限制,采集检测对象 134 例,其中健康人 73 例,男生 38 例,女生 35 例。冠心病高血压患者 61 例2.3.3.2 误差分析(1)误差分析原理研究随机过程理论的实际意义 14:重复测量一个不变的物理量,由于被测量、测量仪器或测量条件的随机因素,造成所测得一系列测量结果包含随机误差(偶然误差) ,其中每次测量结果都是取得一个随机的、但是唯一的测量值,因而,测量结果是一个随机变量。随着自动化生产和科学研究的发展,越来越多地需要测量连续变化的过程,这时,被测量可能是随时间而连续变化,或者是随空间而连续变化。因此测量过程和测量结果也是随时间而连续变化的。同样,由于被测对象、测量仪器和测量条件的随机误差,因而被测过程和测量结果都是一个随机的但是连续变化的函数。它有别于上述随机变量,我们称之为随机函数。随机过程理论就是研究随机性表现为一个过程的随机现象的学科,通常它是研究动态测量过程及其测量结果的理论根据。测量过程的基本概念:在动态测量中,对某一个不断变化着的量进行测量,每一个测量结果是一个确定的随时间或空间变化的函数,对于测量的时间间隔内的每一瞬时,这函数都有一个确定的数值。但由于随机误差的存在,使得重复多次测量,会得到不完全相同的函数结果。这种函数,对于自变量(时间或空间)的每一个给定值,它是一个随机变量,称这种函数为随机函数。自变量为时间 t 的随机函数,通常叫随机过程。自变量为空间坐标 L 的随机函数,通常叫随机场。随机场和随机过程的研究方法是一样的。因此以下统称随机过程或随机函数。所有对自变量为时间 t 的随机函数计算公式,同样适用于自变量为空间坐标 l 或其他参量的随机函数。随机函数用 表示。每个测量结果 叫做随机函数的一个实现,或一个样()xt ()ixt本,如 。而 表示这些随机函数样本的集合(总体):12(),Nt ()xt(2-12,()Ntt1)应用 LabVIEW 进行人体脉搏分析23因此,随机过程或随机函数 包含如下内容:把 看作是样本集合时,()xt ()xt意味着一组时间函数 的集合;把 看作是一个样本(或一()xt 12,Nt个现实)时, 意味着一个具体的时间函数,例如 = ;若 时,则()xt t31t意味着一组随机变量 的集合。这就是随机函数或随机过程t 1211(),()xtxt的含义。实际上,这含义的本质是一样的,只是对随机过程的描述方式不同。()x含义 1 是从总体集合意义上讲的。含义 2 是从一个时间历程(一个现实)上描述。一个现实是表示一次实验给定的结果,这时,随机函数表现为一个非随机的确定性函数。随机过程的特征量:随机变量通常用它的概率分布函数、算术平均值和标准差作为特征向量来表示。同样,随机过程也有它的特征量,这些特征量不像随机变量的特征量那样表现为一个确定的数,而是表现为一个函数。常用四种统计函数来表示,即:概率密度函数;均值、方差和方均值;自相关函数;谱密度函数。其中随机函数 的均值(数学期望)是一个时间函数 。对于自变量 t 的每()xt ()xmt一个给定值, 等于随机函数 在该 t 值时的所有数值的平均值(数学期望) ,m()xt即 。由此可见,随机过程的均值是一个非随机的平均函数,它确定()xtEt了随机函数 的中心趋势,随机过程的各个实现(样本)都是围绕它变动,而变动的分散程度则可用方差或标准差来评定。随机函数的方差也是一个时间函数 ,对于自变量 t 的每一个给定值,()Dxt等于随机函数 在该 t 值时的数值对均值偏差平方的平均值(数学期望) ,()Dxt()xt即 : (2-2()xEtmt2)而随机函数的标准差准则为(2-2()()()x xtDtEt4) 由此可见,随机函数的方差和标准差也是一个非随机的时间函数,它确定了随机函数所有现实相对于均值的分散程度。当 时刻,随机函数的方差和标准1t差计算类似于第二章随机误差的方差和标准差计算方法。均值和方差是表征随机过程在各个孤立时刻的统计特征的重要特征量,而自相关函数可以反映出随机过程不同时刻之间的关系。福州大学本科生毕业设计 ( 论文 )24(2)误差分析由于每次测量时的位置略有差别,所以会产生随机误差,为了分析这种误差的影响,我们选取了同一个人测量的 20 次的样本进行分析。取样本的数学期望的过程如图 2-17 所示,该图中的五个波形就是同一个人不同时刻测量的数据,可以看得出,它们之间的相似度很高。取出其中的一个波形,把该波形同一个位置的数据取平均值,最后组成一个完整的平均的波形。取完数学期望后的波形如图 2-18 所示。该平均波形就可以较为准确的代表这个人的脉搏信号。通过误差分析可以得出,我们所采集的数据是有统计意义的。随即误差是肯定存在的,但是只要在一定范围内就是允许的。图 2-17 总体平均过程应用 LabVIEW 进行人体脉搏分析25图 2-18 平均脉搏图福州大学本科生毕业设计 ( 论文 )26第三章 基于 LabVIEW 脉搏时域分析系统3.1 时域分析系统概述因为时域上的波形给人的感觉比较直观。传统的脉象图形数学分析法也为时域分析法,所以目前国内对脉象信号的特征提取方法,多数采用时域分析法,即在时间方向上分析波动信号的动态特征。在采集来的数据当中,用肉眼观察时可以发现心血管疾病和正常人的时域脉搏信号区别很大。但是用什么样的客观化的方法给这种特征描述出来,还是需要摸索的。目前时域分析法包括直观形态法、多因素识脉法、脉象速率图法、脉图面积法、直观形态法。人们通过对主波、重搏前波、重搏波的高度、比值、时值、夹角、面积值的参量分析,找出某些特征与脉象变化的内在联系 13。这其中也有一些方法值得尝试,但是这些方法的效果还是有待考究的,本文也尝试采用了脉图面积法和脉象速率图法来进行分析脉搏信号的时域波形,找出正常人与病人脉象之间的差异。基于 LabVIEW 平台下的时域分析系统的主要功能是:时域信号数据的读取,时频变换,主频和周期的计算,峰值谷值的检测与 k 值的计算,时域波形的求导运算,单个波形下降沿的检测及一阶导数为负占整个下降沿的百分比的计算,即求重搏波所持续的时间占整个下降沿的百分比。3.2 时域分析系统原理 3.2.1 脉搏信号简介脉搏、脉象与脉象图 15:心脏收缩搏动,将血液射入动脉管道,使动脉管内的压力,容积与血流状态均发生一系列的变化。而且心脏有着节律与频率的变化,这些变化在浅表的动脉可被切之,称为脉搏。医生施以不同的指法压力,用手的触觉和压觉得到患者脉搏的频率、节律、
收藏