该实例说明了如何利用多尺度局部多项式变换(MLPT)对非均匀采样数据进行平滑和去噪。MLPT是一种提升方案(Jansen, 2013),它具有离散小波变换的许多特性,并能处理非均匀采样数据。
许多真实世界的时间序列的观察不是在有规律的间隔时间内记录的。这可能是由于数据的不均匀抽样或由于缺失或损坏的观察结果。离散小波变换(DWT)是数据去噪或执行非参数回归的强大工具,但经典的小波变换定义为均匀采样数据。尺度的概念是DWT的核心,它非常依赖于观测之间的定期间隔。
提升方案(第二代小波)(詹森&Oonincx,2005)提供了一个方法来设计小波和实施小波的时间(空间)结构域完全转化。虽然经典DWT也可以通过提升方案来表示,升降也是足够灵活以处理非均匀采样的数据。
负载并绘制一个噪声非均匀采样时间序列。
负载天际线情节(T、y)包含(“秒”) 网格在
如果你画出抽样时间之差,你会发现数据是非均匀抽样的。
情节(diff (T))标题(“采样时间的一阶差分”)轴紧的ylabel (' \δT ')包含(“样本”) 网格在
在这种合成的数据集,你必须访问原始的无噪声信号。如果您绘制的数据,您将看到数据接近0.07,0.26,和0.79秒特点是平滑变化的功能,以及突然的瞬态特性。
情节(T、f)包含(“秒”) 网格在标题(“原件(无噪声)数据”)
在实际应用中,数据的突然变化往往意味着重要的事件。当你降噪这样的数据,它不理顺瞬变是很重要的。小波通常擅长去噪这样的数据,因为小波伸展以顺利地匹配较长的持续时间变化的特征和收缩以匹配瞬变。该MLPT具有相似的特征,但它自然地处理非均匀采样数据。去噪使用MLPT数据。
xden = mlptdenoise(Y,T,3);HLINE =情节(T,[F xden]);网格在线(1)。线宽= 2;标题(“MLPT去噪”)
MLPT算法对数据去噪效果较好。平滑变化的特征被很好地表示,并保留了瞬态。在这个合成数据集中,您可以实际测量去噪版本的信噪比(SNR)。
信噪比= 20 * log10(规范(f, 2) /规范(xden-f 2));标题([“信噪比”num2str(SNR,'%2.2F')“数据库”])
信噪比是近20分贝。当然,你可以忽略的事实数据,非均匀采样,并把样品尽可能均匀采样。去噪使用DWT以前的数据集。
xd = wdenoise (y, 3,“小波”,“bior2.2”,'DenoisingMethod',“确定”,“NoiseEstimate”,“LevelDependent”);SNR = 20 *日志10(范数(F,2)/范数(XD-F,2));HLINE =情节(T,[F XD]);标题([“信噪比”num2str(SNR,'%2.2F')“数据库”])网格在线(1)。线宽= 2;
这里DWT在去噪数据方面做得很好,但MLPT优于DWT,后者明确地考虑了非均匀采样瞬间。
将小波和MLPT去噪结果与Savitzky-Golay方法进行比较,Savitzky-Golay方法实现了数据的局部多项式逼近。Savitzky-Golay的变体实现在smoothdata
处理均匀且非均匀采样的数据。
xdsg = smoothdata (y,“sgolay”,“度”4“samplepoints”,T);信噪比= 20 * log10(规范(f, 2) /规范(xdsg-f 2));HLINE =情节(T,[F xdsg]);标题([“信噪比”num2str(SNR,'%2.2F')“数据库”])网格在线(1)。线宽= 2;
在这一数据上,经典DWT和MLPT的表现都优于Savitzky-Golay。
考虑另一种非均匀采样合成数据集。
负载nonuniformheavisine情节(t, x)网格在
这个数据通常比前面的例子更平滑,但有两个在0.3和0.7秒的瞬态例外。这样的数据对Savitzky-Golay等方法提出了挑战,因为需要低阶多项式来拟合平滑振荡数据,而需要高阶多项式来近似跳跃。
去噪使用MLPT数据和测量SNR。返回原来的MLPT系数和去噪系数两者。
[xden,T,WTHR,W] = mlptdenoise(X,T,3,“denoisingmethod”,“确定”);情节(T,[F xden])格在信噪比= 20 * log10(规范(f, 2) /规范(xden-f 2));标题({“MLPT去噪”;[“信噪比”num2str(SNR,'%2.2F')“数据库”]})
绘制原始系数和去噪系数。
图次要情节(2,1,1)干细胞(w,“ShowBaseLine”,'离开',“标记”,“没有”) 标题(“原始MLPT系数”)副区(2,1,2)干(WTHR,“ShowBaseLine”,'离开',“标记”,“没有”) 标题(“去噪MLPT系数”)
将MLPT结果与Savitzky-Golay方法进行比较。
xdsg = smoothdata(X,“sgolay”,“度”4“samplepoints”,T);图情节(T,[F xdsg])格在信噪比= 20 * log10(规范(f, 2) /规范(xdsg-f 2));标题({“Savitzky-Golay去噪”;[“信噪比”num2str(SNR,'%2.2F')“数据库”]})
这里MLPT方法明显优于Savitzky-Golay方法。这一点在Savitzky-Golay方法无法捕捉0.3和0.7秒附近的瞬变时尤为明显。
在许多应用中,目标是在一个或多个预测变量变化时估计一些未知的响应函数。当响应函数的确切形状未知时,这是一个例子非参数回归.
在这些情况下,一个主要目标通常是获得一个平滑的估计,假设未知响应函数随预测器的变化而平稳变化。
作为非均匀采样数据的非参数回归的一个例子,考虑以下数据构成的碰撞条件下对摩托车头盔碰撞试验假人的重力测量。
负载motorcycledata图(时间,gmeasurements)电网在xlabel(“时间”) ylabel (“重力”)
如果你画出时间数据的差值,你会发现数据的采样是非均匀的。
图(DIFF(次))标题(“第一次时差数据”) 网格在
这些数据很杂乱,但似乎有一个清晰的总体趋势。具体来说,有一个最初的负重力体验,然后开始转变为积极的时间。积极的反弹继续超过0,然后恢复到基线。您可以使用mlptrecon
以获得用于该数据的非参数回归。
[W,T,NJ,scalingmoments] = MLPT(gmeasurements,时间,'dualmoments'4...“primalmoments”4“预过滤器”,“没有”);a4 = mlptrecon (“一个”w t nj scalingmoments 4,'dualmoments'4);Hline = plot(times,[gmeasurements a4]);网格在线(2)。线宽= 2;传奇(“原始数据”,“平滑配合”)包含(“时间”) ylabel (“重力”) 标题(“G力测量”)
在4级MLPT逼近提供了一个很好的平滑适合,可以让你捕捉到无噪音的效果反应的本质中的数据。
这个例子展示了多尺度局部多项式变换(MLPT),这是适合于非均匀采样的数据的提升方案。该MLPT是用于在丢失的情况下,或者非均匀采样数据去噪或非参数回归有用。最低限度地,它是针对设计成工作于均匀取样数据小波去噪技术相比有用的基准。在其他情况下,它优于传统的小波被明确的非均匀采样网格考虑降噪。
詹森,M。“非等步距数据的提升金字塔的多尺度局部多项式平滑”。IEEE信号处理汇刊。第61卷第3期,2013年,545-555页。
M. Jansen和Patrick Oonincx。第二代小波及其应用。伦敦:施普林格,2005年。