> sine waves and provides the amplitude and frequency of each sine wave.
And phase! Good luck trying to reconstruct your signal after you discard the phase. Lest you object that nobody would do this: I’ve seen people actually try to do this, and they couldn’t make sense of the garbage that resulted.
With respect to the frequency changing as the signal's downsampled, I'm pretty sure the author isn't correctly keeping track of the fact that by having fewer samples they're effectively changing the sample rate. It looks like the FFT every time is using 2048 bins, which is somewhat unexpected. They're not documenting how they're taking a 2048-point FFT with fewer than 2048 samples. Otherwise, fantastic article!
And phase! Good luck trying to reconstruct your signal after you discard the phase. Lest you object that nobody would do this: I’ve seen people actually try to do this, and they couldn’t make sense of the garbage that resulted.