Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've decided math isn't my thing. The first part of the article I couldn't stop thinking "how the hell would you construct a banana filter?" And the entire smoothie metaphor seemed to describe nothing at all.

Then there was something about circles and why do some people call them some other silly thing?

So far, so utterly meaningless, as far as I could tell. just seemed like meaningless babble to make even a kindergartner feel comfortable with the article, but it didn't seem to have communicated much of anything, really.

Then there were circles. Some of them were moving, one of them had a sinus wave next to it and some balls were tracing both in sync, indicating which part of the sinus wave equalled which part of the circle I guess?

I understood none of it.

I asked chat gpt to explain to me, i think it has read this article cause it used the smoothie analogy as well. I still don't understand what that analogy is meant to mean.

Then finally I found this: If someone plays a piano chord, you hear one sound. But that sound is actually made of multiple notes (multiple frequencies).

The Fourier Transform is the tool that figures out:

which notes (frequencies) are present, and how loud each one is

That, finally, makes sense.



The piano analogy is incomplete. First, of all, a piano constructs sounds by combining multiple string sounds in a unique manner. But the idea behind transforms (Fourier being a particular case) is that you can take a function (“sound”) that isn’t necessarily produced by combining components and you can still decompose it into a sum of components. This decomposition is not unique in the general case as there are many different transforms yielding different results. However, from the mathematical (and i believe, quantum mechanical) standpoint, there is full equivalence between the original function and its transforms.

The other important point is that Fourier doesn’t really give you frequency and loudness. It gives you complex numbers that can be used to estimate the loudness of different frequencies. But the complex nature of the transform is somewhat more complex than that (accidental pun).

A fun fact. The Heisenberg uncertainty principle can be viewed as the direct consequence of the nature of the Fourier transform. In other words, it is not an unexplained natural wonder but rather a mathematical inevitability. I only wish we could say the same about the rest of quantum theory!


All analogies are incomplete. It's kinda inherent in the definition of the word.

But it is a lovely, real-world and commonly understood example of how harmonics can work, and thus a nice baby-step into the idea of spectral analysis.


I wonder if my approach would help with your understanding?

https://dsego.github.io/demystifying-fourier/


Yes, I could understand almost all of this actually! Thanks for explaining Fourier so well!

I really don't have any mathematics in my background, so you lost me towards the very end when the actual math came in, but I can't fault your Fourier explanation for not also explaining imaginary numbers: even I can see they're out of scope for this post!


Imaginary numbers are strange, basically i * i = -1. So it's a square root of negative one. It's imaginary because well, you need some imagination to come to terms with this. But they are useful to show things on a 2d plane, one axis is the real numbers -1 to 1, and the other -i to i. And then multiplying by number i will rotate in circles: i × i = -1, -1 × i = -i, -i × i = 1, 1 × i = i. And then there is this wonderful property that e ^ iπ = -1, which somehow combines the euler constant, number pi and the imaginary number, and it somehow works. And then also the related formula e^ix=cosx+i sinx, and so to rotate by x you just multiply with e^ix, where x = 2π × frequency. It somehow all fits in neatly, even though none of it is essential for the mechanism described. At least that's my uneducated understanding (my math background is also not that great, that's why I tried to explain this to myself with a more intuition based approach).


Hmm.. Imaginary numbers are indeed a bit confusing.

I'm trying to imagine a 2d surface where the X-axis coordinates are all the real numbers, and the y axis are all the imaginary numbers. That makes them orthogonal, and that seemed to add up with your explanation, up until ixi=-1.

The only way I can get that to add up is if I instead imagine a arbitrary coordinate system, where x and y are not necessarily perpendicular, and i describes the angle between x and y.

I've only just finished my first cup of coffee for the day, so I haven't quite decided yet if that makes any sense whatsoever, but it's the only way I can intuit about it that includes a circular motion like the one you describe..

In this case you could almost describe i as the square root of 180°, which... Yeah it's kinda weird...

Am I still on the right track?


I think so, it's called the complex plane. A complex number has a real and an imaginary component a+bi, so like a vector. The amount of each gives you the coordinates on the plane (a or b can be zero as well on the axes).


I had a chat with gpt to try and clear out some details. It seems that one is supposed to think of real and imaginary as a vector. The rotation part comes in when the imaginary numbers is used as an exponent to the real, in which case you're no longer saying "3 left, two right" but "4 units from origin, at an angle of (imaginary number)"

of course, the math here doesn't work out as using degrees or any other unit of rotation a normal person is used to, but instead, some other unit of rotation I haven't quite wrapped my head around yet (what the hell does atan2(b,a) mean? Is atan(a,b) deprecated or what? ) I didn't know namespace collisions were a thing mathematicians worried about, they should just release maths 2.0 and be rid of the legacy atan at this point!


I think it's because the normal atan receives one argument, eg atan(y/x) and then sometimes you can't divide by zero, and it can’t distinguish quadrants (because we loose info on the sign of Y-coordinate and the X-coordinate). atan2 takes 2 params and knows the signs so it can understand the quadrants and also handle divide by zero. I now realize that the name atan2 probably refers to 2 parameters.


*lose, not loose




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: