[linux-dvb] Values returned by IOCTL: FE_READ_BER, FE_READ_SNR

Roberto Granato granroby at gmail.com
Wed Oct 31 12:48:27 CET 2007

How to interpret the values returned using  FE_READ_BER and FE_READ_SNR
in a frontend IOCTL?

The definition of BER is (error bit)/(total bit) in a time interval,
while the definition of SNR is (signal power)/(error power).

In the DVB Frontend API I see that BER is a uint32_t and SNR ia a uint16_t.

For example, with a poor signal I got the following values:

Bit error rate: 304146
Signal strength: 38576
SNR: 22359

Bit error rate: 316097
Signal strength: 37912
SNR: 21588

The interval between two readings is 5 seconds.

Why BER is a (so) big number?
How to express SNR with dB?

Roberto Granato

More information about the linux-dvb mailing list