Understanding FFT Power Spectrum, Phase and Magnitude: Clearing Doubts

Click For Summary

Discussion Overview

The discussion revolves around understanding various aspects of the Fast Fourier Transform (FFT), including the differences between power spectrum and power spectral density, phase and magnitude, and real and imaginary components. Participants also explore methods for noise reduction in frequency domain signals, particularly in the context of mechanical noise and EEG signals.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants suggest that the FFT power spectrum is not a commonly used term and may refer to energy associated with frequency modes, while power spectral density relates to continuous functions.
  • There is a discussion on the representation of FFT results as complex numbers, with some participants noting the importance of normalization factors and conventions regarding the sign of imaginary components.
  • One participant seeks to differentiate noise frequencies from a signal affected by mechanical parts, expressing uncertainty about how to identify and separate these frequencies effectively.
  • Another participant proposes that the true signal may consist of small integer multiples of a fundamental frequency, suggesting an initial approach to separate noise from the signal based on this assumption.
  • There is a query about the difference between power spectrum and magnitude spectrum, with one participant indicating that power is proportional to the square of the amplitude.
  • A participant mentions working with a noisy EEG signal and seeks advice on applying various filters to remove noise, indicating a need for guidance on specific MATLAB commands.

Areas of Agreement / Disagreement

Participants express differing views on the definitions and implications of FFT-related terms, and there is no consensus on the best approach to separate noise from signals. The discussion remains unresolved regarding the most effective methods for noise reduction and the interpretation of FFT outputs.

Contextual Notes

Participants highlight limitations related to normalization issues in FFT implementations and the variability of mechanical noise across different devices. There is also mention of the need for longer data collection periods to improve signal clarity.

Who May Find This Useful

This discussion may be useful for individuals interested in signal processing, particularly those working with FFT, noise reduction techniques, and applications in MATLAB for analyzing frequency domain data.

rama1001
Messages
130
Reaction score
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
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:
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: 512
  • Untitled1.jpg
    Untitled1.jpg
    48.9 KB · Views: 503
  • no noise.jpg
    no noise.jpg
    45.3 KB · Views: 463
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:
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: 517
  • Untitled.jpg
    Untitled.jpg
    48.1 KB · Views: 517
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:
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.
 
You can't see? Look better! Compare proportions of peak heights.

Power is proportional not to the amplitude (magnitude), but to its square.
 
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.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
9K