function [ THD, ph, amp ] = compute_THD( t,x, freq )
Written by Dr. Yoash Levron
February 2013.
Computes the TotalHarmonicDistortion (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.
