[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Gaining RSSI, SNR, CNR or BER information

From: Johnathan Corgan
Subject: Re: [Discuss-gnuradio] Gaining RSSI, SNR, CNR or BER information
Date: Fri, 09 May 2008 09:23:18 -0700
User-agent: Thunderbird (X11/20080227)

Bastian Preindl wrote:

> That are very good news for me! I'm aware about the relations between
> SNR and BER - I just wonder about the several ways to estimate the SNR
> in GnuRadio. That's exactly the information I lack of - do you have any
> documentation/examples/sources for how to accomplish that?

For BPSK, a simple estimator to calculate the signal plus noise to noise
ratio is to track the power each in the I and Q portions of demodulated
symbol stream.   That is, power(I)/power(Q) is a good (but biased)
estimate of (S+N)/N for an interval of signal.  In practice, you can
maintain a running exponential average of each channel and calculate the
ratio when needed.

A more accurate estimator is to measure the absolute mean and variance
of the demodulated symbols, then take ratio of the square of the
absolute mean over the variance.  This is a true estimate of SNR, but is
still biased.

Depending on how you need the data for the rest of your application, you
could either code these up in Python using existing GNU Radio primitives
into a flow graph, or you could write a custom C++ block (which would be
marginally faster).

> And what about the usage of sound cards as ADC? Can I also obtain SNR
> information when I just have an audio stream as source?

That entirely depends on what has already happened to the signal prior
to it arriving at the sound card.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]