[linux-dvb] [RFC] SNR units in tuners

Darron Broad darron at kewl.org
Sun Oct 19 22:43:53 CEST 2008

In message <20081019195409.GW6792 at braindead1.acher>, Georg Acher wrote:


>On Sat, Oct 18, 2008 at 06:42:08AM +0100, Darron Broad wrote:
>> The trouble there is that the scaling for the cx24116 already works
>> from an end-user perspective. The value derived in the code is
>> a possible maximum of 160 from the chip. REELBOX decided on 176
>> which may be more accurate.
>The reelbox code was just a heuristic approach to scale the value so that
>less than 30-40% is where the trouble starts... I've more or less matched it
>to femon's colors. There was no intention to indicate dBs, as end users
>don't understand dBs anyway ;-)

All sat receivers I see just scale to fit. We can read lots of forum
posts where people exchange % readings for sats :-)

>The docs for the 24116 say that the snr is measured in 0.1dB steps. The
>absolute range of registers a3:d5 is 0 to 300, so full scale is 30dB. I
>doubt we will see the 30dB in a real-world setup...

Okay, so we know the step size of 0.1 per bit and that's measured
within a range of 0 to 300 but that doesn't actually say what it's
value is? Ie, is 50=5dB or something else?

All the graphs I see for QPSK and 8PSK in use in the real-world
suggest the theoretical limit of esn0 is a lot less than that available
range. I don't know what is the accepted error rate to set this limit.
Perhaps someone who has authority on this subject can chime in?

On the cx24116 testing observed that a register max of 160 from QPSK
gave good approximation to that given by regular sat-kit sitting
around 100%. If that really means 16dB then it doesn't look right
compared to the graphs I see, what's wrong here?

>The signal strength in 9e/9d is the value of the AGC voltage. Register da
>seems to contain the estimated power level (-25 to -70dBm), but there's no
>further information about that (step size etc). I guess the firmware derives
>it from the AGC settings.

Okay. All that's done in cx24116.c is take that val and invert
it, which is enough I suppose.



 // /
{:)==={ Darron Broad <darron at kewl.org>
 \\ \ 

More information about the linux-dvb mailing list