Hvordan beregne THD i MATLAB

Hvordan beregne THD i MATLAB


Total harmonisk forvrengning, eller THD, er et mål på hvor mye forvrengning er tilstede i et signal som følge av svingninger ved de harmoniske av inngangssignalet. THD, og ​​THD + N - en variant medregnet støy, er vanlige målinger ved vurdering av lydkvalitet. MATLAB er et matematisk programmering pakke som kan brukes til å beregne THD med bare noen få linjer med kode.

Bruksanvisning

1 Importer signalet data, eller generere et testsignal for demonstrasjonsformål.

t = 0: 1000;
signal = cos (2

pi 30 t) + 0,04 sin (2 pi 60 t) + 0,01 cos (2 pi 90 * t);

2 Lag et spektrum med dspdata.msspectrum () -funksjonen.

periodogram_obj = spectrum.periodogram;
mass_spec = dspdata.msspectrum (periodogram_obj, signal, 'Fs', 1000, 'NFFT', lengde (signal));

3 Pakk størrelsen av spekteret ved de harmoniske frekvenser.

my_data = mass_spec.Data (31,61,91);

4 Beregn THD, summen av størrelsene minus inngangssignalet dividert med inngangssignalet.

THD = sqrt (sum (my_data (2: end))) / sqrt (my_data (1));

5 Multiplisere med 100 for å uttrykke THD, eller THD + N, i prosent.

THD_pct = 100 * THD;