ΔΣ工具箱 (delsig)
Schreier ΔΣ Toolbox(delsig)是 ΔΣ 数据转换器设计与分析的事实标准 MATLAB 工具箱,由 Richard Schreier 开发维护。它提供从 NTF 综合、调制器仿真、系数计算到稳定性分析的全流程支持。
前后关系
上下文:附录B 详细描述了该工具箱的全部函数接口、参数含义和使用示例。该工具箱在全书各章节的设计示例中广泛使用。
前置知识:一阶ΔΣ调制器、高阶ΔΣ调制器与NTF(理解 NTF 概念)
后接:所有 ΔΣ 设计流程均依赖此工具箱进行仿真验证
快速入门
% 1. 从 MATLAB Central File Exchange 下载 delsig
% 2. 将 delsig 目录加入 MATLAB 路径
% 3. 编译 mex 文件提升仿真速度
mex simulateDSM.c
mex simulateMS.c
% 4. 需要 Signal Processing + Control Systems Toolbox
% 5. clans 和 designPBF 需要 Optimization Toolbox核心约定:
- 频率归一化: 对应采样频率
- 参数默认值:省略或用
NaN/[]占位 - 环路滤波器用 ABCD 状态空间矩阵描述
关键函数
NTF 综合
| 函数 | 功能 | 备注 |
|---|---|---|
synthesizeNTF(order, OSR, opt, H_inf, f0) | 标准 NTF 综合 | opt=0/1/2/3 控制零点优化 |
clans(order, OSR, Q, rmax, opt) | CLANS 方法 NTF | 需要 Optimization Toolbox |
synthesizeChebyshevNTF(order, OSR, opt, H_inf, f0) | 切比雪夫 NTF | 低 OSR 或低 H_inf 时更优 |
synthesizeQNTF(order, OSR, f0, NG, ING) | 正交 NTF(实验性) | 用于复数 ΔΣ 调制器 |
仿真与分析
| 函数 | 功能 |
|---|---|
| `simulateDSM(u, ABCD | ntf, nlev, x0)` |
simulateSNR(ntf, OSR, amp, f0, nlev) | SNR 仿真(幅度扫描) |
predictSNR(ntf, OSR, amp, f0) | 描述函数法 SNR 预测(仅二进制) |
calculateSNR(spec, fin, nsig) | 从 FFT 频谱估计 SNR |
calculateTF(ABCD, k) | 从 ABCD 计算 NTF/STF |
系数与拓扑
| 函数 | 功能 |
|---|---|
realizeNTF(ntf, form, stf) | NTF → 拓扑系数 |
stuffABCD(a, g, b, c, form) | 系数 → ABCD 矩阵 |
mapABCD(ABCD, form) | ABCD → 系数 |
scaleABCD(ABCD, nlev, f, xlim) | 动态范围缩放 |
连续时间系统
| 函数 | 功能 |
|---|---|
realizeNTF_ct(ntf, form, tdac) | CT NTF 实现 |
mapCtoD(sys_c, t, f0) | CT → DT 脉冲响应匹配映射 |
evalTFP(Hs, Hz, f) | STF 评估 |
正交系统
| 函数 | 功能 |
|---|---|
simulateQDSM(u, ABCD, nlev) | 正交调制器仿真 |
realizeQNTF(ntf, form, rot) | 正交 NTF 实现 |
mapQtoR(ABCD) / mapR2Q(ABCDr) | 复-实矩阵转换 |
calculateQTF(ABCDr) | 正交传递函数计算(含镜像) |
simulateQESL(v, mtf, M) | 正交 DAC ESL 仿真 |
专业函数
| 函数 | 功能 |
|---|---|
designHBF(fp, delta) | Saramäki 半带滤波器设计 |
simulateHBF(x, f1, f2, mode) | 半带滤波器时域仿真 |
designPBF(N, M, pb, pbr, sbr) | 多项式基滤波器设计(需 Optimization TB) |
findPIS(u, ABCD, nlev) / find2dPIS | 正不变集计算(稳定性分析) |
simulateMS(v, mtf, M) | 失配整形 ESL 仿真 |
findPattern(N, OSR, ntf, ftest, Atest) | 低噪声数据模式生成 |
调制器模型
ABCD 矩阵
状态方程:
支持的拓扑
CIFB(积分器反馈)、CIFF(积分器前馈)、CRFB(谐振器反馈)、CRFF(谐振器前馈)、CRFBD/CRFFD(延迟量化器版)、Stratos、DSFB(双采样反馈)
设计流程示例
指定OSR、阶数、量化器等级数
→ synthesizeNTF → NTF
→ realizeNTF → 系数
→ stuffABCD → ABCD矩阵
→ scaleABCD → 缩放后矩阵
→ simulateDSM → 时域仿真
→ calculateSNR → SNR评估
📙 Rosa 补充(App.B ΔΣ 工具箱的使用补充与实用技巧)
Rosa《Sigma-Delta Converters》对 ΔΣ 工具箱的使用增加了实用补充。
synthesizeNTF 的算法说明(Rosa §2.5)
Rosa 解释了 synthesizeNTF 的内部算法:
- 生成 Butterworth 模拟低通原型极点(阶数 ,截止频率 )
- 通过双线性变换 映射到 z 域
- 添加 NTF 零点:优化零点在单位圆上展开()
- 缩放 NTF 增益使
- 验证 Lee 准则:(单比特)或 (多比特)
关键函数的替代参数
| 函数 | Pavan 用法 | Rosa 补充用法 |
|---|---|---|
synthesizeNTF | synthesizeNTF(order, OSR, opt, OBG) | 可额外指定 H_inf 参数限制峰值 |
simulateDSM | simulateDSM(u, ntf, nlev) | 支持 x0 初始状态向量加速瞬态 |
stuffABCD | stuffABCD(a, g, b, c) | 支持 CIFF-B 和 CRFF-B 拓扑 |
震荡检测与稳定化技巧
Rosa 提供了仿真中的实用技巧:
- 若 simulateDSM 出现震荡 → 增大 OBG 或减小输入幅度
- 初始化状态向量为 0 可减少瞬态长度
- 使用
nlev = 2(单比特)调试稳定性,再切换到多比特
差异定位:Pavan App.B 介绍了 Toolbox 的基本函数和典型调用流程;Rosa 增加了 synthesizeNTF 内部算法说明、关键函数的替代参数表和 仿真震荡检测与稳定化实用技巧。
参考文献
- Pavan, S., Schreier, R., & Temes, G. C. (2017). Understanding Delta-Sigma Data Converters (2nd ed.), Appendix B. IEEE Press/Wiley.
- Schreier, R. (2020). Delta-Sigma Toolbox. MATLAB Central File Exchange.