【血氧测量程序系统设计案例5100字】_第1页
【血氧测量程序系统设计案例5100字】_第2页
【血氧测量程序系统设计案例5100字】_第3页
【血氧测量程序系统设计案例5100字】_第4页
【血氧测量程序系统设计案例5100字】_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[9]。图11叠加平均滤波电路程序框图图12滤波后的波形图从图12中可以看出叠加滤波电路对于叠加了均匀白噪声的信号的滤波效果符合预期,比巴特沃斯滤波器的效果要好一些,叠加的次数越多,输出的信号越平滑,噪声越小。但是叠加滤波法的缺点在于无法马上得出比较正确的波形,需要进行很多次计算之后才能从夹杂噪声的输入信号中读取出有效信号,需要的波形越准确,所耗费的时间也就越多,这在临床医护和其他紧急场合中是不能被接受的,所以这种方法尽管也可以达到滤波的效果,但是一般不采用。1.2.3小波变换消噪程序小波变换实质上是一种带通滤波,将输入信号分解到各个尺度,在各个尺度上的小波谱具有不同的带通滤波特性,再将噪声产生的小波谱分量去掉,这样就可以把有效信号的谱分量保留下来,之后重构源信号。将小波变换法用于信号去噪,同时能保证信号的突变部分不会受到破坏。图13离散小波变换程序图13中,Levels(趋势级别),也称分解层数,分解层数的多少与去噪效果的好坏密切相关,层数太少会导致去噪效果不佳,信号产生失真。层数太多则会导致有效信号被去除的太多,信号的信息丢失严重,信号又会产生失真,信噪比反而会下降。在实际操作中,不同信号、不同噪声下要达到最佳效果的分解层数都是不一样的,所以就需要操作人员不断实践来确定最佳的分解层数。一般来说,分解层数在增加的过程中,信噪比先是会有明显的提升,然后保持在一个比较稳定的状态,接着随着层数越来越高,信噪比会有一定的回落。Wavelet(小波),即选择的小波种类,在本次设计中选择了与实际的脉搏波形相似的db02小波。图14小波变换法程序框图图15小波变换法前面板从图15中可以看出,小波变换法的滤波效果不是很理想,虽然可以快速地得到滤波后的波形,但是波形中还是存在着噪声的影响,特别是在波峰、波谷处出现的大小尖峰会影响波峰检测程序得出的结果,最后可能会计算出一个错误的数值,这样会引起不必要的损失,所以在本次设计中没有采用上述叠加滤波法和小波变换法来进行信号的滤波处理,而是选择了巴特沃斯滤波器。1.2.4信号特征的提取程序完成信号的滤波之后要提取出每个周期中的最大值和最小值,之后就能计算血氧饱和度了。这里使用波峰检测控件分别检测波峰和波谷,即波形中每个周期的最大最小值,把检测出来的结果分别储存在一个数组中。图16波峰检测图16中:X表示信号输入端,接入需要进行检测的波形数据,可以是单个数组,也可以是连续的数据;阈值就是在检测出波峰/波谷时进行比较的一个数值,如果波峰值小于阈值或波谷值大于阈值,VI就会自动忽略它们;位置指的是VI找到波峰/波谷的索引位置,索引不是整数,即检测到的波峰/波谷不一定在输入的波形数据中真正存在;当检测到波峰或波谷时,二阶导数的值分别为负值和正值;当输入信号含有噪声信号时,位置和振幅会与实际值差别较大,所以要在滤波后进行播放检测;波峰/波谷表示指定此VI要查找的是波峰还是波谷,如表2所示表2波峰/波谷0Peaks1Valleys如果在进行波峰检测之前没有进行信号滤波,把夹杂着噪声的信号进行检测,就会出现数据失真的情况,使得最值过大或过小,从而将会导致血氧饱和度数值计算不准确,这样会导致之后报警程序的误判,引起使用者的慌乱或致使临床医护人员产生误判,造成不必要的损失。所以需要独立的滤波程序来保证波形噪声的去除,滤波器的参数设置与1.2.1节“真”条件结构中的滤波器参数一致。图17波峰检测求红光信号的最大值和最小值程序框图如图17所示,源信号经过滤波器滤波之后的波形数据进入波峰检测控件,然后通过使用数组控件和移位寄存器将最大值、最小值保存下来,并且显示在前面板上。移位寄存器是LabVIEW中对程序运行产生的数据进行暂时性保存的一种方式,可以添加在For循环和While循环中。移位寄存器由左右两个接线端口组成,端口的颜色会随着接收数据的类型发生改变,连接到左右两个端口的必须是同一种数据类型的数据。红光和红外光的最值分别如图18、19所示。图18红光的最大值和最小值图19红外光的最大值和最小值1.3信号的运算程序使用在上一节中求出的红光的最大最小值和红外光的最大最小值,根据式(10)计算出Q的值,然后将定标的A、B的值(A=118,B=42)与Q值代入式(7)进行计算就可以得到血氧饱和度数值。图20给出了血氧饱和度的计算程序。然后将计算结果在前面板显示出来,如图21所示。图20血氧饱和度计算程序图21前面板显示血氧饱和度数值1.4报警系统程序在实际应用中会出现被测者的血氧饱和度过低的情况,需要及时的提醒医护人员,所以报警系统是不可或缺的。如图22所示,将数组中的元素提取出来并逐一比较大小,当检测到的血氧饱和度数值低于90或高于100时,前面板的布尔控件就会从黑色变为红色,提醒此时数值异常,起到报警作用。图22报警系统程序1.5实时测量的实现如果按照上述的程序运行,程序只能运行一次,这样就不能够做到连续、实时的测量,所以就要把上述程序放入一个While循环,这是一种先执行后判断的循环程序,当其运行时,首先执行循环中的程序,然后进行判断,直到条件满足之后才结束循环。While循环中包括计数接线端和条件接线端,顾名思义计数接线端是一个用来输出循环执行次数的输出端口,而条件接线端则用于控制循环的开始和停止。如图23所示,条件接线端连接的是停止按钮,当程序启动之后如果没有按下停止按钮,程序就会一直执行下去,测量结束时就按下停止按钮,此时测量程序就会立即停止。这样就达到了连续、实时测量的目的。图23系统程序框图另外在图23中可以看到,程序中使用了计时器控件来控制测量速率的快慢,程序每执行一次需要等待300毫秒才能执行下一次循环。程序运行之后的前面板如图24所示,在图中可以看到:经过滤波后的红光和红外光信号分别显示在上下两个波形图上,波峰检测控件计算出的最值储存在数组中,可以拖动滑块查看从程序开始运行后检测到的最值,此时噪声幅值为0.01,红光的最大值在2.8左右,最小值在2.7左右,幅值为0.05.红外光的最大值在2.16左右,最小值在2.0左右,幅值为0.08。经过运算程序得出的血氧饱和度数值会显示在前面板的数组显示控件上,此时数值大于90,报警控件显示黑色,代表此时的血氧饱和度数值正常。图24测量系统前面板调整红外光的幅值和直流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论