246 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
 | 
						|
 | 
						|
.. _frontend-stat-properties:
 | 
						|
 | 
						|
******************************
 | 
						|
Frontend statistics indicators
 | 
						|
******************************
 | 
						|
 | 
						|
The values are returned via ``dtv_property.stat``. If the property is
 | 
						|
supported, ``dtv_property.stat.len`` is bigger than zero.
 | 
						|
 | 
						|
For most delivery systems, ``dtv_property.stat.len`` will be 1 if the
 | 
						|
stats is supported, and the properties will return a single value for
 | 
						|
each parameter.
 | 
						|
 | 
						|
It should be noted, however, that new OFDM delivery systems like ISDB
 | 
						|
can use different modulation types for each group of carriers. On such
 | 
						|
standards, up to 3 groups of statistics can be provided, and
 | 
						|
``dtv_property.stat.len`` is updated to reflect the "global" metrics,
 | 
						|
plus one metric per each carrier group (called "layer" on ISDB).
 | 
						|
 | 
						|
So, in order to be consistent with other delivery systems, the first
 | 
						|
value at :c:type:`dtv_property.stat.dtv_stats <dtv_stats>` array refers
 | 
						|
to the global metric. The other elements of the array represent each
 | 
						|
layer, starting from layer A(index 1), layer B (index 2) and so on.
 | 
						|
 | 
						|
The number of filled elements are stored at ``dtv_property.stat.len``.
 | 
						|
 | 
						|
Each element of the ``dtv_property.stat.dtv_stats`` array consists on
 | 
						|
two elements:
 | 
						|
 | 
						|
-  ``svalue`` or ``uvalue``, where ``svalue`` is for signed values of
 | 
						|
   the measure (dB measures) and ``uvalue`` is for unsigned values
 | 
						|
   (counters, relative scale)
 | 
						|
 | 
						|
-  ``scale`` - Scale for the value. It can be:
 | 
						|
 | 
						|
   -  ``FE_SCALE_NOT_AVAILABLE`` - The parameter is supported by the
 | 
						|
      frontend, but it was not possible to collect it (could be a
 | 
						|
      transitory or permanent condition)
 | 
						|
 | 
						|
   -  ``FE_SCALE_DECIBEL`` - parameter is a signed value, measured in
 | 
						|
      1/1000 dB
 | 
						|
 | 
						|
   -  ``FE_SCALE_RELATIVE`` - parameter is a unsigned value, where 0
 | 
						|
      means 0% and 65535 means 100%.
 | 
						|
 | 
						|
   -  ``FE_SCALE_COUNTER`` - parameter is a unsigned value that counts
 | 
						|
      the occurrence of an event, like bit error, block error, or lapsed
 | 
						|
      time.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-SIGNAL-STRENGTH:
 | 
						|
 | 
						|
DTV_STAT_SIGNAL_STRENGTH
 | 
						|
========================
 | 
						|
 | 
						|
Indicates the signal strength level at the analog part of the tuner or
 | 
						|
of the demod.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_DECIBEL`` - signal strength is in 0.001 dBm units, power
 | 
						|
   measured in miliwatts. This value is generally negative.
 | 
						|
 | 
						|
-  ``FE_SCALE_RELATIVE`` - The frontend provides a 0% to 100%
 | 
						|
   measurement for power (actually, 0 to 65535).
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-CNR:
 | 
						|
 | 
						|
DTV_STAT_CNR
 | 
						|
============
 | 
						|
 | 
						|
Indicates the Signal to Noise ratio for the main carrier.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_DECIBEL`` - Signal/Noise ratio is in 0.001 dB units.
 | 
						|
 | 
						|
-  ``FE_SCALE_RELATIVE`` - The frontend provides a 0% to 100%
 | 
						|
   measurement for Signal/Noise (actually, 0 to 65535).
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-PRE-ERROR-BIT-COUNT:
 | 
						|
 | 
						|
DTV_STAT_PRE_ERROR_BIT_COUNT
 | 
						|
============================
 | 
						|
 | 
						|
Measures the number of bit errors before the forward error correction
 | 
						|
(FEC) on the inner coding block (before Viterbi, LDPC or other inner
 | 
						|
code).
 | 
						|
 | 
						|
This measure is taken during the same interval as
 | 
						|
``DTV_STAT_PRE_TOTAL_BIT_COUNT``.
 | 
						|
 | 
						|
In order to get the BER (Bit Error Rate) measurement, it should be
 | 
						|
divided by
 | 
						|
:ref:`DTV_STAT_PRE_TOTAL_BIT_COUNT <DTV-STAT-PRE-TOTAL-BIT-COUNT>`.
 | 
						|
 | 
						|
This measurement is monotonically increased, as the frontend gets more
 | 
						|
bit count measurements. The frontend may reset it when a
 | 
						|
channel/transponder is tuned.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of error bits counted before the inner
 | 
						|
   coding.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-PRE-TOTAL-BIT-COUNT:
 | 
						|
 | 
						|
DTV_STAT_PRE_TOTAL_BIT_COUNT
 | 
						|
============================
 | 
						|
 | 
						|
Measures the amount of bits received before the inner code block, during
 | 
						|
the same period as
 | 
						|
:ref:`DTV_STAT_PRE_ERROR_BIT_COUNT <DTV-STAT-PRE-ERROR-BIT-COUNT>`
 | 
						|
measurement was taken.
 | 
						|
 | 
						|
It should be noted that this measurement can be smaller than the total
 | 
						|
amount of bits on the transport stream, as the frontend may need to
 | 
						|
manually restart the measurement, losing some data between each
 | 
						|
measurement interval.
 | 
						|
 | 
						|
This measurement is monotonically increased, as the frontend gets more
 | 
						|
bit count measurements. The frontend may reset it when a
 | 
						|
channel/transponder is tuned.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of bits counted while measuring
 | 
						|
   :ref:`DTV_STAT_PRE_ERROR_BIT_COUNT <DTV-STAT-PRE-ERROR-BIT-COUNT>`.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-POST-ERROR-BIT-COUNT:
 | 
						|
 | 
						|
DTV_STAT_POST_ERROR_BIT_COUNT
 | 
						|
=============================
 | 
						|
 | 
						|
Measures the number of bit errors after the forward error correction
 | 
						|
(FEC) done by inner code block (after Viterbi, LDPC or other inner
 | 
						|
code).
 | 
						|
 | 
						|
This measure is taken during the same interval as
 | 
						|
``DTV_STAT_POST_TOTAL_BIT_COUNT``.
 | 
						|
 | 
						|
In order to get the BER (Bit Error Rate) measurement, it should be
 | 
						|
divided by
 | 
						|
:ref:`DTV_STAT_POST_TOTAL_BIT_COUNT <DTV-STAT-POST-TOTAL-BIT-COUNT>`.
 | 
						|
 | 
						|
This measurement is monotonically increased, as the frontend gets more
 | 
						|
bit count measurements. The frontend may reset it when a
 | 
						|
channel/transponder is tuned.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of error bits counted after the inner
 | 
						|
   coding.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-POST-TOTAL-BIT-COUNT:
 | 
						|
 | 
						|
DTV_STAT_POST_TOTAL_BIT_COUNT
 | 
						|
=============================
 | 
						|
 | 
						|
Measures the amount of bits received after the inner coding, during the
 | 
						|
same period as
 | 
						|
:ref:`DTV_STAT_POST_ERROR_BIT_COUNT <DTV-STAT-POST-ERROR-BIT-COUNT>`
 | 
						|
measurement was taken.
 | 
						|
 | 
						|
It should be noted that this measurement can be smaller than the total
 | 
						|
amount of bits on the transport stream, as the frontend may need to
 | 
						|
manually restart the measurement, losing some data between each
 | 
						|
measurement interval.
 | 
						|
 | 
						|
This measurement is monotonically increased, as the frontend gets more
 | 
						|
bit count measurements. The frontend may reset it when a
 | 
						|
channel/transponder is tuned.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of bits counted while measuring
 | 
						|
   :ref:`DTV_STAT_POST_ERROR_BIT_COUNT <DTV-STAT-POST-ERROR-BIT-COUNT>`.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-ERROR-BLOCK-COUNT:
 | 
						|
 | 
						|
DTV_STAT_ERROR_BLOCK_COUNT
 | 
						|
==========================
 | 
						|
 | 
						|
Measures the number of block errors after the outer forward error
 | 
						|
correction coding (after Reed-Solomon or other outer code).
 | 
						|
 | 
						|
This measurement is monotonically increased, as the frontend gets more
 | 
						|
bit count measurements. The frontend may reset it when a
 | 
						|
channel/transponder is tuned.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of error blocks counted after the outer
 | 
						|
   coding.
 | 
						|
 | 
						|
 | 
						|
.. _DTV-STAT-TOTAL-BLOCK-COUNT:
 | 
						|
 | 
						|
DTV-STAT_TOTAL_BLOCK_COUNT
 | 
						|
==========================
 | 
						|
 | 
						|
Measures the total number of blocks received during the same period as
 | 
						|
:ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>`
 | 
						|
measurement was taken.
 | 
						|
 | 
						|
It can be used to calculate the PER indicator, by dividing
 | 
						|
:ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>` by
 | 
						|
:ref:`DTV-STAT-TOTAL-BLOCK-COUNT`.
 | 
						|
 | 
						|
Possible scales for this metric are:
 | 
						|
 | 
						|
-  ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
 | 
						|
   measurement was not complete yet.
 | 
						|
 | 
						|
-  ``FE_SCALE_COUNTER`` - Number of blocks counted while measuring
 | 
						|
   :ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>`.
 |