Forum Topic: Fast Fourier Transformation

(161 views • 4 replies)

This topic is 1 page long.

<< < > >>
None

Glaiel-Gamer

Reply To Post Reply & Quote

Posted at: 5/6/09 11:17 PM

Glaiel-Gamer NEUTRAL LEVEL 28

Sign-Up: 12/28/04

Posts: 8,075

Can someone explain to me what a Fast Fourier Transformation is and what its uses are? I see the term thrown around a lot while researching things lately, but the wikipedia page is absolutely horrendous for it.


None

authorblues

Reply To Post Reply & Quote

Posted at: 5/7/09 12:39 AM

authorblues FAB LEVEL 12

Sign-Up: 06/21/05

Posts: 6,360

first, its called a fast fourier transform, not transformation. i see it used mostly in spectrum analysis, like in music and things. FFT can be used to do beat detection in an audio spectrum, etc.

GENERATION 1-i: The first time you see this, copy it into your sig on any forum. Square it, and then add i to the generation.

BBS Signature

None

henke37

Reply To Post Reply & Quote

Posted at: 5/7/09 01:03 AM

henke37 NEUTRAL LEVEL 23

Sign-Up: 09/10/04

Posts: 3,666

It's a fast algorithm to convert a number of samples from the time domain into the frequency domain.

Each time someone abuses hittest, God kills a kitten. Please, learn real collision testing.


Happy

mike

Reply To Post Reply & Quote

Posted at: 5/7/09 01:04 AM

mike NEUTRAL LEVEL 20

Sign-Up: 02/24/00

Posts: 385

Say you have some arbitrary sound wave. It's actually the combination of a bunch of basic sine waves of different frequencies. FFT is an algorithm that will take in samples from the sound wave and try to spit back out the frequencies of those constituent sine waves. That's Fourier analysis in a nutshell: you've got some glob, but it can actually be represented as the sum of a bunch of basic units! :)

!


None

kiwi-kiwi

Reply To Post Reply & Quote

Posted at: 5/7/09 01:28 AM

kiwi-kiwi LIGHT LEVEL 08

Sign-Up: 03/06/09

Posts: 658

I just had a course on the fourier transform a few weeks ago.
So let's say you have a finite signal in the form of a series x.
Now that series will have a number of T[0, 1, 2, ... N-1] moments where N>=2
Thus we can define the discrete Fourier Transform as:

f(k) = sum(n=0 -> N-1)(xn * v^kn) where v = e^(-i*2pi/N) and n and k are elements of T

The fast fourirer transform is an algorithm that is supposed to compute the value of this thing because if you were to compute it directly it would take N^2 calculations to do it.

The idea goes somewhat like this, if N is not a prime number than you can write it as N1*N2*...*Nm
For simplicity we're going to take just m=2.

because 0<=n,k<=N-1 you can definitely say that k = k1 * N2 + k2 and n=n2 * N1 + n1 where 0<=k1,n1<=N1-1 and 0<=k2,n2<=N2

In the light of these new relations you've got:
f(k) = sum(n=0->N-1)(x (n1,n2) * (v ^ k2 * n2 * N1) * v ^ k * n1)
which is sum(n1=0->N1-1)(sum(n2=0->N2-1)(x(n1,n2) * (v ^ k2 * n2 * N1) * v ^ k * n1))
Now we compute G(n1,k2) = sum(n2=0->N2-1)(x(n1,n2) * (v ^ k2 * n2 * N1)) which takes N*N2 steps

We then compute f(k1,k2) = sum(n1=0->N1-1)(G(n1,k2)*v^k*n1) which is going to take N*N1 steps

So this algorithm takes overall N(N1+N2)<N^2 steps

Hope this helps


All times are Eastern Standard Time (GMT -5) | Current Time: 06:08 PM

<< Back

This topic is 1 page long.

<< < > >>
You need a Grounds Gold Account to post on the NG BBS! If you don't have one, click here to sign up now! It's fast, free, and easy — and opens up tons of great NG features!