News for hackers. Stuff that matters.
Re:Visually stunning math concepts which are easy to explain by tptacek on Monday April 07, 2014 @12:00AM (#7544564)
Help me understand why? I feel like I understood everything this GIF was trying to communicate, but also no closer to understanding how the transform itself works.
Re:Visually stunning math concepts which are easy to explain by apw on Monday April 07, 2014 @03:18AM (#7545059)
While the visualization is attractive, my fear is that it cannot convey the deeper reason why those sine and cosine waves magically sum to the desired function.

Leaving rigour aside for the moment: think of functions f : R -> R as infinite-dimensional vectors. The integer harmonics of sine and cosine comprise a set of orthonormal "vectors" that form a basis for all functions on R (some fine print goes here).

Now compute the inner product of your desired function with every element of that basis. Each such inner product is a real number which we will call a coefficient. The list of nonzero coefficients, once you have computed them, is a complete description of your function.

Now it is clear why those sine and cosine functions "magically" add up to your desired function, since we are simply multiplying each of them by their corresponding coefficient that we computed above.

That visualization is no more (or less!) amazing than the fact that (1, 2, 3) = 1(1, 0, 0) + 2(0, 1, 0) + 3(0, 0, 1).

Re:Visually stunning math concepts which are easy to explain by jloughry on Monday April 07, 2014 @01:22AM (#7544781)
In the beginning, the red graph f is a square wave. It's a little lumpy, because it was made by adding together a bunch of different sine waves of different frequencies and amplitudes (by the way, that slight overshoot/undershoot at the edges of the square wave? That's the Gibbs phenomenon). When we look at a square wave in this form, with time running along the x-axis (like the display of an oscilloscope), we call it the "time domain".

It's hard to visualize the individual sine waves when they all overlap like that, so let's spread them out. The logical "direction" in which to spread them is by frequency, so imagine spreading them out in the frequency dimension "behind" the square wave. When the graph rotates into three dimensions, we can see all the individual sine waves: in fact, there are six of them. (If we used more than six, the square wave would be less lumpy; fewer sine waves, more lumpy.)

Notice that the sine waves are different amplitudes, and discrete frequencies. We represent them by spikes on a graph where frequency runs along the x-axis (like the display of a frequency analyzer) and the height of each spike is the amplitude of the sine wave at that frequency.

We've transformed a square wave f in the time domain, into a spectrum f-hat with spikes of different positions and heights in the frequency domain. You can read the blue graph as "six equally spaced frequencies with decreasing amplitudes". That's the fourier transform of the original (red) signal. Because it's a transform, it works in the other direction, too: begin with half a dozen signal generators, set their frequencies and amplitudes according to the spikes on the blue graph, add them together, and the result will be a square wave (or a reasonable facsimile thereof).

It can be done on signals of more than one dimension, too: take a cat photo, transform it into something that looks a bit like a starburst, then transform the starburst back into a photo of a cat.

Note: interesting and oftentimes useful things happen when you transform a time-domain signal into the frequency domain, erase some of the spikes, and then transform back into the time domain.

Re:Visually stunning math concepts which are easy to explain by joerich on Monday April 07, 2014 @04:37AM (#7545282)
My attempt to try to help you:

1st picture: you see a red signal and “f” which means that the signal is in the “time world”. The x axis represents the time.

2nd picture: The “f” disappears and a lot of signals in blue color appear. If you add up all these blue signals the result is the red signal. As you can see there are a lot of different blue signals with different frequencies.

3rd picture: they do that 3D breakdown where you can see each signal and on the right appears another graph/plot which represents the Fourier Transform. This graph/plot is in the “frequency world” and the x axis represents frequency. Each frequency of each blue signal is represented as a straight line. This line is a only blue signal located in its frequency and the more larger is in the y axis the more representative is in the final result (which is the red signal). The largest straight line is the one on the left because is the one with more energy in the “time world” and for that is the more representative in the frequency plot. The f with that arch is the Fourier Transform.

4th picture: they show you the signal on the “time world” and the signal in the “frequency world”.

Re:Visually stunning math concepts which are easy to explain by zokier on Monday April 07, 2014 @11:44AM (#7547147)
I agree. I understand time and frequency domains reasonably well, but I still do not have a clue how Fourier transformation gets me from one to the another. How do the elements in the animation correspond to the terms in eg this equation http://www.texpaste.com/n/v6sjue00 (which is the Wikipedia definition for discrete Fourier transformation)? I don't even understand what the equation itself is supposed to represent, last time I checked a sum produced a single number, how does that represent a function in frequency domain? I guess the subscript k has some significance, but the animation does not help a single bit here
Re:Visually stunning math concepts which are easy to explain by 0x09 on Monday April 07, 2014 @01:32PM (#7547946)
k is the output index (the "bin" in the frequency domain), or the notch in the rotated space in that graphic. Every output frequency coefficient contains a full sum of the input function, hence a direct translation of that formula is O(n^2) -- which is why the FFT, with O(nlogn) complexity is so important.

The graphic doesn't really help show how the analysis itself happens, it just presents the result, which is a series of waves that add up to f. The actual process of obtaining a frequency coefficient from a time-domain function is easy to describe: multiply the function by a (co)sine wave with a particular frequency and sum together the result. But it's not very intuitive why that works until you consider that one period of a sine wave sums to zero. By multiplying the sine with the function, you perturb the shape of the sine with just the amount of energy that the function contains at that given frequency. So that instead of summing to zero, the sum measures "how much" of that particular wave is present. That's Fourier analysis.

Fourier synthesis is more easily visualized (I think anyway). Simply multiply a sine wave at each frequency by the corresponding coefficient derived above, and sum those weighted waveforms together elementwise to recover your function.

Re:Visually stunning math concepts which are easy to explain by zokier on Tuesday April 08, 2014 @05:55AM (#7552406)
> But it's not very intuitive why that works until you consider that one period of a sine wave sums to zero. By multiplying the sine with the function, you perturb the shape of the sine with just the amount of energy that the function contains at that given frequency. So that instead of summing to zero, the sum measures "how much" of that particular wave is present. That's Fourier analysis

Thank you. This really helped.

Based on that explanation, wouldn't the formula be more like: http://www.texpaste.com/n/nphm1fgp ? I suppose there is some further magic which allows for phase differences or something.

Re:Visually stunning math concepts which are easy to explain by 0x09 on Tuesday April 08, 2014 @07:29PM (#7556723)
Right, you need both sine and cosine parts, hence e^ix, in order to fully describe the function. Unless the function is completely odd (or even), in which case the transform really is equivalent to `x[n] * sin(2pik*x/N)` (or cos). To see why imagine analyzing a function W that is just a plain cosine wave (any frequency and amplitude). If we only use the sine part of the Fourier transform, F(W) is indistinguishable from F(-W). In fact both are zero everywhere.

Transforms that use only sines or cosines (like the DCT) provide a complete basis by increasing in frequency by only a half cycle (pi) rather than by integer cycles (2pi). Essentially trading half a transform of sines and half a transform of cosines for one transform of half-cosines (or sines).

Re:Visually stunning math concepts which are easy to explain by daturkel on Monday April 07, 2014 @12:12AM (#7544595)