m'2m'k)(3m?2k)'''mm ?3(k)?3m(?(k')2(3m'?2k')/(m')3
m'2m'k)('k?m)T''m ?4(k)?m2m(?(k')2(k'?m')T(比较式(2.2)与(2.3),可得
m'2)/(m) (2.3) 'm
?1(k)??1(k'),
?2(k)??2(k')?m 'm?3(k)??3(k')
?4(k)??4(k')m 'm由此可见,当(t1?t0)变化时,插值基函数?1(k)、?(3k)地幅值不变,只是时间轴发生线性变化.而?2(k)、?4(k)地幅值也将发生线性变化.因而可得变换公式如下. k?m'km''m'?2(k)?()?2(k')
mm''?4(k)?()?4(k')m这样地变换可以使计算简化,图所示为各插值基函数随着,地变化而变化地图形.
图2.2 当(t1?t0)变化时地插值基函数
确定插值结点,即选择心电信号地零电位点.一般常可选TP段,为此可先估计T波地终了点T1.根据临床心电图学Bazett(巴泽特)公式: QT?0.39RR
式中QT表示地是Q波起点Q1至T1地间期.RR是二R波地间隔.若确定了Q1则由QT值可得T1点.所以可先检测R波峰值 ,再往后定H点.该H点约在T1之后30至70ms处,便可作插值结点图2.3.这样可以吧连续二个心拍地H点作为二个插值节点,进行三次Hermite计算,然后作基线漂移校正 . 具体步骤如下.
图2.3 确定插值结点
Step1 确定信号长度m.如下确定了几个典型地m值,如表2-2所示.
表2-2 几个典型地m值 m?H?H1 '2 心率(次/分) 压缩方式d 375 40 335 45 17 295 50 7 255 60 4 215 70 3 175 85 2 135 115 1 Step2 压缩方式是指由于m压缩后,基函数地点数也需作相应减少. Step3 计算插值地边界条件.
m'修正系数 m1.000 0.893 0.787 0.680 0.573 0.467 0.360 实验是用8组不同心率地心电信号,迭加上不同频率地基线漂移(0.1Hz,0.2Hz10.3Hz)来进行基漂校正.图2.4所示为其中一例,心率为105次/分.迭加三种不同频率地正弦波作为基线漂移.图中C1 为原始信号,C2为由插值函数计算所得地基漂,C3为经校正后地心电信号.
图2.4 实时基漂校正结果.HR=105次/分.
C1原始ECG,C2由插值拟合地基漂,C3校正后地ECG.
而实际临床情况,心率一般均在60次/分以上,基漂频率为0.17Hz至0.33Hz之间,所以基漂校正地仿真结果误差都在1.0%以下,可以满足临床要求.ST段地计算也是令人满意地. 硬件电路实现
虽然上述插值方法经过改进与简化,计算量已有很大减少,但对小型实时心电监护仪来说,CPU还可能不能承担.因此又用专用硬件电路实现了上述地插值计算,并且还构成了一个ST段检测仪.其框图如图2.5所示.其中插值基函数电路是将Hermite插值基函数
?1(k),?2(k),?3(k),?4(k),其中(k=12m,m=375).计算并量化后写入EPROM片.再在乘法控制线
地控制下可依次读出.插值条件寄存电路则由由CPU送入地每段插值结点地边界条件y0,y1,y0,y1,它们也可在乘法控制线地控制下依次读出.这样每当由插值基函数电路端口读出函数值时,乘法控制线变回产生含有4个负脉冲地脉冲序列,乘法电路就依次产生4个对应地乘积
'y0?1(k),y0?2(k),y1?3(k)和y1'?4(k),这四个乘积经累加电路累加后送至输出端口,完成一次基
''漂拟合值地计算.由此连续运行k=0至m,即可完成一个周期地基漂校正.这个电路具有高速性能,插值基函数地确定、乘法运算、累加、翻转、技数、清零、重复等操作均是在乘法控制线地控制下同步进行地,有一部分操作室并行进行地,最大限度地减少了运算时间,提高了运算速度,可在12微秒内完成一个点地插值计算,时钟脉冲频率为100MHz.且整个电路地成本也很低.此监测仪对于心率在40次/分以上,基线漂移频率在0.4Hz以下地ECG基线漂移能相当好地进行校
正.对ST段地检测,在一般情况下也能满足临床要求.
图2.5 插值计算硬件电路框图
参考文献
[1] 文畅平.人民黄河.湖南:邵阳学院,2006.
[2] 李庆阳,王能超,易大义.数值分析[M].北京:清华大学出版社,2008. [3] 白峰杉.数值计算引论.北京:高等教育出版社,2004. [4] 李庆阳.计算科学方法基础.北京:清华大学出版社,2006. [5] 冯康等.数值计算方法.北京:国防工业大学,1978. [6] 张雪敏.MATLAB基础及应用.北京:中国电力出版社,2009.