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