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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7726|回复: 12

[求助] 求问sigma delta ADC的频谱分析

[复制链接]
发表于 2016-10-10 15:05:53 | 显示全部楼层 |阅读模式

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

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

x
请问从cadence中导出了仿真数据,在matlab中进行fft变换时的matlab程序该怎么写呀?是不是与一般的数据做fft变换不同,要考虑到OSR的问题,要把过采样频率转换为奈奎斯特频率呢?具体应该怎么呢?多谢
 楼主| 发表于 2016-10-10 15:24:55 | 显示全部楼层
补充一下~~
我的SDM的量化器输出是三位数据,我把它们从cadence中导入matlab,利用如下程序:
vd0=round(vd0);        %先取整
vd1=round(vd1);
vd2=round(vd2);
for i=1:8000               %在将三位数据转化成一位的数据流
if (vd2(i)==3)&(vd1(i)==0)&(vd0(i)==0)
vd(i)=1;
else if (vd2(i)==0)&(vd1(i==3))&(vd0(i)==0)
vd(i)=0;
else if (vd2(i)==0)&(vd1(i)==0)&(vd0(i)==3)
vd(i)=-1;
end
end
end
end
Fs=32000000;      %进行FFT仿真
N=8000;
z=fft(vd);
f=(0:N-1)*Fs/N;
Mag=2*abs(z)/N;
plot(log10(f(1:N/2)),20*log10(abs(Mag(1:N/2))),'-');
这样得到的结果是不对的,我的程序应该是有问题的,请大神指教~
 楼主| 发表于 2016-10-12 08:27:05 | 显示全部楼层
自己顶一个
发表于 2016-10-12 13:52:06 | 显示全部楼层
matlab网页上有个SDtoolbox,里面有的?
做sigmadelta ADC都用过这个toolbox吧?
 楼主| 发表于 2016-10-12 14:19:21 | 显示全部楼层
回复 4# bright_pan
我是把cadence中的数据导入matlab中进行处理,SDtoolbox是用在建simulink模型时候用的吧,这里能用上吗?
 楼主| 发表于 2016-10-12 15:54:28 | 显示全部楼层
我又找到了一个FFT程序如下,vd是一位的数据流,
ntot=length(vd);
osr=32;
N=8192;
fsignal=476562.5;
fs=32000000;
fbin=N*fsignal/fs;
w=hann(N);
nb=3;
w1=norm(w,1);
w2=norm(w,2);
NBW=(w2/w1)^2;
V=fft(w.*vd)/(w1/2);
signal_bins=fbin+[-(nb-1)/2nb-1)/2];
inband_bins=0:N/(2*osr);
noise_bins=setdiff(inband_bins,signal_bins);
snr=dbp(sum(abs(V(signal_bins+1)).^2)/sum(abs(V(noise_bins+1)).^2));
figure(1);
clf;
semilogx([1:N/2]/N,dbv(V(2:N/2+1)),'b','Linewidth',1);
hold on
[f p]=logsmooth(V,fbin,2,nb);
plot(f,p,'m','linewidth',1.5);
s=sprintf('SNR= %4.1fdB\n',snr);
text(0.1,-120,s);
figureMagic([1/N 0.5],[],[],[-140 0],10,2);
但得到的SNR只有-3.5,是怎么回事呀?请指教
发表于 2016-10-13 00:05:17 | 显示全部楼层
同问,求解答,有没有这方面的讲解
发表于 2020-9-28 09:42:40 | 显示全部楼层
求问楼主,数据是怎么才能从cadence导出来啊,有没有代码呢?我在网上找的一位导出方法不适用多位的啊
发表于 2021-4-23 15:40:02 | 显示全部楼层


chafenfa 发表于 2016-10-12 15:54
我又找到了一个FFT程序如下,vd是一位的数据流,
ntot=length(vd);
osr=32;


这段代码是何乐年书上的吧,我也在弄这个,但没弄出来,大佬找出问题出在哪里了吗
发表于 2022-2-22 18:26:08 | 显示全部楼层
同问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 00:49 , Processed in 0.023951 second(s), 8 queries , Gzip On, Redis On.

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