这是一个有趣的问题。如果你能识别出在600秒测量中出现的一些峰值,并且这些峰值同时出现在两个信号中,我认为这实际上很容易优雅地解决。
假设在信号A中,你会在不同时间找到五个峰值
Ta_peaks = [51 90 200 306 510];
你可以在信号B中看到同样的峰值,但是在信号B中它们出现在
Tb_peaks = [49 89 200 307 515];
首先拟合ta和tb之间的关系:
情节(ta_peaks tb_peaks,“o”)
持有在
包含“高峰时刻”
ylabel“时间b达到峰值”
将时间b与时间a联系起来:
P = polyfit(ta_peaks,tb_peaks,2);%二次拟合
Tb_fit = polyval(p,ta_peaks);
情节(ta_peaks tb_fit)
根据时钟A和时钟B之间的关系,你可以用
interp1
将信号B插入到信号A时钟的定时中。
B_interp = interp1(tb,B,polyval(p,ta));
现在B_interp的峰值和总时间应该与信号A对齐。