拟合不同内部时钟记录的数据

2次浏览(过去30天)
eschre
eschre 2021年5月7日
编辑: 乍得格林 2021年5月7日
我有两组数据,A和B,记录了600秒内波动约2英尺的距离。这两个设备有不同的内部时钟。与数据A中的时间相比,数据B的时间略微向前和向后漂移,我使用数据A作为参考。
我正在寻找两者之间的数据精细匹配,并最终创建一个向量,将数据B中的时间乘以,使数据更好地近似于数据a。然后我可以应用这个向量来调整设备记录的其他数据与时间漂移。
我尝试过峰值拟合,但我遇到的问题是产生一个连续的“最佳拟合”。
我的问题是,有没有比峰值拟合更好的方法来产生校正时间漂移向量?

接受的答案

乍得格林
乍得格林 2021年5月7日
编辑:乍得格林 2021年5月7日
这是一个有趣的问题。如果你能识别出在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对齐。

更多答案(0)

标签

s manbetx 845


释放

R2020b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!