呼吸和心跳是维持人体正常新陈代谢和功能活动所必须的生理过程。在生命探测和医学研究领域,都需要进行心跳呼模型的仿真。MATLAB是MathWorks公司于1982年推出的一款高性能的数值计算和可视化数学软件。它可以用来求解各类学科问题,包括信号处理、图象处理、神经网络、控制系统辨识等。用MATLAB对心跳呼吸进行仿真,可以大大提高仿真工作效率。
1 生命信号特征分析
生命信号的规律性主要体现在心跳和呼吸的速率都很低。通常情况下,心跳次数约为每分钟70到80次,即使是剧烈运动时,也不过130次左右;而呼吸引起的胸腔起伏通常约为每分钟20到30次,呼吸急促时也不过是60次左右,所以,人体生命信号的探测,实际上就是低速运动目标的检测。在人体情绪平稳时,心跳和呼吸的频率基本维持在一个稳定的范围内且呈周期性变化。
对于生命信号,很多情况下,也会呈现出非规律性。一般情况下,为了简化分析,可以将人体目标信号假设成具有周期性频率的正弦振荡信号。而实际上,人体呼吸引起的胸腔运动以及心跳都不是正弦曲线。而且,由于人与人之间的差异,不同人的生命信号幅度和频率等参数也是不同的。即使是同一个人,有些参数在不同的情况下也会发生变化。例如,人在受惊吓时,呼吸就会加快,从而导致呼吸信号的幅度
和频率升高。
2 跳呼吸模型仿真
2.1 正弦振荡模型
通常情况下,在生命探测领域,心跳和呼吸模型可以用两个正弦振荡函数来表示:
其中,A1和A2分别为呼吸和心跳的振幅;w1和w2分别为呼吸和心跳的频率;θ2是常数相位。
若将呼吸、心跳的频率和幅度参数设置为:A1=0.4cm,A2=0.05cm,w1=1.57rad,w2=9.42rad,θ2=0.956。那么,由以上设定参数并通过matlab软件所得出的心跳呼吸时域模型如图1所示。
2.2 用最小二乘法对实测波型进行曲线拟合
尽管人体的生命信号存在多样性和差异性,然而,人体的生理特点决定了人体的呼吸、心跳活动具有一定的规律性。有时候,人们需要的心跳呼吸信号相对较为复杂,这时,就可根据实测波型进行模拟仿真。图2所示是在自由空间内,用34GHz线性连续波生物雷达进行探测所得到的人体呼吸和心跳信号。
由图2可以看出,连续波雷达监测到的人体心跳和呼吸波形在单个周期内均有两个极大值和一个极小值。以心跳信号为例,在单个周期内,信号变化缓慢,波型上的拐点对应于人体心跳过程,可以用来作为标识心跳信号的特征点。其中,两个极大值是由于心房、心室呈现周期性收缩、舒张所引起的。
根据连续波雷达监测到的人体呼吸的实测波形(即图2(a)),在单个周期波形上选取能反映波形变化的特征点如下:
x1=[0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.1];
y1=[-0.24 -0.23 -0.1 1 -0.01 0.03 0.015 0.1 0.2 0.29 0.315 0.24 0.1 -0.2 -0.26];
再用最小二乘法曲线拟合,并利用matlab软件所得到的单周期人体标准呼吸波形如图3(a)所示,图中将其特征点用圆圈标出。
同理,根据图2(b)也可取如下特征点:
x1=[0 0.04 0.08 0.12 0.16 0.2 0.24 0.28 0.32 0.36 0.4 0.44 0.48 0.52 0.56 0.6 0.61];
y1=[-0.028 -0.02 0.01 0.039 0.049 0.05 0.048 0.04 0.034 0.028 0.026 0.029 0.034 0.037 0.032 0.004 0];
同时也用最小二乘曲线拟合,所得到的单周期人体标准心跳波形如图3(b)所示。