Supposons que j'ai un signal à plusieurs tons (six porteuses, à ± 1/1000, ± 2/1000 et ± 7/1000 de fréquence d'échantillonnage)
x = (1:1000);
wave = sin(x/1000*2*pi) + sin(x/1000*2*pi*2) + sin(x/1000*2*pi*7);
qui est quantifié à l'aide d'un ADC 14 bits
wave_quant = round(wave * 16384) / 16384;
La différence
wave_qnoise = wave_quant - wave;
donne l'erreur de quantification
Le spectre correspondant
wave_qnoise_freq = mag(fftshift(fft(wave_qnoise)) / sqrt(1000));
montre le bruit de fond généré sur l'ensemble du spectre.
Cela suppose que l'erreur de quantification n'introduit pas de biais. Si l'ADC choisit toujours la valeur inférieure
wave_quant_biased = floor(wave * 16384) / 16384;
on obtient une erreur de quantification qui n'est plus centrée autour de zéro
wave_qnoise_biased = wave_quant_biased - wave;
qui a un pic défini dans la FFT dans le bac DC
wave_qnoise_biased_freq = mag(fftshift(fft(wave_qnoise_biased)) / sqrt(1000));
Cela devient un problème réel avec par exemple la modulation d'amplitude en quadrature , où un décalage CC dans le signal démodulé correspond à une onde sinusoïdale à la fréquence de démodulation.