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 determine SFDR, SNR, SNDR of ADC with LTSpice

Status
Not open for further replies.

kickbeer

Full Member level 3
Full Member level 3
Joined
Nov 7, 2008
Messages
162
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,296
Activity points
2,356
sfdr importance in adc

Hello,

The standard SFDR is 48dBc. What does it mean, when SFDR is higher than 48dBc or lower than that value?

Thank you very much

Regards,
Kickbeer
 

sndr adc

SFDR is defined as the ratio of the RMS value of the carrier frequency to the RMS value of the next largest noise or harmonic distortion component.
 

    kickbeer

    Points: 2
    Helpful Answer Positive Rating
noise sfdr

so, does that mean the higher the SFDR, the better it is?? Because the higher the noise, SFDR will be lower
 

snr for adc

kickbeer said:
so, does that mean the higher the SFDR, the better it is??

Correct. SFDR is a measure o linearity.

kickbeer said:
Because the higher the noise, SFDR will be lower

I do not know what you mean.
 

    kickbeer

    Points: 2
    Helpful Answer Positive Rating
adc simulation sndr matlab

I'm simulating my ADC with LTSpice. I took this from an article:
"To determine a system’s SFDR, apply a sine wave to your ADC input and use an appropriate sample rate.Then run an FFT and examine the spectral output. You can see the fundamental frequency and “spurs” from harmonics of the test signal and system components. I recommend you make this test at several sine-wave frequencies and sample rates."

Do you know, how many times(minimum) should we apply sine-wave with different frequencies?
 

ltspice maxim

May you should take at least 20 experiments with different values.
The requirements about the experiments/simulations depend on the test goals.

Also here you have some explanations:
https://en.wikipedia.org/wiki/Spurious-free_dynamic_range
**broken link removed**
**broken link removed**

But the term and the source seem to me controversial.

Could you please give more data about your paper and test goals?
 

wiki sfdr

Petre Petrov said:
May you should take at least 20 experiments with different values.
The requirements about the experiments/simulations depend on the test goals.

Also here you have some explanations:
https://en.wikipedia.org/wiki/Spurious-free_dynamic_range
**broken link removed**
**broken link removed**

But the term and the source seem to me controversial.

Could you please give more data about your paper and test goals?

I just have designed a 8-bit folding and interpolating ADC. In order to check the static performance, i have put a ramp input signal and found out that there is no missing codes. Now i want to know test the dynamic performance for example the SFDR at simulation level. I really don't have idea how to record all the data and use it in matlab. I don't know if it is easy or not because i am matlab beginner. I think all the article in Maxim website are for fabricated chip. I really need help because i am stuck at this point. Thy very much
 

rms ltspice

you need to figure out how your simulator can write text data to a file (I have never used LTSpice so I cannot help you here) then you can use matlab to read the text file in and create a data vector that will be processed by an fft function to give you the adc output spectrum.
Once you have the spectrum, you can calculate the SNR, THD, SFDR, and so forth...
The learning curve might be a little steep but knowing the basics is fundamental in circuit design...
 

    kickbeer

    Points: 2
    Helpful Answer Positive Rating
ideal sfdr of a dac

You will do a transient simulation, assume sampling with a 500MHz clock, fsampling is 2ns. For 8-bit performance 256 data points is sufficient for FFT. Do a minimum 256*2ns (512ns) transient simulation. Input sinus frequency should be (127/256)*500M. 256 is FFT points 127 is a prime number. For this case input frequenccy is near Nyquist frequency, you can decrease it. After tran sim use Cadence's dft calculator function. If you are using other tools there should be fft function similar.
 

    kickbeer

    Points: 2
    Helpful Answer Positive Rating
    V

    Points: 2
    Helpful Answer Positive Rating
sndr from dft

ozgura2 said:
You will do a transient simulation, assume sampling with a 500MHz clock, fsampling is 2ns. For 8-bit performance 256 data points is sufficient for FFT. Do a minimum 256*2ns (512ns) transient simulation. Input sinus frequency should be (127/256)*500M. 256 is FFT points 127 is a prime number. For this case input frequenccy is near Nyquist frequency, you can decrease it. After tran sim use Cadence's dft calculator function. If you are using other tools there should be fft function similar.

Is there no need to connect my ADC with ideal DAC or something else? Can i just use my ADC alone? Look at this **broken link removed**

Added after 6 minutes:

JoannesPaulus said:
you need to figure out how your simulator can write text data to a file (I have never used LTSpice so I cannot help you here) then you can use matlab to read the text file in and create a data vector that will be processed by an fft function to give you the adc output spectrum.
Once you have the spectrum, you can calculate the SNR, THD, SFDR, and so forth...
The learning curve might be a little steep but knowing the basics is fundamental in circuit design...

Hi Joannes,

Have you ever worked with Matlab before? i have just found a Matlab Code to convert .raw waveform file into compatible matlab data. i have successfully converted the .raw data(output of my ADC) into matlab compatible data. but now, i don't know how to use the data to calculate parameter like SNR, SNDR, and SFDR..I really have no idea at the moment
 

sfdr of adc

I use binary weighting of digital output data at Cadence calculator like (BIT<7>*2^7+BIT<6>*2^6...) Of course you can use an ideal DAC also. DFT will sample discrete points of this summed data.
 

    kickbeer

    Points: 2
    Helpful Answer Positive Rating
ltspice for chip design

ozgura2 said:
I use binary weighting of digital output data at Cadence calculator like (BIT<7>*2^7+BIT<6>*2^6...) Of course you can use an ideal DAC also. DFT will sample discrete points of this summed data.

Can you show me the snapshot of your simulation result? And what type of ADc you have designed?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top