这个例子展示了如何执行和解释基本的信号多分辨率分析(MRA)。该示例使用模拟数据和真实数据来回答以下问题:多分辨率分析意味着什么?通过执行多分辨率分析,我可以获得关于我的信号的哪些见解?不同MRA技术的优点和缺点是什么?这里介绍的许多分析都可以使用信号多分辨率分析应用程序。
信号通常由多个物理上有意义的组件组成。通常,您希望以与原始数据相同的时间刻度来孤立地研究一个或多个这些组件。多分辨率分析指的是将一个信号分解成多个分量,当这些分量加在一起时恰好产生原始信号。为了便于数据分析,信号如何分解是很重要的。组件理想地将数据的可变性分解为物理上有意义和可解释的部分。这个词多分辨率分析通常与小波或小波包有关,但也有一些非小波技术也能产生有用的MRAs。
作为您可以从MRA获得的洞察的激励示例,请考虑以下合成信号。信号以1000Hz采样一秒钟。
Fs = 1 e3;t = 0:1 / Fs: 1 - 1 / f;comp1文件= cos(2 *π* 200 * t) * (t > 0.7);Comp2 = cos(2*pi*60*t).*(t>=0.1 & t<0.3);趋势=罪(2 *π* 1/2 * t);rng默认的WGNNOISE = 0.4 * RANDN(尺寸(t));x = Comp1 + Comp2 +趋势+ WGNNOISE;plot(t,x)xlabel('秒') ylabel (“振幅”)标题(“合成信号”)
信号明确地由三个主要成分组成:频率为60周/秒的时间局域振荡,频率为200周/秒的时间局域振荡和趋势项。这里的趋势项也是正弦的,但频率是1/2周/秒,所以它只在1秒的间隔内完成1/2周。60周期/秒或60赫兹振荡发生在0.1到0.3秒之间,而200赫兹振荡发生在0.7到1秒之间。
并非所有这些都能从原始数据图中立即看出,因为这些成分是混合的。
现在,从频率的角度画出信号。
xdft = fft(x);n = numel(x);XDFT = XDFT(1:NUMER(XDFT)/ 2 + 1);FREQ = 0:FS / N:FS / 2;绘图(FREQ,20 * log10(ABS(XDFT)))XLabel(“周期/秒”) ylabel (“数据库”网格)在
从频率分析中,我们更容易辨别振荡分量的频率,但我们失去了它们的时间局域性。从这个角度来看,也很难想象这种趋势。
为了同时获得一些时间和频率信息,我们可以使用时频分析技术,如连续小波变换(类
)。
类(x, Fs)
现在您可以看到60hz和200hz分量的时间范围。然而,我们仍然没有任何有用的可视化趋势。
时频视图提供了有用的信息,但在许多情况下,您想要及时分离信号的组件并单独检查。理想情况下,您希望这些信息与原始数据相同的时间尺度可用。
多分辨率分析实现了这一点。事实上,考虑多分辨率分析的一个有用方法是,它提供了一种避免时频分析的方法,同时允许您直接在时域工作。
现实世界的信号是不同成分的混合。通常,您只对这些组件的一个子集感兴趣。多分辨率分析可以通过将信号分离成不同的分量来缩小分析范围决议金宝搏官方网站.
以不同分辨率提取信号分量相当于在不同的时间尺度上分解数据的变化,或等效地在不同的频段(不金宝搏官方网站同的振荡率)分解数据。因此,您可以可视化信号的变异性在不同的尺度,或频带同时。
利用小波MRA分析和绘制合成信号。信号被分析在八个分辨率或级别。金宝搏官方网站
mra = modwtmra(modwt(x,8));Helpermraplot(X,MRA,T,“小波”那小波多分辨的,[2 3 4 9])
在不解释图上符号的含义的情况下,让我们利用我们对信号的知识,试着理解小波MRA向我们展示的是什么。如果您从最上面的图开始,然后继续向下,直到您到达原始数据的图,您会看到组件变得越来越平滑。如果你更喜欢从频率的角度来考虑数据,那么分量中包含的频率会变得更低。回想一下,原始信号有三个主要成分,一个200hz的高频振荡,一个60hz的低频振荡和一个趋势项,所有这些都被加性噪声破坏了。
如果你看看
绘图,您可以看到在那里隔离时局部化的高频分量。您可以在孤立中基本上看到并调查此重要信号功能。接下来的两个图包含较低的频率振荡。这是多分辨率分析的一个重要方面,即重要信号分量可能不会最终孤立在一个MRA组件中,但它们很少位于两个以上。最后,我们看到了
Plot包含趋势项。为方便起见,这些组件中的轴的颜色已更改为在MRA中突出显示它们。如果您希望可视化此图或不突出显示的后续图,请省略最后的数字输入helperMRAPlot
.
小波MRA使用称为固定功能小波分离信号成分。这K.Th小波MRA组分,表示 在前面的图中,可以看作是将信号滤波成频带的形式 在哪里 为采样周期或采样间隔。最后一个平滑的部分,在图中表示为 ,在那里 MRA的电平是否捕获了频带 .该近似的准确性取决于MRA中使用的小波。看 [5.的详细描述小波和小波包多光谱分析。
但是,还有其他MRA技术需要考虑。
这经验模态分解EMD是一种数据自适应多分辨率技术。EMD递归地从数据中提取不同的分辨率,而不使用固定的函数或滤波器。金宝搏官方网站EMD将一个信号看作是由a快速地振荡叠加在慢点一个。在快速振荡被提取后,该过程将剩余的较慢分量视为新信号,并再次将其视为叠加在较慢分量上的快速振荡。该过程继续进行,直到达到某个停止条件。虽然EMD不使用小波等固定函数来提取信息,但EMD方法在概念上非常类似于小波方法将信号分离成细节和近似然后再次将近似分解为细节和近似。EMD中的MRA组件被称为固有模态函数(国际货币基金组织)。看 [4.,以了解EMD的详细治疗。
绘制同一信号的EMD分析图。
[IMF_EMD,REND_EMD] = EMD(x);Helpermraplot(x,imf_emd,t,“emd”那经验模态分解的,[1 2 3 6])
当MRA分量数目不同时,EMD和小波MRA产生的信号图像相似。这不是偶然的。看 [2来描述小波变换和EMD之间的相似性。
在EMD分解中,高频振荡本地化为第一内在模式(IMF 1)。较低频率振荡主要是IMF 2的本地化,但您也可以在IMF 3中看到一些效果。IMF 6中的趋势分量与小波技术提取的趋势分量非常相似。
另一种自适应多分辨率分析技术是变分模态分解(VMD)。与EMD类似,VMD试图从信号中提取固有模态函数或振荡模态,而不使用固定函数进行分析。但是EMD和VMD以非常不同的方式确定模式。EMD递归地处理时域信号,逐步提取低频IMFs。VMD首先识别信号在频域的峰值,同时提取所有模式。看 [1用于治疗VMD。
[imf_vmd, resid_vmd] = vmd (x);Helpermraplot(x,imf_vmd,t,“vmd”那“变分模态分解”,[2 4 5])
值得注意的是,类似于小波和EMD分解,VMD将感兴趣的三个组成部分分离成完全分开的模式或少量相邻模式。所有三种技术允许您以与原始信号相同的时间刻度可视化信号分量。
有一种数据自适应技术,实际上是根据数据的频率内容构造小波滤波器。这个技巧是经验的小波变换(易)3.].对EMD的主要批评之一是,它的定义纯粹是算法。因此,它不容易接受数学分析。另一方面,EWT实际上是基于被分析信号的频率内容构造Meyer小波。因此,EWT的结果是经得起数学分析的,因为在分析中使用的滤波器对用户是可用的。使用EWT重复对合成信号的分析。
[mra_ewt, cfs, wfb信息]=易(x,“MaxNumPeaks”5);helperMRAPlot (x, mra_ewt t“易”那“经验小波变换”,[1 2 3 5])
类似于以往的EMD和小波MRA技术,EWT分离了振荡分量并趋向于一些固有模态函数。然而,与EMD相比,用于执行分析的滤波器及其通频带信息对用户是可用的。
Nf =长度(x) / 2 + 1;cf =意味着(info.FilterBank.Passbands, 2);f = 0: Fs /长度(x): Fs-Fs /长度(x);CLF ax = newplot;情节(ax, f (1: Nf), wfb (1: Nf,:)) ax。XTick =排序(cf。* Fs);斧子。XTickLabel = ax.XTick;Xlabel(“赫兹”网格)在标题(“经验Meyer小波”)
EWT技术的另一个优点是,分析系数保留了原始信号的能量。这种特性是非自适应小波技术所共有的,但在非小波自适应技术中没有发现。
EWTEnergy =总和(vecnorm (cfs, 2) ^ 2)。
ewtenergy = 875.5768
sigEnergy =规范(x, 2) ^ 2
Sigenergy = 875.5768.
对于一个有用的分量分离的真实例子,考虑一个地震仪(垂直加速度, )科比地震,记录在塔斯马尼亚大学,1995年1月16日在澳大利亚霍巴特,于1995年1月16日开始(GMT),并以1秒钟的间隔继续51分钟。
加载Kobetimetable.T = KobeTimeTable.t;科比= KobeTimeTable.kobe;图绘制(T,科比)标题(“神户地震地震仪”) ylabel (“垂直加速度(nm / s ^ 2)”)包含('时间')轴紧网格在
获取并绘制数据的小波MRA。
mrakobe = modwtmra(Modwt(Kobe,8));图Helpermraplot(科比,Mrakobe,T,“小波”那“小波MRA神户地震”[4 - 5])
该图显示了MRA组件中的初级和延迟次级波分量的分离 和 .地震波中的分量以不同的速度传播,其中主波(纵波)传播比次波(横波)传播快。MRA技术可以使您在原始时间尺度上独立地研究这些组件。
将信号分离成分量的目的往往是去除某些分量或减轻它们对信号的影响。MRA技术的关键是重建原始信号的能力。
首先,让我们演示所有这些多分辨率技术,使您可以完美地重建信号的分量。
sigrec_wavelet =总和(mra);sigrec_emd = (imf_emd 2) + resid_emd总和;sigrec_vmd = (imf_vmd 2) + resid_vmd总和;图次要情节(3、1、1)的阴谋(t, sigrec_wavelet);标题(“小波重建”);集(gca),“XTickLabel”[]);ylabel (“振幅”);次要情节(3、1、2);情节(t, sigrec_emd);标题('EMD重建');集(gca),“XTickLabel”[]);ylabel (“振幅”);子图(3,1,3)绘图(t,sigrec_vmd);标题('VMD重建');ylabel (“振幅”);Xlabel('时间');
在逐样本的基础上,每种方法的最大重建误差为 或者更小,表明它们是完美的重建方法。由于MRA分量的总和可以重建原始信号,因此,包括或排除分量的子集可以产生有用的近似。
回到合成信号的原始小波MRA假设你对趋势项不感兴趣。由于趋势项被定位在最后一个MRA分量中,所以只需将该分量从重构中剔除即可。
sigWOtrend =总和(mra (1: end-1,:));图绘制(t, sigWOtrend)包含(“时间(s)”) ylabel (“振幅”)标题(“趋势项消除”)
要删除其他组件,可以使用错误的
不希望包含的组件中的值。在这里,我们除去趋势和最高频率分量以及第一个MRA分量(看起来很大程度上是噪声)。将实际的第二信号分量(60hz)与重构图绘制出来进行比较。
包括=真(大小(MRA,1),1);包括([1 2 9])= false;TS = SUM(MRA(包括:));绘图(T,Comp2,“b”)举行在情节(t, t,'r')标题(“移除趋势项和最高频率成分”)包含(“时间(s)”) ylabel (“振幅”)传说(《组件2》那“部分重建”) xlim ([0.0 - 0.4])
在前面的示例中,我们将趋势项视为要删除的讨厌组件。在许多应用程序中,趋势可能是主要感兴趣的部分。让我们可视化我们的三个mra示例所提取的趋势术语。
图绘制(t)的趋势,“线宽”,2)持有在情节(t, mra(最终,:)imf_vmd(:,结束)imf_emd(:,结束)mra_ewt(:,结束)])网格在传奇(“趋势”那“小波”那'vmd'那“EMD”那“易”) ylabel (“振幅”)包含(“时间(s)”)标题(“三个MRAs的趋势”)
注意,趋势是光波技术更光滑,最准确地捕获。EMD发现了一个平滑的趋势术语,但它相对于真正的趋势幅度转移,而VMD技术似乎固有地偏向于发现振荡,而不是小波和EMD技术。进一步讨论了这一点的含义MRA技术-优点和缺点部分。
在前面的例子中,强调了多分辨率分析在检测数据中的振荡分量和总体趋势中的作用。然而,这些并不是使用多分辨率分析可以分析的唯一信号特征。MRA还可以帮助定位和检测信号中的瞬态特征,如脉冲事件,或某些成分变异性的减少或增加。局部于特定尺度或频带的变异性变化往往表明数据产生过程中的显著变化。这些变化通常在MRA组件中比在原始数据中更容易显示出来。
为了说明这一点,请考虑1947 Q1至2011 Q4的季度链加权美国国内生产(GDP)数据。季度样本对应于4个样本/年的采样频率。垂直黑线标志着“很好的温和”的开始,在20世纪80年代中期开始,在美国的宏观经济波动下降一段时间。请注意,这很难辨别出原始数据。
加载gdpdata.图情节(年,realgdp)持有在情节([(146)年(146)],[-0.06 - 0.14],“k”)标题(“GDP数据”)包含('年')举行从
获取GDP数据的小波MRA。绘制最佳分辨率的MRA组分,具有较大的适度标记。由于小波MRA使用固定滤光片获得,因此我们可以将最好的标度MRA组分与每年1个循环的频率联系到每年2个周期。用两季度振荡的组件具有每年2个循环的频率。在这种情况下,最好分辨率的MRA组件捕获在相邻的两季间隔之间发生的GDP的变化,以便在四分之一到季度发生的变化。
mra = modwtmra (modwt (realgdp“db2”));图绘制(一年,mra (1:))在情节([(146)年(146)],[-0.015 - 0.015],“k”)标题('小波MRA - 四分之一四分之一变化')包含('年')举行从
在最好的分辨率MRA组件中,可变异性或经济术语波动性的减少更加明显,而不是原始数据。检测MATLAB等方差变化的技术findchangepts
(信号处理工具箱)通常在MRA组件上比在原始数据上工作得更好。
在这个例子中,我们讨论了小波和数据自适应多分辨率分析技术。各种技术的优点和缺点是什么?换句话说,对于什么应用程序,我可以选择其中一个而不是另一个?让我们从小波开始。本例中的小波技术使用固定滤波器来获得MRA。这意味着小波MRA有一个明确的数学解释,我们可以预测MRA的行为。我们还能够将MRA中的事件与数据中的特定时间尺度联系起来,就像在GDP例子中所做的那样。缺点是小波变换将信号分成倍频带(每个分量的中心频率减少1/2),因此在高中心频率处的带宽要比低频率处的带宽大得多。这意味着用小波技术,两个紧密间隔的高频振荡可以很容易地在相同的MRA分量中结束。
重复第一个合成例子,但将两个振荡分量彼此移动一个八度。
Fs = 1 e3;t = 0:1 / Fs: 1 - 1 / f;Comp1 = cos(2*pi*150*t).*(t>=0.1 & t<0.3);comp2 = cos(2 *π* 200 * t) * (t > 0.7);趋势=罪(2 *π* 1/2 * t);rng默认的;WGNNOISE = 0.4 * RANDN(尺寸(t));x = Comp1 + Comp2 +趋势+ WGNNOISE;plot(t,x)xlabel('秒') ylabel (“振幅”)
重复并绘制小波MRA。
mra = modwtmra(modwt(x,8));Helpermraplot(X,MRA,T,“小波”那小波多分辨的, 9 [2])
现在我们看到了 包含150 Hz和200 Hz组件。如果使用EMD重复此分析,则会看到相同的结果。
现在让我们使用VMD。
[imf_vmd,〜,info_vmd] = vmd(x);Helpermraplot(x,imf_vmd,t,“vmd”那'vmd',[1 2 3 5]);
VMD能够分离这两个组件。高频振荡以IMF 1为中心,而第二分量分布在两个相邻的IMF上。如果你看VMD模式的估计中心频率,该技术将前两个分量定位在200和150赫兹左右。第三个IMF的中心频率接近150赫兹,这就是为什么我们在两个MRA组件中看到第二个组件。
info_vmd.CentralFrequence * FS.
ans =.5×1202.7204 153.3278 148.8022 84.2802 0.2667
VMD之所以能够做到这一点,是因为它首先通过查看数据的频域分析来确定imf的候选中心频率。
而小波MRA不能分离两个高频分量,有一个额外的小波包MRA可。
wpt = modwptdetails(x,3);Helpermraplot(X,翻转(WPT),T,“小波”那“小波包查看”,[5 6 8]);
现在你看到两种振荡分开 和 .从这个例子中我们可以提取出一条一般规则。如果初始小波或EMD分解在同一分量中显示出振荡率明显不同的分量,则考虑VMD或小波包MRA。如果您怀疑您的数据在频率上有接近的高频成分,VMD或小波包方法通常比小波或EMD方法更有效。
回想一下提取平滑趋势的问题。重复小波MRA和EMD。
mra = modwtmra(modwt(x,8));Helpermraplot(X,MRA,T,“小波”那小波多分辨的, 9 [2])
imf_emd = emd (x);Helpermraplot(x,imf_emd,t,“EMD”那经验模态分解的(1 2 6))
由小波和EMD技术提取的趋势更接近真正的趋势,而不是由VMD和小波包技术提取的趋势。VMD本质上偏向窄带振荡组件。这是VMD在检测到紧密间隔的振荡方面的强度,而是在提取数据中的平滑趋势时的缺点。当分解超出几个级别时,小波包MRA也是如此。这导致第二份一般性建议。如果您有兴趣表征数据的平滑趋势以进行识别或删除,请尝试小波或EMD技术。
如何检测GDP数据中的瞬时变化呢?让我们使用VMD重复GDP分析。
[imf_vmd, ~, vmd_info] = vmd (realgdp);图subplot(2,1,1) plot(year,realgdp) title(实际国内生产总值的);持有在情节([(146)年(146)],[-0.1 - 0.15],“k”)举行从子图(2,1,2)绘图(年,IMF_VMD(:,1));标题(“第一VMD国际货币基金组织(IMF)”);Xlabel('年')举行在情节([(146)年(146)],[-0.02 - 0.02],“k”)举行从
虽然从20世纪80年代中期开始,最高频率的VMD分量也显示出一些变异性的减少,但它不像小波MRA那么明显。因为VMD技术偏向于发现振荡,在第一个VMD IMF中有大量的环,掩盖了波动率的变化。
使用EMD重复这个分析。
imf_emd = emd (realgdp);图subplot(2,1,1) plot(year,realgdp) title(实际国内生产总值的);持有在情节([(146)年(146)],[-0.1 - 0.15],“k”)举行从次要情节(2,1,2)情节(一年,imf_emd (: 1));标题(“第一EMD国际货币基金组织(IMF)”)包含('年')举行在情节([(146)年(146)],[-0.06 - 0.05],“k”)举行从
EMD技术在找到波动率(方差)的变化方面不太有用。在这种情况下,在小波MRA中使用的固定功能比数据自适应技术更有利。
这就引出了我们最后的一般规则。如果你对检测信号中的瞬态变化感兴趣,比如脉冲事件是可变性的减少和增加,那么试试小波技术。
该示例显示了多分辨率分解技术,例如小波,小波包,经验模式分解,经验小波和变分模式分解,允许您在相对隔离中与原始数据相对隔离地研究信号分量。每种技术都证明了许多应用程序中的功能。该示例给出了一些拇指的规则,以便让您开始,但这些不应被视为绝对。下表回收了这里呈现的MRA技术的属性以及一些拇指的一般规则。两个征地表示特定的强度,一个加上表示该技术适用,但不是特定的强度。对于分析中的能量保存的二进制属性,复选标记表示该技术具有此属性,并且“x”表示属性不存在。
如果您的数据似乎包含频率相近的振荡成分,如果频率较低,请尝试小波、小波包、经验小波或VMD技术。
如果数据似乎包含紧密间隔的高频振荡成分,请尝试VMD或小波包。VMD直接从数据中识别重要的中心频率,而小波包使用固定频率分析,这可能不如VMD灵活。小波和经验小波技术都是信号的常q滤波,这意味着带宽与中心频率成比例。在高频率下,这使得分离密集的分量变得困难。
如果你对数据中的瞬态事件感兴趣,如脉冲事件或变异性的瞬态减少和增加,请尝试小波或经验小波MRA。在任何MRA中,这些事件通常局限于最精细的尺度(最高中心频率)MRA组件。
如果你对表示数据中的平滑趋势项感兴趣,可以考虑EMD或小波MRA。
和信号多分辨率分析,您可以对信号执行多分辨率分析,在各种MRA组件上获取指标,试验部分重构,并生成MATLAB脚本在命令行上重现分析。
德拉戈米列茨基、康斯坦丁和多米尼克·佐索。“变分模态分解”。IEEE信号处理汇刊62年,没有。3(2014年2月):531-44。https://doi.org/10.1109/TSP.2013.2288675.
Flandrin, P., G. Rilling和P. Goncalves。作为滤波器组的经验模态分解IEEE信号处理信11日,没有。2(2004年2月):112-14。https://doi.org/10.1109/LSP.2003.821662.
[3]贾尔斯,J。“经验小波变换”,IEEE信号处理汇刊,61卷,没有。16(2013年5月):3999 - 4010。
[4] Huang, Norden E., Shen Zheng, Steven R. Long, Manli C. Wu, Hsing H. Shih, Quanan Zheng, naichyuan Yen, Chi Chao Tung, and Henry H. Liu。“非线性和非平稳时间序列分析的经验模态分解和希尔伯特谱”。伦敦皇家学会学报。系列A:数学、物理和工程科学454年,没有。1971(1998年3月8日):903-95。https://doi.org/10.1098/rspa.1998.0193.
Percival, Donald B.和Andrew T. Walden。时间序列分析的小波方法.剑桥系列统计和概率数学。剑桥;纽约:剑桥大学出版社,2000年。