主要内容

生理信号小波分析

这个例子展示了如何使用小波分析生理信号。

生理信号通常是非平稳的,这意味着它们的频率内容随时间而变化。在许多应用程序中,这些更改是感兴趣的事件。

小波把信号分解成时变的频率(尺度)分量。由于信号特征通常局限于时间和频率,在使用稀疏表示时更容易进行分析和估计。

这个例子给出了几个说明性的例子,其中小波提供信号的局部时频分析的能力是有益的。

MODWT在心电图中的R波检测

QRS复波由心电图(ECG)波形中的三种偏转组成。QRS复合体反映了左右心室的去极化,是人类心电图最显著的特征。

在两个或两个以上心脏病专家已经标注的QRS复合体的R峰处绘制心电图波形。心电图数据和注释取自MIT-BIH心律失常数据库。数据以360 Hz采样。

负载mit200ecgsig图绘制(tm)情节(tm(安),ecgsig(安)“罗”)包含(“秒”) ylabel (“振幅”)标题(“科目- MIT-BIH 200”

您可以使用小波构建一个自动QRS检测器,用于R-R区间估计等应用程序。

使用小波作为一般特征探测器有两个关键:

  • 小波变换将信号分成不同的频带,使信号的表示更稀疏。

  • 你经常可以找到一个小波与你要检测的特征相似。

sym4小波与QRS复波相似,是QRS检测的理想选择。为了更清楚地说明这一点,提取一个QRS复形,并用扩展和翻译的“sym4”小波绘制结果,以便进行比较。

qrsEx = ecgsig (4560:4810);[mpdict, ~, ~,多头]= wmpdictionary(元素个数(qrsEx),“lstcpt”{{“sym4”3}});图绘制(qrsEx)图(2 * circshift (mpdict (:, 11), [2 0]),“r”)轴传奇(QRS波群的“Sym4小波”)标题(“Sym4小波与QRS复波的比较”

采用最大重叠离散小波变换增强心电波形中的R峰。MODWT是一种非抽取小波变换,可以处理任意大小的样本。

首先,使用默认的“sym4”小波将心电波形分解到第5级。然后,仅使用4和5级小波系数重构一个频率局部化的心电波形。这些比例尺对应下列近似频带。

  • 4级——[11.25,22.5)Hz

  • 5级—[5.625,11.25)Hz。

这涵盖了显示最大QRS能量的通频带。

wt = modwt (ecgsig 5);wtrec = 0(大小(wt));wtrec (: 4:5) = wt (: 4:5);y = imodwt (wtrec,“sym4”);

利用由小波系数构建的信号近似的绝对值的平方,并采用寻峰算法来识别R峰。

如果您有信号处理工具箱™,您可以使用findpeaks来确定山峰的位置。用自动检测的峰值位置标注的小波变换绘制r峰波形。

y = abs (y) ^ 2;(qrspeaks, loc) = findpeaks (y, tm,“MinPeakHeight”, 0.35,...“MinPeakDistance”, 0.150);图绘制(tm, y)情节(loc qrspeaks,“罗”)包含(“秒”)标题(“基于自动标注的小波变换局部化R峰”

将专家注释添加到r峰波形中。自动峰值检测时间被认为是准确的,如果在150毫秒内的真实峰值(下午\ 75美元msec)。

情节(tm(安),y(安)“k *’)标题(“基于专家注释的小波变换局部化R峰”

在命令行中,可以比较tm(安)loc,分别为专家次数和自动峰值检测次数。用小波变换对R峰进行增强,命中率达到100%,无误报。使用小波变换计算的心率为88.60次/分钟,而标注的波形为88.72次/分钟。

如果您试图处理原始数据的平方幅度,您会发现小波变换分离R峰的能力使检测问题变得容易得多。对原始数据的处理可能会导致错误的识别,比如当横波的平方峰值超过r波峰值约10.4秒时。

图绘制(tm、ecgsig“k——”)举行情节(tm, y,“r”“线宽”, 1.5)情节(tm、abs (ecgsig)。^ 2,“b”)情节(tm(安),ecgsig(安)“罗”“markerfacecolor”,[10 0 0])集合(gca,“xlim”10.2[12])传说(“原始数据”“小波重建”原始数据的平方的...“位置”“东南”)包含(“秒”

使用findpeaks原始数据的平方结果是12个假阳性。

(qrspeaks, loc) = findpeaks (tm ecgsig。^ 2,“MinPeakHeight”, 0.35,...“MinPeakDistance”, 0.150);

除了R峰极性的开关外,心电图还经常受到噪声的干扰。

负载mit203ecgsig图绘制(tm)情节(tm(安),ecgsig(安)“罗”)包含(“秒”) ylabel (“振幅”)标题(“Subject - MIT-BIH 203 with Expert Annotations”

使用MODWT来隔离R峰。使用findpeaks来确定峰值的位置。绘制r峰波形与专家和自动注释。

wt = modwt (ecgsig 5);wtrec = 0(大小(wt));wtrec (: 4:5) = wt (: 4:5);y = imodwt (wtrec,“sym4”);y = abs (y) ^ 2;(qrspeaks, loc) = findpeaks (y, tm,“MinPeakHeight”, 0.1,...“MinPeakDistance”, 0.150);图绘制(tm, y)标题(“小波变换本地化的r波”)举行qrspeaks hwav =情节(loc,“罗”);hexp =情节(tm(安),y(安)“k *’);包含(“秒”)传说([hwav hexp),“自动”“专家”“位置”“东北”

命中率再次是100%,没有假警报。

前面的例子使用了一个非常简单的小波QRS检测器,基于构造的信号近似modwt.目的是演示小波变换分离信号成分的能力,而不是构建最稳健的基于小波变换的QRS检测器。例如,可以利用小波变换提供信号的多尺度分析这一事实来增强峰值检测。检查尺度4和5的幅度平方小波细节绘制与R峰时间由专家注释。为了可视化,4级细节被转移。

ecgmra = modwtmra (wt);图绘制(toyota ecgmra(5:)。^ 2,“b”)举行情节(tm ecgmra(4:)。^ 2 + 0.6,“b”甘氨胆酸)组(,“xlim”,[14.3 25.5])时间标记= repelem(tm(ann),2);N =元素个数(timemarks);markerlines =重塑(repmat ([0, 1], 1, N / 2), N, 1);h =茎(timemarks markerlines,“k——”);h.Marker =“没有”;集(gca),“ytick”[0.1 - 0.6]);集(gca),“yticklabels”, {“D5”“D4”})包含(“秒”)标题(“震级平方4级和5级细节”

你可以看到,第4级和第5级细节中的峰值往往会同时出现。一个更高级的小波寻峰算法可以利用这一点,同时使用来自多个尺度的信息。

脑动力学的时变小波相干分析

傅里叶域相干性是一种成熟的技术,用于测量两个平稳过程之间的线性相关,在0到1的尺度上作为频率的函数。因为小波在时间和尺度(频率)上提供了有关数据的本地信息,基于小波的相干性允许您将时变相关性作为频率的函数来度量。换句话说,一种适用于非平稳过程的相干测度。

为了说明这一点,我们来检查两名受试者获得的近红外光谱(NIRS)数据。近红外光谱通过利用含氧和去氧血红蛋白的不同吸收特性来测量大脑活动。数据来自Cui, Bryant, & Reiss(2012),作者为本例提供了善意的数据。记录的部位是两名受试者的上额叶皮层。数据以10hz采样。

在实验中,受试者在任务上交替合作和竞争。这个任务的周期是7秒。

负载NIRSData图(tm,[NIRSData(:,1) NIRSData(:,2)])“主题1”《主题2》“位置”“西北”)包含(“秒”)标题(“技术数据”网格)

检查时域数据,我们不清楚在单个时间序列中出现了什么样的振荡,也不清楚两个数据集有什么样的振荡。用小波分析来回答这两个问题。

类(NIRSData (: 1) 10,“撞”)类图(NIRSData(:, 2), 10日“撞”

CWT分析显示两个数据集在1hz左右的强调频振荡。这是由于这两个实验对象的心脏周期。此外,两组数据在0.15 Hz左右出现较弱的振荡。实验1比实验2更强烈,更一致。小波相干性可以增强对两个时间序列中共同存在的弱振荡的检测。

[wcoh ~ F] = wcoherence (NIRSData (: 1), NIRSData (:, 2), 10);图冲浪(tm、F、abs (wcoh)。^ 2);视图(0,90)阴影插值函数hc = colorbar;hc.Label.String =“一致性”;标题(“小波相干”)包含(“秒”) ylabel (“赫兹”) ylim([0 2.5]) set(gca,“ytick”(0.15 - 1.2 2))

在小波相干性中,在0.15 Hz左右存在较强的相关性。这是与实验任务相对应的频带,代表了两个被试大脑活动中与任务相关的相干振荡。向情节中添加指示两个任务周期的时间标记。任务之间的这段时间称为休息时间。

Taskbd = [245 1702 2065 3474];tvec = repelem (tm (taskbd), 2);yvec = [0 max(F)]';yvec =重塑(repmat (yvec 1 4), 8日,1);持有stemPlot =茎(tvec yvec,“w——”“线宽”2);stemPlot。标志=“没有”

这个示例使用获取和绘制单个近红外光谱时间序列的时频分析图。这个例子也被用到wcoherence得到两个时间序列的小波相干性。小波相干性的使用通常使您能够检测两个时间序列的相干振荡行为,这可能在每个单独的序列中是相当弱的。参考Cui, Bryant, & Reiss(2012)对该数据进行更详细的小波相干分析。

耳声发射数据的CWT时频分析

耳声发射(OAEs)是由耳蜗(内耳)发出的窄带振荡信号,它的存在表明听力正常。加载并绘制一些示例OAE数据。数据以20千赫采样。

负载dpoae图绘制(t。* 1000,dpoaets)包含(的毫秒) ylabel (“振幅”

这种发射是由一个从25毫秒开始到175毫秒结束的刺激引起的。根据实验参数,发射频率为1230 Hz。获得并绘制CWT作为时间和频率的函数。使用默认的解析莫尔斯小波16声音每八度。

[dpoaeCWT f] = cwt (dpoaets 2 e4,“VoicesPerOctave”16);helperCWTTimeFreqPlot (dpoaeCWT t。* 1000 f,...“冲浪”rocky探索的的毫秒“赫兹”

您可以通过找到频率最接近1230 Hz的CWT系数并检查它们的幅度作为时间的函数来研究OAE的时间演化。用时间标记标记唤起刺激的开始和结束。

[~, idx1230] = min (abs (f - 1230));cfsOAE = dpoaeCWT (idx1230:);情节(t。* 1000、abs (cfsOAE))甘氨胆酸AX =;情节(25 [25],[AX.YLim (1) AX.YLim (2)),“r”) plot([175 175],[AX.YLim(1) AX.YLim(2)],“r”)包含(“msec”)标题(rocky系数大小的

在唤醒刺激开始和耳声发射之间存在一定的延迟。一旦唤起刺激终止,耳声发射立即开始衰减。

另一种分离发射的方法是使用反CWT在时域重建频率局部逼近。

通过提取对应于1150 - 1350 Hz频率的CWT系数,构建频率局域化发射近似。使用这些系数并将CWT反转。将原始数据连同重建和指示唤起刺激开始和结束的标记绘制出来。

[1150 1350];xrec = icwt (dpoaeCWT f纤毛刷);图绘制(t。* 1000,dpoaets)xrec情节(t。* 1000年,“r”) AX = gca;ylimits = AX.YLim;ylimits情节(25 [25],“k”)情节(ylimits (175 175),“k”网格)包含(的毫秒) ylabel (“振幅”)标题(“发射的频率局部重建”

在时域数据中,您可以清楚地看到在触发刺激的应用和终止时,发射是如何启动和关闭的。

重要的是要注意,即使为重建选择了一个频率范围,解析小波变换实际上是对发射的确切频率进行编码。为了证明这一点,对解析CWT重建的发射近似进行傅里叶变换。

xdft = fft (xrec);频率= 0:2e4 /元素个数(xrec): 1 e4;xdft = xdft(1:元素个数(xrec) / 2 + 1);图绘制(频率、abs (xdft))包含(“赫兹”) ylabel (“级”)标题(基于cwt的信号近似的傅里叶变换) [~,maxidx] = max(abs(xdft));流('频率为%4.2f Hz\n'频率(maxidx))
频率为1230.00 Hz

这个示例使用得到声发射数据的时频分析icwt得到信号的频率局部逼近。

参考文献

Cui, X., Bryant, D.M.和Reiss。A.L.“基于nnr的超扫描显示合作过程中前额叶皮层的人际一致性增强”,《神经科学》,59(3),2430- 2437,2012。

Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, miietus JE, Moody GB, Peng C-K, Stanley HE。“PhysioBank, PhysioToolkit和PhysioNet:复杂生理信号新研究资源的组成部分”发行量101 (23):e215-e220, 2000年。http://circ.ahajournals.org/cgi/content/full/101/23/e215

Mallat, S。《信号处理的小波之旅:稀疏方法》,学术出版社,2009年。

喜怒无常、G.B.“评估心电图分析”。http://www.physionet.org/physiotools/wfdb/doc/wag-src/eval0.tex

穆迪GB,马克RG。" MIT-BIH心律失常数据库的影响"IEEE医学与生物学工程20(3):45-50(2001年5- 6月)。

附录-支持功能金宝app

本例中使用了以下辅助函数。