主要内容

重建丢失的数据

这个例子展示了如何通过插值、抗混叠滤波和自回归建模来重建缺失的数据。

介绍

随着廉价数据采集硬件的出现,您通常可以访问正常间隔快速采样的信号。这允许您获得底层信号的精细近似。但是,当您测量的数据时会发生什么粗略采样或以其他方式缺少重要部分?如何将信号的信号值推断在您知道的样本之间的点数?

线性插值

线性插值是迄今为止在采样点之间推断值的最常见方法。默认情况下,当您在MATLAB中绘制向量时,您会看到直线连接的点。您需要在非常精细的细节下对信号进行示例,以便近似真实信号。

在这个例子中,一个正弦信号的采样具有细分辨率和粗分辨率。当绘制在图表上时,经过精心采样的正弦曲线非常类似于真正的连续正弦曲线。因此,您可以使用它作为“真实信号”的模型。在下面的图中,粗采样信号的样本显示为由直线连接的圆。

tTrueSignal = 0:0.01:20;xTrueSignal =罪(2 *π* 2 * tTrueSignal / 7);tSampled = 0:20;xSampled =罪(2 *π* 2 * tSampled / 7);情节(tTrueSignal xTrueSignal,'-'...tSampled xSampled,'O-')传说('真的信号'“样本”

图中包含一个轴。轴包含2个类型的型号。这些对象表示真实信号,样本。

以相同的方式恢复中间样本很简单阴谋进行插值。这可以用线性方法来实现interp1.功能。

tResampled = 0:0.1:20;xLinear = interp1 (tSampled xSampled tResampled,“线性”);情节(tTrueSignal xTrueSignal,'-'...tSampled xSampled,'O-'...tResampled xLinear,'.-')传说('真的信号'“样本”“interp1(线性)

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象表示真信号、样本、interp1(线性)。

线性插值的问题是结果不是很平滑。其他插值方法可以产生更平滑的近似。

样条插值

许多物理信号就像正弦曲线,因为它们是连续的并且具有连续的衍生物。您可以通过使用立方样条插值来重建此类信号,这确保了内插信号的第一和第二导数在每个数据点都是连续的:

xSpline = interp1 (tSampled xSampled tResampled,样条的);情节(tTrueSignal xTrueSignal,'-'...tSampled xSampled,“o”...tResampled xLinear,'.-'...TresAmpled,Xspline,'.-')传说('真的信号'“样本”“interp1(线性)“interp1(花键)”

图中包含一个轴。轴包含4个类型的4个物体。这些对象代表真实信号,样本,Interp1(线性),Interp1(样条曲线)。

三次样条在插值由正弦组成的信号时特别有效。然而,还有其他技术可以用来获得对具有非常高阶连续导数的物理信号的更高保真度。

用反混叠滤波器重新采样

重组信号处理工具箱中的函数提供了另一种填补缺失数据的技术。重组能以极低的失真重建低频的正弦分量。

xressample = ressample (xSampled, 10, 1);tResample = 0.1 *(1:元素个数(xResample)) 1);情节(tTrueSignal xTrueSignal,'-'...TresAmpled,Xspline,“。”...tResample xResample,“。”)传说('真的信号'“interp1(花键)”'重新取出'

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象表示真信号,样条,重采样。

像其他方法一样,重组有一些困难重建端点。另一方面,重构信号的中心部分与真实信号吻合得很好。

xlim (10 [6])

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象表示真信号,样条,重采样。

用缺失的样本重新采样

重组可以适应非均匀采样信号。该技术在信号以高速率采样时效果最好。

在下面的例子中,我们创建一个缓慢移动的正弦曲线,删除一个样本,并放大到缺失样本的附近。

ttruesignal = 0:.1:20;Xtruesignal = Sin(2 * Pi * 2 * TtrueIgnal / 15);tx = 0:20;tmissing = tx(10);Tx(10)= [];X = SIN(2 * PI * 2 * TX / 15);xmissing = sin(2 * pi * 2 * tmissing / 15);[y,ty] =重组(x,tx,10,样条的);绘图(TTRUESIGNAL,Xtresignal,'-'...tmissing,xmissing,'X '...Tx x,'o'...泰,y,'。')传说('真的信号'缺失的样本'剩下的样品''用''vidhine''重新取样'') ylim([-1.2 1.2]) xlim([6 14])

图中包含一个轴。轴包含4个类型的4个物体。这些对象代表真正的信号,缺少样本,剩余的样本,用“样条素”重新取样。

重建的正弦曲面可以合理地追踪真实信号的形状,只有缺少样本附近的轻微误差。

然而,重组当信号存在较大间隙时,就不能很好地工作。例如,考虑一个中间部分缺失的衰减正弦:

tTrueSignal = (0:199) / 199;xTrueSignal = exp (-0.5 * tTrueSignal)。*罪(2 *π* 5 * tTrueSignal);tm = tTrueSignal;xMissing = xTrueSignal;tm (50:140) = [];xMissing (50:140) = [];[y,Ty] = ressample (xMissing, tMissing, 200,样条的);情节(tTrueSignal xTrueSignal,'-'...tm、xMissing“o”...泰,y,“。”)传说('真的信号'“样本”'用''vidhine''重新取样''

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表真实的信号,样本,再样本与“样条”。

在这里重组确保重建信号是连续的并且在缺失点附近具有连续的衍生物。但是,它无法充分重建缺失部分。

重建大差距

如上所述,单独的过滤和立方插值可能不足以处理大的间隙。然而,对于某些类型的采样信号,例如观察振荡现象时出现的那些采样信号,您通常可以基于紧接在或之后的间隙的数据来推断缺失样本的值。

填充功能可以替换丢失的样本(指定)通过将自回归模型拟合到围绕间隙的样品并从两个方向外推到间隙中的样品中,以其他方式均匀采样信号。

tTrueSignal = (0:199) / 199;xTrueSignal = exp(闲置* tTrueSignal)。*罪(2 *π* 5 * tTrueSignal);gapSignal = xTrueSignal;gapSignal(50:140) =南;y = fillgaps (gapSignal);情节(tTrueSignal xTrueSignal,'-'...ttruesignal,gapsignal,“o”...tTrueSignal y“。”)传说('真的信号'“样本”重构信号的

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表真实信号,样本,重建信号。

这种技术之所以有效,是因为自回归信号的信息分布在许多样本上。只需在任意段内进行少量采样,即可完全重构出完整的信号。

这种重构方法可以用于估计更复杂信号的缺失样本。考虑一个拨动吉他琴弦的采样音频信号,在拨动之后立即去掉600个样本:

[y,fs] = audioread(“guitartune.wav”);x = y(1:3500);X(2000:2600)=南;y2 = fillgaps (x);情节(1:3500,Y(1:3500),'-'...1:3500 x,“。”...1:3500,Y2,'-')传说(原始信号的“样本”重构信号的...“位置”'最好的'

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表原始信号、样本、重构信号。

重建局部估计的差距

当已知间隙附近的信号可以用单一的自回归过程建模时,就可以直接在间隙内填充数据。当信号包含一个非常自回归过程时,可以通过限制计算模型参数的区域来缓解问题。这是有用的,当你试图填补空白的“振铃”期间的一个共振出现前或后,另一个更强的共振。

x = y (350001:370000);x(6000:6950) =南;y2 = fillgaps (x);y3 = fillgaps (x, 1500);情节(1:20000,y (350001:370000),'-'...1:20000 x,“。”...1:20000, y2,'-'...1:20000 y3,'-')XLIM([2200 10200])传奇(原始信号的“样本”'fillgaps(全部)''FILLGAPS(本地化)'...“位置”'最好的'

图中包含一个轴。轴包含4个类型的4个物体。这些对象代表原始信号,样本,填充(全部),FiredPaps(本地化)。

在上面的绘图中,波形丢失在大谐振之前的一部分。像之前一样,填充用于使用所有可用数据推断到间隙区域。第二个电话填充在间隙的两边只使用1500个样本来执行建模。这减轻了样品7500之后吉他拨动的影响。

总结

您已经看到了几种通过插值、重采样和自回归建模从邻近的样本值中重建缺失数据的方法。

插值和重采样工作缓慢变化的信号。用抗混叠滤波器进行重采样通常能更好地重建由低频成分组成的信号。对于重建振荡信号中的大间隙,在间隙附近的自回归建模可以特别有效。

进一步的阅读

有关均匀和非均匀重采样的更多信息,请参见

另请参阅

||