第二章 抖动原理与数学模型

大家好,我是你们的老朋友。今天咱们聊聊抖动的本质。

做光学防抖这些年,我最大的感触就是——你得先懂你的敌人是谁。手持抖动,说白了就是人拿着设备时,手部肌肉不自主的微小颤动。别小看这个颤动,它足以让一张清晰的照片变成模糊的影子。

2.1 手持抖动的频谱分析

先问个问题:人的手抖到底有多快?

我早年做项目时,第一件事就是拿陀螺仪去测各种人的手抖数据。结果很有意思——

  • 低频段(0.1-3 Hz):这是呼吸和身体姿态调整引起的。频率很低,但幅度很大。你想想看,深吸一口气,手会跟着抬起来一点。
  • 中频段(3-8 Hz):这是手部肌肉的自然震颤。我测过几十个人,大部分人主峰在5-6 Hz附近。这是防抖系统最难啃的骨头。
  • 高频段(8-20 Hz):这部分能量很小,但如果你用长焦镜头,它也会造成明显影响。

关键结论:手持抖动的能量主要集中在 1-10 Hz 范围内,峰值通常在 5-6 Hz。这是设计防抖系统时首先要记住的数字。

为什么会这样?因为人的神经系统和肌肉特性决定了这个频率范围。我见过一个有意思的实验:让测试者喝了两杯咖啡后再测,抖动幅度直接翻倍,但频率分布基本不变。这说明频率特性是生理决定的,而幅度受外界因素影响大。

2.2 角速度与位移的关系

好,现在咱们来点数学。别怕,很简单的。

手持抖动本质上是旋转运动。你的手不是平移,而是绕着某个中心在转。陀螺仪测到的是角速度 ω(t),而我们真正关心的是像面上的位移 d(t)。

它们的关系是这样的:

d(t) = f × θ(t) = f × ∫ ω(t) dt

其中 f 是镜头焦距,θ(t) 是角度。说白了,角速度积分得到角度,角度乘以焦距就是像面位移。

我踩过一个坑:早期做原型时,我直接用陀螺仪的原始角速度数据去驱动马达,结果画面抖得更厉害。后来才意识到——陀螺仪输出的是角速度,不是角度。你得做积分才行。

注意:积分会引入低频漂移。陀螺仪有零偏,积分后这个零偏会累积成巨大的角度误差。我建议用高通滤波器(截止频率 0.1 Hz 左右)先滤掉直流分量,再做积分。

实际项目中,我一般用下面这个离散积分公式:

θ[n] = θ[n-1] + ω[n] × Δt

Δt 是采样间隔。比如采样率 1 kHz,Δt = 1 ms。就这么简单。

2.3 经典抖动模型:正弦叠加模型

真实的手抖信号很复杂,但我们可以用一个模型来近似它——正弦叠加模型

这个模型的思想是:任何周期信号都可以分解成多个正弦波的叠加。手持抖动虽然不完全周期,但在短时间(比如 1/30 秒)内,可以近似为几个主要频率的正弦波之和。

数学表达式:

θ(t) = Σ A_i × sin(2π × f_i × t + φ_i)

其中:

  • A_i:第 i 个频率分量的幅度
  • f_i:频率(通常取 1 Hz、5 Hz、10 Hz 等)
  • φ_i:初始相位

我常用的一个简化模型是这样的:

频率 (Hz) 幅度 (度) 说明
1 0.5 呼吸和身体晃动
5 0.3 手部肌肉震颤(主峰)
10 0.1 高频分量

用这个模型生成的信号,和真实手抖信号的频谱非常接近。我在做算法仿真时,就用这个模型来生成测试数据,效果很不错。

小技巧:仿真时给每个频率分量加一个随机相位,这样每次生成的信号都不一样,更接近真实情况。我习惯用 rand() 函数生成 φ_i,范围 0 到 2π。

下面是我画的一个知识结构图,帮你理清本章的核心逻辑:

抖动原理与数学模型 知识结构 频谱分析 • 低频 0.1-3 Hz • 中频 3-8 Hz (主峰) • 高频 8-20 Hz • 能量集中在 1-10 Hz • 峰值在 5-6 Hz 角速度 → 位移 • d(t) = f × θ(t) • θ(t) = ∫ ω(t) dt • 离散积分公式 • 注意零偏漂移 • 高通滤波预处理 正弦叠加模型 • θ(t) = Σ A_i × sin(...) • 1 Hz: 0.5° 呼吸 • 5 Hz: 0.3° 主峰 • 10 Hz: 0.1° 高频 • 加随机相位仿真 核心目标:建立抖动数学模型,指导防抖系统设计 应用方向:算法仿真 → 系统设计 → 性能评估

嗯,这张图把本章的三个核心内容串起来了。你先理解频谱分析,知道抖动长什么样;然后掌握角速度到位移的转换,这是数学基础;最后用正弦叠加模型来仿真和测试你的算法。

我个人习惯在做每个新项目时,先用这个模型跑一遍仿真,验证算法能处理 1-10 Hz 范围内的抖动。如果仿真都过不了,上硬件基本也是白搭。

我曾经有个项目,仿真时只用了 5 Hz 单频信号,结果上机实测发现 1 Hz 的低频分量把系统搞崩了。从那以后,我坚持用至少三个频率叠加的模型做测试。这个习惯救了我好几次。

好了,这一章就到这里。记住:理解抖动,是做好防抖的第一步。


专注资料整理