☰
Sigma-Delta ADC设计全链路:从MATLAB建模到版图实战
2026/10/29 4:35:54 网站建设 项目流程

简介:这份PDF是西安电子科技大学微电子学与固体电子学专业的博士学位论文,聚焦高性能sigma-delta ADC的系统建模、电路设计与芯片实现,面向微电子、模拟集成电路方向的研究生、工程师与科研人员,帮助读者系统掌握过采样与噪声整形机制下的ADC设计方法。全文围绕MATLAB系统建模与仿真、运放有限增益与带宽、摆率、时钟抖动、kT/C噪声等非理想因素的量化分析展开,并给出4阶单环1位调制器(实测15.31位精度、93.9dB动态范围)与改进型低失真MASH 2-2多位级联结构两套完整设计案例,涵盖数字抽取滤波器多级实现、DWA数字校正及版图布局要点。资源包共1个PDF文件,约5.44MB,内容完整、结构清晰,适合按章节精读与专题查阅。目前已有261人学习,可作为sigma-delta ADC方向系统入门与工程实践的重要参考。

1. 从一份博士论文拆出 sigma-delta ADC 的完整设计链

手里这份《高性能 sigma-delta ADC 的设计与研究》是一篇博士论文,不是教程,也不是开源工程。它最值钱的地方在于:把 sigma-delta ADC 从系统建模、非理想因素量化、电路实现到版图考虑,整条链路走了一遍,而且给了两组完整的实测数据。一组是 4 阶单环 1 位结构,0.18µm CMOS,1.8V 全差分,过采样率 64,时钟 81.92MHz,带宽 640kHz,实测 15.31 位、动态范围 93.9dB、功耗 56mW、面积 1mm×2mm;另一组是面向无线局域网的前馈 MASH 2-2 多位 4b 4b 级联结构,采样 160MHz,输入 -6dBFS@1.25MHz 时峰值 SNDR 80.9dB、SFDR 87dB、ENOB 13.15 位。做模拟混合信号的人拿到这种带参数的论文,价值不在读完,而在照着把 MATLAB 行为级模型搭出来、把每一级非理想因素代进去看性能掉多少。这篇适合正在做 ADC 课程设计、论文复现或流片前评估的从业者,也适合想搞清楚「为什么单环难做高速、MASH 又为什么怕失配」的人。

2. 系统级建模:先用 MATLAB 把阶数和系数定下来

2.1 为什么先建模再画电路

sigma-delta 调制器的精度由噪声整形决定,而噪声整形的形状由环路滤波器的阶数和系数决定。论文里说得很直白:根据过采样率、精度和动态性能要求,反推出调制器所需阶数以及前馈因子、反馈因子、积分器增益因子。这一步如果跳过,直接进电路仿真,基本等于闭着眼睛调管子。常见做法是先用理想积分器和理想量化器搭一个离散时间模型,跑 FFT 看带内噪声功率,确认 NTF 的零点分布和带内抑制够不够,再逐项加入非理想因素。论文给出的 4 阶单环 1 位、OSR=64 这个组合,理论 SNR 上限大约在 15~16 位量级,实测 15.31 位说明系统级预算留得比较紧,非理想因素吃掉的部分被控制住了。

2.2 一个可复用的行为级建模骨架

下面这段是离散时间 sigma-delta 行为级仿真的通用骨架,阶数和系数按论文的 4 阶单环 1 位结构填,系数值需要按你实际的 NTF 综合结果替换,这里给的是结构示意和参数位置。

import numpy as np # 系统参数:对应论文 4 阶单环 1 位,OSR=64,带宽 640kHz OSR = 64 fs = 81.92e6 # 时钟频率 81.92MHz fin = 10e3 # 输入测试音,取带内较低频点便于观察 N = 2**16 # 仿真点数,保证 FFT 分辨率 amplitude = 0.5 # 输入幅度,相对满量程 # 4 阶单环前馈系数(示意,需按你的 NTF 综合结果替换) a = [0.5, 0.5, 0.5, 0.5] # 前馈/积分器增益因子 b = [1.0, 1.0, 1.0, 1.0] # 反馈因子 c = [1.0, 1.0, 1.0, 1.0] # 级间缩放 t = np.arange(N) / fs u = amplitude * np.sin(2 * np.pi * fin * t) # 积分器状态 x = np.zeros(4) v = np.zeros(N) for n in range(N): # 前馈求和进入量化器 y_in = sum(a[i] * x[i] for i in range(4)) y = 1.0 if y_in >= 0 else -1.0 # 1 位量化器 v[n] = y # 反馈到各级积分器输入 for i in range(4): if i == 0: x[i] += b[i] * (u[n] - y) else: x[i] += b[i] * (c[i-1] * x[i-1] - y) # 带内噪声功率与 SNR 估算 V = np.fft.fft(v * np.hanning(N)) freq = np.fft.fftfreq(N, 1/fs) band = np.abs(freq) <= 640e3 signal_bin = np.argmin(np.abs(freq - fin)) P_sig = np.abs(V[signal_bin])**2 P_noise = np.sum(np.abs(V[band])**2) - P_sig snr = 10 * np.log10(P_sig / P_noise) print(f"带内 SNR ≈ {snr:.2f} dB, 等效位数 ≈ {(snr-1.76)/6.02:.2f} bit")

这段代码的逻辑是:前馈通路把四级积分器输出加权求和后送进 1 位量化器,量化结果反馈回每一级积分器输入端,形成噪声整形环路。a控制前馈权重,决定 NTF 零点位置;b是反馈因子,影响环路增益和稳定性;c是级间缩放,防止中间节点过载。跑完看带内 SNR,如果明显低于理论值,先查系数是否让 NTF 带内抑制不足,再查积分器是否饱和。注意这是浮点行为级模型,没有量化器迟滞、没有运放有限增益,属于「理想上限」,后面每加一个非理想因素,SNR 都会往下掉,掉多少就是你的设计余量。

2.3 非理想因素要逐项量化,不要一次性全塞进去

论文列了一串非理想因素:运放有限直流增益、有限单位增益带宽、摆率、输出摆幅限制、开关非线性、时钟抖动、采样电容 kT/C 噪声。这些因素对性能的影响量级差别很大,正确做法是一项一项加,每加一项记录 SNR 变化,最后看总和是否在预算内。比如 kT/C 噪声由采样电容大小直接决定,电容取小了热噪声压不住,取大了运放驱动压力大、功耗上去;时钟抖动对带内噪声的贡献和输入信号频率、采样沿斜率相关,高频输入时更敏感。论文强调「系统的、量化的分析」,意思就是每一项都要有数字支撑,而不是仿真时凭感觉调。我一般会做一张表,左列非理想因素,右列单独加入后的 SNR 和 ENOB,最后一行是全部加入的结果,这张表就是后面电路设计的验收标准。

3. 单环与 MASH 的选型:两条路各自的边界在哪

3.1 单环高阶 1 位:线性度好,但速度和稳定性是硬约束

论文里 4 阶单环 1 位这条线,选它的理由写得很清楚:1 位量化器固有线性,在线性度要求高的场合广泛使用;高阶单环在较高 SNR、较好谐波失真要求的应用里受青睐。代价是稳定性属于条件稳定,阶数越高、输入幅度越大越容易进入振荡,必须靠系统仿真验证稳定范围。另一个代价是速度:单环结构难以做到高速,这是论文在结尾明确点出的短板。所以这条路线适合带宽几百 kHz、精度要求 15 位以上、对谐波失真敏感的场景,比如音频、测试仪器前端。论文这组数据 OSR=64、带宽 640kHz、时钟 81.92MHz,功耗 56mW,面积 1mm×2mm,是一个比较典型的「中速高精度」折中。

3.2 MASH 2-2 多位:速度上去了,失配和数字抵消逻辑成了新战场

面向无线局域网的改进型结构走的是另一条路:前馈 MASH 2-2、两级各 4 位量化、第二级加反馈因子。MASH 的核心思路是每级用低阶稳定结构,第一级处理输入、产生量化误差,第二级把这个误差再调制,最后用数字抵消逻辑把第一级的量化噪声消掉,只留下经过高阶整形的最后一级量化噪声。这样整体既稳定又有高阶整形效果。但多位量化带来一个新问题:反馈 DAC 是非线性的,而整个 ADC 的线性度和这个 DAC 直接相关。论文用动态元件匹配里的数据权重平均(DWA)来压这个失配噪声,提升 SFDR。实测 SFDR 87dB、SNDR 80.9dB、ENOB 13.15 位,采样 160MHz、输入 1.25MHz,这个带宽比单环那条线高出一个量级,但精度低了两档,正好印证两条路线的取舍。

3.3 选型对照表

维度4 阶单环 1 位前馈 MASH 2-2 多位 4b 4b
工艺与电源0.18µm CMOS,1.8V 全差分0.18µm CMOS,1.8V
过采样率 / 时钟64 / 81.92MHz采样 160MHz
信号带宽640kHz输入测试 1.25MHz
精度15.31 位,DR 93.9dBENOB 13.15 位,SNDR 80.9dB
线性度关键1 位量化器固有线性4 位 DAC 失配,靠 DWA 校正
主要难点高阶环路稳定性、速度上不去数字抵消逻辑、DAC 失配、版图隔离
功耗 / 面积56mW / 1mm×2mm论文未给整芯片面积与功耗

这张表不是让你照抄参数,而是让你在选型时知道每一项背后的代价。要 15 位以上、带宽不高,走单环;要几 MHz 带宽、13 位左右够用,走 MASH 多位,但必须把 DWA 和数字抵消逻辑的验证做扎实。

4. 数字抽取滤波器:多级分解省的是运算量和存储

4.1 为什么不能用一个滤波器一把梭

调制器输出是高速 1 位码流,采样率 81.92MHz,要降到奈奎斯特频率附近给后续数字处理用。如果用一个单级滤波器直接完成这么大的降采样比,运算量和存储单元会大到不现实。论文的做法是多级结构:先做大的降采样比、用计算量小的级(比如 CIC 类),后面再用补偿滤波器和半带滤波器修通带。分解后每一级的运算量和存储量都远小于未分解的单个滤波器,这是数字抽取滤波器能落地的前提。论文给出的指标是通带波纹小于 0.01dB、阻带衰减 80dB、过渡带 640kHz~740kHz,过渡带只有 100kHz,相对带宽很窄,这对滤波器阶数提出了不低的要求。

4.2 多级分解的验证步骤

数字滤波器部分没有现成代码可抄,但验证流程是固定的,按下面几步走能少走弯路:

  1. 先定总降采样比和各级分配,比如第一级 CIC 承担大比例降采样,后级半带滤波器逐级二抽取。
  2. 用 MATLAB 的滤波器设计工具分别设计每一级,单独看幅频响应,确认通带波纹和阻带衰减达标。
  3. 把各级级联起来看整体响应,重点看过渡带是否满足 640kHz~740kHz 这个窄带要求,级联后通带边缘容易翘。
  4. 用调制器输出的 1 位码流做端到端仿真,看输出频谱里带外噪声是否被压到 80dB 以下。
  5. 估算每一级的乘法器和存储单元数量,确认总面积和功耗在预算内。

提示:过渡带越窄,滤波器阶数越高,面积和功耗压力越大。论文把过渡带定在 100kHz,是在指标和实现代价之间做了取舍,复现时不要随意放宽或收紧这个数,先算清楚阶数再改。

4.3 面积和功耗是这类全数字电路的主要矛盾

论文明确说,数字抽取滤波器用全数字 CMOS 实现,面积和功耗是设计难点。这一点很容易被忽视:大家注意力都在模拟调制器上,觉得数字部分「反正综合一下就行」。实际上多级滤波器里每一级的系数量化位宽、乘法器复用策略、存储单元的读写方式,都会直接影响最终面积。常见做法是把系数做成 CSD 编码减少非零位,把对称结构的滤波器做成折叠结构复用乘法器,这些手段在论文里不一定展开,但复现时绕不开。

5. 版图与混合信号隔离:数字噪声是模拟性能的黑匣子

5.1 数模共存时版图为什么关键

芯片里既有模拟调制器又有数字抽取滤波器,数字电路开关噪声会通过衬底和电源耦合进模拟部分,轻则抬高底噪,重则让 SFDR 掉几个 dB。论文专门提到版图设计至关重要,要防止数字电路噪声影响模拟电路性能。这类问题在仿真阶段往往看不出来,属于典型的「流片后才翻车」项。常见做法是模拟和数字分域布局、各自独立的电源和地网络、在敏感模拟模块周围加保护环、时钟线远离模拟信号路径、数字输出缓冲靠近焊盘放置。这些不是玄学,是血泪经验堆出来的规矩。

5.2 复现时优先检查的几处

如果你在照着这篇论文做自己的版图,下面几处建议优先过一遍:采样电容阵列的对称性和走线匹配,这直接影响 1 位量化器前面的信号完整性;运放输入对管的匹配和共质心布局,决定失调和低频噪声;时钟分配网络的 skew,影响采样时刻一致性;数字滤波器输出到焊盘的驱动能力,避免大电流回流污染模拟地。论文没有给具体版图截图细节,但这些检查项在任何混合信号 ADC 里都适用。

6. 避坑与排查:五条复现时最容易翻车的地方

6.1 行为级 SNR 达标,加非理想因素后掉太多

现象:理想模型跑出 16 位以上,逐项加非理想因素后掉到 13 位以下。原因:非理想因素不是线性叠加的,运放有限增益和有限带宽会同时恶化积分器建立精度,kT/C 噪声和时钟抖动在带内叠加,几项一起上时互相放大。解决:每加一项就记录 SNR,找出贡献最大的那一项优先优化,通常是第一级积分器的运放增益和采样电容,因为第一级噪声不被后续环路整形。

6.2 高阶单环仿真时输出发散

现象:输入幅度稍大,调制器输出码流出现连续同号,频谱上出现强振荡。原因:高阶单环是条件稳定,系数缩放不当或输入超过稳定范围就会失稳。解决:回到系统模型,扫描输入幅度找稳定边界,检查前馈系数是否让 NTF 峰值增益过高,必要时降低积分器增益因子或调整级间缩放,不要靠电路上加大电容硬压。

6.3 MASH 结构数字抵消后底噪偏高

现象:两级单独仿真都正常,拼起来数字抵消后带内底噪明显高于预期。原因:模拟和数字路径的增益不匹配,或者第二级反馈因子引入后抵消逻辑没有同步修正。解决:在行为级里把模拟路径和数字抵消路径的增益逐级对齐,确认每一级的传递函数在数字域精确镜像,DWA 的使能时序也要和量化器输出对齐。

6.4 DWA 开了但 SFDR 没改善

现象:加了动态元件匹配,SFDR 还是上不去。原因:DWA 只压周期性失配引起的杂波,如果失配本身随机性很强,或者 DWA 的指针逻辑有死区,效果就打折扣;另外多位 DAC 的单元匹配布局如果做得差,DWA 也救不回来。解决:先确认 DAC 单元版图匹配,再检查 DWA 逻辑是否覆盖全部单元、有无卡死状态,最后看输入信号频率和 DWA 时钟比是否落在敏感区。

6.5 数字滤波器通带边缘翘起

现象:级联后通带边缘波纹超过 0.01dB,或者过渡带比设计值宽。原因:CIC 类滤波器有通带 droop,补偿滤波器系数没对准,或者各级降采样比分配不合理导致后级压力过大。解决:先单独看 CIC 的 droop 曲线,用补偿滤波器精确抵消,再检查半带滤波器级联后的通带叠加效应,必要时增加一级或提高系数字宽。

7. 把论文数据变成自己的验收清单

这篇论文最实用的地方,是它给了两组可以拿来对标的实测数字。复现时不要只盯着「15.31 位」这个结果,而要把它拆成一条验收链:系统级理想 SNR 是多少、逐项非理想因素各吃掉多少、电路实现后仿真掉多少、版图寄生再掉多少、实测又掉多少。每一段掉多少,就是你下一版设计的优化目标。我自己的习惯是,拿到任何一篇带实测数据的 ADC 论文,先把它给的指标抄成一张表,左边写论文值,右边写自己当前仿真值,差值超过 1dB 的地方逐个查原因,查不出来就不往下走。这个习惯帮我避过好几次「仿真看着挺好、一加寄生就崩」的翻车。

具体到这份资源,建议的阅读顺序是:先看系统建模那一章把 MATLAB 模型搭起来,跑通理想 SNR;再对照非理想因素那一节逐项加,记录每项的影响;然后看单环和 MASH 两套电路的结构图,理解系数和反馈路径怎么落到开关电容电路上;最后看数字抽取滤波器的多级分解和版图注意事项。论文里的工艺是 0.18µm,如果你用的是别的节点,系数和电容值都要重算,但分析方法和验收思路可以直接搬。需要这份论文原文的,按标题检索即可拿到 PDF,配合上面的建模骨架和排查清单,能省掉不少从零摸索的时间。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询