The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> SNR of an ideal ADC https://designers-guide.org/forum/YaBB.pl?num=1102800907 Message started by Vivek Chandrasekhar on Dec 11th, 2004, 1:35pm |
Title: SNR of an ideal ADC Post by Vivek Chandrasekhar on Dec 11th, 2004, 1:35pm Hi, Digital output of an ideal 4 bit ADC was computed using Verilog AMS.This digital output was stored in a .dat file. I calculated SNR of this ideal 4 bit ADC using Matlab code . My SNR value of 18dB doesnot seem to match the ideal value of (1.76+6.02n where n is resolution of ADC) 25.78dB for a 4 bit ADC. I am using a sampling frequency of 2.5 GHz and input frequency of 500MHz. I would be greatful to anyone who could help me solve this problem. Thanks Vivek |
Title: Re: SNR of an ideal ADC Post by sheldon on Dec 28th, 2004, 4:40pm Vivek, Simulating ADC dynamic performance is non-trivial. The results are dependent on the setup of the simulation. You will need to use the same methodology that designers use when testing data converters on the bench. The best place to look for information is AD/Maxim/BB. You will need to search for information on coherent sampling. Here is one useful link from Maxim, http://japan.maxim-ic.com/tools/calculators/index.cfm/calc_id/appnote3190 To summarize the issues, you need to do two things: 1) Control the time span used for the FFT data record so that it contains an integer number of periods of the clock and input signal. This will eliminate spectral leakage so you won't need to use windowing functions. NOTE: Everybody uses windowing function on the testbench. It can't be helped since it is impossible to perfectly synchronize the clock and input. However, it can be helped when simulating so don't do it! Windowing functions can mask the actualy characteristics of the ADC. 2) Make the ratio of the input signal to the clock signal , depend on the prime number for example. 17 periods of the input to 256 periods of the output. If you use even numbers, for example, 1MHz input for a 10MHz, sample rate, then the noise shows up at the harmonics of the beat frequency, e.g., 2MHz, 3MHz, ... So the SNR will be correct but the SFDR will be incorrect. 3) The simulation you are performing only inlcudes the quantitazation noise of the ADC, so you should see the SNR match the ideal value. I have checked this for 10 bit ADCs and the theory matches simulations. Best Regards, Art Schaldenbrand |
Title: Re: SNR of an ideal ADC Post by sheldon on Jan 1st, 2005, 7:28pm Vivek, Just wanted to add a little more for your specific case. 1) Choose an input level just below the full scale input. For example, if the full scale input is 1Vpp, the typical input level is -1dBfs, 1 dB below full scale, or 0.89125V. The signal needs to be large enough so that you measure the full dynamic range, but not so large that you overload the the ADC. Or you need to compensate for the input level, that is, if the input is -6dBfs, then the actual SNR should be 6dB greater than the measured SNR(ideally). 2) For your case assuming a 256 point FFT, you need to run a simulation that is 256 * ( 1 / 2.5e9) = 102.4ns + alpha, alpha allows start-up transients to to settle and selecting the correct point in the sampling period for the FFT. 3) You need to offset the data points in the FFT so that the reconstructed analog has settled to its final value. For example, allowing 1 period to settling startup transients and 390 ns, sampling period is 400ns, for the analog to settle, then the first time should be 790ns for the FFT and the transient simulation should be at least 103.19ns long. 4) For a sampling frequency of 2.5GHz, a target input frequency of 500MHz, and a 256 point FFT, the input frequency should be something like 47/256 * 2.5GHz, or 458.984375MHz. Best Regards, Sheldon |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |