连续变化在固定时刻被取样后,不同频率可能给出完全相同的样本。若只看到这些离散值,就无法总是还原原来的连续变化速度。
使用初相位为零、幅度为一的余弦。每秒取N个样本,频率f为整数,样本编号n对应余弦的角度二π乘fn除以N。先把f对N取余r,再比较r与N减r,较小者作为本例相同样本的折叠频率。
输入与计算记录
采样率为每秒72次,频率单位为每秒周期数。表中小数四舍五入到七位,仅用于阅读。
原频率 | 取余 | 折叠频率 | 前八个样本 0 | 0 | 0 | [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] 1 | 1 | 1 | [1.0, 0.9961947, 0.9848078, 0.9659258, 0.9396926, 0.9063078, 0.8660254, 0.819152] 36 | 36 | 36 | [1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0] 37 | 37 | 35 | [1.0, -0.9961947, 0.9848078, -0.9659258, 0.9396926, -0.9063078, 0.8660254, -0.819152] 71 | 71 | 1 | [1.0, 0.9961947, 0.9848078, 0.9659258, 0.9396926, 0.9063078, 0.8660254, 0.819152] 73 | 1 | 1 | [1.0, 0.9961947, 0.9848078, 0.9659258, 0.9396926, 0.9063078, 0.8660254, 0.819152] 178 | 34 | 34 | [1.0, -0.9848078, 0.9396926, -0.8660254, 0.7660444, -0.6427876, 0.5, -0.3420201] 198 | 54 | 18 | [1.0, -0.0, -1.0, 0.0, 1.0, -0.0, -1.0, 0.0]
阅读记录时先确认编号代表的是格子、对象、时间还是数组位置,再逐项对应输入与输出。中间状态提供了定位差异的依据,最后的一个合计数字不能替代全部步骤;没有对象的集合与数值零也应区别看待。
怎样检查这个结果
逐行比较前八个样本,并核对折叠频率处于零至N的一半之间。频率相差N的整数倍会在采样时刻增加完整周期;余弦的正负角度值相同,这解释了另一半频率的折叠。
本例特意固定了余弦相位,不代表任意信号都只需这一个数字描述。真实音频或动画信号还包含多种频率和相位,想避免混叠需要在采样前考虑带宽,而不是事后凭离散值猜回原信号。
可以遮住结果表先按规则复算第一步,再选择一个边界输入重复操作。若更换规则中的任一前提,应重新推导结果,不要只调整最后答案。这样既能理解本例为何成立,也能看清它在哪些情况下不再适用。
