有关DAC的DNL、INL和SFDR的计算问题,请各位高手前来帮助下小弟
时间:10-02
整理:3721RD
点击:
刚刚开始搞这个,也是接手一个水水的师兄的项目:要做12bit的电流舵型的DAC,出现的问题是:1、有关DAC的DNL计算:按照输入产生的斜坡信号到DAC中,进行瞬态仿真,得到阶梯状的信号波形之后应该怎么计算呢?
2、在进行SFDR的仿真时,输入的是320K的正弦信号,采样时钟6.5M经过ADC之后输入DAC,然后对输出进行DFT变换的时候该怎么取点数和周期数?后面又要怎么计算?
请各位帮帮忙,详细的解释一下,论坛上有关的帖子都看了,但还是搞不大明白。刚刚接手觉得很无助呀,谢谢各位了,请各位指点。
问问你师兄吧
师兄毕业了,走了,联系不上了,其实之前有问过他,他也不是很懂。(/ □ \)
做DNL ,INL 将仿真得到的稳定的点导出来,spectre的Results Brower可以导出来你想要的点的。把数据取出来处理下即可。
关于输入信号频率fin 和采样频率fs,采样的点数,和采几个周期的关系要满足fin=fs*M(周期数)/N(采样点),M与N为质数关系,N为2的n次方
做DNL时:输入斜坡信号,得到DAC输出后,左移一个时钟周期,之后两者做减法找到最高的差值,用这个差值乘以2^12,再除以差分输出电压的值,这样的算法可以吗?请教。做SFDR时,系统时钟频率为6.5M,采用6.5M为采样fs,输入信号的带宽要求320K,请问,需要按照计算公式调整fin吗?该采用多少?
可以啊 一样的道理
fs=6.5MM=3N=128的话fin=152.34375kHz
1、刚刚疏忽了一点,除以输出的差分电压后,得到的值要减1,这样算出来的很小很小,是不是算出的结果要减去1呢,搞不清楚。2、fs=6.5M,N=2^12=4096,M=137(随便取得一个质数),计算fin=217.407226K这样也是可以算出正确的SFDR的吧?
1,是要减去1即减去一个lsb。仿真没有mismatch的信息,仿真出来当然是理想的情况。这种motecarlo仿真也不现实,你可以手工计算的。
2,仿真那么多周期?要跑很久很久...