心电信号主要频率范围为0.05“100Hz,幅度约为0”4mV,信号十分微弱。由于心电信号中通常混杂有其它生物信号,加之体外以500Hz工频为主的电磁场干扰,使得心电噪声背景较强,测量条件比较复杂,为医学研究、救治和教学带来一定困难。本文通过对心电信号的特征分析,提出了基于MATLAB/SIMULINK的心电信号仿真方法,采用快速原型技术通过输入/输出卡,将虚拟仿真信号转化生成实际的物理电信号,并与实际硬件电路连接起来,构成心电信号的半实物仿真模型。
基本原理
心电信号
一个典型的心电信号如图1示,它由P波、Q波、R波、S波和T波组成,在诊断过程中可以根据这些特征波的间隔幅值以及P-R间隔、S-T间隔和Q-T间隔判断病人病情。
Fourier级数
若一个函数满足狄里赫利条件,则可以将它展开为傅立叶级数的形式。傅立叶级数的三角函数形式定义如下:
狄里赫利条件充分条件:
(1)函数在任意有限区间连续,或只有有限个第一类间断点(当t从左或右趋向于这个间断点时,函数存在有限的左极限和右极限);
(2)在一周期内,函数存在有限个极大值或极小值。
心电信号仿真及结果分析
心电信号仿真
本设计方案是将心电信号看作一个由各个三角波信号和正弦信号的组合,先经过计算得到各个特征波序列,再将各波合成为最终的仿真信号。具体实现方法如下:
(1)心电信号的QRS波、Q波和S波用三角波实现。
(2)心电信号的P波、T波和U波用正弦波实现。
三角波数学模型建立
三角波数学模型建立如下:
为方便计算,将此函数展开为傅立叶级数的形式:
式中,
正弦波数学模型建立
正弦波建立模型如下:
为方便计算,将此函数展开为傅立叶级数的形式:
仿真结果分析
通过上述仿真方案,仿真心电信号各特征波参数如表1示,心电信号仿真波形如图2示。
实时心电信号源设计
设计方案采用SIMULINK实现心电信号发生器的设计。SIMULINK可以方便地进行可视化动态建模,且仿真过程是交互的,可以随时修改参数,能够立即看到仿真结果,生成可以实际应用的实时信号。
心电信号发生器实现
设计方案中将心电信号看作是由各个特征波组合在一起的波形,这些特征波包括P波、Q波、QRS波、S波、T波和U波。仿真设计过程中,Q波、QRS波和S波用三角波实现,P波、T波和U波用正弦波实现。
心电信号发生器的设计采用七个模块实现,其中六个模块的功能是实现特征波,一个模块用来合成各个特征波,实现心电信号的仿真。设计结果如图3。
如图3示,每个心电信号特征波产生模块均有一个各自的特征波参数输入,这些参数包括幅度、宽度和移位。另外,6个心电信号特征波形产生模块有2个公共输入,分别是产生心电信号的长度x和心跳周期beat。显而易见,该心电信号发生器的SIMULINK模型可以通过改变心电信号参数,方便地得到所需的心电信号。
实时心电信号的产生
设计方案中,采用SIMULINK设计的心电信号发生器产生数字仿真心电信号,通过研华公司(Advantech)的模拟输出数据采集卡PLC-812PG的D/A转换器引出,生成实时心电信号,具体原理框图如图4。
MATLAB Embedded Function模块只支持二维矩阵运算,因此在实时心电信号输出时要注意二维数据到一维数据的转换,即采用一个二维矩阵到一维矩阵的转换模块。
结论
本方案解决了实际心电信号采集过程中硬件电路复杂、噪声大以及个别心电波形不易采集等困难。为医学研究和教学带来方便,具有一定实用和参考价值。