I'm facing an issue with Cadence VIVA Spectrum Tool (6.1.5-64b.500.16.2) and THD/SNR calculation.
If I take an ADC/DAC with single-tone signal input close enough from the Nyquist frequency so that its natural harmonics fall above Fs/2, hence they get folded back into the Nyquist band, it seems those frequencies are not taken into account in the calcul of THD.
Hence, THD is wrong and SNR is wrong as well since it considers these "folded-harmonics" as noise bins and not harmonics (SNR should not take into account harmonics).
Thus, we end-up with SNR=SNDR (since it is not able to make difference between what is "noise" and what is "folded harmonics") and very close to SFDR (since the spurs are considered as noise and not folded harmonics from the input tone)
Concrete example :
Fs = 1.2MHz
Fin = 280kHz @ -0.5dB.
H2= 560kHz @ -110dB
H3= 840kz @ -75dB => folded back to 360kHz
Noise floor = around -85dB
VIVA report :
THD = -110dB => WRONG(should be worse than -75dB ..)
SNR = -75dB => WRONG (should be around -85dB)
SNDR = -75dB => WRONG - SEEMS good, but same as SNR but SNR is already wrong no contribution from THD since it is completely off.
Was this bug already report ? Is there any fix available ?