麦克风听到的是总和,难题是拆出频率
查看原文 00:50一个音符可以用气压振荡的快慢来描述。视频里的纯 A 音每秒振荡 440 次;音高更低的 D 振荡得更慢。几个音同时响起时,每个时刻的气压变化会相加:波峰有时互相加强,有时互相抵消。因此,即使只有几个纯频率,合成后的波形也可能看起来很复杂。
麦克风记录的是随时间变化的总气压。怎样从这个总和中找回原来的频率?在 3Blue1Brown 的入门视频中,答案从一个几何实验开始:以不同速度把信号绕成圆,再衡量所得图形的平衡位置。
缠绕过程引入了另一个可调的频率
查看原文 02:40为了让图形容易观察,先取一个每秒振荡三次、即 3 Hz 的信号,只看开始的 4.5 秒。想象一支旋转的箭头:每个时刻,它的长度等于原图在该时刻的高度。因此高点离圆心,也就是原点,更远;低点则更近。随着时间流逝,箭头画出一条缠绕曲线。
信号频率和缠绕频率是两回事。前者表示信号上下振荡有多快;后者表示我们选择让箭头转得多快。每两秒转一圈,就是每秒转 0.5 圈。改变这个选择会改变缠绕图形,却不会改变原信号。原图上的竖线标出转完一圈对应的时间间隔;例如间距为 1.5 秒,就表示一圈用时 1.5 秒。从 02:40 观看构造过程。
缠绕速度匹配时,质心会发生偏移
查看原文 04:37可以想象缠绕后的点按时间均匀地带有重量。它们的质心就是平均位置,类似一个平衡点。在这个例子中,大多数缠绕速度会让高低部分分布在圆周各处,质心便留在原点附近。当缠绕速度达到每秒 3 圈时,信号的波峰反复落在右侧,波谷落在左侧,质心明显向右偏移。动画中的形状连续变化;下图截取了匹配的时刻。
把质心的横坐标随缠绕频率的变化画出来,就会在 3 Hz 处看到一个峰。视频把这张图称为近似傅里叶变换:它只记录质心的一个坐标,而且使用了平均值;后面会看到这两点的区别。零附近的大隆起来自示例波形整体向上平移,并不是另一个 3 Hz 振荡。在这个例子中,让波形围绕零振荡可以去掉这一偏移。有限时间区间的图可能有波动,峰以外不一定恰好为零。从 06:27 看频率图。
线性解释了两个频率为何产生两个峰
查看原文 08:07对 2 Hz 的波重复实验,峰会出现在 2 Hz 附近。把 2 Hz 与 3 Hz 信号相加,时间图像变得更复杂,但缠绕图分别在这两个速度附近呈现对齐,频率图也在两处出现峰。
原因是线性:先把信号相加再做变换,与分别变换后把结果相加,得到相同的结果。在视频的例子里,每个纯频率都在自身频率附近贡献集中的响应,所以相加后两个特征都保留下来。这就是视频所说的信号“拆分”;有限时长下,其他位置只是接近零,而不是理想化的完美尖峰。从 09:36 观看对比。
滤波先利用频率视角,再用逆变换返回
查看原文 10:36视频简要展示了声音编辑的思路:先变换录音,压低令人不悦的高音对应的频率峰,再用傅里叶逆变换找到与修改后频率表示对应的时间信号。这样便能从频率角度理解如何去掉高频成分。
视频曾简略说,对傅里叶变换再做一次傅里叶变换会得到接近原来的结果,随后立即提醒这只是一个不完整的说法。这里需要的是逆变换;视频把更完整的解释留到后续内容。观看 10:36。
复数记录旋转位置的两个坐标
查看原文 11:55质心除了横坐标,还有纵坐标。复数用实部和虚部记录这两部分,它们分别对应复平面上的横向与纵向坐标。只看横坐标的图,无法知道完整的二维输出。
欧拉公式给旋转提供了简洁写法:e^(iθ) = cos θ + i sin θ。在单位圆上,θ 增大时,点从右侧出发逆时针移动。因此 e^(2πift) 以每秒 f 圈旋转:例如 f = 1/10 时,十秒转一圈。视频把这种旋转行为作为已知事实使用,并未在此证明。观看 12:32。
按照这里使用的约定,指数加负号表示顺时针旋转。如果 g(t) 是信号在时刻 t 的值,那么 g(t)e^(-2πift) 就按信号值缩放旋转点,从而画出缠绕后的信号。频率 f 是可调的缠绕速度。
积分把缠绕后的信号沿时间累积
查看原文 14:43要估计质心,可以在许多等间隔时刻对缠绕曲线采样,把得到的复数位置相加,再除以采样点数。间隔越来越小时,从 a 到 b 的时间平均可以写为 1/(b-a) ∫[a,b] g(t)e^(-2πift) dt。这里的积分是取代离散求和的连续累积;再除以区间长度,得到按时间加权的平均位置。
视频中有限区间上的变换保留积分,却不除以 b-a。因此它等于平均位置乘以持续时间:三秒乘以三,六秒乘以六。在 2 Hz 的例子里,以 2 Hz 缠绕会反复描画同一形状,质心保持不动,而未归一化的值随持续时间增长。对于附近的其他缠绕速度,更长的区间也让曲线有更多机会在圆周上达到平衡。从 15:59 理解这个区别。