Pavan《Understanding Delta-Sigma Data Converters》Ch.14 抽取与插值滤波器 深度解析

本章内容:系统阐述 ΔΣ ADC/DAC 系统中数字抽取和插值滤波器的设计理论与实现方法。涵盖多相分解、sinc/CIC 滤波器、半带滤波器(含 Saramäki 结构)、带通抽取以及分数速率转换。

衔接:Ch.13(ΔΣ DAC)中的插值滤波器示例(§13.4)是本章的简单引子。Ch.4 的调制器阶数与 OSR 决定抽取/插值规格。 后续:附录 B(ΔΣ 工具箱)提供设计辅助函数。


第 14 章目录结构

节号标题核心内容
14.1插值滤波 (Interpolation Filtering)零填充、多相分解、ZOH/FOH/sinc 插值器
14.2插值滤波器设计实例 (Example Interpolation Filter)6级×2插值、sinc 阶数选择、补偿滤波器
14.3抽取滤波 (Decimation Filtering)多相分解、累积-转储、sinc 抽取器
14.4抽取滤波器设计实例 (Example Decimation Filter)5级×2抽取 + 补偿 + 半带
14.5半带滤波器 (Halfband Filters)对称特性、多相实现、Saramäki 结构
14.6带通ΔΣ ADC的抽取 (BP-ADC Decimation)复混频、粗/细混频、fs/4 特例
14.7分数速率转换 (Fractional Rate Conversion)1.5倍抽取、Farrow 结构、异步 SRC
14.8总结—

核心内容深度解析

14.1 插值滤波(Figure 14.1-14.8)

基本操作(Figure 14.3):

  • 零填充(zero-stuffing)→ 低通滤波 → 消除镜像
  • 倍插值:每输入样本插入 个零,然后 LPF 截止频率为

多相分解(Polyphase Decomposition)(Figure 14.4, 式 14.1):

  • 将 抽头 FIR 滤波器分解为 个 抽头子滤波器
  • 子滤波器以 低速率 运行,计算量降低 倍
  • 式 (14.1) 为 时, 分别对应四个子滤波器的输出

LPF 规格(Figure 14.5):

  • OSR 低(≈1)→ 过渡带窄 → 滤波复杂
  • OSR 高(>>1)→ 过渡带宽 → 滤波简单

零阶保持(ZOH)(Figure 14.6):

  • 矩形脉冲响应
  • ,DC 增益 (零填充使 DC 降低 倍)
  • 镜像衰减 ≤ 40 dB 除非 OSR ≥ 50

一阶保持(FOH)(Figure 14.6-14.7):

  • ,镜像衰减加倍
  • 高效实现(Figure 14.7):低速率差分 → ZOH → 高速率积分
  • 需注意初始化:不同化器和积分器的初始状态应一致(均为零或每 N 周期复位)

高阶 sinc 插值器(Figure 14.8):

  • M 阶 sinc 插值器:
  • Hogenauer 结构:M-1 个微分器(低速率)+ ZOH + M-1 个积分器(高速率)
  • 时可特化:级联 ZOH 与 仅需 M-1 次加法 @ 2×速率
  • 多相实现更高效(Figure 14.9):sinc⁵/2 只需 5 次加法 @ 1×速率

14.2 插值滤波器设计实例(Table 14.1, Figure 14.10-14.14)

规格:OSR_in=2 × 64 倍插值,镜像抑制 ≥ 60 dB,通带波动 ≤ 0.5 dB

设计方法:

  • 6 级 ×2 插值级联,尽可能用 sinc 滤波器
  • 各级 OSR 逐步提高 → 过渡带变宽 → sinc 阶数可降低

sinc 阶数选择(Table 14.1):

级OSRA₁ (dB)sinc 阶数通带跌落
I66438.220.001 dB
I53232.220.005 dB
I41626.230.03 dB
I3820.130.1 dB
I2414.050.8 dB
I127.785.5 dB(超标)

解决方案:在 I1 前添加 5 抽头 FIR 补偿滤波器 COMP

  • 系数 CSD 量化后仅 7 次加法/输入样本
  • COMP 系数(CSD 形式):
    • ,
  • 替代方案:将补偿功能并入 I1 的 9 抽头 FIR(但计算量更大)

最终架构与计算量(Figure 14.14):

COMP(7) → I1/sinc⁸(12) → I2/sinc⁵(10) → I3/sinc³(12) → I4/sinc³(24) → I5/sinc²(16) → I6/sinc²(32)
  • 总计:113 次加法/输入样本 @ 1×速率 = 不到 2 次加法/输出样本
  • 没有乘法器——全部用移位和加法实现

14.3 抽取滤波(Figure 14.15-14.18)

基本操作:LPF → 下采样(每 N 取一) 多相分解(Figure 14.15):

  • :4 个子滤波器分别处理
  • 计算量降至约

累积-转储(AAD)(Figure 14.17):

  • ZOH 对应的一阶 sinc 抽取器:累加 N 个输入 → 锁存 → 重置

sinc 抽取器(Figure 14.18):

  • 积分器(高速率)+ 微分器(低速率),不同于插值器的顺序
  • 积分器开环无反馈 → 直流输入会使积分器无限增长
    • 但模运算(取足够多 bit)可正常工作:使用 的二进制补码运算
  • 初始化错误不是灾难性的(有限长瞬态)

抽取 vs 插值的关键差异:

  1. AAD 需要计算,ZOH 不需要
  2. 抽取器输入字长短(1-4 bit),可大幅节省第一级功率
  3. 抽取器的衰减要求更严苛(~100 dB 混淆抑制 vs 插值器的 ~60 dB 镜像抑制)

14.4 抽取滤波器设计实例(Table 14.2-14.3, Figure 14.19-14.22)

规格:OSR=64,混淆抑制 ≥ 100 dB,通带波动 ≤ 0.1 dB

sinc 阶数选择(Table 14.2):

级OSRA₁ (dB)sinc 阶数通带跌落
D13232.240.010 dB
D21626.240.042 dB
D3820.150.210 dB
D4414.081.348 dB
D527.7149.628 dB

补偿滤波器(对称 8 阶 FIR,式 14.19):

  • , ,
  • ,

完整计算量:~704 次加法/输出样本(D1 占 38%)

  • D5 占 ~40%(阶数高、字宽大)
  • 最后一级半带滤波器 HBF 占 284 次加法

仿真验证(Figure 14.22):

  • 使用 3 阶 5 级调制器 + 9 个等间距 -20 dBFS 音调
  • 各级输出 IBN 基本维持在 -112 dBFS,HBF 后 -111 dBFS(仅降 1 dB)

14.5 半带滤波器(Figure 14.23-14.26)

定义与对称性质(式 14.20):

  • 冲击响应的所有奇数抽头为零(除中间抽头 = 0.5)
  • 15 抽头示例:仅 8 个非零抽头,7 个零无需计算

多相实现(Figure 14.24):

  • 半带的一个分支塌缩为纯延迟,节省寄存器和计算
  • 使用转置拓扑以便重用部分乘积

对比计算量:

  • 80% 通带、-80 dB 阻带:半带 47 抽头(24 非零),普通 FIR 34 非零
  • 半带通带波动自动极小(0.001 dB),虽寄存器多但计算更省

14.5.1 Saramäki 半带滤波器(Figure 14.25-14.26, Table 14.4)

核心优势:高衰减 + 仅需极少量 CSD 项 → 无乘法器实现

设计示例(90% 通带、-100 dB 阻带):

  • firhalfband:123 抽头、31 次乘法
  • designHBF(Saramäki):~200 寄存 + 284 次加法,无乘法
  • 阻带衰减 > 110 dB(Figure 14.25)

Saramäki 架构(Figure 14.26):

  • 分解为 F1(14 抽头)和 F2(14 抽头)两个子滤波器
  • 所有系数均为 2 的幂和(Table 14.4)→ 移位 + 加法实现
  • F1 与 F2 的系数通过 3 个 CSD 项即可精确表示,每个乘法用 2 次加法实现

Table 14.4 — F1 和 F2 系数及其 CSD 展开:

nCSD 展开CSD 展开
10.94530.6249
20.6406-0.2031
30.19530.1177
40.0791——
50.0566——
60.0410——
70.0311——
80.0232——
90.0168——
100.0122——
110.0085——
120.0058——
130.0037——
140.0032——

Saramäki 抽取滤波器结构(Figure 14.26):

  • F2 子滤波器的 系数放置于延迟链的抽头位置,形成第一级 FIR 滤波
  • F1 子滤波器的 系数在延迟链的最终求和阶段对 F2 各级输出进行加权组合
  • 两个子滤波器各 14 抽头、对称结构,利用转置拓扑(transpose topology)重用部分乘积
  • CSD 效率关键:每个系数最多 3 个非零 CSD 项 → 每个乘法器用 2 次移位加法完成,总共 284 次加法/输出样本
  • 插值模式(Figure 14.24(b))只需将信号流图反向并交换输入输出角色

14.6 带通 ΔΣ ADC 的抽取(Figure 14.27-14.29)

基本流程(Figure 14.27):

  • 调制器输出 → 复混频(乘 )→ 抽取滤波 → 复基带数据

粗/细混频策略(Figure 14.28):

  • 粗混频:限制频率为 的整数倍 → 查表替代乘法
  • 部分抽取后数据率降低 → 细混频精确定位 DC
  • 权衡:粗混频精度限制预抽取倍数

特例(Figure 14.29):

  • 正弦/余弦为周期 4 序列:0,1,0,-1 和 1,0,-1,0
  • 混频操作零成本
  • 多相分解 后的正交输出分量可直接映射为 I/Q

14.7 分数速率转换

14.7.1 1.5 倍抽取(Figure 14.30-14.34)

两级架构(Figure 14.30):

  • G 预滤波器(1.5×速率)→ 2 倍上采样 → H 滤波器(3×速率)→ 3 倍下采样
  • G 加宽过渡带 → H 更简单

多相实现(Figure 14.31):

  • 2 输入相位 × 3 输出相位的 6 路多相滤波器
  • 避免零填充和不必要的计算

预滤波器对比:

方案计算量
单级 FIR(224 抽头)94 次乘法/输出样本
FIR 预滤波 + FIR95.5 次乘法(无优势)
IIR 预滤波 + FIR(11 阶椭圆)23.5 次乘法(显著优势)

说明:G 不在上采样/下采样器旁边 → 无法利用多相分解 → FIR 无优势。允许 IIR 则可获显著节省。

14.7.2 采样率转换—Farrow 结构(Figure 14.35-14.42)

基本模型(Figure 14.35):

  • 输入序列 → Dirac 脉冲列 → 连续时间 LPF → 以输出速率重采样
  • , 为分数间隔

泰勒展开(式 14.24-14.25):

  • 滤波器组结构(Figure 14.37):多个 FIR 滤波器输出乘以 的幂次后求和

Farrow 结构(Figure 14.39):

  • C₀, C₁, …, Cₘ 为 N 抽头 FIR
  • 所有滤波器共享同一输入样本存储器
  • 的乘法在输出速率下进行

设计实例 1:B-spline 4 次卷积(式 14.27-14.29):

  • 由 5 段 4 阶多项式构成(重复卷积单位矩形 4 次)
  • C 矩阵为 5×5 整数矩阵(见 G37),每行对应一个时间片段的 5 个多项式系数
  • FIR 系数为简单有理数,整数缩放后仅需移位加法实现
  • 子滤波器( 项)系数:, 系数:
  • 镜像衰减有限(Figure 14.40),输入 OSR 需 ≥ 5.5 才能达 100 dB

设计实例 2:designPBF 最优设计(Figure 14.41):

  • 10 段 5 阶多项式,100 dB 镜像衰减(Figure 14.41(b))
  • 输入 OSR 仅需 2(对比 B-spline 的 5.5,效率提升约 3 倍)
  • 多相滤波器系数由 10×6 C 矩阵给出(见 G38),使用 作为多项式参数可改善数值精度
  • 通带波动仅 0.1 dB,阻带衰减 > 110 dB

异步 SRC(Figure 14.42):

  • RAM 缓冲 + 速率比估计 + Farrow 滤波
  • 速率比估计器需重滤波且足够频繁更新
  • 防止读地址超过写地址

关键公式汇总

公式说明
ZOH 传递函数(DC 增益 = N)
M 阶 sinc 插值器
一阶 sinc 最小镜像衰减
半带对称条件
分数速率转换的基本插值
泰勒展开式

参考文献

  1. E. Hogenauer, “An economical class of digital filters for decimation and interpolation,” IEEE Trans. ASSP, vol. 29, pp. 155–162, April 1981.
  2. T. Saramäki, “A class of linear-phase FIR filters for decimation, interpolation, and two-rate filtering—efficient implementation and design,” ISCAS, pp. 833–836, May 1994.
  3. R. E. Crochiere and L. R. Rabiner, Multirate Digital Signal Processing, Prentice-Hall, 1983.
  4. N. S. Sooch et al., “18-bit stereo D/A converter with integrated digital and analog filters,” 91st AES Convention, Oct. 1991.
  5. P. J. Naus et al., “A CMOS stereo 16-bit D/A converter for digital audio,” IEEE JSSC, vol. 22, pp. 390–395, June 1987.
  6. S. R. Norsworthy et al., Delta-Sigma Data Converters: Theory, Design, and Simulation, IEEE Press, 1997.
  7. C. Farrow, “A continuously variable digital delay element,” ISCAS, pp. 2641–2645, June 1988.
  8. I. W. Hunter, “A polynomial approximation to the ideal filter,” private communication.


补充细节:抽取与插值滤波器

G36 CIC 滤波器有限字长设计准则:

  • Hogenauer 结构寄存器位宽公式:,其中 为 CIC 滤波器阶数, 为降采样率, 为级联级数, 为输入字长。
  • 无溢出充分条件:在每个积分器级,寄存器位宽 , 为 阶 CIC 的脉冲响应系数。
  • 设计实例: → bit。
  • 截断噪声设计:每级截断 bit 时,截断噪声 ,需保证 < 0.5 LSB 总输出噪声。

G37 B-spline 4 次卷积多项式的详细 C 矩阵与系数(原书式 14.27-14.29):

  • 5×5 C 矩阵(整数形式,行列均除以 24 归一化): 0 & 0 & 0 & 0 & 1 \\ 1 & 4 & 6 & 4 & 4 \\ 11 & 12 & 6 & -12 & -6 \\ 11 & -12 & 6 & 12 & -4 \\ 1 & -4 & 6 & -4 & 1 \end{bmatrix}
> - 每行对应一个时间片段 $k$($k=0,1,\dots,4$)的多项式系数;每列对应 Farrow 子滤波器 $C_p$ 的抽头系数。 > - **第二段多项式**($k=1, \mu\in[0,1)$): > $$h(1+\mu) = \frac{1}{24}\left[6\mu^2 + 4\mu^3 + \mu^4 + 6\mu\right] + \frac{4}{24}
  • 子滤波器抽头系数( 列,对应式 14.29):
> - **$C_2$ 子滤波器抽头系数**($\mu^2$ 列): > $$c_2[k];\ k=0,1,2,3,4 \quad\Rightarrow\quad \begin{bmatrix}0 & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} & \frac{1}{4}\end{bmatrix}
  • 子滤波器抽头系数( 列):
> - **$C_4$ 子滤波器抽头系数**($\mu^4$ 列): > $$c_4[k];\ k=0,1,2,3,4 \quad\Rightarrow\quad \begin{bmatrix}\frac{1}{24} & \frac{1}{6} & -\frac{1}{4} & -\frac{1}{6} & \frac{1}{24}\end{bmatrix}
  • 整数系数缩放因子 可在输入或输出端一次性完成,FIR 滤波器内部仅需移位加法。

G38 designPBF 最优多项式基滤波器的 10×6 C 矩阵(原书 Figure 14.41):

  • 设计规格:10 段 × 5 阶多项式,100 dB 镜像衰减,输入 OSR ≥ 2,通带波动 ≤ 0.1 dB
  • 系数矩阵(使用 作为多项式参数): -0.001345 & -0.007276 & -0.013868 & -0.007952 & 0.008608 & 0.011467 \\ -0.012460 & 0.016669 & 0.074003 & 0.038627 & -0.042437 & -0.039262 \\ 0.042131 & -0.025342 & -0.246761 & -0.140367 & 0.134082 & 0.118809 \\ -0.144527 & -0.015873 & 0.677698 & 0.517909 & -0.219522 & -0.254117 \\ 0.610687 & 1.112924 & -0.491399 & -1.063063 & 0.120475 & 0.375982 \\ 0.610687 & -1.112924 & -0.491399 & 1.063063 & 0.120475 & -0.375982 \\ -0.144527 & 0.015873 & 0.677698 & -0.517909 & -0.219522 & 0.254117 \\ 0.042131 & 0.025342 & -0.246761 & 0.140367 & 0.134082 & -0.118809 \\ -0.012460 & -0.016669 & 0.074003 & -0.038627 & -0.042437 & 0.039262 \\ -0.001345 & 0.007276 & -0.013868 & 0.007952 & 0.008608 & -0.011467 \end{bmatrix}
> - 矩阵为 10 行(时间片段 $k=0,\dots,9$)× 6 列(多项式阶数 $p=0,\dots,5$),使用 $\mu-0.5$ 替代 $\mu$ 可改善数值精度。 > - 对比 B-spline 设计(需 OSR ≥ 5.5),designPBF 在 OSR ≥ 2 时即可达 100 dB 镜像衰减,**效率提升约 3 倍**。 > **G39 异步 SRC 的 RAM 缓冲与速率比估计器架构**(原书 Figure 14.42): > - **系统框图**:输入数据流 → RAM(双端口)→ Farrow 滤波器 → 输出数据流,速率比估计器根据输入/输出时钟计算 $T_{\text{ratio}} = T_{\text{out}}/T_{\text{in}}$ 并馈送至地址产生器。 > - **RAM 缓冲机制**: > - 写端口:输入时钟域,连续写入新样本(循环缓冲区) > - 读端口:输出时钟域,Farrow 滤波器按需读取 N 个历史样本 > - 缓冲区深度 $\ge N+2$(N 为 Farrow 滤波器抽头数),防止读地址超越写地址 > - **速率比估计器**: > - 测量输入/输出时钟频率比 $T = f_{\text{in}}/f_{\text{out}}$ 或 $f_{\text{out}}/f_{\text{in}}$ > - 实际实现中比直接频率测量更常用的是**相位累加器法**:每个输出时钟周期累加 $T$ 的定点表示,整数部分决定 $m$(基地址偏移),小数部分决定 $\mu$(分数延迟) > - 估计值需重滤波(低通滤波去除高频抖动)且更新频率需足够快以跟踪频率变化 > - 防止溢出:当读地址可能超过写地址时,速率比估计器应降低 $T$ 的估计值 > - **Farrow 结构在异步 SRC 中的角色**:每个输出时刻 $n$,由 $\mu$ 和基地址 $m$ 计算 $y[n] = \sum_{k=0}^{N-1} x[m-k] \cdot h(k+\mu)$,其中 $\mu$ 为定点的分数延迟值,$m$ 由读地址偏移量实时产生。 > - **典型应用**:数字音频系统中 44.1 kHz 与 48 kHz 采样率间的异步转换,或软件无线电中可变符号率接收机。 ### 本章总结(§14.8 Summary) **原文总结**:本章考察了 ΔΣ DAC 系统的插值滤波和 ΔΣ ADC 系统的抽取滤波。观察到两种操作之间存在大量对偶性——抽取器可转换为插值器,反之亦然。 - 当插值前或抽取后的 OSR ≥ 2 时,sinc 滤波器级联 + 均衡补偿构成高效系统。 - 将过采样率降至(或升至)接近 1 是计算最密集的操作,最宜由半带滤波器高效执行。 - Saramäki 拓扑以少量 CSD 项实现半带滤波器,无需乘法器。 - 最后简要讨论了分数因子抽取/插值和基于 Farrow 滤波器结构的异步采样率转换。 ## 相关概念页 - [[ΔΣ调制器中的抽取与插值滤波]](现有概念页,约 109 行——本文件是其深度扩展) - [[ΔΣ DAC]] - [[Pavan ΔΣ 数据转换器 深度解析]]