我的sigma delta adc 入门之路

发布时间:2024年01月11日

以下内容来自移知特邀知乎博主“风清扬”分享:

我的sigma delta adc 入门之路:

第一次接触sigma delta adc是在研一,那是实验室已经做好的二阶sigma delta adc。怀着很多疑问,大概了解了下sigma delta的设计原理:比如一个直流电压vin,然后一直累加这个信号,如果这个信号大于vref,计数为1,同时减去vref,那么假如累计m次,计数和为n,最终0<m< span=“”>vin-nvref<vref,则:

在这里插入图片描述

m为过采样率,过采样率越高,量化误差vref/m越小。对于二阶的系统,比如第一级调制器输出为:

在这里插入图片描述

第二级积分器输出累加为:

在这里插入图片描述

integ2<vref, 那么有:

在这里插入图片描述

可以看到,误差开始和m的平方成反比,导致量化误差进一步降低。

接触到sigma delta 调制器的建模是在工作后,在网上上看到sigma delta adc建模的帖子,有人分享使用toolbox工具箱做建模的流程,后来我就下载了这个工具箱。

在这里插入图片描述

一通捣鼓之后,终于综合出了sigma delta 调制器的系数,然后再用simulink搭了相应的Z域模型,设置好系数之后就开始仿真,得到了有效位数。不得不说那时候还不懂delta sigma toolbox工具箱里这些函数的具体意思,只是照猫画虎实现了。然后映射到cadence里面搭了开关电容采样形式的放大器,最后采集输出结果到matlab中做fft运算,这是我学习sigma delta adc的第二个阶段,就是囫囵吞枣的跑了个流程,实现了功能。

第三个阶段是在上海疫情期间,当时封闭在家封闭了三个月,闲着没事,就把很经典的《understanding delta -sigma data converters》这本书拿来看,这本书的作者貌似就是开发delta sigma toolbox的作者,这本书极大地加深了我对delta sigma 调制器的理解。

想要领取Delta-Sigma工具箱和电子书的小伙伴,可识私信一直领取。

在这里插入图片描述

对delta sigma toolbox中具体函数都有很多的介绍,比如说synthesize -NTF函数是怎么来的,ntf中的输入变量和输出变量分别是什么,然后才开始了解到sigma delta函数的本质其实是设计一款巴特沃斯滤波器,传递函数的所谓的极点和零点,就是让带内的噪声抑制的更加厉害而已,同时带外的增益不能过高而导致系统不稳定。确定了噪声传输函数之后,其他的事情就是选择常用的调制器的结构,然后把调制器的结构往噪声传输函数上套,所以才有了realizeNTF函数,解出a,g,b,c。然后还要确保调制器的系数,使得积分器的输出和量化器的输入不会过载,同时也能得到调制器的最大输入范围。缩放那个也比较简单理解,就是挨个积分器缩放过去,就得到了缩放后的系数。缩放后的系数再直接代到simulink里面,就可以很直观的看到调制器有没有溢出。当然,如果用工具箱里面的scale函数去缩放,会很快得到缩放后的矩阵。但是还是建议大家要了解每个函数之后的原理,这样才会对调制器了解的更深。

总结下来,我觉得要想搞明白sigma delta adc的设计。得先明白以下的几点:

1、噪声传递函数应该怎样设计?

这个就涉及到了调制器阶数,过采样率,量化器位数的选取。还有调制器带外增益越高,调制器越不稳定,但是噪声越好。零点的位置,怎样设计,才能使调制器带内噪声抑制最佳。

2、系数 a b c g是怎么求出来的?

实际上就是根据调制器的结构,推导出噪声传输函数,然后再和噪声传递函数比对,求解出来的。

3、为什么要把系数,用矩阵来表示?

因为矩阵因为矩阵用来描述空间变量的加减乘除很好,matlab可以用矩阵来进行缩放求解等操作。

4、为什么要缩放,缩放就是为了防止积分器输出饱和?

因为在实际电路中,运放的输出必定有个范围是线性工作的,一旦超过这个范围,运放就会溢出,必然导致运算的结果不精确。

非理想因素我觉得要搞明白以下几点:

1、模块的非理性因素有哪些?

比如说电容的失配,运放的失配。电路中的噪声,时钟的抖动,运放的非线性,运放的有限增益,运放的带宽。

2、模块的非理想因素怎么影响系统的指标?

了解这个才知道哪些非理想因素需要被重点优化,最终才能得到模块的设计指标和模块的结构。

最近移知出了《30天学会sigma delta ADC设计》。本人非常有幸受邀移知教育参加它们的学习体验,内容包含了整个sigma delta adc的设计工程,时长充分,里面的建模与设计细节比论坛上零零散散的例子要专业的多,后续还有2阶单环3bit sigma delta adc实验操作,通过一轮的学习,会很快全面的掌握sigma delta adc的设计流程,避免在无效的试错和找资料上浪费很多时间,以后的设计过程中也会更专业。
在这里插入图片描述

文章来源:https://blog.csdn.net/nuoweishizi/article/details/135528841
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。