Understanding FFT Power Spectrum, Phase and Magnitude: Clearing Doubts

In summary: FFT on it, and see if it helps separating noise from signal.In summary, the difference between FFT power spectrum and power sprectrum density is that the former is an energy associated with particular frequency mode, while the latter is the total energy of a particular frequency band. The result of the Discrete Fourier Transform (FFT) is a series of complex numbers, even if the transformed function was a real one. So you may represent it either as Re and I am 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.
  • #1
rama1001
132
1
Hi,
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.
 
Physics news on Phys.org
  • #2
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 I am 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:
  • #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.
 

Attachments

  • Untitled11.jpg
    Untitled11.jpg
    48 KB · Views: 476
  • Untitled1.jpg
    Untitled1.jpg
    48.9 KB · Views: 457
  • no noise.jpg
    no noise.jpg
    45.3 KB · Views: 426
  • #4
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:
  • #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.
 

Attachments

  • no noise and better one.jpg
    no noise and better one.jpg
    45.5 KB · Views: 480
  • Untitled.jpg
    Untitled.jpg
    48.1 KB · Views: 471
  • #6
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.

ADDED>
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:
  • #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.
 
  • #8
You can't see? Look better! Compare proportions of peak heights.

Power is proportional not to the amplitude (magnitude), but to its square.
 
  • #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
 
  • #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.
 
  • #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 please give me the tool box name or the command for this
 
  • #12
chandel said:
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 please give me the tool box name or the command for this

Ok. Just type sptool in your MATLAB command window and you will see one popup window for desinging your filter.
 

FAQ: Understanding FFT Power Spectrum, Phase and Magnitude: Clearing Doubts

What is FFT power spectrum?

The FFT (Fast Fourier Transform) power spectrum is a representation of the frequency components present in a signal. It shows the amplitude (or strength) of each frequency in the signal.

How is the FFT power spectrum calculated?

The FFT power spectrum is calculated by taking the FFT of a signal, squaring the magnitude of the FFT, and then taking the real part of the result. This results in a power spectrum that is symmetrical about the midpoint and represents the frequencies present in the signal.

What is the phase in FFT power spectrum?

The phase in FFT power spectrum refers to the phase angle of each frequency component in the signal. It represents the timing or alignment of each frequency component with respect to the others in the signal.

How is phase calculated in FFT power spectrum?

The phase in FFT power spectrum is calculated by taking the inverse tangent of the imaginary part divided by the real part of each frequency component in the FFT. This results in a phase angle for each frequency in the signal.

What is the relationship between magnitude and phase in FFT power spectrum?

The magnitude and phase in FFT power spectrum are two different representations of the same frequency components in a signal. The magnitude represents the amplitude of each frequency, while the phase represents the timing or alignment of each frequency. Together, they provide a complete understanding of the frequency components present in a signal.

Similar threads

Replies
5
Views
1K
Replies
1
Views
1K
Replies
3
Views
5K
Replies
13
Views
2K
Replies
1
Views
2K
Replies
10
Views
2K
Back
Top