此示例演示如何使用小波分析心电图(ECG)信号。ECG信号通常是非平稳的,这意味着其频率内容随时间而变化。这些变化是令人感兴趣的事件。
小波将信号分解成时变频率(刻度)组件。因为使用稀疏(减少)表示时,信号特征通常在时间和频率上定位,分析和估计更容易。
QRS复合体由心电图波形中的三个偏转组成。QRS复合物反映了右侧和左心室的去极化,是人类心电图最突出的特征。
加载和绘制ECG波形,其中QRS复合物的R峰已经被两个或更多的心脏病学家注释。ECG数据和注释取自MIT-BIH心律失常数据库。数据以360 Hz进行采样。
加载mit200figure图(tm、ecgsig)保持在…上地块(tm(ann)、ecgsig(ann),'ro')xlabel('秒')伊拉贝尔(“振幅”)头衔('主题 - MIT-BIH 200')
您可以使用小波构建自动QRS检测器,用于R-R区间估计等应用。
使用小波作为一般特征探测器有两个关键:
小波变换将信号分量分离到不同的频带,从而使信号的表示更加稀疏。
您通常可以找到类似于您尝试检测的功能的小波。
“sym4”小波类似于QRS波群,这使其成为QRS波检测的良好选择。为了更清楚地说明这一点,提取QRS波群,并用放大和转换的“sym4”小波绘制结果以进行比较。
qrsEx=ecgsig(4560:4810)[mpdict,~,~,longs]=wmpdictionary(numel(qrsEx),“lstcpt”,{{{'符号4',3}}); 图表(qrsEx)保持在…上绘图(2*circshift(mpdict(:,11),[-20]),'r')轴紧的传奇(“QRS波群”那“Sym4小波”)头衔('Sym4小波和QRS复合物的比较')
使用最大重叠离散小波变换(MODWT)来增强ECG波形中的R峰值。MODWT是一种未传定的小波变换,其处理任意样本尺寸。
首先,使用默认的“sym4”小波将ECG波形分解为级别5。然后,仅使用刻度4和5处仅使用小波系数重建ECG波形的频率定位版本。尺度对应于以下近似频带。
刻度4--[11.25,22.5)Hz
规模5 - [5.625,11.25)Hz。
这涵盖了显示器最大化QRS能量的通带。
wt = modwt(ecgsig,5);wtrec = zeros(大小(wt));WTREC(4:5,:) = WT(4:5,:);y = imodwt(wtrec,'符号4');
使用从小波系数构建的信号近似的平方绝对值,并采用峰值查找算法来识别R峰值。
如果你有信号处理工具箱™, 你可以用findpeaks
找到峰值。绘制使用自动检测的峰值位置的小波变换获得的R峰值波形。
y = abs(y)。^ 2;[qrspeaks,locs] = findpeaks(y,tm,'minpeakheight',0.35,......“MinPeakDistance”,0.150);图绘图(TM,Y)保持在…上绘图(Locs,qrspeaks,'ro')xlabel('秒')头衔('通过自动注释的小波变换本地化的峰值')
将专家注释添加到R峰值波形。如果在真实峰值的150毫秒内,则认为自动峰值检测时间准确( 顾客)。
图(tm(ann),y(ann),“k*”)头衔('r峰由小波变换与专家注释'本地化)
在命令行,您可以比较值tm(ann)
和locs
,分别为专家时间和自动峰值检测时间。通过小波变换增强R峰值,命中率为100%,且无误报。使用小波变换计算的心率为88.60次/分钟,而注释波形的计算心率为88.72次/分钟。
如果您尝试处理原始数据的平方量级,您会发现小波变换隔离R峰值的能力使检测问题变得更容易。处理原始数据可能会导致错误识别,例如,当平方S波峰值超过R波峰值约10.4秒时。
图表(tm、ecgsig、,'k-')持有在…上图(tm,y,'r'那“线宽”,1.5)绘图(tm,abs(ecgsig)。^2,'B')绘图(TM(ANN),ECGSIG(ANN),'ro'那“markerfacecolor”,[10 0 0])集合(gca,“xlim”,[10.2 12])传奇(“原始数据”那'小波重建'那“原始数据平方”那......“位置”那‘东南’);Xlabel('秒')
使用findpeaks
在原始数据的平方大小导致十二个误报。
[qrspeaks,locs] = findpeaks(Ecgsig。^ 2,tm,'minpeakheight',0.35,......“MinPeakDistance”,0.150);
除了R峰值的极性切换外,ECG还经常被噪声破坏。
加载mit203figure图(tm、ecgsig)保持在…上地块(tm(ann)、ecgsig(ann),'ro')xlabel('秒')伊拉贝尔(“振幅”)头衔('主题 - 带有专家注释的MIT-BIH 203')
使用modwt隔离R峰值。采用findpeaks
确定峰值位置。绘制R峰值波形以及专家和自动注释。
wt = modwt(ecgsig,5);wtrec = zeros(大小(wt));WTREC(4:5,:) = WT(4:5,:);y = imodwt(wtrec,'符号4'); y=绝对值(y)。^2[QRS,locs]=FindPeak(y,tm,'minpeakheight',0.1,......“MinPeakDistance”,0.150); 地物图(tm,y)标题(“通过小波变换定位的R波”)持有在…上qrspeaks hwav =情节(loc,'ro'); hexp=绘图(tm(ann),y(ann),“k*”);Xlabel('秒')图例([hwav hexp],'自动的'那“专家”那“位置”那“东北”);
命中率再次100%,零误报。
前面的示例使用了一个非常简单的基于modwt构造的信号近似的小波QRS检测器。其目的是证明小波变换分离信号成分的能力,而不是构建最稳健的基于小波变换的QRS检测器。例如,可以利用小波变换提供信号的多尺度分析以增强峰值检测这一事实。
参考文献
Goldberger A. L.,L. A. N.Maral,L.玻璃,J.M.Hausdorff,P. Ch。Ivanov,R.G.Mark,J.E.Mietus,G. B.B.Coody,C-K Peng,H. E. Stanley。“Physiobank,PhysioLoolkit和PhysioIoneet:复杂生理信号的新研究资源的组成部分。”循环101. Vol.23,E215-E220,2000。http://circ.ahajournals.org/cgi/content/full/101/23/E215
穆迪,G. B。“评估心电图分析仪”。http://www.physionet.org/physiotools/wfdb/doc/wag-src/eval0.tex
穆迪G。B.,R。G马克。”MIT-BIH心律失常数据库的影响〉《医学和生物学中的IEEE Eng》。第20卷第3期,2001年),第45-50页。