1 .. -*- coding: utf-8; mode: rst -*-
3 .. _fe_property_parameters:
5 ******************************
6 Digital TV property parameters
7 ******************************
9 There are several different Digital TV parameters that can be used by
10 :ref:`FE_SET_PROPERTY and FE_GET_PROPERTY ioctls<FE_GET_PROPERTY>`.
11 This section describes each of them. Please notice, however, that only
12 a subset of them are needed to setup a frontend.
20 Used internally. A GET/SET operation for it won't change or return
29 Interpret the cache of data, build either a traditional frontend
30 tunerequest so we can pass validation in the ``FE_SET_FRONTEND`` ioctl.
38 Reset a cache of data specific to the frontend here. This does not
47 Frequency of the digital TV transponder/channel.
51 #. For satellite delivery systems, the frequency is in kHz.
53 #. For cable and terrestrial delivery systems, the frequency is in
56 #. On most delivery systems, the frequency is the center frequency
57 of the transponder/channel. The exception is for ISDB-T, where
58 the main carrier has a 1/7 offset from the center.
60 #. For ISDB-T, the channels are usually transmitted with an offset of
61 about 143kHz. E.g. a valid frequency could be 474,143 kHz. The
62 stepping is bound to the bandwidth of the channel which is
65 #. In ISDB-Tsb, the channel consists of only one or three segments the
66 frequency step is 429kHz, 3*429 respectively.
74 Specifies the frontend modulation type for delivery systems that
75 supports more multiple modulations.
77 The modulation can be one of the types defined by enum :c:type:`fe_modulation`.
79 Most of the digital TV standards offers more than one possible
82 The table below presents a summary of the types of modulation types
83 supported by each delivery system, as currently defined by specs.
85 ======================= =======================================================
86 Standard Modulation types
87 ======================= =======================================================
88 ATSC (version 1) 8-VSB and 16-VSB.
89 DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
90 DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.
92 DVB-T QPSK, 16-QAM and 64-QAM.
93 DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.
94 DVB-S No need to set. It supports only QPSK.
95 DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.
96 ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.
97 ISDB-S 8-PSK, QPSK and BPSK.
98 ======================= =======================================================
102 Please notice that some of the above modulation types may not be
103 defined currently at the Kernel. The reason is simple: no driver
104 needed such definition yet.
107 .. _DTV-BANDWIDTH-HZ:
112 Bandwidth for the channel, in HZ.
114 Should be set only for terrestrial delivery systems.
116 Possible values: ``1712000``, ``5000000``, ``6000000``, ``7000000``,
117 ``8000000``, ``10000000``.
119 ======================= =======================================================
120 Terrestrial Standard Possible values for bandwidth
121 ======================= =======================================================
122 ATSC (version 1) No need to set. It is always 6MHz.
123 DMTB No need to set. It is always 8MHz.
124 DVB-T 6MHz, 7MHz and 8MHz.
125 DVB-T2 1.172 MHz, 5MHz, 6MHz, 7MHz, 8MHz and 10MHz
126 ISDB-T 5MHz, 6MHz, 7MHz and 8MHz, although most places
128 ======================= =======================================================
134 #. For ISDB-Tsb, the bandwidth can vary depending on the number of
137 It can be easily derived from other parameters
138 (DTV_ISDBT_SB_SEGMENT_IDX, DTV_ISDBT_SB_SEGMENT_COUNT).
140 #. On Satellite and Cable delivery systems, the bandwidth depends on
141 the symbol rate. So, the Kernel will silently ignore any setting
142 :ref:`DTV-BANDWIDTH-HZ`. I will however fill it back with a
143 bandwidth estimation.
145 Such bandwidth estimation takes into account the symbol rate set with
146 :ref:`DTV-SYMBOL-RATE`, and the rolloff factor, with is fixed for
149 For DVB-S2, the rolloff should also be set via :ref:`DTV-ROLLOFF`.
157 Specifies if the frontend should do spectral inversion or not.
159 The acceptable values are defined by :c:type:`fe_spectral_inversion`.
162 .. _DTV-DISEQC-MASTER:
167 Currently not implemented.
175 Used on cable and satellite delivery systems.
177 Digital TV symbol rate, in bauds (symbols/second).
185 Used on cable and satellite delivery systems.
187 The acceptable values are defined by :c:type:`fe_code_rate`.
195 Used on satellite delivery systems.
197 The voltage is usually used with non-DiSEqC capable LNBs to switch the
198 polarzation (horizontal/vertical). When using DiSEqC epuipment this
199 voltage has to be switched consistently to the DiSEqC commands as
200 described in the DiSEqC spec.
202 The acceptable values are defined by :c:type:`fe_sec_voltage`.
222 The acceptable values are defined by :c:type:`fe_pilot`.
234 The acceptable values are defined by :c:type:`fe_rolloff`.
237 .. _DTV-DISEQC-SLAVE-REPLY:
239 DTV_DISEQC_SLAVE_REPLY
240 ======================
242 Currently not implemented.
245 .. _DTV-FE-CAPABILITY-COUNT:
247 DTV_FE_CAPABILITY_COUNT
248 =======================
250 Currently not implemented.
253 .. _DTV-FE-CAPABILITY:
258 Currently not implemented.
261 .. _DTV-DELIVERY-SYSTEM:
266 Specifies the type of the delivery system.
268 The acceptable values are defined by :c:type:`fe_delivery_system`.
271 .. _DTV-ISDBT-PARTIAL-RECEPTION:
273 DTV_ISDBT_PARTIAL_RECEPTION
274 ===========================
278 If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit-field represents
279 whether the channel is in partial reception mode or not.
281 If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
282 and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
284 If in addition ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'
285 ``DTV_ISDBT_PARTIAL_RECEPTION`` represents whether this ISDB-Tsb channel
286 is consisting of one segment and layer or three segments and two layers.
288 Possible values: 0, 1, -1 (AUTO)
291 .. _DTV-ISDBT-SOUND-BROADCASTING:
293 DTV_ISDBT_SOUND_BROADCASTING
294 ============================
298 This field represents whether the other DTV_ISDBT_*-parameters are
299 referring to an ISDB-T and an ISDB-Tsb channel. (See also
300 ``DTV_ISDBT_PARTIAL_RECEPTION``).
302 Possible values: 0, 1, -1 (AUTO)
305 .. _DTV-ISDBT-SB-SUBCHANNEL-ID:
307 DTV_ISDBT_SB_SUBCHANNEL_ID
308 ==========================
312 This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
314 (Note of the author: This might not be the correct description of the
315 ``SUBCHANNEL-ID`` in all details, but it is my understanding of the
316 technical background needed to program a device)
318 An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
319 set of connected ISDB-Tsb channels. In this set of channels every
320 channel can be received independently. The number of connected ISDB-Tsb
321 segment can vary, e.g. depending on the frequency spectrum bandwidth
324 Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
325 broadcaster has several possibilities to put those channels in the air:
326 Assuming a normal 13-segment ISDB-T spectrum he can align the 8 segments
327 from position 1-8 to 5-13 or anything in between.
329 The underlying layer of segments are subchannels: each segment is
330 consisting of several subchannels with a predefined IDs. A sub-channel
331 is used to help the demodulator to synchronize on the channel.
333 An ISDB-T channel is always centered over all sub-channels. As for the
334 example above, in ISDB-Tsb it is no longer as simple as that.
336 ``The DTV_ISDBT_SB_SUBCHANNEL_ID`` parameter is used to give the
337 sub-channel ID of the segment to be demodulated.
339 Possible values: 0 .. 41, -1 (AUTO)
342 .. _DTV-ISDBT-SB-SEGMENT-IDX:
344 DTV_ISDBT_SB_SEGMENT_IDX
345 ========================
349 This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
351 ``DTV_ISDBT_SB_SEGMENT_IDX`` gives the index of the segment to be
352 demodulated for an ISDB-Tsb channel where several of them are
353 transmitted in the connected manner.
355 Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
357 Note: This value cannot be determined by an automatic channel search.
360 .. _DTV-ISDBT-SB-SEGMENT-COUNT:
362 DTV_ISDBT_SB_SEGMENT_COUNT
363 ==========================
367 This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
369 ``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
372 Possible values: 1 .. 13
374 Note: This value cannot be determined by an automatic channel search.
377 .. _isdb-hierq-layers:
379 DTV-ISDBT-LAYER[A-C] parameters
380 ===============================
384 ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
385 ISDB-T hierarchical layers can be decoded simultaneously. For that
386 reason a ISDB-T demodulator has 3 Viterbi and 3 Reed-Solomon decoders.
388 ISDB-T has 3 hierarchical layers which each can use a part of the
389 available segments. The total number of segments over all layers has to
392 There are 3 parameter sets, for Layers A, B and C.
395 .. _DTV-ISDBT-LAYER-ENABLED:
397 DTV_ISDBT_LAYER_ENABLED
398 -----------------------
402 Hierarchical reception in ISDB-T is achieved by enabling or disabling
403 layers in the decoding process. Setting all bits of
404 ``DTV_ISDBT_LAYER_ENABLED`` to '1' forces all layers (if applicable) to
405 be demodulated. This is the default.
407 If the channel is in the partial reception mode
408 (``DTV_ISDBT_PARTIAL_RECEPTION`` = 1) the central segment can be decoded
409 independently of the other 12 segments. In that mode layer A has to have
410 a ``SEGMENT_COUNT`` of 1.
412 In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb according
413 to ``DTV_ISDBT_PARTIAL_RECEPTION``. ``SEGMENT_COUNT`` must be filled
416 Only the values of the first 3 bits are used. Other bits will be silently ignored:
418 ``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
420 ``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
422 ``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
424 ``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
427 .. _DTV-ISDBT-LAYER-FEC:
429 DTV_ISDBT_LAYER[A-C]_FEC
430 ------------------------
434 The Forward Error Correction mechanism used by a given ISDB Layer, as
435 defined by :c:type:`fe_code_rate`.
438 Possible values are: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
439 ``FEC_5_6``, ``FEC_7_8``
442 .. _DTV-ISDBT-LAYER-MODULATION:
444 DTV_ISDBT_LAYER[A-C]_MODULATION
445 -------------------------------
449 The modulation used by a given ISDB Layer, as defined by
450 :c:type:`fe_modulation`.
452 Possible values are: ``QAM_AUTO``, ``QPSK``, ``QAM_16``, ``QAM_64``, ``DQPSK``
456 #. If layer C is ``DQPSK``, then layer B has to be ``DQPSK``.
458 #. If layer B is ``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ = 0,
459 then layer has to be ``DQPSK``.
462 .. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
464 DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
465 ----------------------------------
469 Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)
471 Note: Truth table for ``DTV_ISDBT_SOUND_BROADCASTING`` and
472 ``DTV_ISDBT_PARTIAL_RECEPTION`` and ``LAYER[A-C]_SEGMENT_COUNT``
474 .. _isdbt-layer_seg-cnt-table:
476 .. flat-table:: Truth table for ISDB-T Sound Broadcasting
553 .. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
555 DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
556 --------------------------------------
560 Valid values: 0, 1, 2, 4, -1 (AUTO)
562 when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
564 Note: The real time interleaving length depends on the mode (fft-size).
565 The values here are referring to what can be found in the
566 TMCC-structure, as shown in the table below.
569 .. c:type:: isdbt_layer_interleaving_table
571 .. flat-table:: ISDB-T time interleaving modes
578 - ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
628 .. _DTV-ATSCMH-FIC-VER:
633 Used only on ATSC-MH.
635 Version number of the FIC (Fast Information Channel) signaling data.
637 FIC is used for relaying information to allow rapid service acquisition
640 Possible values: 0, 1, 2, 3, ..., 30, 31
643 .. _DTV-ATSCMH-PARADE-ID:
648 Used only on ATSC-MH.
650 Parade identification number
652 A parade is a collection of up to eight MH groups, conveying one or two
655 Possible values: 0, 1, 2, 3, ..., 126, 127
663 Used only on ATSC-MH.
665 Number of MH groups per MH subframe for a designated parade.
667 Possible values: 1, 2, 3, 4, 5, 6, 7, 8
675 Used only on ATSC-MH.
677 Total number of MH groups including all MH groups belonging to all MH
678 parades in one MH subframe.
680 Possible values: 0, 1, 2, 3, ..., 30, 31
688 Used only on ATSC-MH.
692 Possible values: 0, 1, 2, 3, ..., 14, 15
700 Used only on ATSC-MH.
702 Parade repetition cycle.
704 Possible values: 1, 2, 3, 4, 5, 6, 7, 8
707 .. _DTV-ATSCMH-RS-FRAME-MODE:
709 DTV_ATSCMH_RS_FRAME_MODE
710 ------------------------
712 Used only on ATSC-MH.
714 Reed Solomon (RS) frame mode.
716 The acceptable values are defined by :c:type:`atscmh_rs_frame_mode`.
719 .. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
721 DTV_ATSCMH_RS_FRAME_ENSEMBLE
722 ----------------------------
724 Used only on ATSC-MH.
726 Reed Solomon(RS) frame ensemble.
728 The acceptable values are defined by :c:type:`atscmh_rs_frame_ensemble`.
731 .. _DTV-ATSCMH-RS-CODE-MODE-PRI:
733 DTV_ATSCMH_RS_CODE_MODE_PRI
734 ---------------------------
736 Used only on ATSC-MH.
738 Reed Solomon (RS) code mode (primary).
740 The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
743 .. _DTV-ATSCMH-RS-CODE-MODE-SEC:
745 DTV_ATSCMH_RS_CODE_MODE_SEC
746 ---------------------------
748 Used only on ATSC-MH.
750 Reed Solomon (RS) code mode (secondary).
752 The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
755 .. _DTV-ATSCMH-SCCC-BLOCK-MODE:
757 DTV_ATSCMH_SCCC_BLOCK_MODE
758 --------------------------
760 Used only on ATSC-MH.
762 Series Concatenated Convolutional Code Block Mode.
764 The acceptable values are defined by :c:type:`atscmh_sccc_block_mode`.
767 .. _DTV-ATSCMH-SCCC-CODE-MODE-A:
769 DTV_ATSCMH_SCCC_CODE_MODE_A
770 ---------------------------
772 Used only on ATSC-MH.
774 Series Concatenated Convolutional Code Rate.
776 The acceptable values are defined by :c:type:`atscmh_sccc_code_mode`.
778 .. _DTV-ATSCMH-SCCC-CODE-MODE-B:
780 DTV_ATSCMH_SCCC_CODE_MODE_B
781 ---------------------------
783 Used only on ATSC-MH.
785 Series Concatenated Convolutional Code Rate.
787 Possible values are the same as documented on enum
788 :c:type:`atscmh_sccc_code_mode`.
791 .. _DTV-ATSCMH-SCCC-CODE-MODE-C:
793 DTV_ATSCMH_SCCC_CODE_MODE_C
794 ---------------------------
796 Used only on ATSC-MH.
798 Series Concatenated Convolutional Code Rate.
800 Possible values are the same as documented on enum
801 :c:type:`atscmh_sccc_code_mode`.
804 .. _DTV-ATSCMH-SCCC-CODE-MODE-D:
806 DTV_ATSCMH_SCCC_CODE_MODE_D
807 ---------------------------
809 Used only on ATSC-MH.
811 Series Concatenated Convolutional Code Rate.
813 Possible values are the same as documented on enum
814 :c:type:`atscmh_sccc_code_mode`.
822 Returns the major/minor version of the Digital TV API
825 .. _DTV-CODE-RATE-HP:
830 Used on terrestrial transmissions.
832 The acceptable values are defined by :c:type:`fe_transmit_mode`.
835 .. _DTV-CODE-RATE-LP:
840 Used on terrestrial transmissions.
842 The acceptable values are defined by :c:type:`fe_transmit_mode`.
845 .. _DTV-GUARD-INTERVAL:
850 The acceptable values are defined by :c:type:`fe_guard_interval`.
854 #. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
855 hardware will try to find the correct guard interval (if capable) and
856 will use TMCC to fill in the missing parameters.
857 #. Intervals ``GUARD_INTERVAL_1_128``, ``GUARD_INTERVAL_19_128``
858 and ``GUARD_INTERVAL_19_256`` are used only for DVB-T2 at
860 #. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
861 ``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
862 On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``
865 .. _DTV-TRANSMISSION-MODE:
867 DTV_TRANSMISSION_MODE
868 =====================
871 Used only on OFTM-based standards, e. g. DVB-T/T2, ISDB-T, DTMB.
873 Specifies the FFT size (with corresponds to the approximate number of
874 carriers) used by the standard.
876 The acceptable values are defined by :c:type:`fe_transmit_mode`.
880 #. ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
881 **mode** on such standard, and are numbered from 1 to 3:
883 ==== ======== ========================
884 Mode FFT size Transmission mode
885 ==== ======== ========================
886 1 2K ``TRANSMISSION_MODE_2K``
887 2 4K ``TRANSMISSION_MODE_4K``
888 3 8K ``TRANSMISSION_MODE_8K``
889 ==== ======== ========================
891 #. If ``DTV_TRANSMISSION_MODE`` is set the ``TRANSMISSION_MODE_AUTO``
892 the hardware will try to find the correct FFT-size (if capable) and
893 will use TMCC to fill in the missing parameters.
895 #. DVB-T specifies 2K and 8K as valid sizes.
897 #. DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
899 #. DTMB specifies C1 and C3780.
907 Used only on DVB-T and DVB-T2.
911 The acceptable values are defined by :c:type:`fe_hierarchy`.
919 Used on DVB-S2, DVB-T2 and ISDB-S.
921 DVB-S2, DVB-T2 and ISDB-S support the transmission of several streams on
922 a single transport stream. This property enables the digital TV driver to
923 handle substream filtering, when supported by the hardware. By default,
924 substream filtering is disabled.
926 For DVB-S2 and DVB-T2, the valid substream id range is from 0 to 255.
928 For ISDB, the valid substream id range is from 1 to 65535.
930 To disable it, you should use the special macro NO_STREAM_ID_FILTER.
932 Note: any value outside the id range also disables filtering.
935 .. _DTV-DVBT2-PLP-ID-LEGACY:
937 DTV_DVBT2_PLP_ID_LEGACY
938 =======================
940 Obsolete, replaced with DTV_STREAM_ID.
948 A Multi standard frontend needs to advertise the delivery systems
949 provided. Applications need to enumerate the provided delivery systems,
950 before using any other operation with the frontend. Prior to it's
951 introduction, FE_GET_INFO was used to determine a frontend type. A
952 frontend which provides more than a single delivery system,
953 FE_GET_INFO doesn't help much. Applications which intends to use a
954 multistandard frontend must enumerate the delivery systems associated
955 with it, rather than trying to use FE_GET_INFO. In the case of a
956 legacy frontend, the result is just the same as with FE_GET_INFO, but
957 in a more structured format
959 The acceptable values are defined by :c:type:`fe_delivery_system`.
962 .. _DTV-INTERLEAVING:
967 Time interleaving to be used.
969 The acceptable values are defined by :c:type:`fe_interleaving`.
979 Hardware might offer controllable LNA which can be set manually using
980 that parameter. Usually LNA could be found only from terrestrial devices
983 Possible values: 0, 1, LNA_AUTO
989 use the special macro LNA_AUTO to set LNA auto
992 .. _DTV-SCRAMBLING-SEQUENCE-INDEX:
994 DTV_SCRAMBLING_SEQUENCE_INDEX
995 =============================
999 This 18 bit field, when present, carries the index of the DVB-S2 physical
1000 layer scrambling sequence as defined in clause 5.5.4 of EN 302 307.
1001 There is no explicit signalling method to convey scrambling sequence index
1002 to the receiver. If S2 satellite delivery system descriptor is available
1003 it can be used to read the scrambling sequence index (EN 300 468 table 41).
1005 By default, gold scrambling sequence index 0 is used.
1007 The valid scrambling sequence index range is from 0 to 262142.