The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 24th, 2024, 11:08pm
Pages: 1
Send Topic Print
ADC verification for ENOB close to Nyquist frequency (Read 8788 times)
weber8722
Community Member
***
Offline



Posts: 95

ADC verification for ENOB close to Nyquist frequency
Jun 20th, 2012, 12:35am
 
Hi,

in Cadence ADE calculator the spectrumMeas function is available to get the ENOB of an ADC with sine drive Smiley. It works fine for finput<<fclk, but close the fclk/2 it delivers completely wrong results Huh.
Maybe it is a general problem to get ENOB e.g. at 200MHz with 500MHz clock, because you have 2.5 samples only to calculate ENOB (OK you can run a bit longer and take 3 samples).
These samples I can pass through an ideal 250MHz low-pass and get a continous signal for frequency calculation. But in simulation this would take a lot of time, so I wonder what would be the correct mathematical way? Does anybody has C or matlab or veriloga or skill code to do this?

Bye Stephan
Back to top
 
 
View Profile   IP Logged
ywguo
Community Fellow
*****
Offline



Posts: 943
Shanghai, PRC
Re: ADC verification for ENOB close to Nyquist frequency
Reply #1 - Jun 25th, 2012, 7:06pm
 
Hi Stephan,

It is glad to know that calculator has a function for ADC performance evaluation. I found the following information in Virtuoso Visualization and Analysis XL User Guide, Product Version 6.1.5 May 2012.

Quote:
spectrumMeas

Calculates Signal-to-Noise-and-Distortion Ratio (SINAD), Spurious Free Dynamic Range (SFDR), Effective Number of Bits (ENOB), and Signal-to-Noise Ratio (without distortion) by using discrete Fourier transform of the clipped portion of any given input signal.

The spectrum measure is used for characterizing A-to-D converters and is typically supported for transient simulation data.

The spectrum function is available only in the SKILL mode.
ParagraphBullet
     Signal is signal to be measured.
ParagraphBullet
     Start Time is the time to start clipping the signal in time domain.
ParagraphBullet
     End time is the time to end clipping in time domain.
ParagraphBullet
     Number of Samples is the number of sampled points used for the FFT.
Valid values: Any integer power of two greater than zero. For a value that is not a power of two, the function rounds it up to the next closest power of two.
Default value: Number of data points in the Signal.
ParagraphBullet
     Number of Noise bins is the number of noise bins where the size of one bin is the reciprocal of the data window width. For example, 1 ms of transient data creates a bin size of 1 kHz.
Valid values: Any integer power of two greater than or equal to zero.
Default value: 0, implying that no signal is spilling into the bins. A frequency band of bin-size times the number of bins is calculated and adjusted as a function of the selected window. Frequency components in each band to the left and right of the fundamental or the harmonics are set to zero and do not contribute to any output result.
ParagraphBullet
     Start Frequency is the lower limit of frequency range for the spectrum measures. Default value: First frequency point of the FFT.
ParagraphBullet
     End Frequency is upper limit of frequency range for the spectrum measures.
Default value: Last frequency point of the FFT.
ParagraphBullet
     Window Type is the windowing function applied to o_waveform.
Valid values: Blackman, Cosine2, Cosine4, ExtCosBell, HalfCycleSine, HalfCycleSine3, HalfCycleSine6, Hanning, Hamming, Kaiser, Parzen, Rectangular, and Triangular.
Default value: Rectangular.
ParagraphBullet
     ADC Span is the full-scale span ignoring any DC offsets. This is used in ENOB calculation.
Valid values: Any floating point number.
Default value: If ADC Span is not specified or is nil, it is assumed to be 0 and is taken to be the peak-to-peak value of the fundamental.
ParagraphBullet
     Measure Type is Result specifier.
Valid values: sinad, sfdr(db), enob, and snhr.
Default value: sinad


What is your product version? How many samples do you use for measuring?

Best Regards,
Yawei
Back to top
 
 
View Profile   IP Logged
weber8722
Community Member
***
Offline



Posts: 95

Re: ADC verification for ENOB close to Nyquist frequency
Reply #2 - Jul 4th, 2012, 5:40am
 

Hi Yawei,

thanks for response. I am using ic615-isr11. I think the bad enob calculation comes because only few points will be hit close to Nyquist frequency. The worst result I got at fin=fNyquist/2=fclk/4. Here 4 points are taken, and you have no benefit in using multiple periods - you just simulate the same stull in the next period.
Here spectrumMeas gives me something like 20 as enob for a 6-bit flash-ADC!!!
Using not fNyquist/2 but e.g. 0.9*fNyquist/2 and many many periods is much better - but takes much more simulation time.

Bye Stephan
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.