1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fourier transform doubt

  1. Sep 16, 2011 #1
    I have some silly doubts and i read some articles about FFT but could not able to conclude my self.
    What are the difference between
    1) FFT power sprectrum and Power sprectrum density
    2) FFT Phase and magnitude
    3) FFT Real and imaginary

    Can some make it clear to me.
  2. jcsd
  3. Sep 17, 2011 #2


    User Avatar

    1. FFT power spectrum is not a commonly used term - as I understand it, it is an energy associated with particular frequency mode. FFT is always discrete, while spectrum density applies to continuous density function. So those two are pretty similar, possibly with proportionality coefficient (you must be aware about proportionality coeffs anyway, as various implementations of FFT differently treat the normalisation factor between: thay take it into account either in forward or reverse transformation, or apply sqrt of it to both of them, and some - among them most popular fftw library - even leave the result unnormalised)

    2., 3. The result of the Discrete Fourier Transform (FFT is its algorithmic implementation) is a series of complex numbers, even if the transformed function was a real one. So you may represent it either as Re and Im parts, or as magnitude and phase. If it may make a difference, you should also be aware that various implementations may have opposite conventions about the sign of imaginary FFT coeffs.

    You may interprete it in terms of sin and cos series, where real coefficients apply to cos series and imaginary coefficient to sinuses (keep in mind the issues of normalisation factor and a sign of imaginary coeff).
    Last edited: Sep 17, 2011
  4. Sep 17, 2011 #3
    I have a signal in frequency domain and its having some noise frequencies in it. The noise may be due to mechanical parts in my system. I want to reduce these noise by just maintaining some distance from mechanical part. So, How can i differentiate these noises in the pictures below and how can i make conclusion that which frequency is related to mechanical noise. This always varies device to device because in some devices mechanical noise is more and in others may be less. I want to separate these noise frequencies from original frequencies. How can i make it possible. I worked with this from six months but couldn't able to clarify it. You can see below pictures.

    Attached Files:

  5. Sep 17, 2011 #4


    User Avatar

    1. I guess it is just wrong label: top-left/bottom-right drawings should x-axis labelled as frequency, rather than time?

    2. What is the final goal of the analysis? As I understand you last post: A ?
    A. Estimate power of noise in order to play with the machine to reduce it?
    B. Reconstruct 'true' signal, as it is blurred by noise?

    3. Do you know the 'theoretical' shape of the 'true' signal?

    Just on the first look at your drawings it seems reasonable to assume that 'true' signal has a very simple spectrum (only two composite frequencies) while all the rest is noise.
    So you might make an FFT of measured data, then cut off frequencies correspondonding to signal (those two points), then apply reverse transform. Only noise should survive that procedure.

    Be cautious about normalisation issue with FFT - check how is it handled in your programming library. And remember that the same frequency is represented twice in an array of FFT transform, so you must set to 0 four entries of transformed array, not two.
    Last edited: Sep 17, 2011
  6. Sep 17, 2011 #5
    Yes, I just posted in hurry but on the X-axis it is frequency.

    I don't know the frequency of device and noise but when ever anything hits mechanical part in device the noise frequencies will come into display and you can see those pictures. Even, the device frequencies also varies and i don't know the exact frequency of device. I have done before on basis of amplitude limits in time domain but it is not at all efficient. Thats the reason, i shifted to frequency domain in such way, what ever the device connected on to these program(developing now) should separate the noise frequencies(especially those mechanical noise) and original device frequency and i know how to decrese that noise. So, you may understaend now. Is there any way to do it. See more pictures here.

    Attached Files:

  7. Sep 17, 2011 #6


    User Avatar

    You may look at it in 'frequency domain': and assume that frequencies being small integer multiplies of the first peak correspond to 'true' signal, while all the rest correspond to the 'noise'.
    Such assumption may not necessirily be true, but you may try it as initial approach. Of course, this way you cannot separate the noise falling into the same frequency, as any of 'true' signal composites. So in order to get better separation:

    1. limit the 'true' signal composites to first few ones (rule of thumb: that many, thet next ones are not seen on the noise background - 10 or so on your last pictures;

    2. collect data over longer time span (now you have ~20 cycles, so take 100 or 200 of them)

    Then compute FFT of the collected data (voltage over time), and split this transform into two arrays:
    1. 'assumed signal' - those of freq being small integer multiplies of basic signal frequency, zeroes everywhere else;
    2. 'assumed noise' - all the rest (clear to 0 those small integer multiplies of basic signal frequency).
    Then compute reverse transform (remember about normalisation!) of those two arrays, to get 'signal' and 'noise' separated.

    One more hint - select timespan of your data (collected over time) such, that they form integer number of full cycles. Your signal has clearly visible sharp maxima, so you may start and stop it on the maximum.
    Last edited: Sep 17, 2011
  8. Sep 17, 2011 #7
    what is the difference between power sprecta and magnitude sprectum. You can see those pictures at top left(power sprectrum) and bottem right(magnitude sprecta). I am dealing with these sprecta at moment after long gap, So, could not conclude my self the difference.
  9. Sep 17, 2011 #8


    User Avatar

    You can't see? Look better! Compare proportions of peak heights.

    Power is proportional not to the amplitude (magnitude), but to its square.
  10. Oct 5, 2011 #9
    i have a noisy EEG time domain signal i want to remove noise from it or anyone tell me what steps are required to apply low ,high, bandpass, bandstop filters
  11. Oct 5, 2011 #10
    You need convert that time domain signal into frequency domain by applying FFT and then you can see noise frequencies in the signal. So, based on that noise frequencies just aplly the filter inorder to remove exactly those frequency ranges.

    It is difficult to notice the noise frequencies in timedomain signal, so, apply FFT first and then look for noise frequencies. By the way which software are you using for this. If it is MATLAB, you have an example in it.
  12. Oct 5, 2011 #11
    thank you sir . i am using matlab sir i want to remove below 2hz and above 40 hz. i think bandpass is suitable for this sir plz give me the tool box name or the command for this
  13. Oct 5, 2011 #12
    Ok. Just type sptool in your matlab command window and you will see one popup window for desinging your filter.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook