Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Distortion Measurements

Generate 2048 samples of a sinusoid of frequency 2.5 kHz sampled at 50 kHz. Add white Gaussian noise such that the signal-to-noise ratio (SNR) is 80 dB.

Fs = 5e4; 
f0 = 2.5e3;
N = 2048;
t = (0:N-1)/Fs;
SNR = 80;

x = cos(2*pi*f0*t);
x = x+randn(size(x))*std(x)/db2mag(SNR);

Pass the result through a weakly nonlinear amplifier represented by a polynomial. The amplifier introduces spurious tones at the frequencies of the harmonics.

amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3];
x = polyval(amp,x);

Plot the signal spectrum and annotate the SNR, verifying that it has the expected value. The snr function computes the power ratio of the fundamental to the noise floor and ignores the DC component and the harmonics.

snr(x,Fs);

Plot the signal spectrum and annotate the total harmonic distortion (THD). The thd function computes the power ratio of the harmonics to the fundamental and ignores the DC component and the noise floor.

thd(x,Fs);

Plot the signal spectrum and annotate the signal to noise and distortion ratio (SINAD). The sinad function computes the power ratio of the fundamental to the harmonics and the noise floor. It ignores only the DC component.

sinad(x,Fs);

Verify that the SNR, THD, and SINAD obey the equation

lhs = 10^(-snr(x,Fs)/10)+10^(thd(x,Fs)/10)
lhs = 7.2203e-08
rhs = 10^(-sinad(x,Fs)/10)
rhs = 7.1997e-08

Plot the signal spectrum and annotate the spurious-free dynamic range (SFDR). The SFDR is the power ratio of the fundamental to the strongest spurious component ("spur"). In this case, the spur corresponds to the third harmonic.

sfdr(x,Fs);

Was this topic helpful?