www.gusucode.com > signal 案例源码程序 matlab代码 > signal/CompareSNRWithTHDAndSINADExample.m
%% Compare SNR with THD and SINAD % Compute and compare the signal-to-noise ratio (SNR), the total harmonic % distortion (THD), and the signal to noise and distortion ratio (SINAD) of % a signal. %% % Create a sinusoidal signal sampled at 48 kHz. The signal has a % fundamental of frequency 1 kHz and unit amplitude. It additionally % contains a 2 kHz harmonic with half the amplitude and additive noise with % variance 0.1². fs = 48e3; t = 0:1/fs:1-1/fs; A = 1.0; powfund = A^2/2; a = 0.4; powharm = a^2/2; s = 0.1; varnoise = s^2; x = A*cos(2*pi*1000*t) + ... a*sin(2*pi*2000*t) + s*randn(size(t)); %% % Verify that SNR, THD, and SINAD agree with their definitions. SNR = snr(x); defSNR = 10*log10(powfund/varnoise); SN = [SNR defSNR] THD = thd(x); defTHD = 10*log10(powharm/powfund); TH = [THD defTHD] SINAD = sinad(x); defSINAD = 10*log10(powfund/(powharm+varnoise)); SI = [SINAD defSINAD]