Top
Best
New

Posted by rbanffy 9/4/2025

What Is the Fourier Transform?(www.quantamagazine.org)
474 points | 205 commentspage 3
eric-burel 9/5/2025|
What always bothered me when trying to "feel" Fourier transforms is that to compute the oscillations, you need to wait some time. Mathematically, the transformation includes computing integrals. So it's tricky to understand how you compute the Fourier decomposition for a stream. Illustrations always show the whole signal over time but in real life you get the signal progressively. I'd be eager to read more on this.
acjohnson55 9/5/2025||
Check out https://en.m.wikipedia.org/wiki/Short-time_Fourier_transform

This is the "Fourier transform" that is most often used, in practice in computing.

A longer window length gives lower frequency resolution, but longer latency.

thyristan 9/5/2025|||
For a stream, you use a sliding window to compute the FFT. The size of the window of course limits the lowest frequency range that you can 'see', same for the highest frequency through the time quantization that digital data usually has. So there will be an upper and lower frequency limit, beyond those limits the results are meaningless.

And the window of course creates a latency, which is sometimes relevant for realtime audio filtering by FFT.

jeremyscanvic 9/5/2025|||
The keyword you're looking for is time-frequency analysis and the main associated tool is the short-time Fourier transform(s). This is the theory underlying spectrograms and all those niceties!
yobbo 9/5/2025|||
As I remember intuitively, it's a convolution over a time window. The size of the time window limits the frequencies that can be detected.
dsego 9/5/2025||
You do it in short windows, so you get eg. 512 samples and then run a short FFT. Or you can do longer windows that overlap, so e.g. hop by 512 but take 1024, more samples gives you more accurate results.
photochemsyn 9/5/2025||
Fourier's fundamental discovery was that the most natural building blocks for periodic functions are complex exponentials. These in turn were based on Euler's identity, linking complex exponentials to sines and cosines, and which is algebraic (easy to differentiate, integrate, manipulate) and also encodes rotations and waves. So, a good reason to study complex analysis and include it in the engineering maths program.

This setup then allowed Fourier to take the limit of the Fourier series using a complex exponential expression. But keep in mind, this is all in the context of 19th century determinisitic thinking(see Fourier's analysis of the heat equation 1807, and Maxwell's treatise on 'Theory of Heat' c. 1870s), and it ran into real-world limits in the late 19th century, first with Poincare and later with sensitive dependence on initial conditions. . Poincare showed that just because you have a deterministic system, you don't automatically get predictability. Regardless this Fourier transform mathematical approach worked well in astronomy (at least at solar-system scale) because the underlying system really was at least quasiperiodic - essentially this led to prediction of new planets like Neptune.

But what if you apply Fourier transform analytics to data that is essentially chaotic? This applies to certain aspect of climate science too, eg, efforts to predict the next big El Nino based on the historical record - since the underlying system is significantly chaotic, not strictly harmonic, prediction is poor (tides in contrast are predictable as they are mostly harmonic). How to treat such systems is an ongoing question, but Fourier transforms aren't abandoned, more like modified.

Also, the time-energy quantum mechanics relation is interesting though not really a pure QM uncertainty principle, more like a classical example of a Fourier bandwidth relation, squeeze it on one axis and it spreads out on the other - a nice quote on this is "nothing that lives only for a while can be monochromatic in energy." Which sort of leads on to virtual particles and quantum tunneling. (which places a size limit of about 1 nm on chip circuitry).

The bottom line is that if you're applying elegant and complex mathematical treatments to real-world physical problems, don't forget that nature doesn't necessarily follow in the footsteps of your mathemetical model.

schlauerfox 9/5/2025||
All these comments and no Steinmetz mention. The original papers he wrote applying the transforms to electrical engineering work are so genius and simplifying for the craft, and he's such a nicer person for one of the founders of the field of EE. Also the origin of that old story about $10 for hitting the machine with a hammer $9990 knowing where to hit it, from what I can gather.
IAmBroom 9/5/2025|
Steinmetz is an unsung hero of tech, except to well-educated EE's.

Was he a dwarf or a hunchback? I seem to recall a physical setback.

teleforce 9/5/2025||
>one man’s mathematical obsession gave way to a calculation that now underpins much of mathematics and physics

Underpins much of mathematics, science and engineering

anyfoo 9/5/2025|
That is a very true comment. Electrical Engineering for example would be nothing without Laplace (which is more or less an even more general Fourier).
_kb 9/5/2025||
For those interested in an extension from this article, https://howthefouriertransformworks.com/ has a beautifully kitsch set of videos on the topic.

They do a really good job at breaking down the fundamental knowledge needed to build an understanding.

chrisweekly 9/5/2025||
As usual, BetterExplained.com has it covered: https://betterexplained.com/articles/an-interactive-guide-to...
snake42 9/5/2025|
I was going to post this link as well. That site has really helped me understand many things.
antimora 9/5/2025||
I think the best explanation and understanding I received about Fourier Transform was from studying linear algebra.

The Fourier Transform equation essentially maps a signal from the time domain onto orthogonal complex sinusoidal basis functions through projection.

And the article does not even mention this. =)

chamomeal 9/5/2025||
Best explanation I got was from 3 blue 1 brown! It’s what you said, but with nice visuals
esalman 9/5/2025||
Almost every paragraph of this article says the same thing but in different ways.
esalman 9/5/2025||
Reading the comments, it seems there are very few electrical engineers in hacker news.
bee_rider 9/5/2025|
Maybe they are EE’s, who just happen to still find some joy in the stuff from their intro classes. Sometimes little things can still make us happy, after all.
trgn 9/5/2025||
Can somebody eli5, im an amateur. How does the transform know the frequencies of the output. Do you have to specify a number n, and then it decomposes it into n frequencies. Or do you give it a list of frequencies, and then it decomposes the coefficient or amplitude or something for each?

I guess what i want to know, in the examples it always shows like 3 or 4 constituents frequencies as output, but why not hundreds or a million? Is that decided upfront /paramtetizable?

The article isn't helpful, it just says something like "all possible frequencies".

IAmBroom 9/5/2025||
I'll try.

Suppose you blinde, and are on one side of a black picket fence. Let's say the fence uprights are 1" wide, and 1" apart.

If you aim a light meter at the fence, it will sum up all the light of the visible slices of the background. (This meter reads its values out loud!)

Suppose the background is all white - the meter sees white slices, and get a 50% reading (because the fence stripes are black). It's as high as you can get.

Now move the picket fence half an inch to the left - still all white, still a 50% reading. Now you know the background is 100% white, no other colors.

But if when you move it, black stripes are exposed, then the meter reads 0%, and you know that the background is 50/50 white and black, in stripes.

Congratulations! You've just done a Fourier transform that can detect the difference between 0-frequency and a 1"-striped frequency pattern. In reality, you're going to continuously move that fence to the left, watching all the time, but this is simple.

But instead, imagine you got readings of 40% and 10%. What kind of pattern is that? Gray stripes? White stripes that aren't as wide as the fence posts? You'll have to build another fence, with another spacing - say 1/2" fence posts 1/2" apart. Repeat.

trgn 7 days ago||
Oki thx, it's starting to click :)
woopsn 9/5/2025|||
If you take N samples of a real signal you will get N/2+1 bins of information from the DFT, covering 0Hz out to about half the sampling rate.

The bins do not actually measure a specific frequency, more like an average of the power around that frequency.

As you take more and more samples, the bin spacing gets finer and the range of frequencies going into the average becomes tighter (kind of). By collecting enough samples (at an appropriate rate), you can get as precise a measurement as you need around particular frequencies. And by employing other tricks (signal processing).

If you graph the magnitude of the DFT, signals that are a combination of power at just a few frequencies show just a few peaks, around the related bins. Eg a major chord would show 3 fundamental peaks corresponding to the 3 tones (then a bunch of harmonics)

https://en.wikipedia.org/wiki/Fourier_transform#/media/File:...

So you detect these peaks to find out what frequency components are present. (though peak detection itself is complicated)

dsego 7 days ago|||
Maybe this will help https://dsego.github.io/demystifying-fourier/
slickytail 9/5/2025||
In a discrete Fourier transform, the number of frequencies you get out is the number of datapoints you have as input. This is because any frequencies higher than that are impossible to know (ie, they are above the sampling frequency).

But in the continuous Fourier transform, the output you get is a continuous function that's defined on the entire real line.

SillyUsername 9/5/2025|
Amazing.

Until I read this article I didn't properly understand Fourier transforms (I didn't know how image compression bitmaps were derived), now it's opened a whole new world - toying with my own compression and anything that can be continuous represented as it's constituent parts.

I can use it for colour quantisation too possibly to determine main and averaged RGB constituents with respect to hue, allowing colour reduction akin to dithering, spreading the error over the wave instead and removing the less frequent elements.

It may not work but it'll be fun trying and learning!

More comments...