DF06:补偿、噪声、通带与延迟预算
目标
把“输出看起来干净”转化为可检验的通带、噪声、折叠和延迟指标。
通带与补偿
候选 CIC3/16 在 20 kHz 的归一化下垂约 −0.116 dB;目标若是全链 0–20 kHz 相对 DC 的幅度误差不超过 ±0.05 dB,需要补偿或改变结构。
补偿 FIR 的 passband 目标大致是 1/|H_CIC(f)|,同时考虑其他级的实际纹波。只在信号通带内补偿;不能试图反演 CIC 的零点,否则会要求无界增益、放大带外噪声。
设计方法可以选窗法、等波纹或加权最小二乘;记录权重、频率单位和实际得到的系数。设计函数完成不代表所有离散/连续频率已经满足规格。使用密集网格、边界检查与必要的峰值细化,再量化复查。
噪声与 alias
全链带内输出噪声由未折叠噪声、各级折叠、系数误差、运算舍入和其他输入噪声组成。不能把同一来源在多个预算表里重复加,也不能忽略前一级已经折回带内的分量。
对已给定的输入 PSD,按各级 H 与 image 求和传播,记录最终 0–20 kHz 中每级新增的折叠功率。噪声 budget 应加线性功率;多个 −100 dBFS 独立来源合计会高于 −100 dBFS。
例如允许 alias 导致噪声增加最多 0.25 dB,则 P_alias/P_base≤10^(0.25/10)−1≈0.05925。绝对 alias≤−110 dBFS 可作为另一教学目标,但必须同时注明输入模型和 FS;不能保证对任意 ADC 码流成立。
最终 stopband 目标可先取至少 100 dB 幅度衰减;这不等于整链每个 image 都有 100 dB,更不直接等于 ADC 的 SNR。CIC 与输入 NTF 的共同作用需要 PSD 加权检查。
群延迟与启动
候选 46/31/47/161 长度下,算法群延迟为:
22.5/6.144MHz + 15/384kHz + 23/192kHz + 80/96kHz
= 995.849609375 μs
等效高率 FIR 长度是 1+45+16×30+32×46+64×160=12238。从零状态开始,输出对应输入索引 n≥12237 时完整支持窗口已覆盖。最终输出相位为 127,首个这样的输出是 m=95、n=12287。
频谱实验可保守丢弃前 96 个输出,再收 512 个输出对应 65536 个输入周期的记录。group delay 是信号延迟,不等于首次输出等待、完全稳定时间或 RTL 运算延迟;reset 后也不能直接将第一输出当 steady-state 数据。
指标模板
| 指标 | 教学目标/口径 | 实际确认 |
|---|---|---|
| Fs 与倍率 | 6.144 MHz→48 kHz,R=128 | 输出计数/相位 |
| passband | 0–20 kHz,相对 DC ±0.05 dB | 全链含量化系数 |
| 最终 FIR stopband | 24–48 kHz,至少 100 dB | 该级输入率 96 kHz |
| alias 增量 | ≤0.25 dB 或指定绝对预算 | 输入模型和各级 image 明确 |
| 定点额外噪声 | 相对浮点同链增加≤0.5 dB,作为起始目标 | 相同输入、窗、带宽及记录 |
| 算法群延迟 | 候选约 0.996 ms | 实际长度重新计算 |
系数尚未设计,以上是待验证目标。若目标无法同时满足,修改 tap 数、CIC 参数、位宽或 latency 需求,并保存依据,不降低指标后仍沿用原“通过”结论。
实验与验收
分别测 CIC-only 与补偿后幅度、整链 PSD、image 贡献、DC 和 delay。比较不同 tap/word length 的代价。验收要求“达到/未达到”均有实际数值证据,且没有用合成线性化噪声结果宣称真实 CT ADC ENOB。答案见 DF06 参考。