微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 请教诸位连续时间sigma-delta modulator的仿真结果

请教诸位连续时间sigma-delta modulator的仿真结果

时间:12-12 整理:3721RD 点击:
最近做了一个连续时间sigma-delta modulator(见上图),设计目标12位,对结果作fft,同样的fft时间长度,起始时间点不同,SNR结果差别很大(见中,下图):采样频率26MHz,信号频率26M/4096*61=387.20703125KHz,做4096点fft,时间长度为4096*Tck=157.538u。中图从7us 做到164.538us,SNR只有69dB,下图从6us做到163.538us,SNR有83dB。作fft已经保证了非相干采样,并且fft的起始点系统已经settle好了,请教诸位什么原因使两次fft的结果差别那么大?是电路原因还是仿真原因造成的?

我试了精度设置成conservertive,步长10ps,并且去除了前20%的点,还是有同样问题。困惑中。。。

建议确认一下从7us到164.538us采4096个点是不是相当于26MHz的采样。
Cadence如果是把7us当做第一个点,你要采4096个点应该从7us采到7+4095/26M。
另外,计算SNR应该把噪底积分啊,你这量的是信号和噪声密度的比值。

谢谢回复,我去试一试你的建议。
PS:在这里说SNR是简略说法,实际是要对噪底积分的。

我按照你的建议试了一下,做的fft都形状不对了,看来还是应该从7u+4096/26M来做fft,还有好的建议没?

看你贴出来的fft,是从1us到158.538us;另一个2us到159.538us。不是你说的从6us和7us开始啊

你说的对!不过6us,7us开始作fft的现象和1us,2us开始做fft的现象相同,都是一个有80多dB,一个只有60多dB。有啥好建议没?

把data存下来 用matlab 试试? 看看现象一样不

你在matlab behavioral model里面同样input frequency,出来的频谱是什么样的?噪底在多少dB?看输出两个fft,噪底差了20dB,挺费解的
如果方便,能把时域的数据发上来吗?

这种现象我以前也遇到过,还是用理性模型跑的,低频的那段直接是直的,像是仿真器问题。你这个低频部分看起来也像是直的。能贴个对数坐标的吗?那样低频能看到的更详细。

这是我多年以前自己搭着SigmaDelt玩的时候发现的这个问题,好像就是仿真器直接把低频的精度降低了,不记得后来怎么解决的了。你可以换个波形查看器看看。

我试了一下,在某些起始点也遇到一样的情况。我觉得应该是cadence的dft在计算的时候有问题,有的时候平带加窗就对了,有的时候连noise shaping都不对了,换个起始点看起来频谱又对了。同样数据,重新采样后无论从哪个起始点开始算,用matlab都是一致的。
不过平带现象matlab里面也会遇到,加窗就没问题了。cadense的dft算得时候假设起始时间和终止时间的信号值相等,不等就出现频谱泄漏,一般加窗能解决。
我觉得比较怪异的是,有的起始点出来的noise shaping都不大对劲。
因为我一般都是把cadence的输出导入到matlab里面,所以从来没有遇到过这种现象。我觉得还是尽量自己来吧,像算dft这种,matlab写好程序分分钟的事;cadence给你一个dft的黑盒子,你也不知道内部是如何处理的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top