登录论坛

查看完整版本 : 在MATLAB中对两个不同长度的数据集进行重采样


poster
2019-12-14, 20:13
我有两个向量:长度为927的sensorA和长度为1250的sensorB。我想使它们具有相同的长度。 MATLAB中的resample()函数的边缘非常嘈杂,我始终需要至少相当好的准确性。

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

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


我需要较短向量中的333个新样本。因此,对于每3个值,我会在此之间插入两个连续值的平均值(中点)。 =>插入了309个样本
对于其余的,我每38个样本再次插入(927 /(333-309))
这有意义吗?我仍然无法获得精确的插值。我还有其他功能可以使用吗? (除interp()之外,因为它需要整数重采样率?)



回答:

从信号处理的角度来看,您不应该只是每3个值插入一个样本。那将是不均匀的拉伸,并且会破坏您的信号。 重采样 (http://www.mathworks.com/help/toolbox/signal/resample.html)功能就是您想要的。尝试更改n和/或beta的参数。您可能需要按照此处 (http://www.mathworks.com/support/solutions/en/data/1-4BPE5Q/?solution=1-4BPE5Q)所述填充信号以减少边缘效应。



更多&回答... (https://stackoverflow.com/questions/4999620)