Fourier Transform and Complex Plane

In summary, the FFT (fast Fourier transform) is a useful tool for analyzing functions in the frequency domain. When transforming a top hat function from the time domain to the frequency domain, the resulting graph is a sinc function when the absolute value squared of the complex values is taken. However, when plotting the returned values in the complex plane, it may result in a visually pleasing flower shape, but it is not a useful representation of the data. To better understand the properties of the Fourier transform, it is recommended to use standard plots of examples. As for finding the phase of the FFT, either atan2(z.im, z.re) or arg(z) can be used, but the result may not be what is expected due to potential time delays
  • #1
evad1089
19
0
I have been playing with the FFT and graphs. The easiest example I could think of for a transform was the top hat function (ie 0,0,0,0,0...1,1,1...0,0,0,0,0). When I transform this from the time domain to the frequency domain, it returns a sinc function when I take the absolute value squared of the returned complex values. This is all well and good (mostly beyond my understanding, but fun to play with).

Now my question comes in when I plot the returned values in the complex plane (real on x-axis and imaginary on y axis). This specific plot makes a quite pretty flower, but I have now idea what it means, and Google is no help. As I play with the variables and function to transform, I can skew, rotationally, the graph.

To the jist of the question, what, if anything does this plot represent? How do I interpret it?

Regards,
Dave
 
Physics news on Phys.org
  • #2
Basically no, this type of plot is not very useful. (There is a context in communications modulation theory in which such real vs. imaginary plots are used, but this is a special application.) Better to study the properties of Fourier transforms, and then use standard plots of examples to illustrate those properties.

For instance, the transform of a real function is Hermitian (conjugate symmetric) while that of a real symmetric function is real symmetric. Try both, plotting the real part of your transform versus index and superimposing the imaginary part in a different color. You see no imaginary part in the first case, and imaginary odd symmetry in the second.
 
  • #3
You might find this discussion of interest: the closely related Fourier transform is widely used...

Like the Fourier transform, the Laplace transform is used for solving differential and integral equations. In physics and engineering, it is used for analysis of linear time-invariant systems such as electrical circuits, harmonic oscillators, optical devices, and mechanical systems

http://en.wikipedia.org/wiki/Laplace_transform
and specifically applications to electrical circuits here:

http://en.wikipedia.org/wiki/Network_analysis_(electrical_circuits)#Transfer_function
 
  • #4
Thank you.

I have a secondary question related the fft. Taking the fast Fourier transform of the top hat returns a set of complex valued data points. Obtaining the magnitude of these points is quite easy, but phase is eluding me. It should be something like '_-_-_', switching at the places the magnitude touches zero.

I first tried arctan(imag/real), but this locked the values in one quadrant and gave me a graph that went something like this: '/ / /'.

Next I did some reading and found the atan2(imag,real) function. This one seemed to give me better results, the points fluctuate from 0 and -pi in the center to 0 and pi on the edges (if this doesn't make sense I can post the graph).

Then I found the Arg function in Mathematica, but I do not have a copy of Mathematica, so I found the definition of this function, and programed a function to replicate it in Maxima. This gave me the same results as atan2 function.

Back to the jist of my question, how does one find the phase of the fft?
 
  • #5
evad1089 said:
Back to the jist of my question, how does one find the phase of the fft?
You have almost answered your own question. Either atan2(z.im, z.re) or arg(z) is what you want. The answer may not be what you expected because your top hat function might not be "centred on zero". You're looking at a time-delayed top hat, and a time delay is equivalent to a phase change proportional to frequency.
 
  • #6
If you nice folks will tolerate a few more questions, I would be eternally grateful. I am still wrapping my head around the concept of phase; it seems a little more tricky that magnitude.

Here is the magnitude of the fft of my function:
[PLAIN]http://blackbricksoftware.com/custom/imagem.png
It is exactly what I would expect it to be.

Here is what I get when i use atan2(imag,real) for phase:
[PLAIN]http://blackbricksoftware.com/custom/image.png

And zoomed in:
[PLAIN]http://blackbricksoftware.com/custom/imagepz.png

According to my reading, the phase should jump between 0 and [tex]\pi[/tex] every time the magnitude reaches zero. I cannot seem to replicate this behavior in my functions.
 
Last edited by a moderator:

FAQ: Fourier Transform and Complex Plane

1. What is a Fourier Transform?

A Fourier Transform is a mathematical tool used to analyze the frequency components of a signal. It decomposes a function into its constituent frequencies, allowing for a better understanding of the underlying patterns and behavior of the signal.

2. What is the relationship between Fourier Transform and Complex Plane?

The Fourier Transform is closely related to the complex plane, as it uses complex numbers to represent the amplitude and phase of each frequency component in a signal. The complex plane is used to visualize and understand the behavior of these complex numbers in the frequency domain.

3. Can a Fourier Transform be applied to any signal?

Yes, the Fourier Transform can be applied to any signal as long as it is defined over a continuous time interval. It is commonly used in fields such as signal processing, image processing, and quantum mechanics to analyze and manipulate signals.

4. What is the difference between a Fourier Transform and a Fourier Series?

A Fourier Transform is used for signals that are defined over a continuous time interval, while a Fourier Series is used for signals that are periodic. A Fourier Series represents a periodic signal as a sum of sinusoidal functions, while a Fourier Transform represents a non-periodic signal as a continuous spectrum of frequencies.

5. How is the Fourier Transform used in image processing?

The Fourier Transform is commonly used in image processing to analyze and manipulate images in the frequency domain. This allows for operations such as filtering, compression, and enhancement to be performed on images by manipulating their frequency components. It is also used in image compression algorithms such as JPEG and PNG.

Back
Top