Hacker News new | ask | show | jobs
by jameshart 1154 days ago
The thing that makes a DFT discrete is that it is over individual samples rather than a continuous function - not that it is over a finite domain.

A Fourier transform applied to a brief window of an underlying continuous function is called a ‘short-time Fourier transform’.

And the frequency information a STFT can pick up is bounded on the low end (think, like the opposite of the Nyquist limit) by the length of the window - this is called the ‘Rayleigh frequency’ - if your window is of length t, you can not detect frequencies lower than 1/t. Which is why your ‘instantaneous’ spectrum analyzer (looking at a short burst of maybe 0.05s of samples) for your 120bpm EDM doesn’t pick up a frequency component at 2Hz - even though that component is there in a Fourier analysis of the whole piece. It can only measure down to 20Hz. Which is fine because that’s also roughly the limit of the part of the song ‘function’ that we hear as ‘tone’ rather than ‘rhythm’.

1 comments

Respectfully, your characterization of a DFT's infinite domain conflicts with the definition of the DFT -- it is defined as a finite sequence, and that's how it's used in common industry usage. Case in point:

https://en.wikipedia.org/wiki/Discrete_Fourier_transform

> In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples [...]

Related: Showing energy content (i.e. DFT) versus time -- aka spectrograms: https://en.wikipedia.org/wiki/Spectrogram

In practice it’s hard to store an infinite number of discrete samples, let alone process them. So I assume that’s why people don’t try.

A spectrogram remains a visualization of a short time Fourier transform at a number of points in time. In practice usually produced using a DFT because discrete samples are what you have to work with.

You're describing the DTFT (discrete-time Fourier transform), not the DFT.

https://en.wikipedia.org/wiki/Discrete-time_Fourier_transfor...

Pedantics aside: Spectrum analyzers are computing DFTs over a finite window, and it's perfectly reasonable to think of these as (an approximation of) power spectral density changing over time.

Right. But if you think Fourier transforms produce a function of ‘power spectral density over time’ you are on a road to misunderstanding. Or even if you think that it makes sense to talk about the Fourier transform ‘at a moment in time’.

The thing I am railing against here is the idea that you can just look at a spectrogram to grasp Fourier. You can’t. It is an advanced application of Fourier transforms that creates a visualization of power spectral density over time but it is not a (simple) Fourier transform of the underlying data.