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
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
 

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
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

kickbeer

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
noise sfdr

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

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
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

kickbeer

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
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?
 

Petre Petrov

Member level 3
Joined
Aug 5, 2009
Messages
58
Helped
7
Reputation
14
Reaction score
2
Trophy points
1,288
Location
Sofia
Activity points
1,780
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
https://www.maxim-ic.com/glossary/definitions.mvp/term/sfdr/gpk/268
https://www.maxim-ic.com/tools/calculators/index.cfm/calc_id/maxim_sinad

But the term and the source seem to me controversial.

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

kickbeer

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
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
https://www.maxim-ic.com/glossary/definitions.mvp/term/sfdr/gpk/268
https://www.maxim-ic.com/tools/calculators/index.cfm/calc_id/maxim_sinad

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
 

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
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

ozgura2

Newbie level 4
Joined
Sep 2, 2009
Messages
5
Helped
3
Reputation
6
Reaction score
0
Trophy points
1,281
Location
Turkey
Activity points
1,312
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

kickbeer

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
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 https://cmosedu.com/cmos2/hw_MSD/Ch5_MSD_hw.pdf

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
 

ozgura2

Newbie level 4
Joined
Sep 2, 2009
Messages
5
Helped
3
Reputation
6
Reaction score
0
Trophy points
1,281
Location
Turkey
Activity points
1,312
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

kickbeer

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
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

Top