测试对象H3A‑HFV 通路单级 5 阶 IIR11 个 S12Q6 系数 前馈反馈差分方程输入 20 个同一行水平像素已减去直流偏移对应现实图像一条竖直竖线边缘n: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 x[n]:0 0 0 0 0 0 0 0 60 60 60 0 0 0 0 0 0 0 0 0初始化IIRSH位置全部历史状态清零硬件规则每一步输出做有符号饱和 clip噪声阈值(HFV abs(y[n])THR? abs(y[n])‑THR:0)像素场景解读 n0‑7全 0暗的平坦区域 n8‑10像素跳变至 60竖线边缘 n11‑19像素回到 0重新变为平坦。一、什么是 IIR 拖尾 ring‑downFIR输出只由当前与历史输入 x 决定。一旦输入 x 全部变回平坦输出立刻归零没有记忆残留。 IIR输出由输入 x 历史滤波输出 y共同决定。 即使此刻输入(x[n],x[n‑1]…x[n‑5])全部变为平坦值 0只要过去的(y[n‑1],y[n‑2]…)不为 0反馈求和项依然可以算出非零输出。 边缘事件已经在输入信号上消失但滤波器内部状态寄存器还保存边缘事件的影响输出会逐步、缓慢衰减到 0不会瞬间归零这个衰减过程就是拖尾 ring‑down。数学来源就是反馈项。这是 IIR “用少量系数实现高阶滤波” 的代价。二、逐阶段详细拆解 20 点的行为重点观察拖尾阶段 1n0 ~ n7输入全 0平坦暗区前馈部分全部 x0前馈和 0 反馈部分初始化全部历史 y0反馈和 0 (y[n]0)(abs(y[n])20) → (HFV0)不计数。没有边缘无输出内部状态全部为 0。阶段 2n8边缘左沿到来x60前馈反馈项全部历史 y0反馈和 0。(y[8]480)clip 限幅(abs(480)20) → HFV 有效计入累加。✅输入的跳变竖直竖线被前馈差分捕捉产生大输出。此时反馈寄存器开始存入 y [8]480 这个状态值。⚠️关键点从 n8 这一刻开始反馈寄存器就保存了边缘事件的 “记忆”。哪怕后面输入 x 不再变化这个记忆还会参与后续每一步运算。阶段 3n9、n10输入 x 保持 60输入已经平坦但记忆还在以 n9 举例 输入(x_960x_860x_7…0)输入信号本身已经是一块均匀的亮区不再有跳变。前馈反馈项(y_8480)是 n8 边缘触发留下的历史状态它会参与 n9 的计算。输入 x 已经没有跳变但是反馈携带旧边缘记忆(y[9]≠0)依然产生输出。同理 n10x 依旧 60此时反馈链同时携带(y_9、y_8)多个历史状态输出继续衰减但不等于 0依旧可以产生有效的 HFV 分数。现象物体边缘已经过去图像局部已经平坦滤波器依旧输出对焦分数。这就是拖尾的第一部分。阶段 4n11边缘右沿x 由 60 跳变回 0输入再次发生亮度跳变前馈差分再次捕捉跳变产生反向大输出同时反馈链携带 n8‑n10 全部历史状态。 (y[11])得到较大负值abs 超过阈值继续计入 HFV。竖线的右沿又一次触发响应同时又向反馈寄存器存入新的状态值进一步拉长拖尾的衰减时间。阶段 5n12 ~ n19输入 x 全部等于 0输入完全平坦拖尾完整展现非常重要此时所有输入样本 x [n],x [n‑1]…x [n‑5] 全部等于 0。 所以前馈求和项直接等于 0。方程简化为输入完全没有任何信号输出完全由过去保存在反馈寄存器里面的历史 y 状态决定。n12依赖 y11,y10,y9,y8… 旧状态输出非零n13依赖 y12,y11,y10,y9…幅值继续变小n14、15、16……每一步都是上几步输出的加权组合幅值持续衰减直到 n≈19 附近幅值才慢慢降低到小于噪声阈值 20HFV 变为 0。✅这就是完整的ring‑down 衰减拖尾输入信号已经彻底平坦消失但滤波器内部寄存器还保存之前边缘事件的记忆输出需要经过多个像素时钟周期才逐步衰减至噪声门限以下。三、拖尾带来的 3 个直接工程后果H3A 硬件后果 1本行内 FV 统计偏大真实边缘只占据 n8 一个像素位置但由于拖尾n9~n18 连续多个像素都贡献 HFV 分数。优点对焦总积分 FV 会被拉高提升弱纹理场景的灵敏度缺点边缘的位置被 “涂抹展宽”FV 统计不再严格对应原始像素的边缘位置。后果 2换行时如果不清零 IIRSH产生严重伪 FV最严重故障假设不执行 IIRSH 寄存器清零扫描到下一行新的图像行 上一行末尾 n19 还没有完全衰减到 0旧的残留状态依然会算出非零 y产生虚假 HFV。故障现象图像画面实际很模糊Paxel 窗口没有真实边缘但是上一行的拖尾残留带入硬件输出很大 HFVAF 固件读到虚假高 FV误判画面清晰镜头停止在错误位置跑焦、来回抖动。硬件解决方案每一行扫描到达 IIRSH 配置的 X 坐标强制把全部 5 个反馈状态寄存器 y [n‑1]~y [n‑5] 全部置 0彻底抹掉上一行的拖尾记忆。注意IIRSH 要等于 Paxel 窗口的起始 X如果 IIRSH 配置在 Paxel 窗口的右边窗口内部就会带入本行左边图像的拖尾同样产生伪 FV。后果 3系数配置会改变拖尾长短本案例使用[0.8,0.9]正常光照系数极点距离单位圆适中拖尾长度适中兼顾灵敏度拖尾不会无限长。如果反馈系数配置不当极点非常靠近单位圆衰减极慢拖尾会横跨几乎整行像素哪怕只有一个小边缘事件整行都输出大 FVclip 饱和之后 FV 被钳位到最大值AF 彻底失效。clip 饱和只是截断输出的数值不能修复极点带来的长拖尾只是把大输出限制在硬件值域内统计结果依然错误。弱光[0.4,0.5]整套系数极点位置改变拖尾更短同时抑制高频噪声代价是对细小边缘的响应幅度下降。四、对比 FIR 加深理解VFV 通路FIR 没有反馈方程只要输入 x 全部变回平坦不管过去发生过什么边缘输出立刻等于 0。FIR 不存在 ring‑down 拖尾因此 VFV 通路不需要类似 IIRSH 的状态清零寄存器。代价是 FIR 需要缓存多行原始像素RAM 资源开销更大。五、通俗比喻理解拖尾IIR 滤波器好比一口晃动的水缸 输入信号 x [n] 向水缸里面扔石头代表图像边缘事件。FIR扔石头石头砸下去一瞬间有波纹石头消失波纹瞬间全部消失。IIR扔一块石头n8 边缘水缸开始震荡你之后不再扔石头输入 x 全部变平坦水缸还会自己震荡很多个周期才慢慢平息下来。这个震荡平息的过程就是拖尾 ring‑down。 每一行开始 IIRSH 清零等于直接把水缸里面的水全部重置静止不让上一次的震荡带到下一行。六、在 AF 整机链路的权衡IIR 之所以在 H3A 水平通路被选用正是利用这套机制用很少的状态寄存器实现高通滤波提取竖直景物边缘适度拖尾可以积分放大 FV提升低对比度场景 AF 灵敏度但必须依靠硬件IIRSH机制消除跨行拖尾污染。垂直方向不使用 IIR就是因为跨行状态清除逻辑复杂因此选择无拖尾的 FIR牺牲 RAM 换取稳定性。
