# DF02：离散时间、卷积与 FIR

## 目标

把“数字低通”对应到延迟寄存器、乘法/常数乘和加法网络，而不是只会调用设计函数。

## 讲解

FIR 为 y[n]=sum(h[k]x[n−k])，k=0…L−1。延迟单位是一份输入样本，不自动等于一个系统时钟周期；in_valid 之间的空周期不应把历史样本移走。

频响 H(e^jω)=sum(h[k]e^(−jωk))。DC 增益=sum(h)，输入正弦的幅度乘 |H|、相位加 arg(H)。实对称系数的线性相位 FIR 有群延迟 (L−1)/2 个输入样本，实际输出寄存/调度再增加实现延迟。

从模拟 RC 直觉看，FIR 没有一般的输出递归状态，因此没有由反馈极点引起的 IIR 稳定性问题；但它的频响仍有零点、通带、过渡带和阻带。有限字长、饱和及时间变化的配置会使实际系统偏离理想线性模型。

4 点平均 h=[1/4,1/4,1/4,1/4] 的 DC 增益为 1，首个零点在 Fs/4，群延迟 1.5 个样本。它不是理想砖墙低通，旁瓣抑制可能完全不足以处理 ΔΣ 带外噪声。

通带定义、纹波、阻带起点和衰减决定 tap 数。更长滤波器通常增加计算与延迟；结构对称时可将 x[n−k]+x[n−(L−1−k)] 预加后共用系数，预加器需额外位宽。

## Worked example

输入单位冲激，输出应是 h 本身；输入常数 1，启动后输出应为 sum(h)=1；Nyquist 的交替 ±1 序列经过 4 点平均，稳定输出为 0。L=31、Fs=384 kHz 的对称 FIR，算法群延迟为 15/384000=39.0625 μs。

单位冲激是数学探针。单比特物理接口只允许 ±1 时，可在数值模型测试冲激，顶层用两条合法码流的差验证对应响应，不能直接把 0 输入伪装成合法 bitstream 样本。

## 实验

写直接卷积参考，再用流式移位寄存结构得到相同结果。用冲激、DC、交替序列和扫频比较时域/频域。先完成 4 点平均，再设计低通 FIR；输出完整系数和规格，不只保存函数名。

## 验收

DC、零点与群延迟可手算；直接与流式结果一致；能解释寄存器数量、乘加次数、对称优化和 sample-valid 的关系。答案见 [DF02 参考](10_answers.md)。
