我需要在不引入任何延迟的情况下"平滑"OSC输入数据,即删除峰值。我能想到的唯一策略是存储前面的样本,与当前进行比较,如果电流与前一个样本的差异超过某个"增量"值,则忽略它。虽然我使用的是 Actionscript,但无论如何都应该适用相同的原则。
任何人都可以提出任何替代策略吗?
我脑海中的想法:
- 使用以前的值检查新值并丢弃异常值(≥增量)。
- 用前 N 个值的平均值(例如 10)检查新值。
- 使用有偏差的运行平均值平滑整个曲线,其中平均值是每个点的值。
avg = (1 - T)*avg + T*newValue