[mythtv] What units of SNR is returned by FE_GET_SNR

Mac Michaels wmichaels1 at earthlink.net
Mon Jun 6 20:35:33 UTC 2005

On Monday 06 June 2005 02:53 pm, Taylor Jacob wrote:
> Quoting Mac Michaels <wmichaels1 at earthlink.net>:
> > I send this to both linux-dvb and myth-dev lists
> > because SNR is generated by a linux-dvb driver and
> > displayed by the mythtv application while doing a
> > tuning scan.
> >
> > I have searched the DVB documentation for the units of
> > signal-to-noise ratio and found only that is is an
> > int16_t. Not much help. SNR is usually specified in db
> > and defined as:
> Each DVB driver does it differently.  There are no units
> because on many demods that have been reverse engineered
> no one knows what the units really are.
> Here is one example.  The value can be 0-0xFFFF.  I did
> some checking and found that 32DB is very very high for
> ATSC reception and so I made the SNR value for the
> Nxt2002 go from 0 (0db) - 0xFFFF (32db).
> The Hd2k/3k cards report the value as just the actual
> unit so 32db would be 0x0020.
> Great system right?   There really isn't much of a way to
> fix this other than hope the drivers return some
> reasonable value..

Maybe there should be an addition to the info structure to 
indicate how SNR and signal strength are being reported so 
the application knows how to interpret the value.

For example:
enum snr_type { DB, DB_TENTHS, FULLRANGE, ... }
int snr_min
int snr_max

DB means snr_min and snr_max are in db
DB_TENTHS means snr_min and snr_max are in tenths of a db (a 
value of 20 means 2 db)
FULLRANGE means value of 0 is for snr_min db and value of 
0xFFFF if for snr_max db.

-- Mac

More information about the mythtv-dev mailing list