# Calculating SNR of an acoustic signal

Started by February 14, 2007
I'm wondering what a good method is to calculate the SNR of a signal.  For
example, I'm emitting a 60-130 kHz 50 ms chirp in a tank full of water and
recording the sound waves with different hydrophones.  I'm curious to see
how changing the chirp length affects the SNR, but I'm not real clear on
how to exactly calculate the SNR.

I know that SNR is the ratio of signal to noise power levels, so does that
mean that in my received signal I can plot the power density spectrum and
then subtract the average low power by the peak power?  To be more
precise, I'm using the pwelch command in Matlab to plot the power density
spectrum for the received signal which has units of dB/frequency, but
wasn't sure on if I can do that to calculate SNR.

Thanks!

On 14 Feb, 21:50, "stojakapimp" <jrenf...@gmail.com> wrote:
> I'm wondering what a good method is to calculate the SNR of a signal. For > example, I'm emitting a 60-130 kHz 50 ms chirp in a tank full of water and > recording the sound waves with different hydrophones. I'm curious to see > how changing the chirp length affects the SNR, but I'm not real clear on > how to exactly calculate the SNR.
Changing the chirp length does NOT change the SNR, assuming that the chirp length is the only system parameter you change.
> I know that SNR is the ratio of signal to noise power levels, so does that > mean that in my received signal I can plot the power density spectrum and > then subtract the average low power by the peak power? To be more > precise, I'm using the pwelch command in Matlab to plot the power density > spectrum for the received signal which has units of dB/frequency, but > wasn't sure on if I can do that to calculate SNR.
Estimating the SNR is not necessarily easy. If you can, measure the PSD of the background noise. Then, if signal parameters permit, measure the PSD of the signal and noise together. From that, comute the SNR. This poses two problems. The first is to measure the background noise. Most active sonar systems sync the receiver with the transmitter, making it all but impossible to make a measurement without sending a pulse. The second is that most sonar pulses are transients, not stationary, meaning that it is very difficult to make the *power* of the signal. Rune
Well there are two parameters that I set...the chirp length of the signal,
and the amount of time that I want to record.  So if my chirp length is
50ms, then I usually record for about 100ms in order to obtain the chirp +
its reverberation.  So you're saying that increasing the chirp length will
not increase the SNR?

Also, for these measurements, I am emitting with one transducer and
receiving with 3 hydrophones.  So yes, I can record sound in the tank
without having to emit a signal.  Are you recommending that I make
measurements in the tank without producing a sound in order to obtain the
noise signal levels?  Then make measurement with a ping and then compare
that to the noise levels?

Thanks!

>On 14 Feb, 21:50, "stojakapimp" <jrenf...@gmail.com> wrote: >> I'm wondering what a good method is to calculate the SNR of a signal.
For
>> example, I'm emitting a 60-130 kHz 50 ms chirp in a tank full of water
and
>> recording the sound waves with different hydrophones. I'm curious to
see
>> how changing the chirp length affects the SNR, but I'm not real clear
on
>> how to exactly calculate the SNR. > >Changing the chirp length does NOT change the SNR, assuming that >the chirp length is the only system parameter you change. > >> I know that SNR is the ratio of signal to noise power levels, so does
that
>> mean that in my received signal I can plot the power density spectrum
and
>> then subtract the average low power by the peak power? To be more >> precise, I'm using the pwelch command in Matlab to plot the power
density
>> spectrum for the received signal which has units of dB/frequency, but >> wasn't sure on if I can do that to calculate SNR. > >Estimating the SNR is not necessarily easy. If you can, measure the >PSD >of the background noise. Then, if signal parameters permit, measure >the >PSD of the signal and noise together. From that, comute the SNR. > >This poses two problems. The first is to measure the background >noise. >Most active sonar systems sync the receiver with the transmitter, >making >it all but impossible to make a measurement without sending a pulse. >The second is that most sonar pulses are transients, not stationary, >meaning that it is very difficult to make the *power* of the signal. > >Rune > >
"stojakapimp" <jrenfree@gmail.com> wrote in message
news:7cqdneSAPObfD07YnZ2dnUVZ_rWnnZ2d@giganews.com...
> Well there are two parameters that I set...the chirp length of the signal, > and the amount of time that I want to record. So if my chirp length is > 50ms, then I usually record for about 100ms in order to obtain the chirp + > its reverberation. So you're saying that increasing the chirp length will > not increase the SNR? > > Also, for these measurements, I am emitting with one transducer and > receiving with 3 hydrophones. So yes, I can record sound in the tank > without having to emit a signal. Are you recommending that I make > measurements in the tank without producing a sound in order to obtain the > noise signal levels? Then make measurement with a ping and then compare > that to the noise levels? > > Thanks!
On 14 Feb, 23:50, "stojakapimp" <jrenf...@gmail.com> wrote:
> Well there are two parameters that I set...the chirp length of the signal, > and the amount of time that I want to record. So if my chirp length is > 50ms, then I usually record for about 100ms in order to obtain the chirp + > its reverberation. So you're saying that increasing the chirp length will > not increase the SNR?
Keeping the power constant, increasing transmit time will increase the energy of the signal. SNR is expressed in terms of power.
> Also, for these measurements, I am emitting with one transducer and > receiving with 3 hydrophones. So yes, I can record sound in the tank > without having to emit a signal. Are you recommending that I make > measurements in the tank without producing a sound in order to obtain the > noise signal levels? Then make measurement with a ping and then compare > that to the noise levels?
Yes. As Fred said, pay attention to propagation paths. 50 ms pings correspond to some 75 m of propagation. Quite a bit larger than your tank, right? I would be surprised if you measure a very big difference when setting 100ms chirp lengths; you are probably only measuring reverberation inside the tank anyway. Rune
The SNR is the ratio of signal energy to noise power for matched filters.
This means that when you double the leagth of the pulse, you double the energy
and increase the SNR by 3 dB.

Rune is right.  You cannot do what you want to do in that tank unless you
shorten the pulses to a few (two or three) millisecopnds in length.