Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

amplitude of fft harmonics

Status
Not open for further replies.

gio1

Automotive
Jun 28, 2003
83
0
0
GB

Hello

I'm having a small problem in handling the results from a simple fft analysis of a signal (I don't do them everyday)

I am interested in finding the actual amplitude value of some harmonics. I managed to plot the spectrum: if I remember well I need to drop the first value (as this is the constant mean of the signal) and then consider only the first half of the fft result vector (the other half being a perfect mirror).

The major harmonics are actually where I was expecting (which means I hopefully managed to scale the X axis of the spectrum correctly in relation to the fundamental period). However, the values on the Y axis are way too high to be actual amplitudes.

If each k-th harmonic has the form

ak COS(kt) + bk SIN(kt)

Then the relationship between ak, bk and the k-th fft coefficient calculated by Matlab should be:

ak = (2/N) REAL(c(k+1))
bk = (-2/N) IMAG(c(k+1))

(where c=fft(x))

The quantity abs(c)=sqrt(real(c)^2+imag(c)^2) which I have plotted (and whose values are too high to make sense)strictly speaking is NOT the amplitude of the harmomics, as the amplitude should infact (am I right?) be

Amplitude=MAX( ak COS(kt) + bk SIN(kt) )

The above maximum turns out to be (after some calcs):

MAX( ak cos(kt) + bk sin(kt) )= ak COS(ATAN(bk/ak)) + bk SIN(ATAN(bk/ak))

But some of these values are negative, which doesn't make sense either...

So, back to the original question: How to calculate the actual amplitude of each harmonics?

Thanks

Gio1





 
Replies continue below

Recommended for you

Status
Not open for further replies.
Back
Top