|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
下面是我的ADC matlab code,但是不知道为什么频谱很奇怪。
clear;
fs=2*10^8;
time=2*10^(-6);
fin=490000;
N=1024;
Vdd=2;
Vref=0:Vdd/(N-1):Vdd;
t=0:1/fs:time-1/fs;
Vin=sin(2*pi*fin*t)+1;
i=time*fs;
LSB=Vdd/(N-1);
for x=1:1024
for y=1:400
if((Vin(y)>Vref(x)-LSB/2)&&(Vin(y)<Vref(x)+LSB/2))
Vout(y)=Vref(x);
end
end
end
figure
plot(t,Vin);
figure
plot(t,Vout);
window=hann(400);
output=window.'.*Vout;
vol=fft(output);
psd=(vol./(200)).^2;
freq=fs/800:fs/800:fs/2;
figure
semilogx(freq,10*log10(abs(psd)));
本来应该是在输入频率490KHz那个地方有一个peak的,但是现在低于这个频率的地方也很高的amplitude,不知道为什么,求高手解释一下,小弟怀疑是信号处理的code有问题,请指教! |
|