Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Fft

Status
Not open for further replies.
http://www.vlf.it/fft_beginners/fft_beginners.html
Is that any help?
As far as practical code goes find the simplest FFT algorithm you can (perhaps one written fro a micro controller) and analyze the code until you understand what's going on. I personally don't understand it myself, but I don't current have a desire to either, the programs I use for FFT handle all the details, although understanding the algorithms a bit better might help with getting more useful output, window size overlap and what not can effect the quality of the transform dramatically.
 
Last edited:
This is a limited approach too

Interesting link the one shown above!!

In this book: www.dspguide.com/pdfbook.htm, the most didactic I found in the last 20 years, there is an approach to the FFT algorithm. The author does not go into the nity-gritty details but maybe it could provide some insight. Not maths intensive at all.

Sure, understanding what DFT is, would help as well. Maybe you know that FFT is a practical way (algorithm) to implementing DFT.

Sorry if I sated the obvious to you.
 
Sometimes even simple DSP/DFT/FFT can be hard to grasp.
I have found some simple descriptions which have helped others get a very simple gasp without their heads exploding.
Most people understand what is set out in the above example like Analog to Digital conversion in the FFT for dummies. It's simple and easy to understand.
What I noticed was that most people could not understand how it all fits together on the most absolute basic level. How we get frequency from samples.
Once they understand this, they can go back to the higher explanations and real world maths and put it together in their mind.


If you consider a simple signal, a square wave. We will say it is 1KHz. We sample this signal exactly at 1mS the period of one cycle.

Each sample will have exactly the same value as the last. Any difference between the two values is noise or other signals.
Sampling at twice the frequency we expect the opposite. The greatest variation of the signal occurs in this period (plus noise).

Now this is grossly over simplifying the scenario. We cannot collect much information about this signal other than a signal is present and it's amplitude.

Still dealing with a square wave, we can gather more information about the signal if we increase the sample rate.
If we sample every 100uS, then we can now determine the phase of the signal. The faster we sample, the better the resolution we can obtain.

We can now also look at different frequencies. Still keeping it simple with a square wave, if we increase the frequency we can look at how long ago the level changed. From this we can determine the period/frequency of the signal and of course it's phase with respect to resolution of the samples.

This is one a very simple example because as we increase the sample rate, amplitudes and change waveform shapes it becomes more complex.
We also know that all signals are composed of a combination of Sine and Cosine functions rather than simple fixed value square waves.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top