[linux-dvb] [Proposal] Meaningful reporting of SNR

Rusty Scott rustys at ieee.org
Thu Apr 13 01:47:45 CEST 2006


On Wed, 2006-04-12 at 23:30 +0200, Hartmut Hackmann wrote:
> A comment / question:
> 
> Does it make sense to spend significant effort on computing an accurate
> SNR value?
> It might make sense for VSB and DVB-C / S, i cant tell.
> But i am sure that for DVB-T, it doesn't.
> A signal to noise ratio might be excellent but reception very poor due
> to several (short) echoes.
> For antenna optimization and comparison there (to my experience) are 2
> useful values: signal strength (minor) and the raw bit error rate (major).
> The raw ber can be normalized to the maximum correctable ber and this
> would be a useful measure since this number tells about the real safety
> margin.
Good point which brings up the notion that for any given standard there
is a useful set of values that are needed to evaluate performance.  For
example the lgdt3303 ATSC/QAM demodulator can't report BER but can
report an accurate SNR.  The ATSC/QAM demodulator modules I have worked
with generate performance measures from the noise in the equalizer
and/or phase-tracker in the decoder.  This is a general measure of how
hard the decoder is working to decode the signal and has direct
correlation to the SNR.  When used to report the SNR, this value should
have a logarithmic scale because small changes can have big implications
in signal quality.  So accuracy isn't so important here, but accuracy is
more important when you have two different cards in your system.  Card A
says it has a better signal than card B when in reality they are both
receiving the signal equally well.

BTW - This really isn't significant effort.  The general form of the
equation for calculating SNR from these measurements is:
             10*log10(scale/<value>)
which can be written:
             10*log10(scale)-10*log10(<value>)
the first is a constant so can be precalculated.  I already have a
function that computes i10log10(x) using a combination of table lookup
and integer math. So it could be used in kernel space.  Those
manufacturers that provide the equations for their cards (or modules)
could be converted rapidly.

I've probably beat this enough for today.

Rusty




More information about the linux-dvb mailing list