   Understanding FFT's
  I'm very far from it. ;)I want to implement an FFT-based ocean effect someday, but I don't really understand the math. The highest level of math I've taken is college algebra. Other than that, I've picked up some trig and some basic linear algebra during my game programming days. I learned some differential calculus, but that was just casual self-teaching. I guess what I'm wondering is, can someone help me design a learning path that will take me from where I am to understanding FFTs? Is it even practical for me to learn on my own?   
  Well if you're really interested, you might start with just understanding regular analog Fourier Transforms before you try to jump into the FFT. I don't know how complete or easy to understand this will be, but it might be worth a look:MIT Open Courseware: Signals and Systemsor possibly this one is more relevant, but higher level course:MIT Open Courseware: Discrete Time Signal ProcessingMight be too hard to understand for someone without an engineering background though, so just see if it works for you.   ;  I don't know if you can get to understanding FFTs on your own, but here's a plan: The first thing to do is to try to understand Fourier series (writing periodic functions in terms of an orthogonal base). Next step is continuous Fourier transform, then the discrete Fourier transform. FFT is just a trick to compute the discrete Fourier transform fast. It can also be viewed as evaluating a polynomial at the N-th roots of unity using an arithmetic trick to speed up the computation. Then you have to jump to 2D transforms.;  The college course to start with ought to be Differential Equations.   ;Quote:Original post by LessBreadThe college course to start with ought to be Differential Equations.I completely disagree. FFTs arise much more naturally in signal processing.   ;  Thanks very much for the suggestions, guys. Before I embark on Differential Equations, are there any prerequisites that I should know about? As I mentioned, my calculus is quite weak. Should I spend a couple of months studying calculus and nail that down first?   ;  I didn't think I needed much DiffEq to learn Fourier transforms. Maybe some of the tough ones you need DE to do the proofs or something, but I think as long as you just understand integrations you should be able to get through it. Most of the transforms can be done using transform tables (i.e. cheat sheets), and you just have to do some algebra acrobatics to get stuff into the right form.I think this would be plenty sufficient for the hobbyist FFT user.Fourier Transform TableDon't look at this until you've learned some though or your head will explode :)   ;Quote:Original post by alvaroQuote:Original post by LessBreadThe college course to start with ought to be Differential Equations.I completely disagree. FFTs arise much more naturally in signal processing.Then you completely disagree with the professors at MIT too. "The prerequisite for 6.003 is 6.002. Note also that the prerequisites for 6.002 are 18.03 or 18.06."The prerequisites for 6.002 are 8.02, 8.022, and 18.03. [1]18.03 Differential EquationsCDPropUnfortunately, you will need some calculus too. "18.02 or 18.022 or 18.023 or 18.024 (corequisite), 18.01 or 18.014 (prerequisite)." [2]18.01 Single Variable Calculus18.02 Multivariable Calculus ;Quote:Then you completely disagree with the professors at MIT too."The prerequisite for 6.003 is 6.002. Note also that the prerequisites for 6.002 are 18.03 or 18.06 (Linear Algebra)."Sure it might be helpful to know, but what's started out as learning about FFT has now transformed into an entire year's worth of MIT coursework :PIf you're writing a doctoral thesis about FFT algorithms you might need DiffEq, for the hobbyist dabbler it seems like overkill. I know I originally linked these courses but I'm getting skeptical that you'll be able to pull enough from just lecture notes to understand what's going on without a book or professor. But anyway just jump in at whatever level you want and see what you can make sense of.Best of luck :)   ;Quote:Original post by karwostsQuote:Then you completely disagree with the professors at MIT too."The prerequisite for 6.003 is 6.002. Note also that the prerequisites for 6.002 are 18.03 or 18.06 (Linear Algebra)."Sure it might be helpful to know, but what's started out as learning about FFT has now transformed into an entire year's worth of MIT coursework :PIf you're writing a doctoral thesis about FFT algorithms you might need DiffEq, for the hobbyist dabbler it seems like overkill. I know I originally linked these courses but I'm getting skeptical that you'll be able to pull enough from just lecture notes to understand what's going on without a book or professor. But anyway just jump in at whatever level you want and see what you can make sense of.Best of luck :)I agree. In fact, we (not MIT) learned about FT before DEQ:s. Not FFT, but AFAIK that's just numerical evaluation (sorry for the fishy terms) of FT.As I recall, it was the opposite: some types of DEQ:s require FT for the solution (again, not FFT). FT itself is a pretty easy and straightforward stuff.   