我有 2 个信号,其中一个的采样率为 500 Hz,另一个的采样率为(大约,不完全是)115 Hz。我需要对 115 Hz 信号进行上采样以检测 500 Hz 信号中的事件,但数据似乎存在偏差。为了更清楚地说明这一点,我可以在 500 Hz 信号和 115 Hz 信号中轻松检测到一个事件,但是标记的位置(在 115 Hz 中)相对于 500 Hz 信号中的实际事件,上采样后,整个信号的变化。我的代码如下所示:
counter = 1;
for i = 1:length(time)
position = round(time(i)*fs);
if position ~= 0 && position <= size(data,1)
convertedData(i,:) = data(position,:);
elseif position > size(data,1)
convertedData(i,:) = data(size(data,1),:);
else
convertedData(i,:) = data(1,:);
end
end
注意:我不需要插入点,因为标记的确切放置时间并不重要,只要它始终相对于 500 Hz 信号中的事件放置在相同的位置即可。在上面的代码中,'time' 是一个与 500 Hz 信号(从 0 到信号结束)具有相同元素数量的数组,'fs' 是标记信号的采样频率(大约 115 Hz), “数据”是标记信号。
谢谢您的帮助!