File Exchange

## Computes the Total Harmonic Distortion (THD) of a signal

version 1.0 (2.72 KB) by

Useful in power systems and audio systems

Updated

function [ THD, ph, amp ] = compute_THD( t,x, freq )

Written by Dr. Yoash Levron
February 2013.

Computes the Total-Harmonic-Distortion (THD)
of a signal x(t). The amplitude and phase of the basic harmonic are also computed. These values are typically useful in power systems, audio signal processing, and other related fields.

The function computes the basic harmonic
of the signal, in the form:
x(t) = amp*cos(w*t - ph) + (higher Harmonics)
where : w = 2*pi*freq
so 'amp' and 'ph' are the phase and amplitude
of the basic harmonic.
DC offset does not affect THD.

inputs:
t - [sec] time vector. (should be periodical with basic harmonic 'freq')
x - signal vector.
freq - [Hz] frequency of the basic harmonic.

outputs:
THD - total harmonic distortion (the scale is 1 = 100%).
ph - [rad] phase of the basic harmonic.
amp - Amplitude of the basic harmonic.

### Mohammad Hamidi (view profile)

THD = 0.0375
This number was the function result for fundamental frequency without any distortion!!!

jing zhang

Mehdi Safaeian

Teodor Laurentiu

### Teodor Laurentiu (view profile)

I do have a common question regarding the distortion of a product.
In the technical paper of the product is written the following:

Distortion: less than 0.08% (at 1 kHz, reference level)

So neither the reference level nor the gain Setting is given. Assuming that the gain is 1, is there a plausible way to calculate the reference level from the given data.

PS: Sampling rate is 48 kHz

Limory

### Limory (view profile)

##### MATLAB Release
MATLAB 7.2 (R2006a)
##### Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

Play today