# 2nd order sigma delta ADC

Status
Not open for further replies.

#### Mahyar_AMS

##### Newbie level 5 2nd order sigma delta and fft

I am starting the system modeling of a reconfigurable 2nd order SD ADC in Simulink. I have some questions while my design specs are like this:

* 80dB SNDR over 100 KHz (GSM) and 60 dB SNDR over 500 KHz (Bluetooth)
* Technology = 0.18 um
* Power : as lower power as possible

My questions:

1- What architecture do you suggest me to use? (Error feedback(Unity STF) , Boser-Wooley or etc.)

2- I am being given a file to estimate the SINAD of the ADC in MATLAB after the simulink simulation. the file is like below.

I did not understand what bin (cycles) and len stand for? and also this line: ms = ms(1:end/2)/N*2; what does it do and why?

% tsample=1/1e6; OSR=1; len=1024; bin=17; N=5;

% Uncomment the hanning window if the number of periods during
% the simulation is not an entire number

% First remove the DC

% Execute discrete fourier transform
ms = abs(fft(m));
ms = ms(1:end/2)/N*2;

cycles = bin

msdb=20*log10(ms);
figure;
semilogx(msdb)

% The energy of the test signal is contained in the bin msigbin:

msigbin = 1 + cycles;

% The noise is found by creating a new array and removing the test signal

M = len/2; % We only need to look at half of the FFT
mnoise = zeros(1,M);

%%% The hanning window spreads the main signal in a few bins
NBINS = 3;

for i=1 msigbin-NBINS),
mnoise(i) = ms(i);
end

% The signal is obtained by:
msignal = ms(msigbin-NBINS:msigbin+NBINS)
%mnoise(msigbin) = 0;
%mnoise = [ms(1:msigbin-1), ms(msigbin+1:end)];

% The SINAD is found by squaring the test signal and dividing by the
% square of all the noise components

%msnr = 10*log10( ms(msigbin)^2/sum(mnoise.^2))
msnr = 10*log10( sum(msignal.^2)/sum(mnoise.^2))