您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于小波变换的脉搏信号分析仪的设计
第28卷第4期仪器仪表学报Vol.28No.42007年4月ChineseJournalofScientificInstrument基于小波变换的脉搏信号分析仪的设计陈若珠1,周红标1,2,田守军1(1兰州理工大学电信学院甘肃兰州730050;2江苏淮阴工学院电信系江苏淮安223001)摘要:提出一种基于自适应阈值的信号小波消噪方法,仿真试验表明该方法消噪效果优于传统的软、硬阈值法。采用COM组件技术无缝集成LabVIEW与MATLAB实现虚拟脉搏信号分析仪的设计,该分析仪具有信号采集、消噪、特征提取和网络传输等功能,具有非常实用的价值。关键词:脉搏信号;小波变换;LabVIEW;信号消噪中图分类号:TH772;TP391.9文献标识码:A国家标准学科分类代码:510.40DesignofpulsesignalanalysisinstrumentbasedonwavelettransformChenRuozhu1,ZhouHongbiao1,2,TianShoujun1(1CollegeofElectricalandInformationEngineering,LanzhouUniv.ofTech.,Lanzhou730050,China;2DepartmentofElectricalandInformationEngineering,HuaiyinInstituteofTech.,Huaiyin223001,China)Abstract:Thedenoisingmethodbasedonwaveletwithadaptivethresholdingisproposed.Thesimulationexperimentindicatesthattheproposedmethodisbetterthantraditionalwaveletthresholdingdenoisingmethods.AnewtypeofvirtualpulsesignalanalysisinstrumentbasedonseamlessintegrationtechnologybetweenLabVIEWandMATLABisdesignedinthispaper.Thefunctions,suchasdataacquisition,signaldenoising,featureextractionandnetworkcommunicationarerealizedinthisinstrumentwhichpresentsagoodresultthroughthepreliminaryapplicationtotheclinicalpractice.Keywords:pulsesignal;wavelettransform;LabVIEW;signaldenoising1引言脉搏信号是一种非平稳的微弱生理信号,它包含有丰富的人体健康状况信息,具有重要的临床诊断价值。在采集脉搏信号过程中,由于仪器、人体活动等因素而使采集的信号常伴有各种干扰,包括人体呼吸和测量压电膜移动引起的基线漂移、肌肉紧张引起的干扰以及工频干扰等[1]。因此,在提取脉搏信号特征值之前消除噪声是一项极其重要的工作。小波变换具有良好的时频分辨特性,很适合用来消除脉搏信号的噪声,常用的有阈值法、平移不变量法和模极大值法等,本文基于小波阈值消噪法提出了一种新的阈值函数用于脉搏信号的去噪。文献[2]利用小波变换对15例海洛因吸毒者和15例正常人的脉象信号进行分析,提出各尺度-小波能量值作为判断正常人和吸毒者的特征向量;文献[3]根据脉搏波图面积变化提取特征值K来反映心血管疾病患者生理病理上的变化。本文设计的分析仪在分别从时域和频域提取特征值的基础上,利用小波变换对脉搏信号进行时频域联合分析,提取各尺度能量值作为特征值来诊断心血管疾病患者的动脉硬化情况。MathWorks公司开发的MATLAB带有小波工具箱,其中有大量的小波函数可供调用,但它很难实现对计算机端口的控制,同时也不适宜做上位机界面。NI公司推出的LabVIEW是一种面向对象的虚拟仪器编程语言,具有优异的人机交互性能。本文利用COM组件法将MATLAB编写的脉搏信号小波消噪和小波提取特征值算法程序无缝集成到LabVIEW中完成脉搏信号分析仪的设计,同时基于DataSocket技术实现了分析仪数据的网络传输功能。2基于小波变换的脉搏信号消噪2.1自适应阈值消噪原理Donoho等人提出对信号进行离散正交小波变换,然后通过选择适当小波系数重构的方法,得到对原信号的一个估计值,这种方法称为小波变换的阈值去噪法。其主要原理是:信号经小波变换后,噪声能量小于信号能量,与之第28卷第4期仪器仪表学报Vol.28No.42007年4月ChineseJournalofScientificInstrument对应的小波系数也将小于信号对应的小波系数,则可以将小于某阈值的小波系数去除而实现去噪。一般来说,噪声处于高频段,信号处于低频段,则可利用小波变换的多分辨特性,将原始信号分解成不同频段下的信号,根据阈值去掉某些细节,再用小波逆变换恢复剩余的信号,得到去除干扰的信号[4]。在小波消噪中,最关键的就是阈值的选取和阈值的量化。若阈值取的太小,则噪声不能够得到很好的消除。若阈值取的过大,原信号中大量细节部分也被当作噪声去除了,影响了信号消噪的质量。MATLAB工具箱中主要有以下几种阈值选择:固定阈值2lnthrN;基于无偏似然估计原理的自适应阈值;启发式阈值;基于极大极小值原理的阈值。在对系数进行处理时,通常采用全局阈值,即对各层系数采用同一个阈值进行处理;而局部阈值充分考虑各层的信噪比差异,针对不同的系数选取不同的阈值,去噪效果更好。本文参考文献[5]提出自适应阈值,对分解的各层高频细节信号jd估计噪声方差0.6745jjmediand,再确定各层细节信号自适应阈值为2lnlog1jjNthrj,其中N为信号长度,j为分解尺度。可见随着j的增大,thrj的趋势是减小的,这符合噪声幅值变化规律。处理阈值的方法有硬阈值法和软阈值法,设x是小波系数的大小,s是施加阈值后的小波系数大小,t是阈值。硬阈值(hardthresholding)处理为,0,xxtsxt(1)可见,式(1)中小波系数s在阈值t和t处存在断点,容易产生振荡。软阈值(softthresholding)处理为,0,signxxtxtsxt(2)式(2)中s虽然是连续的,但是s和x之间存在偏差,直接影响重构信号质量。本文结合软硬阈值,构造了新的阈值处理函数exp0tsignxxxtxtsNxt,,(3)式(3)中当0N时,新阈值函数趋于硬阈值函数;当N时,新阈值函数趋于软阈值函数。可见,新阈值函数优于软、硬阈值函数。2.2仿真实验分析以MATLAB中的信号为测试对象,采用sym8小波,5层分解,噪声信号的SNR为3。通过图1以及表1给出的三种消噪方法的SNR和MSE,可以比较看出,新算法的消噪效果优于软、硬阈值法。05001000150020002500-10010原始信号05001000150020002500-10010染噪信号05001000150020002500-10010硬阈值消噪05001000150020002500-10010软阈值消噪05001000150020002500-10010新算法消噪图1含噪信号三种阈值消噪Fig.1ThreethresholddenoisingofsignalwithnoiseTable1TheSNRandMSEofthreemethod表1三种阈值消噪法的信噪比和均方误差hardsoftnewSNRMSE21.3170.717221.7610.647523.3350.55802.3脉搏信号自适应阈值小波消噪算法经过多次试验,并考虑噪声类型及其频带分布特点,基于自适应阈值的脉搏信号小波消噪算法描述如下:1)将含噪脉搏信号利用sym8小波进行5层小波分解。2)由于高频噪声主要存在于第1层高频系数中,将此小波系数置零。3)根据2~5层细节信号噪声方差估计j确定各层阈值jthr,采用新阈值函数处理。4)利用离散小波逆变换重构原信号,得到去噪后的脉搏信号。3基于COM组件法的LabVIEW与MATLAB的无缝集成MATLAB7.0带有MATLABCOMBuilder,利用它能将M文件编译成COM组件,以供LabVIEW编程语言调用,并最终打包LabVIEW程序和所调用的COM组件,使分析仪软件脱离LabVIEW和MATLAB环境下运行[6]。具体的步骤如下:1)在MATLAB中通过调用mbuild–setup和mex–setup命令,设置VisualC++6.0为外部编译器;增加第28卷第4期仪器仪表学报Vol.28No.42007年4月ChineseJournalofScientificInstrumentMATLAB头文件、库和DLL路径为系统路径。2)打开新M文件,定义名为mywavelet的函数,[xd]=mywavelet(x,wname,wlevel),添加脉搏信号小波自适应阈值消噪算法程序,保存文件名为mywavelet。3)在MATLAB中调用comtool命令,打开MATLABBuilderforCOM,创建工程在Componentname中输入要生成的COM组件的名comwavelet;将第2步生成的M文件添加到comwavelet类中;运行菜单命令COMObject,完成编译;在comwavelet文件夹的distrib中有生成的自动注册到系统中的comwavelet_1_0.dll文件;运行菜单命令PackageComponent,创建一个自解压可执行程序comwavelet.exe。4)在LabVIEW程序中调用AutomationOpen函数生成Refnum,右键选择SelectActiveXClass,浏览列表选择comwavelet1.0TypeLibraryVersion1.0;调用方法节点(InvokeNode),连接comwavelet_1_0.dll的引用,完成节点的输入、输出变量的设置。核心程序如图2所示。图2LabVIEW调用COM组件对象程序框图Fig.2BlockdiagramofLabVIEWcallingcomobjectmethod4虚拟脉搏信号分析仪脉搏信号分析仪硬件装置采用AVR系列ATmega16单片机,将PVDF压电膜采集的电信号进过放大调理由单片机A/D转换,并通过一款RS232转USB芯片CH341A将USB口虚拟成串口,再由上位机对信号进行处理。虚拟脉搏信号分析仪软件采用多面板设计,主程序前面板如图3所示。图3主程序前面板Fig.3Frontpanelofthemainprogra患者管理模块采用免费并开源的LabVIEW数据库访问包LabSQL,实现患者信息的录入、查询、修改和删除等功能。信号采集模块利用LabVIEW虚拟仪器软件架构VISA打开、设置计算机的串口实现与脉搏信号检测装置间的通讯。小波消噪模块采用COM组件技术将MATLAB编写的算法集成到LabVIEW中,实现脉搏信号消噪。小波消噪程序前面板如图4所示。图4小波消噪程序前面板Fig.4Frontpanelofwaveletdenoising4.1脉搏信号特征提取从脉搏信号中提取特征信息一般有时域、频域和时频域联合分析,时域中主要是提取脉搏信号曲线中一些有明确生理意义的点(如主波、重搏前波和重搏波高度,分别用Hm、Hc和Hr表示)来作为评价脉搏信号的特征点。频域中主要是通过DFFT,从频谱中提取与人体生理病理相关的信息。文献[3]提出一个以脉搏波波图面积变化为脉搏波第28卷第4期仪器仪表学报Vol.28No.42007年4月ChineseJournalofScientificInstrument波形特征
本文标题:基于小波变换的脉搏信号分析仪的设计
链接地址:https://www.777doc.com/doc-2574801 .html