MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在MATLAB中对两个不同长度的数据集进行重采样 (https://www.labfans.com/bbs/showthread.php?t=26338)

poster 2019-12-14 20:13

在MATLAB中对两个不同长度的数据集进行重采样
 
我有两个向量:长度为927的sensorA和长度为1250的sensorB。我想使它们具有相同的长度。 MATLAB中的resample()函数的边缘非常嘈杂,我始终需要至少相当好的准确性。

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

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



[B]回答:[/B]

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



[url=https://stackoverflow.com/questions/4999620]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 05:05

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.