Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to compute the SNR of ADC from the dft output?

Status
Not open for further replies.

yyliang

Member level 2
Joined
Aug 26, 2004
Messages
44
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
365
dft snr simulation

I am designing a SAR ADC,when I simulate the SNR,I use a sine wave as the input and get the dft of the output of the ADC,but I don't know how to compute the SNR from the dft output. can anyone tell me? thank you in advance.
 

snr of adc

Compute the power in each frequency bin and add the bins other than the one where the desired signal occupies. Do this over the frequency range you want to use to specify the SNR. Then compare this to the power in the frequency bin with the desired signal.
 

snr dft bins

Thank you,flatulent.
but I analyze the output in 1024 frequency bins,how can I process so many datas? Is there any special tools in Cadence? or I should save the datas and process them with Matlab?
 

snr ,dft

If your ADC is working properly, the bins should have equal noise powers. Then hand calculate one and multiply by the number of bins. One source of error in your simulation is the default settings on the simulator. If the SNR you calculate seems wrong, use a simulation with smaller time steps and smaller absolute and relative tolerance settings if the simulator options allows this. SPICE does.
 

adc dft

I have set the max time step as 1ns, the reltol=1e-6,the vabstol=1e-6 and the iabstol=1e-12,but the power of the frequency bins didn't change,they are still unequal. perhaps there was some mistakes in my method,could you tell me how to do it indetail?
 

reltol vabstol adc

print out the output signal and use matlab
 

how to compute snr

I would recommend to print data to file and use Matlab - for me it's simplier..

About unequal freq beans - they can be slightly unqual due to nonidealities. Also I think that 1024 points may be not good enough for a proper freq resolution, especially if you look at freq near DC and the harmonic distortion of your ADC
 

snr dft

Are you letting the ADC simulation run for many cycles of the input sinewave? There may be some startup transients in the converter. Then slice out a time near the end of the time that contains an exact integer number of sine wave cycles.
 

in my option,the HSPICE's performance in SNR simulation is very bad,may print out the resulst to file .then use MATLAB to analysis,but u must take care about the relation between sample time in MATLAB and print time step in Hspice!!!!!!
 

u can do it as follows
use ur input as a sin wave at frequency of interest
run time analysis & export ur output to matlab there u can use one of the psd functions (i recommend pwelch) & do as flatulent told u
 

yyliang said:
I have set the max time step as 1ns, the reltol=1e-6,the vabstol=1e-6 and the iabstol=1e-12,but the power of the frequency bins didn't change,they are still unequal. perhaps there was some mistakes in my method,could you tell me how to do it indetail?

Did u use delmax to set the max time step? Be careful of the relation of samplying frequency and signal frequency. Remember fsignal/fsample*points must be a prime number to prevent spectrum leakage.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top