EETOP 创芯网论坛 (原名:电子顶级开发网)

标题: 请问二阶sigma-delta ADC低频下噪声大是为啥? [打印本页]

作者: youngs    时间: 2012-10-29 10:11
标题: 请问二阶sigma-delta ADC低频下噪声大是为啥?
本帖最后由 youngs 于 2012-10-30 12:45 编辑

如图所示,在低频一开始的时候噪声就很大,不知道各位大侠有没有遇到这种问题~
如果有经验的话跪求指导~
过采样率128,采样时钟0.5M
SNR只有37dB   一开始就被拉下来了,不知为何
-----------------------------------------
补充一点:量化器是1位的
作者: gaojun927    时间: 2012-10-29 10:59
整形有,时钟不算高,加窗似乎也没问题,怎么低频噪声就上去了呢?你的行为级仿真或者预期他应该是多少snr呢?
作者: youngs    时间: 2012-10-29 11:58
回复 2# gaojun927

80左右
作者: fuyibin    时间: 2012-10-29 13:05
回复 1# youngs

从spectrum上看DC有能量,如果你的入信号有DC分量,那么输出频谱上也应该有DC
我猜你的输入是一个有DC offset的 sin信号
计算SNR时不要计算DC即可
作者: youngs    时间: 2012-10-29 13:38
回复 4# fuyibin

在CADENCE下,我添加的激励信号源是这样的
输入信号的两端是一个vsin:
DC voltage:2.5V
Offset voltage没填,空着)
Amplitude:313mV
Frequency:473Hz

另外这个vsin信号源是串联在一vdc电压源之上的
这个vdc的电压为15V
请问您所指的DC offset是这个vdc吗?
作者: ksg12    时间: 2012-10-29 14:23
感觉是噪声整形有问题。。
作者: rice019    时间: 2012-10-29 15:48
你把DC offset也包含進來了
另外,你應用的頻帶可能也不會包含DC
比如說運用在音頻
可能是20-20KHz的範圍
並非0-20KHz
作者: nool    时间: 2012-10-29 16:03
一般都会有dc的这个bin的
作者: youngs    时间: 2012-10-29 16:06
回复 7# rice019



    首先,请问 DC offset 是啥?
    其次,那DC offset 应该如何去掉?
    最后,而且这个是用来测量电池电压的   是有可能测试直流DC电压的,这该怎么办?
作者: youngs    时间: 2012-10-29 16:07
回复 8# nool


    请问你所说的DC的bin    bin是啥?
作者: feilongf91    时间: 2012-10-29 21:08
也遇到过,帮顶
作者: youngs    时间: 2012-10-30 09:02
回复 11# feilongf91

请问你最后是怎么解决的?
作者: feilongf91    时间: 2012-10-30 10:34
回复 12# youngs


    035模型没有问题,018低频有分量,我感觉是不是量化器引人的失调,没验证,请高人解答。
另外问个,你是用啥仿真的
作者: youngs    时间: 2012-10-30 10:43
回复 13# feilongf91


    spectre  0.18的模型
作者: fuyibin    时间: 2012-10-30 12:17
回复 5# youngs

如果输入信号没有DC,那么输出信号呢?
你是用ADC输出的code转换成10进制,再做FFT?
那么这个输出信号的范围是什么?
是-Vpp~+Vpp? 还是0~Vpp?
如果是-Vpp~+Vpp,那么不应该有DC
如果是0~Vpp,那么必然有DC
作者: youngs    时间: 2012-10-30 12:53
回复 15# fuyibin

您好,我没有能够跟上你的意思

我的验证思想是这样的:
ADC调制器输出的是1位的bitstream,对这个bitstream进行FFT分析,然后就可以得到SNR。

请问:
首先,您指的输出信号是哪里的输出?是比较器的输出结果还是别的?
其次,如何将ADC输出的code转换成10进制?我得到的都是1bit的数据流,2进制的数字码流应该按照多少来转换?


还请不吝赐教.
作者: fuyibin    时间: 2012-10-30 13:50


   
回复  fuyibin

您好,我没有能够跟上你的意思

我的验证思想是这样的:
ADC调制器输出的是1位的bits ...
youngs 发表于 2012-10-30 12:53



不好意思,忘记你是1bit DAC,如果是多bit DAC就需要转成10进制
你现在输出的0/1的码,直接做FFT,当然有DC分量咯
你把你输出的0/1 bit stream 平均一下,平均值不等于0!
所以说让你在FFT中不要计算DC 分量
要么你把码转成+/-1
作者: youngs    时间: 2012-10-30 14:08
回复 17# fuyibin

嗯,我就是这么做的,将码流转换为了+1、-1。 图中的处理结果就是在这种条件下得到的
作者: vdslafe    时间: 2012-10-30 14:49
算SNR的时候从哪个频率开始积分
作者: fuyibin    时间: 2012-10-30 16:22
回复 18# youngs

那输出真的有DC分量
你的ADC是双端输入,还是单端输入 + 参考电压?
那要去找一下这个DC信号是从哪里进来的
作者: youngs    时间: 2012-10-31 09:10
回复 20# fuyibin

双端输入

请问如果有DC一般会是以何种方式引入?
哪些问题会引入DC?
作者: nool    时间: 2012-10-31 14:27
回复 10# youngs


    码型的格式
    举个栗子
    1.是RZ的不容易有,而NRZ的容易有
    2.0~Vref/2^n--〉code 0 …… 会有,Vref/2^(n+1)~3*Vref/2^(n+1)-->code 0 ……不会有
作者: youngs    时间: 2012-11-6 14:20
回复 22# nool


    您好,虽然您举了个比较详细的例子,但是我更加糊涂了~
作者: youngs    时间: 2012-11-6 14:22
回复 19# vdslafe


    你好,有人说是FFT算法的问题,DC失调是因为静态特性有问题,可以通过数字算法来消除。

现在测试的时动态特性,采用汉宁窗应该去掉主瓣的前两个点。

    请问你是不是也想表达这个意思?
作者: happyvega    时间: 2013-6-24 19:11
回复 24# youngs

握爪啊 最近也被这个问题困扰,spectre中得到的数据用matlab处理得到的图与lz的形状一样。。。泪奔。。。

lz问题解决没?如果搞定了还请不吝赐教啊,thx!
作者: happyvega    时间: 2013-6-25 15:06
啊啊啊,哪位大神路过指导一下吧,跪谢!
作者: yminnn    时间: 2013-6-25 19:10
有加input noise吗?
作者: happyvega    时间: 2013-6-25 22:49
回复 27# yminnn

没有加。就是在spectre中用晶体管搭建的电路仿tran(没选TransientNoise),然后取点在matlab中做fft。
作者: ksg12    时间: 2013-6-29 10:50
这个很简单,所有输出求和,判断是不是有DC就可以了,如果输入没有DC的话,就需要分析一下DC产生的原因了。
作者: happyvega    时间: 2013-7-1 15:50
本帖最后由 happyvega 于 2013-7-1 16:08 编辑

回复 29# ksg12

刚试了一下,输出取70000个点,求和,结果为0,但做fft之后得到的psd图还是低频很高,这是怎么回事。。。
作者: happyvega    时间: 2013-7-1 16:15


   
回复  ksg12

刚试了一下,输出取70000个点,求和,结果为0,但做fft之后得到的psd图还是低频很高,这是 ...
happyvega 发表于 2013-7-1 15:50



啊,后面的处理加了hanning窗函数。。。但是窗函数的影响应该不会有这么大吧。。。

窗函数的点数或别的什么设置有要求么?
作者: demon0821    时间: 2013-10-8 19:56
怎么没人接着讨论啦,接着来啊
我想看看怎么解决的
作者: djlfxl    时间: 2014-1-14 15:36
回复 8# nool


    你好,请问算信噪比等等里面这个bin什么意思...我到处找都没找到..谢谢
作者: djlfxl    时间: 2014-1-14 15:43
回复 31# happyvega


    大哥请问解决了吗
作者: happyvega    时间: 2014-1-14 16:14


   
回复  happyvega


    大哥请问解决了吗
djlfxl 发表于 2014-1-14 15:43



后来改了一些电路,然后仿着仿着就没有了。。。其实还是不太明白吧。。。
作者: saiaoying    时间: 2014-1-15 16:47
本帖最后由 saiaoying 于 2014-1-15 17:39 编辑

回复 35# happyvega

1. 这问题好像很多人都遇到,不知道最后你都更改一些啥参数把它搞定?

2. 在我们的印象中有几种因素可以导致这种现象:
a. 本身输入信号中有DC成分;(对策:直接分析输入信号频谱);
b. 输出码流选型问题;(对策:采用对称码,比如:原来,反馈+Vref时对应输出码为1,反馈-Vref时对应输出码为0,计算DFT时,把1、0分别用+1和-1(其实只要用关于原点对称的数都可以:比如+2、-2)代替。多位量化器的情况类似);
c. OTA的输入失调电压(越靠近输入信号的OTA表现越明显),一般没有特意追加VOS时不会体现出来的;(对策:chopper技术,cds技术);
d. OTA的等效输入1/f噪声(越靠近输入信号的OTA表现越明显),一般没有开启transient noise时也是不会表现出来的;(对策:chopper技术,cds技术,低噪声ota技术(很多),这一部分包括热噪声要严重关注,否则很可能出现仿真SNR很好,测试SNDR一踏糊涂);
e. 泄露噪声(本质是非理想的量化噪声和DAC非线性(失配)噪声),具体原因是OTA的dc_gain || GBW || SR不够大,越靠近输入信号的ota影响越大。

3. 猜测大哥是不是调整电路的结果使DC_GAIN || GBW ||SR提升呢?希望大哥给个回复,谢谢。
作者: djlfxl    时间: 2014-1-16 10:00
回复 36# saiaoying


    好厉害...不知大哥是否建过matlab模型(调制+数字滤波器),我用sdtoolbox里的psd看频谱,调制器的可以,数字滤波器的出来完全不对,对psd这个模块使用也不会(比如有时候模型都跑完了他都不出图),看help也没啥进展,另外请问spectre仿真后导入到matlab测频谱可以直接用那个psd模块测吗,谢谢
作者: saiaoying    时间: 2014-1-16 11:10
本帖最后由 saiaoying 于 2014-1-16 11:52 编辑

回复 37# djlfxl


1. 参考那本《understanding ...》的附录;参考《数字信号处理》;参考《信号与系统》
2. 自己写脚本(用matlab, C都可以)计算DFT,可以得到功率谱密度(PSD),再得到SNR, SNDR

3. 建模说白了要把积分器理解透彻,计算“非理想”积分器的传递函数,计算“非理想”积分器的时域输入输出关系。别小看这些,其实这是设计delta-sigma调制器的核心之一。曾经搞过一个调制器,光光理论计算就写了400多页,其中maple和mathematica都用上了,化简的结果还是混乱一片,最后还是手工推导,一个个式子的复杂度和长度都以页论。总之,多多参考IEEE的顶级论文+国际牛校的博士论文,别看那些低水平的重复的东西。

4. 总之,只要把理论搞精,对各种怪现象的理解应该有帮助。当然了,无伦搞啥东西,只要深挖,随时都有可能碰到很难理解的东西。
作者: lovelsnow    时间: 2014-1-16 12:33
看matlab的PSD的波形,如果ADC的设计带宽小于2k,并且去除直流分量的话,这个ADC的SNDR大概应该在70多接近八十。SNDR只有三十多就是直流引起的。楼主如果是用SDtoolbox分析的,那个计算SNR的函数的输入变量有一项是设定从哪个点开始积分,积分到哪个点,楼主把直流的那几个点不算近积分范围就能得到想要的结果了。
作者: djlfxl    时间: 2014-1-16 16:11
回复 38# saiaoying


    谢谢大神的建议..另外请问下,从频谱上看形状对,但是信噪比是-16bit,这个-怎么理解啊?信号被噪声淹没了?..理论功力约等于0..求点拨..谢谢
作者: djlfxl    时间: 2014-1-20 09:03
回复 35# happyvega


    大哥请问你前面说取70000个点测,请问取点测频谱是按照coherent sampling来取点的吗,就是Fin/Fsample=NPeriod/N..
作者: happyvega    时间: 2014-1-20 13:13
回复 36# saiaoying

先膜拜一下大神的分析!我说一下对应的情况吧:a. 我的输入信号一直是基于VREF对称的正弦信号(双端结构),所以输入信号本身是没有dc成分的;
b. 输出码流选型:这个问题我一开始确实没注意到,后来改过来了,不过改之前与之后PSD都是有明显的低频成分的,只是说之前这个成分特别大,一眼就能看出来有直流量。。。另外,我觉得这个到底是1 0还是1 -1其实是死的,就是看反馈回去的有效值是1和0还是1和-1,稍微分析一下即可知道是哪种;
c. 运放输入失调  这个如果不专门加一个模拟失调量的源的话,仿真的时候应该是没有的;
d. 1/f噪声  一开始没有开Transient Noise,所以这个也没影响;
e.  DC_GAIN || GBW ||SR  理论上来说,GBW达到7 8倍的采样频率应该就够用了,dc_gain理论要求也并不特别高70+dB大部分时候也够用了,SR跟GBW有一定的关系,这个没有具体分析过。。。


我那个仿真最后改的大概是运放的GBW和SR,以及积分器的开关尺寸,后来再仿真时,低频成分就比较正常了,不会明显向上翘起
作者: happyvega    时间: 2014-1-20 13:15
回复 36# saiaoying

以及恳请大神看看这个帖子,给点儿指导~
http://bbs.eetop.cn/thread-434404-1-1.html
作者: happyvega    时间: 2014-1-20 13:19


   
回复  happyvega


    大哥请问你前面说取70000个点测,请问取点测频谱是按照coherent sampling来取点 ...
djlfxl 发表于 2014-1-20 09:03



嗯,点数确实是按这个取的
作者: HITHC    时间: 2014-1-21 15:10
如果你看文献的话,这种输出PSD是正常的,对于低频应用,如果不加斩波的话,确实低频噪声比较大……顺便问一句楼主用的是什么仿真……
作者: zhang_y_w    时间: 2014-4-26 16:21
回复 29# ksg12


   你好,请问判断DC的来源,怎么分析?我的量化输出结果求和不为零...请大神赐教
作者: chenzj09    时间: 2014-9-16 18:43
回复 44# happyvega


   请问,对于SDM的FFT,在低频阶段的噪声很高,你知道原因了吗?如果知道的话,帮忙指点一下,我一直也想不通为啥低频段的噪声会那么高,看很多论文里面,即使是测试结果,也会有很高的低频噪声,当然,他们的SNDR是不算那些低频噪声的。你知道这是为什么吗?
作者: bright_pan    时间: 2014-9-16 19:23
对于sigma delta ADC, 在matlab模型建立后,你肯定得用理想OP和比较器仿真一下看看,然后在自己的OP和cmp设计好后,再分别代进入仿真,再比较看看FFT结果,就知道哪里问题了。
如果OP和cmp没有问题,仿真没有引入transient noise和offest,不应该有低频噪音的。
但如果你没有作chopper处理,低频noise实际测试是必然存在的。
作者: bright_pan    时间: 2014-9-16 19:24
我怀疑你原来是OP的slew rate问题。
作者: happyvega    时间: 2014-9-17 11:01
回复 47# chenzj09

不好意思,我也还不太明白。。。
作者: 老公    时间: 2015-1-29 14:10
回复 17# fuyibin


    你好 我现在做一个两位量化的 sigma delta ADC   在计算他SNR的时候  是不是要两位输出码流 接到一个2bit理想DAC上 然后将理想DAC的输出码流 导入到MATLAB 计算吗?亟待回复 谢谢
作者: 老公    时间: 2015-1-29 14:16
回复 36# saiaoying


    你好 我现在做一个两位量化的 sigma delta ADC   在计算他SNR的时候  是不是要两位输出码流 接到一个2bit理想DAC上 然后将理想DAC的输出码流 导入到MATLAB 计算吗?亟待回复 谢谢
作者: jeffej    时间: 2015-3-6 16:27
what is bin ???
作者: 小开    时间: 2015-4-8 10:48
16bit是调制信号输出的有效位数,上面那个才是信噪比
作者: ksg12    时间: 2015-7-1 11:10
1.输出失调,看看系统失调,如果这个有偏移的话,应该有个低频的东西;
2.噪声整形, 传递函数的零点确定在DC处吗?
作者: zhubaihui1991    时间: 2015-7-5 11:06
回复 48# bright_pan

请问你的理想仿真元件op、比较器都有吗?
作者: sy1success    时间: 2015-11-25 12:27
回复 4# fuyibin


   您好!我最近在 测试2-2MESH ADM芯片,输入信号就是你说的那样,输出的结果如图: ( , 下载次数: 134 )


计算的SNR为负值,一直很费解,这个程序和2-2MESH ADM电路仿真时用的是同一个程序,但用仿真的数据得到的SNR就是正值,还请大神赐教!
( , 下载次数: 118 )

作者: quantus    时间: 2015-11-27 17:03
回复 57# sy1success

输入信号大概是在1kHz上, 你的采样频率是多少?有没有满足相干采样条件?
作者: sy1success    时间: 2015-11-27 17:12
回复 58# quantus


   多谢回复!!!调制器的工作频率是1M,输出数据流的采样频率是1M,两者同相位
作者: jeffej    时间: 2020-4-8 10:36
thanks, just learning ~!!




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5