Skip to main content
1 of 3

Measuring amplitude of a Pure Sine Wave of known Frequency close to the noise floor

What i want to ask you comes from a place where i can play with all the parameters as much as I want (i can measure as long as I want and as fast as i want, as well as change sensor/ADC).

The signal of origin will be a Pure Sine Wave of known frequency and maximum amplitude. As it travels through space it will atenuate. Due to the environment (underwater) i use low band frequencies (10-80Hz), and when i get too far away from it i cannot distinguish signal from noise.

Right know i am measuring using a 20bit ADC, mainly i reconstruct the amplitude of the signal by doing an FFT of it. Here is what I have tried:

  • Use windows (have tried Flat-Top,Hann and a couple more) (proved really usefull).
  • Filter the signal (FIR and biquad Filter) (didn't help too much).
  • Play with the sampling rate and sampling ammount (empirical tests, i use 200Hz sampling rate, and 512 samples for ARM inbuild functions for FFT)

The easy answer when i get far away from the signal would be to increase the power at the origin or get a better sensor with lower floor noise. But i feel that i can do much better processing my signal before changing to better sensors and emiters (i plan to enhance my system in both ways).

My problem then, comes when i am far away from the signal (i can provide real data if needed), I cannot distinguish anymore the tone at the FFT from the noise. As far as my knowledge can go, this could be either

  • Quantization noise of the ADC (20 bits)
  • Floor Noise of the sensor
  • Dispersion from other noise signals (At the end, i think is more white noise like, i dont see other tones).

I have been reading other articles here, using Autocorrelation, Goerthe as well as other solutions like Precise measurement of Sine Wave using ADC that i will definitely try while you answer this question and compare to my actual solution.

Sorry to disturb you if this question has been already answered.

For those of you interested to help, even though apreciated, i know having an easy answer that i can copy paste is almost impossible, but i am also really interested in learning about these kind of situations, so i will gladly accept any good book or article recomendations where i can learn more about it, enhance my solution and most of all learn and help other people in a situation close to mine.