Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does a complex number capture phase, amplitude AND frequency in the result of an FFT?

I understand that the magnitude and phase are captured in the real and imaginary parts in the result of an fft. But how does each sample capture phase?

Is the phase related to the N discrete samples provided in time domain?

That is, if the input sample included 44100 samples for a second, then is each resulting value of the FFT represent 1/44100 of the phase?

For example, the first FFT value is at frequency 1/44100 and the second value is 2/44100 and so on?

like image 521
steve landiss Avatar asked Dec 09 '22 00:12

steve landiss


1 Answers

The output of an FFT simply expresses how you can reconstruct the original waveform from the sum of harmonically-related sinusoidal components.

Each output value expresses the amplitude and phase (i.e. offset angle) of the corresponding component. It's important to note that each component is a complex sinusoid (something of the form A * exp(j * 2pi * f * n + phi), not A * cos(2pi * f * n + phi)).

The frequency is implicit in the index of the output sample; if your sample rate if fs (in Hz) and you have a length-N FFT, then the centre frequency corresponding to output sample i is i*fs/N (in Hz).

like image 190
Oliver Charlesworth Avatar answered Dec 28 '22 09:12

Oliver Charlesworth