时间同步平均 - MATLAB
信息处理
matlab
平均
时域
2022-01-25 05:30:28
4个回答
您的问题“是否有问题”的答案实际上取决于您来确定。有时简单的事情就足够了。
有一种称为动态时间扭曲的技术:
https://en.wikipedia.org/wiki/Dynamic_time_warping
Matlab有一个函数dtw
https://www.mathworks.com/help/signal/ref/dtw.html
这可以用来确定是否有问题。
我建议你选择一个参考区间,这将是最接近平均轴区间的,并使用它来扭曲其余部分。
在这类问题中,常见的方法是将数据从时域重新采样到角度域。涉及的步骤是:
- 使用转速计信号获取速度信号。这是每个触发点的时间差的倒数。
- 根据转速计信号的可变性,经常使用最小二乘三次样条拟合。Matlab 样条库将与 matlab 中央库一样工作。我使用 fastBspline 库。
- 积分速度信号以获得轴角位置。
- 确定要使用的等角度增量。请牢记奈奎斯特定理,换句话说,角域中的点数应该与时域中的点数大致相同。
- 将(时间,角度)数据切换为(角度,时间)。
- 重新采样(角度,时间)数据以获得统一的角度增量。
完成此操作后,请执行您将完成的所有相同处理,但现在您处于角度顺序域中。
为什么不在tsa
Matlab 中使用?
您及时以固定的采样率对数据进行采样吗?
但是,2 转之间的时间延迟不是恒定的,因为您提到您的 RPM 不是恒定的。
如果您将数据拆分为对应于一圈的块,则您的块将不会具有相同的时间长度。