Question: ADIsimRF has a bunch of models for ADCs. How do you calculate the noise figure for an ADC?
Answer: You can think of the noise figure as the delta between the ADCs input-referred noise spectral density (in dBm/Hz) and the thermal noise floor of -173.8 dBm/Hz Let's consider an example
Vinfs = 1.2Vpp
Rin =100 ohms
SNR = 57 dBFS
Fs = 2500 MSPS
So we need to get the noise into dBm/Hz. To get things into the power domain, you need to declare an input impedance for the ADC. If the input impedance of the ADC is generally shunted down by an external resistor (typically 100 or 200 ohms) then use this value for the resistance (to be more correct, you could use the parallel combination of the external resistor and larger internal input resistance of the ADC. In this example, we set Rin to be 100 ohms.
Next you figure out the full scale input level in dBm. So if you have an input resistance of 100 ohms and a full scale input signal of 1.2V pp, this becomes 2.55 dBm (1.2Vpp is 0.4242Vrms, in dBm, this becomes 10 log (1000 x (Sqr(0.4242))/100) = 2.55 dBm).
If the SNR from the datasheet is 57 dBFS, then the absolute noise is -54.44 dBm. Convert this to dBm/Hz by subtracting 10 log (Fs/2). So -54.44 dBm becomes -55.44 - 10 log (2500000000/2) = -145.41 dBm/Hz. This is the input noise spectral density.
The last step is the calculate the difference between this number and -173.8 dBm/Hz, the thermal noise floor. This yields a Noise Figure of 28.39 dB.
These calculations are detailed in the attached spreadsheet along with calculation of an ADC's IP3
You are correct. ADIsimRF does not have this flexibility. So when we create an ADC model for ADIsimRF, we build it using nominal conditions (Sample Rate, SNR at that sample rate and full-scale input voltage) which cannot be changed. It might be an enhancement that we could add in the future, that is, to allow the user to specify a different sample rate.
there is no inputbox for ADC Vref & Fs，so how can the software calculate ADC output NSD？