|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
我做了个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)/2 nb-1)/2];
ps=sum(spectp(signalbins);
sinad=10*log10(ps/(sum(spectp(1:numpt/2))-ps));
ENOB=(sinad-1.76)/6.02; |
|