MATLAB中两个不同长度数据集的重采样

MATLAB中两个不同长度数据集的重采样,matlab,signal-processing,sampling,resampling,Matlab,Signal Processing,Sampling,Resampling,我有两个向量:长度为927的传感器A和长度为1250的传感器B。我想做同样长度的。MATLAB中的resample()函数的边缘非常嘈杂,我需要至少相当高的精度 我知道重采样可以通过插值完成,但我如何以最有效的方式实现它。我需要尽可能均匀地拉伸927到1250 我想知道我是否可以这样做: 我需要333个短向量的新样本。因此,对于每3个值,我插入两个连续值之间的平均值(中点)。=>插入309个样本 对于剩余的样本,我每38个样本再次插入一次(927/(333-309)) 这有意义吗?我仍然无法得到

我有两个向量:长度为927的传感器A和长度为1250的传感器B。我想做同样长度的。MATLAB中的resample()函数的边缘非常嘈杂,我需要至少相当高的精度

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

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

  • 我需要333个短向量的新样本。因此,对于每3个值,我插入两个连续值之间的平均值(中点)。=>插入309个样本
  • 对于剩余的样本,我每38个样本再次插入一次(927/(333-309))

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

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

    对带限信号进行重采样与使用无限Sinc插值内核进行插值相同,与使用精心选择的窗口进行加窗Sinc插值非常接近。有关详细信息,请参见此项。

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

    是否有理由interp1()不适合您?您可以要求它为任意一组输出点提供插值。如果你给它一个更好的标题,我会给你一个+1,例如“重新采样2个数据集,在Matlab中给出相同的长度”