技术领域
本发明属于信号发生器技术领域,具体涉及一种基于FPGA的脉搏波信号发生器及方法。
背景技术
如《基于C8051F020单片机的脉搏波信号发生器的设计》论文所述,李洋等人设计了一 种脉搏波信号发生器,能够发出代替人体实际脉搏波的信号,将其发送至各类脉搏波信号检 测仪器中,以求调试和检查这类仪器的性能指标。但是该项设计中,信号发生器需要与上位 机相连,由于需要存储整个波形数据,所以大容量的Flash芯片才能达到要求。发生器只是单 纯地将上位机中的已存在的波形数据通过液晶屏和示波器显示出来,添加一些功能模块,这 都是在已经获得脉搏波数据的前提下,才能完成的。若没有波形数据,信号发生器也达不到 显示波形的目的。
又如专利号为200720103587.1的实用新型专利“数字式脉搏波信号发生器”中,使用单 片机作为处理器,产生脉搏波,用作脉搏波仪器检测设备,但是,该专利只能通过与PC机 相连,通过USB数据线,将PC中的脉搏波数据下载到EPROM中,通过LCD和示波器显示 波形,也只是单纯地做到显示波形的作用,需要已知大量的脉搏波数据才能使设备达到其作 用,这样就局限了该数字式脉搏波信号发生器在检测脉搏波仪器时发挥的作用。
此外,有一些信号发生器,只能输出正弦波、方波等简单信号,还有些脉搏波信号发生 器,只有在电脑中存储完整的脉搏波数据,才能显示出最后的波形,显然这给我们平时的使 用带来很多不便。
发明内容
针对现有技术存在的不足,本发明提供一种基于FPGA的脉搏波信号发生器及方法。
本发明的技术方案是:
一种基于FPGA的脉搏波信号发生器,包括触摸屏、LCD显示器、示波器、FPGA、电 源、AD转换装置和DA转换装置;
所述电源用于为LCD显示器、触摸屏、AD转换装置和DA转换装置供电;
所述AD转换装置用于将点击触摸屏动作产生的电压值转换为坐标数字值并将该坐标数 字值传输至FPGA;
所述DA转换装置用于将FPGA输出的数字波形转换为模拟波形并将该模拟波形传输至 示波器;
所述FPGA用于产生脉搏波信号并将其传输至LCD显示器或示波器进行脉搏波波形显 示;
所述DA转换装置输入端连接FPGA,DA转换装置输出端连接示波器,AD转换装置输 出端连接FPGA,AD转换装置输入端连接触摸屏,LCD显示器连接FPGA,电源连接LCD 显示器。
所述FPGA设置有波形选择模块、特征点选取模块、波形拟合模块、噪声叠加及信噪比 设定模块、基线漂移模块、触摸屏去抖动模块和血管弹性腔仿真模块;
所述波形选择模块用于提供可选的输出波形类型并选择;
所述特征点选取模块用于对波形选择模块选择的波形进行特征点选取;
所述波形拟合模块用于利用高斯-cosine函数将特征点选取模块选取的特征点拟合成波 形;
所述血管弹性腔仿真模块用于将人体主动脉模拟成两个血管弹性腔并仿真出该血管弹性 腔内血液流动状态产生波形;
所述噪声叠加及信噪比设定模块用于对波形拟合模块拟合成的波形或血管弹性腔仿真模 块产生的波形叠加噪声信号并设定信噪比;
所述基线漂移模块用于对叠加噪声并设定信噪比后的波形加入基线漂移;
所述触摸屏去抖动模块用于去除点击触摸屏引起的抖动干扰。
采用所述的基于FPGA的脉搏波信号发生器的脉搏波信号发生方法,包括如下步骤:
步骤1:点击触摸屏的四个边界点,得到该四个边界点的坐标值并保存,根据四个边界 点的坐标值、触摸屏长度和触摸屏宽度得到该任意一点坐标值,完成触摸屏坐标校正;
步骤2:选择波形产生方式并去除由点击触摸屏引起的触摸屏抖动,所述波形产生方式 包括波形拟合和血管弹性仿真:若选择波形拟合,则执行步骤3,若选择血管弹性仿真,则 执行步骤6;
步骤3:选择输出波形类型并去除由点击触摸屏引起的触摸屏抖动,所述输出波形类型 包括I型滑脉、II型滑脉、I型弦脉、II型弦脉和III型弦脉;
步骤4:根据选择的输出波形类型,选取特征点并去除由点击触摸屏引起的触摸屏抖动;
所述的在选择的输出波形上选取特征点,是根据所选择的波形,在每个周期中,选取幅 值最大的点、斜率值最大的点、初始点、结束点、拐点和驻点作为特征点。
步骤5:依次连接两个相邻的特征点,利用高斯函数-cosine函数结合的方法,分段拟合 波形,若干分段波形整合得到脉搏波波形,并去除由点击触摸屏引起的触摸屏抖动,然后执 行步骤7;
步骤6:采用弹性腔模型将人体主动脉模拟成两个血管弹性腔,其中一个血管弹性腔表 征主动脉弓,另一个血管弹性腔表征腹主动脉,通过两个血管弹性腔仿真出该血管弹性腔内 血液流动状态形成波形,选取血管弹性腔参数并去除由点击触摸屏引起的触摸屏抖动,血管 弹性腔参数包括主动脉弓的血管弹性腔的集总顺应性、腹主动脉的血管弹性腔的集总顺应性、 连接两个血管弹性腔的血柱及外周阻力;
步骤7:在波形中叠加噪声信号并设定信噪比,并去除由点击触摸屏引起的触摸屏抖动;
所述的噪声信号包括50Hz工频噪声,高斯白噪声和均匀分布的噪声。
步骤8:对加入噪声信号并设定信噪比后的波形设定基线漂移,得到噪声和基线漂移的 脉搏波波形;
步骤9:将脉搏波波形通过LCD显示器或示波器显示。
所述去除由点击触摸屏引起的触摸屏抖动,具体方法是:点击触摸屏一点并保存其坐标, 再次点击该点并保存其坐标,分别比较两次点击得到的点的横坐标绝对值之差和纵坐标的绝 对值之差,若横坐标绝对值之差或纵坐标的绝对值之差大于5,则视为触摸屏存在干扰,第 二次点击的坐标无效,若横坐标绝对值之差或纵坐标的绝对值之差小于5,则视为触摸屏无 干扰,第二次点击的坐标有效,此时将第二次点击的有效坐标与第一次点击所保存的坐标的 横纵坐标对应相加并取平均值,得到该点坐标结果。
有益效果:
本发明采用两种方式产生脉搏波波形,一种方式是通过高斯函数-Cosine函数结合的方 式,分段拟合脉搏波得到最后的完整波形,省去了整个波形所浪费的存储空间,实现了真正 意义上的脉搏波发生装置,具有专一性;另一种方式是采用弹性腔模型模拟血管情况,模拟 出两个血管弹性腔,通过参数的改变,可以产生低阻力、中阻力、高阻力、超高阻力四种情 况下的脉搏波波形。两种方式均能在信号数据未知的前提下,由用户设定得到准确脉搏波波 形输出。
本发明的脉搏波信号发生器采用FPGA作为信号处理器,相对于其它开发平台(例如单 片机),FPGA可进行并行数据处理,有更快的运行速度,可以连接更多的外围设备,有利于 系统功能的后续添加,从根本上解决了由于开发平台的不足导致的系统功能的缺陷;而且克 服了其他信号发生器的缺点——只能产生简单的波形,需要完整的脉搏波数据,需要大容量 的Flash存储数据等。采用LCD显示器,触摸屏和示波器组成的与用户的交互界面,使操作 更加简单,用户可以根据需要快速地完成相应操作,有很大的实用价值。
通过实验证明,本发明的基于FPGA的脉搏波信号发生方法所得到的脉搏波波形与实际 波形的相对误差小于3%,与现有技术中的脉搏波发生器相比,大幅提高了拟合后波形的准确 度,最大程度的降低了误差对最后结果的影响。为最大程度的模拟实际脉搏波的波形,本方 法添加不同类型噪声,并设置信噪比,对波形加入基线漂移,让最后得到的脉搏波更有实际 的利用价值。
附图说明
图1为本发明具体实施方式的基于FPGA的脉搏波信号发生器结构框图;
图2为本发明具体实施方式的基于FPGA的脉搏波信号发生方法流程图;
图3为本发明具体实施方式的五种类型的输出波形图;
图4为本发明具体实施方式的弹性腔模型示意图;
图5为本发明具体实施方式的弹性腔模型等效电路图;
图6为本发明具体实施方式的低阻力类型的弹性腔模型输出的脉搏波波形图;
图7为本发明具体实施方式的中阻力类型的弹性腔模型输出的脉搏波波形图;
图8为本发明具体实施方式的高阻力类型的弹性腔模型输出的脉搏波波形图;
图9为本发明具体实施方式的超高阻力类型的弹性腔模型输出的脉搏波波形图;
图10为本发明具体实施方式的叠加50Hz工频噪声后的脉搏波波形图;
图11为本发明具体实施方式的叠加高斯白噪声后的脉搏波波形图;
图12为本发明具体实施方式的叠加均匀分布噪声后的脉搏波波形图;
图13为本发明具体实施方式的加入基线漂移后的脉搏波波形图;
图14为本发明具体实施方式的I型滑脉通过LCD显示器显示的脉搏波波形图;
图15为本发明具体实施方式的I型滑脉通过示波器显示的脉搏波波形图;
图16为本发明具体实施方式的II型滑脉通过示波器显示的脉搏波波形图;
图17为本发明具体实施方式的I型弦脉通过示波器显示的脉搏波波形图;
图18为本发明具体实施方式的II型弦脉通过示波器显示的脉搏波波形图;
图19为本发明具体实施方式的III型弦脉通过示波器显示的脉搏波波形图;
图20为本发明具体实施方式的触摸屏及其四个边界点的示意图;
图21为本发明具体实施方式的FPGA的逻辑框图;
图22为本发明具体实施方式的FPGA中的LCD控制模块的控制框图;
图23为本发明具体实施方式的ADS7843的工作电路图;
图24为本发明具体实施方式的DAC7513工作电路图;
图25为本发明具体实施方式的降压芯片LM2940CT-5.0的电路图;
图26为本发明具体实施方式的降压芯片LM1085IT-3.3的电路图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
如图1所示,基于FPGA的脉搏波信号发生器,包括触摸屏、LCD显示器、示波器、FPGA、 电源、AD转换装置和DA转换装置;
电源用于为LCD显示器、触摸屏、AD转换装置和DA转换装置供电;
AD转换装置用于将点击触摸屏动作产生的电压值转换为坐标数字值并将该坐标数字值 传输至FPGA;
DA转换装置用于将FPGA输出的数字波形转换为模拟波形并将该模拟波形传输至示波 器;
FPGA用于产生脉搏波信号并将其传输至LCD显示器或示波器进行脉搏波波形显示;
DA转换装置输入端连接FPGA,DA转换装置输出端连接示波器,AD转换装置输出端 连接FPGA,AD转换装置输入端连接触摸屏,LCD显示器连接FPGA,电源连接LCD显示 器。
本实施方式中,采用Altera公司的型号为EP1CQ240C8N的FPGA作为实验平台,其逻 辑框图见图21,该FPGA通过添加Flash模块,提供了系统代码运行的空间,同时,可以将 代码烧录在Flash模块中,节省了每次下载程序所浪费的时间;该FPGA的SDRAM模块, 用来存储LCD显示器要显示的数据,SDRAM控制器集成在LCD IP核内。为了实现SDRAM 模块和LCD显示器之间的异步读写功能,在SDRAM模块的输出端口和LCD显示器的RGB 输入端口之间添加DCFIFO,达到预想效果。
LCD显示器选用夏普公司型号为LQ080V3DG01的LCD液晶屏。根据用户手册提供的 LCD时序的描述,在FPGA中设计LCD控制模块,其控制框图见图22。它能产生液晶屏显 示需要的时钟信号。同时,添加锁相环,将输入时钟信号分频倍频,分别提供给LCD显示器 和SDRAM模块作为其工作信号。
本实施方式中,通过触摸屏点击操作从硬件上辅助FPGA进行波形产生方式的选择、输 出波形类型的选择、在选择的输出波形上选取特征点、利用高斯函数-cosine函数结合的方法 分段拟合波形、采用弹性腔模型将人体主动脉模拟成两个血管弹性腔并仿真出该血管弹性腔 内血液流动状态形成波形、将波形中叠加噪声信号并设定信噪比。
本实施方式采用型号为ADS7843的AD转换装置,作为触摸屏的控制器,ADS7843是 一个12位的模数转换器,其数字接口与FPGA的IO口相连接,提供其工作时序信号,ADS7843 的工作电路如图23所示,ADS7843的14号引脚为输入接口,与FPGA的237号引脚相连。 ADS7843的12引脚为输出接口,与FPGA的219号引脚相连。如果想获取Y方向的坐标具 体数值,可以将信号从X+引脚输入,同时打开Y+和Y-引脚,得到X+的数字电压值,最后, 得到Y方向的坐标,同样,X方向上的坐标可以用同样的方法获得。ADS7843提供了两种电 压输入模式,一种是单电压参考输入模式,另一种是差分模式。本实施方式中使用差分电压 输入模式。
本实施方式采用型号为DAC7513的数模转换芯片作为DA转换装置,输出最后的模拟波 形。DAC7513是一个低电压、12位、低功耗并且能够与SPITM核兼容的高速转换芯片,该芯 片工作时钟信号为10kHZ,参考电压输入为3.3v,其工作电路如图24所示,DAC7513的6 号引脚为输入接口,与FPGA的85号引脚相连,1号引脚为输出接口,直接连接示波器。
本实施方式的基于FPGA的脉搏波信号发生器,需要的电源幅值为12V、5V和3.3V, 其中,12V和5V分别提供给LCD显示器,提供背光电压。3.3V提供给ADS7843模数转换 芯片、DAC7513数模转换芯片和触摸屏。
12v电压通过稳压电源直接获取;通过降压芯片LM2940CT-5.0将12V电压降到5V,提 供给LCD显示器。降压芯片LM2940CT-5.0电路如图25所示,其中,1号引脚为输入电压 12V;3号引脚为输出电压5V。
通过降压芯片LM1085IT-3.3将5V电压降到3.3V,提供给ADS7843模数转换芯片、 DAC7513数模转换芯片和触摸屏使用,降压芯片LM1085IT-3.3电路如图26所示,其中,3 号引脚为输入电压5V;2号引脚为输出电压3.3V。
FPGA设置有波形选择模块、特征点选取模块、波形拟合模块、噪声叠加及信噪比设定 模块、基线漂移模块、触摸屏去抖动模块和血管弹性腔仿真模块;
波形选择模块用于提供可选的输出波形类型并选择;
特征点选取模块用于对波形选择模块选择的波形进行特征点选取;
波形拟合模块用于利用高斯-cosine函数将特征点选取模块选取的特征点拟合成波形;
血管弹性腔仿真模块用于将人体主动脉模拟成两个血管弹性腔并仿真出该血管弹性腔内 血液流动状态产生波形;
噪声叠加及信噪比设定模块用于对波形拟合模块拟合成的波形或血管弹性腔仿真模块产 生的波形叠加噪声信号并设定信噪比;
基线漂移模块用于对叠加噪声并设定信噪比后的波形加入基线漂移;
触摸屏去抖动模块用于去除点击触摸屏引起的抖动干扰。
本实施方式中,基于FPGA的脉搏波信号发生方法,如图2所示,包括如下步骤:
步骤1:点击触摸屏的四个边界点,得到该四个边界点的坐标值并保存,根据四个边界 点的坐标值、触摸屏长度和触摸屏宽度得到该任意一点坐标值,完成触摸屏坐标校正;
如图20所示,点击四个边界点A、B、C、D,得到四个点的坐标值:A(Vax,Vay)、B(Vbx, Vby)、C(Vcx,Vcy)、D(Vdx,Vdy)。
点击触摸屏上的任意一点,根据四个边界点的坐标值、触摸屏长度和触摸屏宽度得到该 任意一点(x,y)坐标值,公式如下:
x = ( Vx - ( Vax + Vbx ) 2 ) · LCD _ W ( Vcx + Vdx ) 2 - ( Vax + Vbx ) 2 y = ( Vy - ( Vay + Vdy ) 2 ) · LCD _ H ( Vby + Vcy ) 2 - ( Vay + Vdy ) 2 ]]>
其中,LCD_W为触摸屏的长度,LCD_H为触摸屏的宽度。
步骤2:选择波形产生方式并去除由点击触摸屏引起的触摸屏抖动,波形产生方式包括 波形拟合和血管弹性仿真:若选择波形拟合,则执行步骤3,若选择血管弹性仿真,则执行 步骤6;
去除由点击触摸屏引起的触摸屏抖动,具体方法是:去除触摸屏抖动:点击触摸屏一点 并保存其坐标,记为(old_x,old_y),再次点击该点并保存其坐标,分别比较两次点击得到 的点的横坐标绝对值之差和纵坐标的绝对值之差,若横坐标绝对值之差或纵坐标的绝对值之 差大于5,则视为触摸屏存在干扰,第二次点击的坐标无效,若横坐标绝对值之差或纵坐标 的绝对值之差小于5,则视为触摸屏无干扰,第二次点击的坐标有效,此时将第二次点击的 有效坐标与第一次点击所保存的坐标的横纵坐标对应相加并取平均值,得到该点坐标结果。
步骤3:选择输出波形类型并去除由点击触摸屏引起的触摸屏抖动,如图3所示,输出 波形类型包括I型滑脉(Type1)、II型滑脉(Type2)、I型弦脉(Type3)、II型弦脉(Type4) 和III型弦脉(Type5);
步骤4:根据选择的输出波形类型选取特征点并去除由点击触摸屏引起的触摸屏抖动;
在选择的输出波形上选取特征点是根据所选择的波形,在每个周期中,选取幅值最大的 点、斜率值最大的点、初始点、结束点、拐点和驻点作为特征点,用户可以根据需要调整特 征点位置,调整范围是原特征点±5个单位(像素点);
脉搏波的特征点反映其在形状上的特点,每种类型的波形需要5到6个特征点,其中, 只有I型滑波需要5个特征点。在有重波的波形中,也需要选取重波幅值最大的点。
系统给出每种函数特征点的具体坐标,存储在一维数组中。在波形拟合过程中,通过调 用数据,直接获得特征点的横纵坐标,对脉搏波进行拟合。
用户可以根据需要在调整范围内调整特征点,这样调整后输入的坐标数值才认为是有效 的,避免了由于用户的错误输入而导致的最后拟合波形的不准确的情况。
步骤5:依次连接两个相邻的特征点,利用高斯函数-cosine函数结合的方法,分段拟合 波形,若干分段波形整合得到脉搏波波形,然后执行步骤7;
在波形曲线的形状上,高斯函数与脉搏波很相似,因此本实施方式采用高斯-cosine函数 分段拟合波形,再把各段波形整合起来形成完整的脉搏波波形;
高斯函数G(x)公式如下:
G ( x ) = h · e - ( x - μ ) 2 2 · α 2 ]]>
其中,h为要拟合的区间的初始点纵坐标,μ代表平均值,同样也是y轴方向高斯函数的 最高值,α代表高斯函数的宽度。
Cosine函数C(x)公式如下:
C(x)=h·cos(x)
其中,h为要拟合的区间的初始点纵坐标。
利用高斯函数G(x)和Cosine函数C(x),通过差值、补零等操作连接两个特征点,最后拟 合出完整波形。
在拟合波形的过程中,需要保证分段波形在间断点处连续,这样,才能拟合出光滑的波 形。为了保证波形光滑,即上一个波形的右极限等于下一个波形的左极限,设定在间断点处 的左右两端数值相等。同样,高斯函数在波峰点,其一阶导数也是连续的,最后拟合出的波 形也是光滑的。
通过分析不同的脉搏波可知,如果给出两个特征点的位置,可以设定一个合适的高斯函 数的宽度α,给每段拟合波形赋值不同的α,使拟合后的波形与目标波形相似程度最高。
分段拟合函数Pfit(x)的具体公式如下:
P fit ( x ) = y 1 · e - ( x - x 1 ) 2 2 · α 1 2 ( x 0 ≤ x < x 1 ) y 2 + y 2 - y 1 2 + y 2 - y 1 2 · cos ( ( x - x 1 ) ( x 2 - x 1 ) π ) ( x 1 ≤ x < x 2 ) y 3 + y 3 - y 2 2 + y 3 - y 2 2 · cos ( ( x - x 2 ) ( x 3 - x 2 ) π ) ( x 2 ≤ x < x 3 ) y 4 + y 4 - y 3 2 + y 4 - y 3 2 · cos ( x - x 3 ( x 4 - x 3 ) π ) ( x 3 ≤ x < x 4 ) y 4 · e - ( x - x 4 ) 2 2 · α 5 2 ( x 4 ≤ x < x 5 ) ]]>
其中,x0、x1、x2、x3、x4、x5分别表示6个特征点的横坐标,y1、y2、y3、y4分别 表示中间4个特征点的纵坐标(第1个特征点的纵坐标y0=0,第5个特征点的纵坐标y5=0), α1、α2、α3、α4、α5表示6个特征点拟合出的五个分段波形的高斯函数高度。
步骤6:采用弹性腔模型将人体主动脉模拟成两个血管弹性腔,其中一个血管弹性腔表 征主动脉弓,另一个血管弹性腔表征腹主动脉,通过两个血管弹性腔仿真出该血管弹性腔内 血液流动状态形成波形,选取血管弹性腔参数并去除由点击触摸屏引起的触摸屏抖动,血管 弹性腔参数包括主动脉弓的血管弹性腔的集总顺应性、表征腹主动脉的血管弹性腔的集总顺 应性、连接两个血管弹性腔的血柱L及外周阻力;
将人体主动脉及其主要分支看做两个血管弹性腔。表征主动脉弓的血管弹性腔的集总顺 应性为C1,表征腹主动脉的血管弹性腔的集总顺应性为C2,连接两个血管弹性腔的血柱L 表征血液的惯性。心脏收缩时,血液qin由心室m1进入C1与血柱L,而后进入C2,最后流 经集中的外周阻力R而进入静脉腔,这就是弹性腔模型(windkessel仿真模型),使用电源器 件模拟血管的真实情况,本实施方式的弹性腔模型的等效电路如图5所示,弹性腔模型相应 的微分方程如下:
d 3 p 2 dt 3 + 1 RC 2 d 2 p 2 dt 2 + ( 1 LC 1 + 1 LC 2 ) dp 2 dt + 1 LRC 1 C 2 p 2 = 1 LC 1 C 2 q in ]]>
弹性腔模型包括四种类型:低阻力、中阻力、高阻力、超高阻力,并设定主动脉集总顺 应性、腹主动脉的集总顺应性、血液惯性和外周阻力;
本实施方式提供低阻力、中阻力、高阻力、超高阻力四种情况下,L、R、C1、C2的参考 数值,并对用户输入的参数进行合法性检验,只要在给定范围内参数,才默认为有效。参数 L、R、C1、C2的给定范围如表1所示:
表1参数L、R、C1、C2的给定范围
低阻力 中阻力 高阻力 超高阻力 C1 1.37-1.43 1.02-1.08 0.58-0.62 0.44-0.49 C2 0.19-0.25 0.17-0.21 0.077-0.083 0.023-0.027 R 0.47-0.53 1.22-1.27 1.47-1.51 1.98-2.02 L 0.0182-0.0187 0.0102-0.0106 0.0147-0.0151 0.079-0.083
本实施方式中,低阻力参数:C1=1.4,C2=0.22,L=0.0185,R=0.5,中阻力参数:C1=1.06, C2=0.19,L=0.0104,R=1.25,高阻力参数:C1=0.6,C2=0.082,L=0.0149,R=1.4,超高阻力: C1=0.47,C2=0.025,L=0.081,R=2。
在实际的生理条件下,整个心动周期T应该包括收缩期Ts和舒张期Td两部分。这时血 流量qin≠0,由弹性腔模型所得出的脉搏波波形应该包括升支和降支,它代表一个完整的脉 图所应具有的所有信息。由于所得的弹性腔模型相应的微分方程为三阶微分方程,本实施方 式采用四阶龙格库塔方法,求得该三阶微分方程的数值解。以左心室每次搏动输出的血流量 qin(t)作为弹性腔模型的输入信号,qin(t)的函数表达式为:
设弹性腔模型初始值为q(1)=30,p1(1)=50,p2(1)=50,设定中间变量K11、K12、K13、K14、 K21、K22、K23、K24、K31、K32、K33、K34。
K 11 = h L ( p 1 n - p 2 n ) ]]>
K 21 = h C 1 ( q in ( n ) - q n ) ]]>
K 31 = h C 2 ( q n - q 2 n R ) ]]>
K 12 = h L ( p 1 n + 1 2 K 21 - p 2 n - 1 2 K 31 ) ]]>
K 22 = h C 1 ( q in ( n + h ) - q n - 1 2 K 11 ) ]]>
K 32 = h C 2 [ q n + 1 2 K 11 - p 2 n + 1 2 K 31 R ] ]]>
K 13 = h L ( p 1 n + 1 2 K 22 - p 2 n - 1 2 K 32 ) ]]>
K 23 = h C 1 ( q in ( n + h ) - q n - 1 2 K 12 ) ]]>
K 33 = h C 2 [ q n + 1 2 K 12 - p 2 n + K 32 R ] ]]>
K 14 = h L ( p 1 n + K 23 - p 2 n - K 33 ) ]]>
K 24 = h C 1 ( q in ( n + h ) - q n - K 13 ) ]]>
K 34 = h C 2 ( q n + K 13 - p 2 n + K 33 R ) ]]>
其中,h为计算步长,p1为表征主动脉弓的血管弹性腔的压力,p2为表征腹主动脉的血 管弹性腔的压力
求解得到输出的脉搏波波形qn,表示如下:
q n + 1 = q n + 1 6 ( K 11 + 2 K 12 + 2 K 13 + K 14 ) ]]>
p 1 n + 1 = p 1 n + 1 6 ( K 21 + 2 K 22 + 2 K 23 + K 24 ) ]]>
p 2 n + 1 = p 2 n + 1 6 ( K 31 + 2 K 32 + 2 K 33 + K 34 ) ]]>
其中,n表示脉搏波波形qn中的点的个数,即解的个数;
低阻力类型的弹性腔模型输出的脉搏波波形如图6所示,中阻力类型的弹性腔模型输出 的脉搏波波形如图7所示,高阻力类型的弹性腔模型输出的脉搏波波形如图8所示,超高阻 力类型的弹性腔模型输出的脉搏波波形如图9所示。
步骤7:在波形中叠加噪声信号并设定信噪比,并去除由点击触摸屏引起的触摸屏抖动;
噪声信号包括50Hz工频噪声,高斯白噪声和均匀分布的噪声,信噪比可以由用户设定, 如20dB、30dB、40dB或50dB;
50Hz工频噪声:通过频率为50Hz的正弦函数sine得到;
高斯白噪声:采用Box和Muller提出的方法,用两个独立的随机变量从长度相同的两个 区间在[0,1]之间的长方形密度函数生成一个正态分布的序列:产生两个在(0,1)区间均匀分 布的随机噪声varA和varB,在噪声varA和varB基础上产生均值等于0且方差等于1的高斯 白噪声,公式如下:
x = 2 · log ( 1.0 / ( 1 - varA ) ) y = 2 · π · varB z = x · cos ( y ) ]]>
均匀分布噪声:产生均匀分布的白噪声,因为是噪声服从均匀分布,所以就能保证各等 带宽的频带所含能量相等,而且信号是随机产生的。考虑到拟合后的脉搏波的幅值,所以产 生的白噪声数值在0到50之间,能够与脉搏波符合。
通常来说,噪声的衡量标准就是信噪比,即SNR,输出信号每一个点的输入信号与噪声 的比值,即信噪比的数值,信噪比SNR的计算公式如下:
SNR = 10 · log ( Σ i | S ( i ) - μ s | 2 Σ i | N ( i ) - μ n | 2 ) ]]>
其中,S(i)表示脉搏波波形各点数值总和,μs表示脉搏波的平均值。N(i)表示噪声信号 总和,μn表示噪声信号平均值。
完成每个点的信噪比计算后,将结果与用户设定的信噪比数值比较,取最接近用户设定 的信噪比作为最后的信噪比结果。
以利用高斯函数-cosine函数结合的方法得到的脉搏波波形为例,该脉搏波波形中叠加 50Hz工频噪声后的脉搏波波形如图10所示,叠加高斯白噪声后的脉搏波波形如图11所示, 叠加均匀分布噪声后的脉搏波波形如图12所示,且均设定信噪比SNR=30dB。
步骤8:对加入噪声信号并设定信噪比后的波形设定基线漂移,得到噪声和基线漂移的 脉搏波波形;
实际情况中,脉搏波常常出现基线漂移的情况,为了最大程度的接近实际情况,本实施 方式对加入噪声信号并设定信噪比后的波形加入基线漂移,通过对各个不用周期的脉搏波的 幅值加减不同的数值,让每个周期的脉搏波的起始点不在同一条直线上,达到了基线漂移的 效果。
以利用高斯函数-cosine函数结合的方法得到的脉搏波波形为例,加入基线漂移后的脉搏 波波形如图13所示。
步骤9:将脉搏波波形通过LCD显示器或示波器显示。
I型滑脉通过LCD显示器显示的脉搏波波形如图14所示,I型滑脉通过示波器显示的脉 搏波波形如图15所示,II型滑脉通过示波器显示的脉搏波波形如图16所示,I型弦脉通过示 波器显示的脉搏波波形如图17所示,II型弦脉通过示波器显示的脉搏波波形如图18所示; III型弦脉通过示波器显示的脉搏波波形如图19所示。