Tweets by @dsprelated

A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

Introduction of C Programming for DSP Applications

There are **8** messages in this thread.

You are currently looking at messages 1 to .

**Is this discussion worth a thumbs up?**

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" <j...@gmail.com> wrote in message news:7...@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! It's a lot more complicated than that because active sonar has more than one "noise" to deal with and you have to be particular about what you're talking about and when. Sometimes, usually long after the transmit pulse, the receiver noise floor will be the ambient noise - whatever that is.... affected by flow noise if there's platform motion or strong current and, best case, limited by the receiver electronics. The rest of the time the receiver noise floor will be due to reverberation. Then, you need to consider *where* in the receiver you want to measure SNR. You might measure it in a broadband sense over the entire receiver passband - and get the worst possible SNR. Or, you might measure it at the output of a matched filter or bank of filters, or ...... A simple example is a tone pulse of bandwidth "W" and measuring SNR with bandwidth W, 2W, 4W, etc. as the reciever or filter bandwidth gets wider, the SNR gets 3dB worse for white noise. Since you're using a chirp then I assume there's a matched filter. So, that helps decide part of the answer above. The tank has to be large compared to the extent of the pulse in water and you'll probably have to do something to observe the signal *before* boundary reverberation messes everything up at the receiver. This is common practice .... One approach might be to ping away with no object of interest present and characterize the "noise" coming out of the receiver as a function of time. Then, introduce an object of interest and compare its signal level to the noise you've characterized at the same range - assuming there is enough SNR for detection and measurement! Another similar but real time approach might be to measure the "noise" at times just before and just after the echo in order to make the comparison. A simple plot of signal plus noise with time at the receiver output will usually allow this to be done. So, your 100msec record needs to be around the echo time *and* the echoing object of interest has to be of very limited physical extent in range. Otherwise the echo may be longer than 100msec. A sphere that's not *too* big relative to the wavelength would be good. You could look up radar cross section of a sphere vs. size and wavelength to find the point where cross section levels off (or sonar target size ... same idea). Fred

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. In article <1...@p10g2000cwp.googlegroups.com>, "Rune Allnor" <a...@tele.ntnu.no> wrote: >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 >

```
John Herman wrote:
> 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.
...
I'm puzzled here. How can a ratio of energy to power be dimensionless?
Jerry
--
Engineering is the art of making what you want from things you can get.
Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯Â¯
```

```
On 19 Mar, 02:28, Jerry Avins <j...@ieee.org> wrote:
> John Herman wrote:
> > 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.
>
> ...
>
> I'm puzzled here. How can a ratio of energy to power be dimensionless?
It can't. But then, SNR is a measure of power ratios, which
makes little sense for transient signals.
The way I understand it, SNR for transients is computed as
some RMS power value averaged over some "typical" time
frame of the transient. For a transient with constant
amplitude, then, the SNR can be computed from the peak
power, the SNR being valid "for as long as the pulse lasts".
Since the matched filter works with energy, pulse duration
influences the processing gain of the matched filter.
Rune
```