[linux-dvb] the function " int ioctl(int fd, int request = FE_READ_SNR, int16_t *snr); "

Michael Krufky mkrufky at linuxtv.org
Wed Jul 30 15:46:09 CEST 2008

TANGAo Khaled wrote:
> Hello.
>    I am working to design a software and i am using Frontend APIs. But I 
> still have a big problem witch, i do not understand. I want to know the 
> unit (linear or dB) of the value returned by this function:
> int ioctl(int fd, int request = FE_READ_SNR, int16_t *snr);
>  I would like to display an information to the user of my program,about 
> the quality of the signal his antenna picked up. To do this, i think the 
> best way is to display a graphic representing a percentage. But the 
> current value I read, (-258) is unusable like this. So can you please, 
> give me the unit of the value or give me a link to find what i am seeking?
> Thank you

Unfortunately, there is no *standard* unit of measure being used across all drivers.

It would be nice to clean this up and standardize the SNR reporting across every demod driver, but this will require some time & effort.  It will also require datasheets for all the demodulators so that we can find out what unit of measure is reported by the silicon, itself, so that it may be standardized across all drivers.

In the demodulator drivers that Steve Toth and I have been working on lately, we report the SNR in dB.  Again, not all drivers use the same units, so you cannot rely on this.

Sorry for the bad news.



More information about the linux-dvb mailing list