Mirror Frequencies on FFT Spectrum

I use my PC to play a 17kHz audio wav file and record it through my STM32 EVK + ultrasound-mic to another wav file. I put it in Audacity and plot spectrum. But always see duplicate frequencies, one is on ~17kHz, the other is ~78kHz. Is it normal on FFT? could anyone tell me the possible cause? Thanks in advance.

the link of file: Dropbox - 20240401_124800.wav - Simplify your life

the link of spectrum: Dropbox - 17kHz Spectrum.png - Simplify your life



It looks like your 17kHz waveform has been resampled from 96kHz to 192kHz without anti-alias filtering. (See also Trebor’s link)

Thanks for the information, Trebor. That’s really helpful.

Also, thanks, Steve. @steve do you have any idea how to implement “anti-alias filtering”?

Yes, but it’s very complicated and you don’t need to.

Resampling from 96kHz to 192kHz will not improve anything. It just makes the file bigger, and if not done with high quality anti-aliasing it can “damage” the audio as you have observed.

The easiest solution would be to keep the audio data as 96kHz, but if there is a reason why you really need it to be 192 kHz, then convert it in Audacity. Audacity’s resampling is extremely good (it uses the excellent “soxr” resampling library).

To convert from 96kHz sampling rate to 192kHz in Audacity:

  1. Import the file
  2. Change the “Project Sample Rate” to 192kHz (see: Audio Setup Toolbar - Audacity Manual)
  3. Export in a lossless format such as WAV.


In very recent versions of Audacity you can set the sample rate in the Export dialog. (See: Export Audio - Audacity Manual)

Thanks, @steve .
I’m sorry for late response since I’m swamped in past few weeks of important phase.
Per study @Trebor 's link, I learned a lot. And I agree with you that there is no reason must do anti-alias with huge effort.

Thank you so much for your help and knowledge share. We can close this support ticket.

This topic was automatically closed after 30 days. New replies are no longer allowed.