增加信号中的数据点

时间:2014-11-08 12:38:34

标签: matlab signal-processing interpolation sampling

我有一个32点的输入数据集。现在,我想通过平均点上的数据将这些32点转换为240点。

我考虑绘制我拥有的32个采样点,然后通过近似绘制曲线并以更高的采样频率获取数据,以获得240个点。

我无法理解如何在MATLAB中执行此操作。我从一些消息来源获得了帮助,但我无法提出任何解决方案。怎么办呢?

简而言之,我想转换&#39; x&#39;离散数据的样本设置为&#39; y&#39;通过近似信号设置新数据的样本。此处x > yx < y

1 个答案:

答案 0 :(得分:2)

resample做你想做的事,

newdata = resample(data,240,32);

例如:

a = 1 : 32;
b = resample(a,240,32);
t = 1 : 32;
t1 = linspace(1,32,240);
plot(t,a);hold on;plot(t1,b,'r');

enter image description here

最后的噪音可能是因为过滤器过滤,240/32过高。

resample确实很棒,

a = randi(10,[1 100]);
b = resample(a,240,100);
t = 1 : 100;
t1 = linspace(1,100,240);
plot(t,a);hold on;plot(t1,b,'r')

enter image description here