循环动作记录怎样用相关值寻找相位偏移:独立算例09
两段重复动作的采样曲线看起来相似,却可能从不同阶段开始。把其中一段按不同位数循环移动,并计算对齐后的相关值,可以比较哪个偏移让整体变化最相近。
规则与边界
本例两序列长度均为十二,按循环信号处理。先分别减去各自平均值,再对每个偏移k求所有位置上第一序列与第二序列第i加k位置的乘积之和,索引对十二取余。取相关值最大的偏移,相同取较小编号。
本例记录
第一序列[5, -5, -3, -5, 3, 4, 4, -2, 1, 4, 4, 4];第二序列[2, 0, 6, 7, 9, 3, 5, 8, 7, 7, 9, -1];两序列均值分别为7/6和31/6。
偏移 | 中心化相关值 0 | -16/3 1 | -223/3 2 | -136/3 3 | -70/3 4 | 131/3 5 | -13/3 6 | -91/3 7 | -196/3 8 | -16/3 9 | 83/3 10 | 422/3 11 | 125/3 最佳偏移10,平方误差和8。 位置 | 第一序列中心化值 | 对齐后第二序列中心化值 | 差 0 | 23/6 | 23/6 | 0 1 | -37/6 | -37/6 | 0 2 | -25/6 | -19/6 | -1 3 | -37/6 | -31/6 | -1 4 | 11/6 | 5/6 | 1 5 | 17/6 | 11/6 | 1 6 | 17/6 | 23/6 | -1 7 | -19/6 | -13/6 | -1 8 | -1/6 | -1/6 | 0 9 | 17/6 | 17/6 | 0 10 | 17/6 | 11/6 | 1 11 | 17/6 | 11/6 | 1
表中编号只标记本例对象,不表示排名或另一组数据中的身份。先确认输入单位与边界约定,再逐步核对中间值。零、空结果和不存在是不同状态,不能因为显示相近就互相替代;分数用精确形式保留,便于重新演算。
复核方法
循环移动不会改变第二序列的平方和,所以在这个固定长度模型中,相关值最大也等价于中心化后的平方误差最小。不能把不同偏移只截取部分重叠样本再直接比较,样本数量改变后就不是同一评分了。
表格列出全部十二个候选分数,并展开最佳偏移的逐点差异。输入中额外的固定高度偏移会被减均值处理消除,但幅度缩放仍会改变分数大小。若两个序列都接近常量,任何偏移都可能缺乏辨别信息,应明确报告这种局限。
能说明什么
这不是任意录音或动作的通用识别器。重复子模式可能让多个相位同样合理,噪声也可能改变最佳偏移;结果是这些样本下的对齐建议,不保证还原真实记录起点。
这份记录用于理解明确规则下的游戏机制。改变输入后,结果也应随之重新计算;若操作规则不同,应先把新规则写清再比较。可以从一两个步骤手算开始,找出第一处差异,而不是只对照最后一个数值。全部中间记录都属于当前案例,不能直接当成其他场景的固定答案。