微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > adc simulation

adc simulation

时间:10-02 整理:3721RD 点击:
我做了个10bit sar adc 在做动态参数仿真时,得到的ENOB竟然大于10了!哪位大牛能帮看一下呀?
simulation过程如下:采样Fclk=25M,信号Fsignal=(25*32/2048)MHZ
做tran仿真,取结果中的2048个点,转换成10进制,在matlab中做fft(加hanning window),测得SNR=73.6dB,SINAD=62.5dB,ENOB=10.09
matlab代码主要如下:
Dout=d‘.*hanning(numpt)
%d为转换的十进制数据,numpt为2048个点
Dout_spect=fft(Doutw);
spectp=(abs(Dout_spect)).*(abs(Dout_spect));
fin=find(spectp(1:numpt/2)==maxdb);
nb=3;
signalbins=fin+[-(nb-1)/2nb-1)/2];
ps=sum(spectp(signalbins);
sinad=10*log10(ps/(sum(spectp(1:numpt/2))-ps));
ENOB=(sinad-1.76)/6.02;

冒号变成表情了呢!

Fsignal=(25*32/2048)MHz不合适吧?整数个周期为什么还要加窗呢?

输入信号的幅值是多少啊

你多做几次实验试试,我记得理想的ADC10bit应该是10.00几的精度,你的可能和这个又一定关系

谢谢大牛的回复。但是请教一下为啥整数周期不需要加窗?或者有什么资料可以推荐的吗?最好中文的。呵呵。另外我试了不加窗,ENOB结果比加窗还大。

谢谢大牛的回复,我加的是2.99V的信号,满量程是3V。

谢谢大牛的回复。但是我认为这和做几次没有关系。另外理想的10bit ADC为什么能超过10位,不应该是正好10位的?

我也是新手,随便说说
但是我们实验室adcfft输入频率和采样频率要是一个质数比,不加窗口函数,10bit的ADC enob仿真有出现9.9bit的情况,出现10bit以上一般都是因为多用了两位量化。
还有10.09bit也不是不可能啊,dft计算函数本身就不是非常准确,有点误差可以接受吧

我会建议做同样的31MHz的采样频率,而不是32兆赫



谢谢你的回复。我的采样频率是25MHZ。你的意思是我用接近12.5MHZ的输入频率吗?只是看资料上写的采样频率除以采样点数,乘以一个倍数这样能防止信号泄露,具体原理不知道。

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

网站地图

Top