在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 5822|回复: 13

[求助] 采样开关性能测试

[复制链接]
发表于 2021-10-8 14:58:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
自己测试的结果和论文的中结果不同,前面一段是谐波吗,为什么我的有好几组尖峰呢,这个是不是会影响我开关的性能呢?
对sar adc里面的采样开关进行动态性能测试:
代码如下:
adc_data=a'; %采样得出的数据形成的矩阵
numpt=1024;
fclk=1*1e7; %A/D转换器的采样频率f
adc_bit=15;
numbit=adc_bit;
doute=adc_data-mean(adc_data)


doutw=doute.*hanning(numpt)';
dout_spect=fft(doutw);
dout_dB=20*log10(abs(dout_spect));
maxdB=max(dout_dB(1:numpt/2));
x=((0:numpt/2-1).*fclk/numpt);
y1=dout_dB(1:numpt/2)-maxdB;
figure(1)
plot(x,y1);
grid off;
title('32768-Samples FFT spectrum');
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');

fin=find(dout_dB(1:numpt/2)==maxdB);%找出幅度最大的频率点
%span=max(round(numpt/100),5);
span=5;
spanh=2;
spectp=(abs(dout_spect)).*(abs(dout_spect));%幅度的平方
Pdc=sum(spectp(1:span));
Ps=sum(spectp(fin-span:fin+span));%信号的幅度平方和
Fh=[];
Ph=[];
for har_num=1:10%寻找1至10次谐波分量
tone=rem((har_num*(fin-1)+1)/numpt,1);
if tone>0.5
tone=1-tone;
end
Fh=[Fh tone];
har_peak=max(spectp(round(tone*numpt)-spanh:round(tone*numpt)+spanh));
har_bin=find(spectp(round(tone*numpt)-spanh:round(tone*numpt)+spanh)==har_peak);
har_bin=har_bin+round(tone*numpt)-spanh-1;
Ph=[Ph sum(spectp(har_bin-1:har_bin+1))];
end
Pd=sum(Ph(2:5));
Pn=sum(spectp(1:numpt/2))-Pdc-Ps-Pd;

format;
SINAD=10*log10(Ps/(Pn+Pd));
SNR=10*log10(Ps/Pn);
THD=10*log10(Pd/Ph(1));
SFDR=10*log10(Ph(1)/max(Ph(2:10)));
HD=10*log10(Ph(1:10)/Ph(1));
ENOB=(SINAD-1.76)/6.02;

出来的结果如图
image.png
然后利用specture的程序测试
image.png
但是看到参考的文献中结果为
71545ce6ce70cf59644b22260278d66.png


发表于 2023-7-18 17:31:25 | 显示全部楼层
请问这是那篇参考文献呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-13 09:39:16 | 显示全部楼层


   
风也信子 发表于 2021-10-13 00:26
看频谱噪底很低的,且SNR很高,不像数据截位引入误差,反倒是频谱泄露现象明显,但你是加了窗的,换不同的 ...


我这里做的就是fin=fs*m/n,已经做了相干采样了,也加窗了,在cadence里面的测试,不同窗函数对应的singal bin是怎么选取的呢,有时候感觉影响挺大的。
回复 支持 反对

使用道具 举报

发表于 2021-10-13 00:26:47 | 显示全部楼层
看频谱噪底很低的,且SNR很高,不像数据截位引入误差,反倒是频谱泄露现象明显,但你是加了窗的,换不同的窗试试,这个应该是仿真来的吧,也可试试相干采样不加窗,论文图应该就是这样得来,若开销不大建议点数多些,频率分辨率会好些
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-12 19:23:12 | 显示全部楼层


   
geo24 发表于 2021-10-12 18:52
是这样的 如何 有改善吗


并没有解决问题,感觉应该是那里还有问题没有注意到
栅压自举开关,我只关注了开关管和电容接到的mos

回复 支持 反对

使用道具 举报

发表于 2021-10-12 18:52:53 | 显示全部楼层


   
vbstar 发表于 2021-10-12 14:45
我是利用matlab计算,导出的csv文件,在表格里面把小数点调整到15位,可以看到后面是有数据的,这样子的 ...


是这样的 如何 有改善吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-12 14:45:43 | 显示全部楼层


   
geo24 发表于 2021-10-11 11:41
我知道 我的意思是你sample的点的精度,cadence默认是三位


我是利用matlab计算,导出的csv文件,在表格里面把小数点调整到15位,可以看到后面是有数据的,这样子的精度应该是比较高的把。
回复 支持 反对

使用道具 举报

发表于 2021-10-11 11:41:25 | 显示全部楼层


   
vbstar 发表于 2021-10-11 09:19
我整个周期1u,采样200n,800n保持,所以我取点的是取得800n对应的点。


我知道 我的意思是你sample的点的精度,cadence默认是三位
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-11 09:19:05 | 显示全部楼层


   
geo24 发表于 2021-10-9 15:36
导出数据的时候记得小数点后多取几位 ,比如8位,应该会好不少


我整个周期1u,采样200n,800n保持,所以我取点的是取得800n对应的点。
回复 支持 反对

使用道具 举报

发表于 2021-10-9 15:36:52 | 显示全部楼层
导出数据的时候记得小数点后多取几位 ,比如8位,应该会好不少
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-17 03:11 , Processed in 0.019537 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表