## Obtaining Phase and Amplitude from FFT

Is it possible to calculate the phase and signal amplitude from data gained from FFT?

For instance, if I have a samples from a signal B+A*cos(ψ), is it possible to obtain A and ψ?

Extra challenge: is it possible to do so without division? (I am looking to put this on a DSP and division is expensive)

Thanks!
 PhysOrg.com engineering news on PhysOrg.com >> Army ground combat systems adopts tool for choosing future warfighting vehicles>> Company pioneering new types of material for 3-D printer 'ink'>> Student-built innovations to help improve and save lives
 Which is the time varying signal? I think the example you gave might be a constant. If so your problem is much easier to solve. :) Basically: In theory, sure. In practice, maybe. For example, if A is less than a LSB or the sampling rate is slower than the frequency you want to observe, then no. And then when measuring phase there is the whole problem of, what exactly is t0? You might want to look at this primer. I think it looks pretty good. http://www.google.com/url?sa=t&rct=j...T1Ug3mHVbrYeMQ
 Does it help if I have a pretty good estimate of ω? The signal would be: $$B + A\cos(\omega t + \phi)$$ where B and A are constant

## Obtaining Phase and Amplitude from FFT

The output of your FFT is a complex number for each frequency bin.
Complex number is rectangular coordinates. You will use trig to convert these to polar (magnitude/phase angle).

 Quote by henryd Does it help if I have a pretty good estimate of ω? The signal would be: $$B + A\cos(\omega t + \phi)$$ where B and A are constant
$t$ relative to what? what is the origin of your time axis? is it relative to the very first bin (sometimes called the "zeroeth" bin) $x[0]$. i.e. is bin 0:

$$x[0] = B + A\cos(\omega 0 + \phi) \ \$$ ?