7

我有两个向量:长度为 927 的传感器 A 和长度为 1250 的传感器 B。我想让它们的长度相同。MATLAB 中的 resample() 函数在边缘非常嘈杂,我需要在整个过程中至少有相当好的精度。

我知道重采样可以通过插值来完成,但我如何以最有效的方式实现它。我需要尽可能均匀地将 927 拉伸到 1250。

我想知道我是否可以做这样的事情:

  1. 我需要较短向量中的 333 个新样本。因此,对于每 3 个值,我在其间插入两个连续值的平均值(中点)。=> 插入了 309 个样本
  2. 对于剩下的,我每 38 个样本再次插入 (927/(333-309))

这有意义吗?我仍然无法获得精确的插值。还有其他我可以使用的功能吗?(除了interp()因为它需要一个完整的重采样率?)

4

3 回答 3

6

从信号处理的角度来看,您不应该每 3 个值插入一个样本。那将是不均匀的拉伸,会破坏您的信号。resample函数就是你想要的。尝试更改 n 和/或 beta 的参数。您可能需要按照此处所述填充信号以减少边缘效应。

于 2011-02-15T03:54:22.970 回答
0

对带限信号进行重新采样与使用无限 Sinc 插值内核进行插值相同,并且非常接近具有良好选择的窗口的加窗 Sinc 插值。有关详细信息,请参阅此斯坦福 CCRMA 网站

于 2011-02-15T19:12:33.510 回答
0

要进行插值,请使用interp1。出于您的目的,这可能已经足够了,但是,如上所述,重新采样是正确的做法。

于 2011-02-15T22:51:43.883 回答