SNR calculation in stv0299 driver
From: Gill Robles-Thome <hidden>
Date: 2005-07-19 16:04:01
From: Gill Robles-Thome <hidden>
Date: 2005-07-19 16:04:01
Hi -
Can anyone explain the algorithm used to calculate the SNR for the
stv0299 driver? Ie
case FE_READ_SNR:
{
s32 snr = 0xffff - ((stv0299_readreg (i2c, 0x24) << 8)
| stv0299_readreg (i2c, 0x25));
snr = 3 * (snr - 0xa100);
*((u16*) arg) = (snr > 0xffff) ? 0xffff :
(snr < 0) ? 0 : snr;
break;
}
I don't understand where the 0xa100 value comes from, or why the result
is them multiplied by 3! Registers 0x24 and 0x25 are apparently "Noise
Indicator" registers, but the stv0299 specification doesn't explain very
well how these registers should be used.
Thanks for your help,
Gill