The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Issues in SNR calculation for Delta Sigma ADC
https://designers-guide.org/forum/YaBB.pl?num=1345711869

Message started by sourav on Aug 23rd, 2012, 1:50am

Title: Issues in SNR calculation for Delta Sigma ADC
Post by sourav on Aug 23rd, 2012, 1:50am

Hi Guys,
I am finding issues in SNR calculation for my Simulink model and the model given in Screier toolbox.A  pdf file is attached with the SNR figures and the model i have used

Specifications for my simulink model:

Amplitude= 0.8
Samples per period= 1170
Sample time= 10^-6
Frequency=2*pi*854.49 Hz

a,g,b,c have been calculated for CIFB model as:

H = synthesizeNTF(2,256,0,2);
[a,g,b,c] = realizeNTF(H,'CIFB')
a =
   0.4721    1.2361
g =
    0
b =
  0.4721    1.2361    1.0000
c =
    1     1

Matlab code for SNR calculation:
OSR = 256;
H = synthesizeNTF(2,OSR,0,2);
N = 8192; fB = ceil(N/(2*OSR));
f=7;
u = 0.8*sin(2*pi*f/N*[0:N-1]);
v = simulateDSM(u,H);
%%
t = 0:1000;
stairs(t, u(t+1),'g');
hold on;
stairs(t,v(t+1),'b');
axis([0 200 -1.2 1.2]);
ylabel('u, v');
%%
spec=fft(v.*ds_hann(N))/(N/4);
%figure
plot(linspace(0,0.5,N/2+1), ...
dbv(spec(1:N/2+1)));
axis([0 0.5 -120 0]);
grid on;
ylabel('dBFS/NBW')
snr=calculateSNR(spec(1:fB),f);
s=sprintf('SNR = %4.1fdB\n',snr)
text(0.25,-90,s);
s=sprintf('NBW=%7.5f',1.5/N);
text(0.25, -110, s);


Problem is that SNR for my model does'nt scale with OSR and also significantly smaller than theoretical one....

All sorts of suggestions are solicited....

Thanks and Regards,
Sourav





The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.