Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TugboatEng on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to use FFT

Status
Not open for further replies.

filoolif

Specifier/Regulator
Joined
Dec 14, 2004
Messages
1
Location
ZA
I know a little about FFT and spectrum analising and the other math that goes with it. I would like to know if i have taken sample data say about 1000000 values and i have a program to calculate FFT amplitude spectrum an phase spectrum and so on ... how do i use these vulues that i have worked out to reconstruct the wave form from the data points.... i can get the freqency and the phase that is no probblem but how do i determine the amplitude of each cosine wave that i have to use. and after i have reconstructed the wave form what else does this information tell me.... this subject is selftought and i find it interesting any help will be appreciated
tvdb@highveldmail.co.za
 
See the references in the FAQ. The amplitude of each frequency line is the amplitude of the cosine for each frequency. The pahse is the phase shift.

So the waveform at time t is

the sum

for each frequency f Hz, with magnitude M and phase phi

M*cos(2*pi*f*t+phi)

It really is that easy.






Cheers

Greg Locock
 
Firstly, as various people have pointed out in this group before, there will be a scaling factor invloved on each of the frequency lines in the spectrum. This scaling factor depends on the particular FFT algorithm used.

Secondly, the inverse FFT can also be used to get the time signal.

M

--
Dr Michael F Platten
 
FILOOLIF:

When you have the data check if for a DC offset. Do tis by integrating the data. It should resemble the original. If it slopes up or down there is a DC offset. To remove it, subtract out the mean. Then remove noise by taking extracting 2^n blocks, take SPECTRUM of the Hanning Window of each block each block, correct for amplitude reduction (multiply by 1.633) and multiply by the conjugate. Then average all the blocks. This will reduce the noise and lower the amplitude. The result is the PSD of the signal. If you do an inverse spectrum you will return to the original signal - less some noise.

When you finally get to the PSD find the amplitude at the frequency of interest. That amplitude is in G-rms. Mulitply this by 1.414 to get the peak amplitude of the sinusoid at that frequency.

When you took the data I assume you had an anti-aliasing filter and sampled at least 6 times the highest frequency of interest. I also assume that the highest frequency of interest did not exceed one-third of the resonant frequency of the accelerometer.

Regards
Dave

 
Cessna1:

Could you give me a simple explanation why you recommend sampling at 6 x the highest frequency of interest?
Nyquist Theorem requires 2x, as I recall, but i'm not familiar with other limitations.
 

> to allow room for the antialias filter to knock down the amplitude

> oversampling reduces the noise power spectral density in-band

> oversampling eliminates pathological sampling conditions

TTFN
 
FILOOLIF: Shannon's theorum states that in order to reproduce the signal exactly there must be at least two samples at the highest frequency of interest. So if our highest frequency of interest is 1000 hz, then sampling at 2000 hz satifies the Nyquist Criteria but to satisfy Shannon's Theorum we need a minimum sample rate of 3000 hz. Most people usually sample 5 or 6 times the highest frequency of interest to satisfy Shannon's Theorum. To expand more, if we sample at 2 x the highest frequency of interest there is a possibility that that we will get one or two zeros at that frequency. In order to overcome this possibility of Shannon's Theorum we sample 5 or 6 times the highest frequewncy of interest. This satisfies both the Nyquist Criteria and Shannon's Theorum.
 
How do you get from a factor of two to a factor of three? As I understand it Shannon's theorem does not help in this case,


It is talking about bit rates on a noisy line. We're talking about signal analysis, not baud.

There are many many laboratory systems that sample at 2.56 times the nominal upper frequency limit. That is you keep 400 lines of the spectrum from a 1024 sample time history.

AFAIK the real reason to sample at >> 2x upper frequency limit is that real AA filters have a roll off characteristic and you will only get limited protection until they hit -80 dB. This attenuation curve gets reflected back down the frequency axis. So, the old units used to set the AA filter at 1.28 times the upper frequency limit, and then with a roll off of 80 dB/octave they'd give you about 40 dB of anti aliasing at the upper frequency limit.


Cheers

Greg Locock
 
Shannon's theorem as it is usually stated is that in order for a sampled signal to contain all the information in the continuous signal, the sample rate must be greater than twice the bandwidth of the continuous signal.

1) That is "greater than" not "greater than or equal to".
2) That is "twice the bandwidth" not "twice the highest frequency". This is how zoom fft analysis works.

Shannon was doing effectively what Nyquist did some years before him. ie (as Greg says) looking at how noise affects the detection of pulses down a wire. What Shannon did was to put Nyquist's work into a firm mathematical foundation by applying Fourier analysis. One important result of this mathematics is the sampling theorem stated above. As I understand it, the term "Nyquist frequency" was coined in honour of the man who had done the earlier work.



--
Dr Michael F Platten
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top