CN103054564B - 一种基于fpga的脉搏波信号发生器及方法 - Google Patents

一种基于fpga的脉搏波信号发生器及方法 Download PDF

Info

Publication number
CN103054564B
CN103054564B CN201310034203.8A CN201310034203A CN103054564B CN 103054564 B CN103054564 B CN 103054564B CN 201310034203 A CN201310034203 A CN 201310034203A CN 103054564 B CN103054564 B CN 103054564B
Authority
CN
China
Prior art keywords
waveform
point
fpga
touch screen
blood vessel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310034203.8A
Other languages
English (en)
Other versions
CN103054564A (zh
Inventor
徐礼胜
王昊
王璐
宋丹
陈珏丽
伏全海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201310034203.8A priority Critical patent/CN103054564B/zh
Publication of CN103054564A publication Critical patent/CN103054564A/zh
Application granted granted Critical
Publication of CN103054564B publication Critical patent/CN103054564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

一种基于FPGA的脉搏波信号发生器,包括LCD显示器、示波器、FPGA、触摸屏、电源、AD转换装置和DA转换装置;DA转换装置输入端连接FPGA,DA转换装置输出端连接示波器,AD转换装置输入端连接FPGA,AD转换装置输出端连接触摸屏,LCD显示器连接FPGA,电源连接LCD显示器。本发明方法采用两种方式产生脉搏波波形,一种方式是通过高斯函数-Cosine函数结合的方式,分段拟合脉搏波得到最后的完整波形,省去了整个波形所浪费的存储空间,具有专一性;另一种方式是采用弹性腔模型模拟血管情况,模拟出两个血管弹性腔,通过参数的改变,可以产生低阻力,中阻力,高阻力,超高阻力四种情况下的脉搏波波形。两种方式均能在信号数据未知的前提下,由用户设定得到准确脉搏波波形输出。

Description

一种基于FPGA的脉搏波信号发生器及方法
技术领域
本发明属于信号发生器技术领域,具体涉及一种基于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 &CenterDot; e - ( x - x 1 ) 2 2 &CenterDot; &alpha; 1 2 ( x 0 &le; x < x 1 ) y 2 + y 2 - y 1 2 + y 2 - y 1 2 &CenterDot; cos ( ( x - x 1 ) ( x 2 - x 1 ) &pi; ) ( x 1 &le; x < x 2 ) y 3 + y 3 - y 2 2 + y 3 - y 2 2 &CenterDot; cos ( ( x - x 2 ) ( x 3 - x 2 ) &pi; ) ( x 2 &le; x < x 3 ) y 4 + y 4 - y 3 2 + y 4 - y 3 2 &CenterDot; cos ( x - x 3 ( x 4 - x 3 ) &pi; ) ( x 3 &le; x < x 4 ) y 4 &CenterDot; e - ( x - x 4 ) 2 2 &CenterDot; &alpha; 5 2 ( x 4 &le; 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 &CenterDot; log ( 1.0 / ( 1 - varA ) ) y = 2 &CenterDot; &pi; &CenterDot; varB z = x &CenterDot; cos ( y )
均匀分布噪声:产生均匀分布的白噪声,因为是噪声服从均匀分布,所以就能保证各等带宽的频带所含能量相等,而且信号是随机产生的。考虑到拟合后的脉搏波的幅值,所以产生的白噪声数值在0到50之间,能够与脉搏波符合。
通常来说,噪声的衡量标准就是信噪比,即SNR,输出信号每一个点的输入信号与噪声的比值,即信噪比的数值,信噪比SNR的计算公式如下:
SNR = 10 &CenterDot; log ( &Sigma; i | S ( i ) - &mu; s | 2 &Sigma; i | N ( i ) - &mu; 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所示。

Claims (5)

1.一种基于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函数将特征点选取模块选取的特征点拟合成波形;
所述血管弹性腔仿真模块用于将人体主动脉模拟成两个血管弹性腔并仿真出该血管弹性腔内血液流动状态产生波形;
所述噪声叠加及信噪比设定模块用于对波形拟合模块拟合成的波形或血管弹性腔仿真模块产生的波形叠加噪声信号并设定信噪比;
所述基线漂移模块用于对叠加噪声并设定信噪比后的波形加入基线漂移;
所述触摸屏去抖动模块用于去除点击触摸屏引起的抖动干扰。
2.采用权利要求1所述的基于FPGA的脉搏波信号发生器进行脉搏波信号发生的方法,其特征在于:包括如下步骤:
步骤1:点击触摸屏的四个边界点,得到该四个边界点的坐标值并保存,根据四个边界点的坐标值、触摸屏长度和触摸屏宽度得到任意一点坐标值,完成触摸屏坐标校正;
步骤2:选择波形产生方式并去除由点击触摸屏引起的触摸屏抖动,所述波形产生方式包括波形拟合和血管弹性仿真:若选择波形拟合,则执行步骤3,若选择血管弹性仿真,则执行步骤6;
步骤3:选择输出波形类型并去除由点击触摸屏引起的触摸屏抖动,所述输出波形类型包括I型滑脉、II型滑脉、I型弦脉、II型弦脉和III型弦脉;
步骤4:根据选择的输出波形类型,选取特征点并去除由点击触摸屏引起的触摸屏抖动;
步骤5:依次连接两个相邻的特征点,利用高斯函数-cosine函数结合的方法,分段拟合波形,若干分段波形整合得到脉搏波波形,并去除由点击触摸屏引起的触摸屏抖动,然后执行步骤7;
步骤6:采用弹性腔模型将人体主动脉模拟成两个血管弹性腔,其中一个血管弹性腔表征主动脉弓,另一个血管弹性腔表征腹主动脉,通过两个血管弹性腔仿真出该血管弹性腔内血液流动状态形成波形,选取血管弹性腔参数并去除由点击触摸屏引起的触摸屏抖动,血管弹性腔参数包括主动脉弓的血管弹性腔的集总顺应性、腹主动脉的血管弹性腔的集总顺应性、 连接两个血管弹性腔的血柱及外周阻力;
步骤7:在波形中叠加噪声信号并设定信噪比,并去除由点击触摸屏引起的触摸屏抖动;
步骤8:对加入噪声信号并设定信噪比后的波形设定基线漂移,得到噪声和基线漂移的脉搏波波形;
步骤9:将脉搏波波形通过LCD显示器或示波器显示。
3.根据权利要求2所述的脉搏波信号发生的方法,其特征在于:步骤4中所述的根据选择的输出波形类型选取特征点,是根据所选择的波形,在每个周期中,选取幅值最大的点、斜率值最大的点、初始点、结束点、拐点和驻点作为特征点。
4.根据权利要求2所述的脉搏波信号发生的方法,其特征在于:所述去除由点击触摸屏引起的触摸屏抖动,具体方法是:点击触摸屏一点并保存其坐标,再次点击该点并保存其坐标,分别比较两次点击得到的点的横坐标绝对值之差和纵坐标的绝对值之差,若横坐标绝对值之差或纵坐标的绝对值之差大于5,则视为触摸屏存在干扰,第二次点击的坐标无效,若横坐标绝对值之差或纵坐标的绝对值之差小于5,则视为触摸屏无干扰,第二次点击的坐标有效,此时将第二次点击的有效坐标与第一次点击所保存的坐标的横纵坐标对应相加并取平均值,得到该点坐标结果。
5.根据权利要求2所述的脉搏波信号发生的方法,其特征在于:步骤7所述的噪声信号包括50Hz工频噪声,高斯白噪声和均匀分布的噪声。
CN201310034203.8A 2013-01-29 2013-01-29 一种基于fpga的脉搏波信号发生器及方法 Active CN103054564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310034203.8A CN103054564B (zh) 2013-01-29 2013-01-29 一种基于fpga的脉搏波信号发生器及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310034203.8A CN103054564B (zh) 2013-01-29 2013-01-29 一种基于fpga的脉搏波信号发生器及方法

Publications (2)

Publication Number Publication Date
CN103054564A CN103054564A (zh) 2013-04-24
CN103054564B true CN103054564B (zh) 2014-10-01

Family

ID=48097687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310034203.8A Active CN103054564B (zh) 2013-01-29 2013-01-29 一种基于fpga的脉搏波信号发生器及方法

Country Status (1)

Country Link
CN (1) CN103054564B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103315719B (zh) * 2013-05-31 2015-04-15 山东省计量科学研究院 一种人体脉搏波波形信号产生装置
CN103417204B (zh) * 2013-08-29 2015-04-08 无锡市计量测试中心 示波法电子血压计人体模拟校准装置
CN104127173B (zh) * 2014-07-14 2016-06-08 昆明理工大学 一种基于动态脉搏波特征参数的病理信息提取方法
CN104083159A (zh) * 2014-07-25 2014-10-08 西北民族大学 基于fpga的脉搏信号采集系统
CN108053708B (zh) * 2017-12-22 2020-12-25 天津天堰科技股份有限公司 一种动态脉搏波仿真模块
CN108814583B (zh) * 2018-03-30 2021-05-14 东北大学 一种基于智能手机的多功能生理信号发生器
CN110811572B (zh) * 2019-10-18 2020-10-27 西安交通大学 一种光电容积波信号的仿真合成方法与装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100060571A1 (en) * 2008-09-10 2010-03-11 Aten International Co., Ltd. Kvm switch using a touch screen
CN202600668U (zh) * 2012-05-09 2012-12-12 深圳市志凌伟业技术有限公司 自动消除电容式触摸屏触点坐标温差漂移的装置

Also Published As

Publication number Publication date
CN103054564A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN103054564B (zh) 一种基于fpga的脉搏波信号发生器及方法
CN108096703B (zh) 一种多通道经颅电刺激装置及其方法
CN101530331A (zh) 基于Labview开发平台的心音信号检测与分析系统
CN109512395B (zh) 一种生物信号的分析处理方法、装置及设备
CN106125604A (zh) 一种心电信号预处理系统
Wang et al. FPGA-based design and implementation of arterial pulse wave generator using piecewise Gaussian–cosine fitting
CN109363674A (zh) 一种生物阻抗测量系统
CN107110909A (zh) 局部放电判别装置及局部放电判别方法
Sohal et al. FPGA implementation of Power-Efficient ECG pre-processing block
CN103176949B (zh) 实现fft/ifft变换的电路及方法
CN101782895B (zh) 结构化的经验模态分解的信号处理方法及其装置
Ogawa et al. A method for computing flow fields around moving bodies
Davis et al. Teaching physiology through simulation of hemodynamics
CN105138530A (zh) 自动音乐匹配方法、装置和应用其的电子装置
Sayahkarajy et al. Design of a microcontroller-based artificial pacemaker: An internal pacing device
Liao et al. An effective photoplethysmography signal processing system based on EEMD method
CN202682563U (zh) 一种能输出任意波形的电针仪
CN103784151B (zh) 小儿捏脊手法特征参数获取与分析方法
CN102117264B (zh) 基于fpga的快速沃尔什变换的实现方法
Xu et al. The implementation of pulse wave signal generator based on Piecewise Gaussian-Cosine Fitting
Drzewiecki Fundamentals of chaos and fractals for cardiology
CN105631223B (zh) 基于cpg的心肺节律同步控制实验平台
CN103020474A (zh) 基于杂波统计分布模型和功率谱模型确定杂波模型的方法
CN202720816U (zh) 一种基于推桥弓治疗高血压的模拟系统
CN102641557B (zh) 一种能输出任意波形的电针仪及其波形输出方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant