查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在MATLAB中对两个不同长度的数据集进行重采样

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

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

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



回答:

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



更多&回答...
poster 当前离线   回复时引用此帖