frontend-stat-properties.rst 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. .. -*- coding: utf-8; mode: rst -*-
  2. .. _frontend-stat-properties:
  3. ******************************
  4. Frontend statistics indicators
  5. ******************************
  6. The values are returned via ``dtv_property.stat``. If the property is
  7. supported, ``dtv_property.stat.len`` is bigger than zero.
  8. For most delivery systems, ``dtv_property.stat.len`` will be 1 if the
  9. stats is supported, and the properties will return a single value for
  10. each parameter.
  11. It should be noted, however, that new OFDM delivery systems like ISDB
  12. can use different modulation types for each group of carriers. On such
  13. standards, up to 3 groups of statistics can be provided, and
  14. ``dtv_property.stat.len`` is updated to reflect the "global" metrics,
  15. plus one metric per each carrier group (called "layer" on ISDB).
  16. So, in order to be consistent with other delivery systems, the first
  17. value at :c:type:`dtv_property.stat.dtv_stats <dtv_stats>` array refers
  18. to the global metric. The other elements of the array represent each
  19. layer, starting from layer A(index 1), layer B (index 2) and so on.
  20. The number of filled elements are stored at ``dtv_property.stat.len``.
  21. Each element of the ``dtv_property.stat.dtv_stats`` array consists on
  22. two elements:
  23. - ``svalue`` or ``uvalue``, where ``svalue`` is for signed values of
  24. the measure (dB measures) and ``uvalue`` is for unsigned values
  25. (counters, relative scale)
  26. - ``scale`` - Scale for the value. It can be:
  27. - ``FE_SCALE_NOT_AVAILABLE`` - The parameter is supported by the
  28. frontend, but it was not possible to collect it (could be a
  29. transitory or permanent condition)
  30. - ``FE_SCALE_DECIBEL`` - parameter is a signed value, measured in
  31. 1/1000 dB
  32. - ``FE_SCALE_RELATIVE`` - parameter is a unsigned value, where 0
  33. means 0% and 65535 means 100%.
  34. - ``FE_SCALE_COUNTER`` - parameter is a unsigned value that counts
  35. the occurrence of an event, like bit error, block error, or lapsed
  36. time.
  37. .. _DTV-STAT-SIGNAL-STRENGTH:
  38. DTV_STAT_SIGNAL_STRENGTH
  39. ========================
  40. Indicates the signal strength level at the analog part of the tuner or
  41. of the demod.
  42. Possible scales for this metric are:
  43. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  44. measurement was not complete yet.
  45. - ``FE_SCALE_DECIBEL`` - signal strength is in 0.001 dBm units, power
  46. measured in miliwatts. This value is generally negative.
  47. - ``FE_SCALE_RELATIVE`` - The frontend provides a 0% to 100%
  48. measurement for power (actually, 0 to 65535).
  49. .. _DTV-STAT-CNR:
  50. DTV_STAT_CNR
  51. ============
  52. Indicates the Signal to Noise ratio for the main carrier.
  53. Possible scales for this metric are:
  54. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  55. measurement was not complete yet.
  56. - ``FE_SCALE_DECIBEL`` - Signal/Noise ratio is in 0.001 dB units.
  57. - ``FE_SCALE_RELATIVE`` - The frontend provides a 0% to 100%
  58. measurement for Signal/Noise (actually, 0 to 65535).
  59. .. _DTV-STAT-PRE-ERROR-BIT-COUNT:
  60. DTV_STAT_PRE_ERROR_BIT_COUNT
  61. ============================
  62. Measures the number of bit errors before the forward error correction
  63. (FEC) on the inner coding block (before Viterbi, LDPC or other inner
  64. code).
  65. This measure is taken during the same interval as
  66. ``DTV_STAT_PRE_TOTAL_BIT_COUNT``.
  67. In order to get the BER (Bit Error Rate) measurement, it should be
  68. divided by
  69. :ref:`DTV_STAT_PRE_TOTAL_BIT_COUNT <DTV-STAT-PRE-TOTAL-BIT-COUNT>`.
  70. This measurement is monotonically increased, as the frontend gets more
  71. bit count measurements. The frontend may reset it when a
  72. channel/transponder is tuned.
  73. Possible scales for this metric are:
  74. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  75. measurement was not complete yet.
  76. - ``FE_SCALE_COUNTER`` - Number of error bits counted before the inner
  77. coding.
  78. .. _DTV-STAT-PRE-TOTAL-BIT-COUNT:
  79. DTV_STAT_PRE_TOTAL_BIT_COUNT
  80. ============================
  81. Measures the amount of bits received before the inner code block, during
  82. the same period as
  83. :ref:`DTV_STAT_PRE_ERROR_BIT_COUNT <DTV-STAT-PRE-ERROR-BIT-COUNT>`
  84. measurement was taken.
  85. It should be noted that this measurement can be smaller than the total
  86. amount of bits on the transport stream, as the frontend may need to
  87. manually restart the measurement, losing some data between each
  88. measurement interval.
  89. This measurement is monotonically increased, as the frontend gets more
  90. bit count measurements. The frontend may reset it when a
  91. channel/transponder is tuned.
  92. Possible scales for this metric are:
  93. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  94. measurement was not complete yet.
  95. - ``FE_SCALE_COUNTER`` - Number of bits counted while measuring
  96. :ref:`DTV_STAT_PRE_ERROR_BIT_COUNT <DTV-STAT-PRE-ERROR-BIT-COUNT>`.
  97. .. _DTV-STAT-POST-ERROR-BIT-COUNT:
  98. DTV_STAT_POST_ERROR_BIT_COUNT
  99. =============================
  100. Measures the number of bit errors after the forward error correction
  101. (FEC) done by inner code block (after Viterbi, LDPC or other inner
  102. code).
  103. This measure is taken during the same interval as
  104. ``DTV_STAT_POST_TOTAL_BIT_COUNT``.
  105. In order to get the BER (Bit Error Rate) measurement, it should be
  106. divided by
  107. :ref:`DTV_STAT_POST_TOTAL_BIT_COUNT <DTV-STAT-POST-TOTAL-BIT-COUNT>`.
  108. This measurement is monotonically increased, as the frontend gets more
  109. bit count measurements. The frontend may reset it when a
  110. channel/transponder is tuned.
  111. Possible scales for this metric are:
  112. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  113. measurement was not complete yet.
  114. - ``FE_SCALE_COUNTER`` - Number of error bits counted after the inner
  115. coding.
  116. .. _DTV-STAT-POST-TOTAL-BIT-COUNT:
  117. DTV_STAT_POST_TOTAL_BIT_COUNT
  118. =============================
  119. Measures the amount of bits received after the inner coding, during the
  120. same period as
  121. :ref:`DTV_STAT_POST_ERROR_BIT_COUNT <DTV-STAT-POST-ERROR-BIT-COUNT>`
  122. measurement was taken.
  123. It should be noted that this measurement can be smaller than the total
  124. amount of bits on the transport stream, as the frontend may need to
  125. manually restart the measurement, losing some data between each
  126. measurement interval.
  127. This measurement is monotonically increased, as the frontend gets more
  128. bit count measurements. The frontend may reset it when a
  129. channel/transponder is tuned.
  130. Possible scales for this metric are:
  131. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  132. measurement was not complete yet.
  133. - ``FE_SCALE_COUNTER`` - Number of bits counted while measuring
  134. :ref:`DTV_STAT_POST_ERROR_BIT_COUNT <DTV-STAT-POST-ERROR-BIT-COUNT>`.
  135. .. _DTV-STAT-ERROR-BLOCK-COUNT:
  136. DTV_STAT_ERROR_BLOCK_COUNT
  137. ==========================
  138. Measures the number of block errors after the outer forward error
  139. correction coding (after Reed-Solomon or other outer code).
  140. This measurement is monotonically increased, as the frontend gets more
  141. bit count measurements. The frontend may reset it when a
  142. channel/transponder is tuned.
  143. Possible scales for this metric are:
  144. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  145. measurement was not complete yet.
  146. - ``FE_SCALE_COUNTER`` - Number of error blocks counted after the outer
  147. coding.
  148. .. _DTV-STAT-TOTAL-BLOCK-COUNT:
  149. DTV-STAT_TOTAL_BLOCK_COUNT
  150. ==========================
  151. Measures the total number of blocks received during the same period as
  152. :ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>`
  153. measurement was taken.
  154. It can be used to calculate the PER indicator, by dividing
  155. :ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>` by
  156. :ref:`DTV-STAT-TOTAL-BLOCK-COUNT`.
  157. Possible scales for this metric are:
  158. - ``FE_SCALE_NOT_AVAILABLE`` - it failed to measure it, or the
  159. measurement was not complete yet.
  160. - ``FE_SCALE_COUNTER`` - Number of blocks counted while measuring
  161. :ref:`DTV_STAT_ERROR_BLOCK_COUNT <DTV-STAT-ERROR-BLOCK-COUNT>`.