Summer of Math Exposition

Presented by 3Blue1Brown 3blue1brown

Why Digital Audio Can Be Perfect (Nyquist-Shannon Sampling Theorem)

Audience:

Tags: engineeringcomputer-sciencesignal-processingfourier-transformconvolutiondelta-functionsampling-theoremimpulse-trainsdigital-audio

Computers aren’t just for entertainment or work. They’re our modern-day cave paintings. They record the world around us: how we lived, what we did, what we saw, what we heard. But there’s a catch. We live in a continuous world, and computers live in a discrete one.

So here’s the question: once a sound is recorded digitally, can a computer know the exact continuous sound that created it? Not an approximation. Not a good guess. A mathematical guarantee?

Surprisingly, yes!

This video demonstrates a visual proof of the Nyquist-Shannon Sampling Theorem. The idea that a continuous signal can be perfectly reconstructed from its samples, as long as those samples were captured at least twice as fast as the signal’s fastest-changing component.

No prior background in signal processing, engineering, or computer science is required. By the end, you’ll understand not just that perfect reconstruction is possible, but why, and exactly what sampling rate guarantees it.



Analytics

6.84 Overall score*
27 Rank
23 Votes
21 Comments

Comments

7.6

I don’t have high expectations when I see a standard-looking Manim video. But this was really fun and educational! Looking forward to see more from you!

8.9

The topic of the video is very interesting and I was immediately hooked after the intro. It’s both interesting on its own and also has real applications. I found the proof quite clear and motivated, and the end managed to give me the ‘aha’ moment. It is also very intuitive which is nice.

The only very minor issue I have is that when the Dirac delta function is introduced, it’s not entirely clear why we should be considering this. However this is not that big of an issue as we immediately see why we should care after it’s explained.

7.4

Great video! Everything was explained clearly.

Just one note:

  • At 5:24, I would recommend putting the graph labels below the graph or to the side, or maybe a box over each plot. On my first watch, it wasn’t clear which label went to which graph.

Overall, it was a really good video. It showed a really intuitive feel for why the sampling frequency is 2 times the max.

6

The animations are very nice and your explanations are clear. My main gripe is that I don’t think someone who has no prior knowledge of signal processing or Fourier transforms would be able to follow. While understanding a Fourier transform as just “another way to represent a function” is sufficient in some scenarios, I don’t think it is when you’re trying to gain a visual intuition for the Nyquist-Shannon Sampling Theorem. You claim that the Fourier transform turns multiplication into convolution, but this would be completely lost on someone using your simplified description, and thus the rest of the video would no longer be intuitive.

7.7

Video is well made. Animations are really nice. The topic is exlained well and in a natural order to keep viewers engaged.

8.5

Topic is something I never thought to think about, but use daily. That’s a very good thing. The meta-commentary (pretty much every sentence starting “This video”) could be dropped losslessly. The caveats where the explanation intentionally simplified a formula or the underlying facts were very well done, making it easy to dive deeper where interested without distracting from the main throughline. I found the sequence of explanation intuitive and easy to follow, though I think some of the early steps asserted anti-differentiability (that is, the ability to take an integral) on functions I wouldn’t really think of as valid for that operation.

5.7

Solid video. However it would have been better to assume the viewer knows about fourier transforms, because things like convolution theorem and intuition about ft was used but could not be built in the introduction (which is fine! It is difficult to give a good introduction to fourier transforms in such a short time)

6

Pretty good, but I didn’t come away feeling like I really understood the result.

6.1

The explanation of sampling using the dirac delta function was kind of confusing and hard to follow. The explanation of what it was made sense, using it was not. I think that the summaries later helped.

In some areas I thought that it felt somewhat unmotivated. I’m not sure how some of these choices would have been stumbled across.

I’m also still not sure how the audio gets transformed really. Like I mostly get why it works for sinc^2 but not for more examples. It’s not clear why that function was chosen either. It might have been easier to understand with a more complicated function that reflects speech better.

I also think there could have been more emphasis on the “Nyquist-Shannon Sampling Theorem” since that seemed to be the build up of the video, but it didn’t feel that way. (maybe due to my incomplete understanding)

Overall, just more explanation in areas, but I think the video idea was really cool and it’s an interesting topic. If I spent more time delving into your video I’m sure I could figure out why everything works without relying much on outside explanations, which is really good.

4.3

Thanks for this interesting video on the Nyquist-Shannon sampling theorem :) The video has good pacing and the visualization are crisp. You had a good structure and I especially liked the summary in the middle and the application to the sinc function. The latter really made it clear why we need to sample with a frequency of at least 2*f_max without using any complicated equations, very nicely done! I also liked the explanation of the Dirac function (I knew the function but never saw it introduced in this way).

There were many other things I liked, so here’s a short list:

  • The layout of your graphs was generally well-structured and I found it easy to see what you’re currently explaining.
  • The animations of the plots where nicely timed with your explanation, especially for the sampling frequency.
  • The explanation and visualization of aliasing.
  • The problem statement of how a computer represents a continuous audio with a finite number of bits.

There are a couple of aspects that could’ve been improved and maybe these are helpful for your next video:

  • Explanation of the Fourier analysis: I get why you brought the Alice/Bob/Charlie example but I somehow missed the classic visualization of summing of different sine and cosines to obtain the original audio signal. I would’ve liked to see this instead of the Fourier transform equations. In addition I was a bit stuck about why the FT magnitude spectrum is symmetric. Since this assumption was used many times a 1-2 sentence explanation would’ve been handy. Especially, because I also got stuck on the negative freqency values in the magnitude spectrum.

  • Layout: Sometimes your graphs were a tiny bit close to the title (e.g. at 11:30), which created a visual overload. The summary scene was also a bit full and looked less than a math video but more like a university presentation. I think you might like manim’s MovingCameraScene() instead of Scene(). It gives you flexibility to zoom into different parts of your scene. It also makes the scenes look more agile and less than a presentation.

  • Notation on the axes: Not coming from a signal processing background, I found the notation of the x-axis a bit confusing at first. I understand now that t(s) means time in seconds and f(hz) means frequency in Hertz. But at first I thought the x-axis is also a function of another variable I had missed. Similarly, I would find the graph easier to read if t is always positive.

  • Audio: The audio quality was varying a lot across the video. For example, the audio over the Fourier section and the Impulse Train introduction were a bit noisy and not easy to understand. For your next video, you might try a noise reduction tool. There are also pretty good free AI tools for noise reduction and equalizing.

  • Editing: It seems the audio is missing starting from 21:06, which is a pity because the animation from that part looked interesting.

  • Audio II: It would’ve been interesting to hear the sinc function in its original form and under different sampling rates to get more of an intuition of how the sampling rate affects the reconstruction.

  • Color scheme: I liked the colors for your plots. You could think about choosing a different background color or image + font style to set yourself apart from the classic 3b1b style. This would also make your video easier to distinguish from AI videos.

  • Thumbnail: The scene from your thumbnail doesn’t appear in your video and actually looks more like a regression problem with a Gaussian process. You have many cool animations in the video. I think some screenshots from your sampling frequency scenes could make for a better background in the thumbnail.

Overall, I really enjoyed the video and got a great intuition about the sampling frequency :)

8.6

The video is very well timed, and take enough care to spend time introdcuing any mathametical tecniques that he uses later, indeed its nice

5.9

Admittedly I am not an analyst or information theorist, but this video left me with a few more questions than I had when I started. The overall question (why is sampling with > 2x the frequency enough to reconstruct a signal) is answered, namely because in frequency space we’re sampling with triangles, and they have width equal to twice the sinc frequency. And we can’t have them overlap, so the sampling frequency must be wide enough to make sure the triangles don’t overlap.

But what wasn’t clear to me in one watch is why we’re worried about specifically the sinc^2 function. The sinc^2 function is built of frequencies that are all less than one max, so the Fourier transform lands us strictly between the max and its negative. But was this an example, to show that any function built solely of frequencies less than the max gives the same idea? If we sample at those points, our Fourier transform will ALWAYS consist of frequencies between the max and its negative, plus repeats, and just cutting out the part that is between those two, we can recreate the signal from it?

I think that’s correct, but I think mentioning “sinc^2 is really a stand-in for any function consisting of frequencies less than the max” would go a long way to clearing up that confusion.

The visuals were excellent. Manim was well-used to describe the graphs of the functions we were considering, and they were immensely useful visualizing the sampling of points we were collecting.

Otherwise, it is also unclear what to do with this theorem. Voices have overtones that go above whatever frequency cutoff you impose. They may be negligible, but they are there. So some sort of acknowledgment of this and an explanation of what the real world actually does with this theorem would be useful.

6.5

The result is interesting and surprising, and you build up intuition for all the parts of the proof.

It’s a bit jarring to jump from the problem statement directly to the tools you’re going to use. You have a recap after you introduce the tools, but a brief outline beforehand would help the audience understand where this detour is going. Alternatively, you could go through the proof until you need each tool, then introduce it, so it’s clear what problem you’re trying to solve.

7.3

The problem statement is clear, and the narrative flows well. The material is solid, much like a standard undergraduate textbook. Comparing a Fourier transform pair to a graph is a clever metaphor—great job! I’d say this is excellent material for an information theory class, though it just lacks a bit of fun.

7.7

That was a very enjoyable math explainer of the Nyquist Shannon Sampling Theorem! It brought me back to how I learned it, which might have made it easier for me to follow, but overall I really enjoyed the explanation and animation. It was very good with the summary of the Dirac delta, the Fourier transform, and the impulse train, to remind the viewer what has been done so far before moving on to the sampling theorem. Somewhere in the video, you mentioned the DC gain, which has not been introduced and not further explained. Furthermore, it was also not explained why multiplications in time domain turn into convolutions in the frequency domain and why a convolution with a impulse train is a periodic version of the original spectrum. However, I don’t think this are big issues because the explanation of the sampling theorem was still clear.

8

Better than so many videos I have come across, genuinely well made. I was able to keep my attention throughout the video, and that is something very few people are able to achieve these days. The motivation was clear from the start, the required math was explained in such a way that even middle schoolers can understand most of it, so clarity was never an issue, I wouldnt say this has anything novel or new though. I have studied EXTC engineering, and I have seen similar explanations everywhere, but this one was also a very good way to explain. memorability, ofcourse its very very good, I believe I’ll remember the concept even after a few weeks or so. the explanations are just that good.

Great job, Please keep making more such videos!

5.9

One of my favourite topics actually, though I am no Signal Processing expert!

Couldn’t help but chuckle when the narrator said ”… or Aliasing will occur” without actually saying what Aliasing is. The synopsis says:

“No prior background in signal processing… is required.”

It’s an understandable one - we’ve all been there. You take for granted that people have some prior knowledge because otherwise, why would they even watch a video on this topic? :)

Please accept my apologies if you did define Aliasing, I don’t remember you doing so. I’ll be honest, I also don’t know what a “Low pass Filter” is? In both cases (Aliasing and Low Pass Filters), it feels like the narrator shows an animation as he mentions the terms and takes it that these animations can do the heavy lifting.

All that said, I enjoyed the animation, the narration, and especially the ending where the narrator explained why the Nyquist-Shannon rule is what it is.

Really good job!

8.5

This was an excellent video. You explained clearly the main idea behind this theorem and showed from start to finish the necessary components that came together to make it. You explained each component well. Your animations were on point and helped convey the visual part of the proof. Most importantly, this was a really novel idea I’ve never seen before; the end where you showed how all the prerequisites you covered came together was the “aha” moment of the video for me. Great job!

7

A nice reminder.

5.8

Not a bad video, and does a good job animating the textbook explanation, but I don’t feel that this added a novel view on top of what you’d get from just reading the textbook

I wonder if someone not as familiar with how Fourier transforms worked would be confused by the explanation

6.3

Very good explanation with a logical build up of steps leading to the final proof. However, it may be good to speed up the pacing of the video.

Considering this video shows the minimum sampling rate of a signal to be able to correctly reconstruct the signal from the samples. It would be cool to have some audio tracks(music, talking, sine waves, etc) that are sampled at different frequencies throughout the video. I noticed you had this at the end; it looks like it was muted by Youtube I assume for copyright. However, I would recommend playing audio throughout the video rather then just at the end. Adding this audio would make the video have more sound as it is currently a bit quiet.

The bear analogy at the end was very helpful.

As a Electrical Engineering student now not working in EE I haven’t dealt with Nyquist-Shannon Sampling Theorem in a while. This was a great refresher!