098、OIS光学防抖系统:陀螺仪信号处理、音圈马达控制与滚珠式vs悬丝式设计去年在调试某款旗舰机型的OIS时,遇到一个让人抓狂的问题:预览画面在低频抖动时防抖效果很好,但一旦用户边走边拍,画面反而出现诡异的“呼吸感”——像有人在水下推着镜头来回晃。拆开模组看,陀螺仪数据波形正常,马达驱动电流也没问题,最后发现是陀螺仪采样率和马达响应带宽没对齐,低频段相位滞后积累到一定程度后,控制环路自己振荡起来了。这种坑,没有实际调过三五个项目,根本想不到。陀螺仪信号处理:别被“高精度”忽悠了OIS的核心输入是陀螺仪,但陀螺仪出来的数据不能直接用。为什么?因为MEMS陀螺仪天生带着三种噪声:热噪声(白噪声)、低频漂移(1/f噪声)和振动整流误差。热噪声还好说,低通滤波能压住;低频漂移才是噩梦——你拿着手机静止不动,陀螺仪输出却在缓慢爬坡,这会导致防抖系统误以为镜头在动,反而引入错误补偿。实际项目中,我习惯在陀螺仪数据进入PID控制器之前,先做三件事:第一,高通滤波。截止频率设在0.5Hz到1Hz之间,滤掉低频漂移。注意别设太高,否则用户缓慢平移手机时,防抖会失效。这里有个经验值:手持拍摄时,人体自然抖动的频率集中在2-10Hz,而走路或跑步产生的低频晃动在0.5-2Hz。高通滤波的拐点选在0.8Hz左右,既能抑制漂移,又不牺牲低频补偿。第二,低通滤波。陀螺仪采样率通常是1kHz或2kHz,但马达的机械响应带宽只有100-200Hz。高频噪声如果直接送进马达,会让音圈电机高频震颤,产生“滋滋”声甚至发热。低通截止频率设在150Hz左右,用二阶巴