An Interactive Introduction to Fourier Transforms

(jezzamon.com)

230 points | by a1k0n 155 days ago

14 comments

  • agurk 155 days ago

    This is great as it doesn't just explain the basics, it also shows how they are used in MP3 and JPEG files.

    I always had a very vague "throws away data that's not perceived" idea of how MP3 works. With the background from this I was able to really understand the wikipedia page and found this great Ars[0] article from 2007 to cement my understanding.

    [0] https://arstechnica.com/features/2007/10/the-audiofile-under...

    • Waterluvian 155 days ago

      This is incredible.

      If I wanted to collect things like this to teach my kids, where do I look? How do we gather amazing resources like this in one spot?

      I particularly love that it focuses on one topic and nails it.

    • SlowRobotAhead 155 days ago

      Wow. This is by far, hands down, the best way I have ever seen this explained. Just excellently done.

      • peterhil 155 days ago

        Exactly my thoughts also. Thank you Jez!

      • unao 155 days ago

        Very impressive end enlightening indeed.

        SmarterEveryDay published a video on this topic few weeks back: https://www.youtube.com/watch?v=ds0cmAV-Yek

        • sbergjohansen 155 days ago

          At the time of writing the Gibbs phenomenon -- the overshoot occurring at discontinuities of a square wave, which does not go away no matter how many harmonics are included (see https://en.wikipedia.org/wiki/Gibbs_phenomenon) -- is not correctly represented in these visualisations, implying that important aspects of the underlying maths are obscured. In my opinion this limits the didactic value of an otherwise impressive presentation.

          • jezzamon 155 days ago

            Yes, apologies I made some approximates in the article!

            Interestingly if you're talking about discrete time fourier transforms (which is what we usually deal with in computers with jpegs, mp3s, etc), then you can perfectly represent a signal with say, 1024 samples using exactly 1024 sine waves without worrying about that effect. It's only in the continuous time variant that you have to worry about things like the Gibbs phenomenon (which you do run into once you start translating to real world output)

            • sbergjohansen 155 days ago

              Right! I did assume a continuous space because that's what it looked like to me. Hence my pedantic comment which was sort of comically at odds with the light-hearted spirit of your article :) Very nice work. Thanks for sharing, and for the clarifying remarks!

            • pjc50 155 days ago

              What's not correct in the animations?

              (arguably the whole point of a tutorial like this is to do it without the maths)

            • jamesbrownjr 155 days ago

              Slightly unrelated, here's a beautiful mathematical approach to the discrete fourier transform with evaluating a polynomial at the nth root of unity in the complex numbers:

              https://ocw.mit.edu/courses/electrical-engineering-and-compu...

              • jeffwass 155 days ago

                Very cool.

                One idea that would be cool to see is a repeat of the video where the number of ‘harmonics’ is clipped.

                Eg, show the video with only the first 5 circle components. Then the first 10, the first 15, and so on.

                Will see the drawing approach the final image, and get the idea the low-freq harmonics do the bulk of the work but high-freq ones give the small details to make the hand a hand.

                • ccvannorman 153 days ago

                  This is included in the article. Slide the slider below the animations to control how many circles will be used.

                • travisgriggs 155 days ago

                  This is really cool. I especially like the rotating circles visualization. Another video that helped me finally "get" Fouriers is the 3Blue1Brown video:

                  https://www.youtube.com/watch?v=spUNpyF58BY

                  • ryandvm 155 days ago

                    Really fantastic work. Best interactive write-up I've seen of a technical topic in a long time.

                    • jacobolus 155 days ago

                      In the animation at the top, should use a different color for the circles vs. the hand/pen.

                      • whytaka 155 days ago

                        That was the most impressive opening demonstration. My eyes popped out of my skull.

                        • FrankDixon 155 days ago

                          Beautiful! How long did it take to make this blog post?

                          • jezzamon 155 days ago

                            Oh man, it took me a while. I started in August and have been chipping away at it on the side, until now.

                          • zero_kool 155 days ago

                            Amazing work! Thank you :)

                            • fdsak 155 days ago

                              Epic ...thanks