요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _fe_property_parameters:
******************************
Digital TV property parameters
******************************
There are several different Digital TV parameters that can be used by
:ref:`FE_SET_PROPERTY and FE_GET_PROPERTY ioctls<FE_GET_PROPERTY>`.
This section describes each of them. Please notice, however, that only
a subset of them are needed to setup a frontend.
.. _DTV-UNDEFINED:
DTV_UNDEFINED
=============
Used internally. A GET/SET operation for it won't change or return
anything.
.. _DTV-TUNE:
DTV_TUNE
========
Interpret the cache of data, build either a traditional frontend
tunerequest so we can pass validation in the ``FE_SET_FRONTEND`` ioctl.
.. _DTV-CLEAR:
DTV_CLEAR
=========
Reset a cache of data specific to the frontend here. This does not
effect hardware.
.. _DTV-FREQUENCY:
DTV_FREQUENCY
=============
Frequency of the digital TV transponder/channel.
.. note::
#. For satellite delivery systems, the frequency is in kHz.
#. For cable and terrestrial delivery systems, the frequency is in
Hz.
#. On most delivery systems, the frequency is the center frequency
of the transponder/channel. The exception is for ISDB-T, where
the main carrier has a 1/7 offset from the center.
#. For ISDB-T, the channels are usually transmitted with an offset of
about 143kHz. E.g. a valid frequency could be 474,143 kHz. The
stepping is bound to the bandwidth of the channel which is
typically 6MHz.
#. In ISDB-Tsb, the channel consists of only one or three segments the
frequency step is 429kHz, 3*429 respectively.
.. _DTV-MODULATION:
DTV_MODULATION
==============
Specifies the frontend modulation type for delivery systems that
support multiple modulations.
The modulation can be one of the types defined by enum :c:type:`fe_modulation`.
Most of the digital TV standards offer more than one possible
modulation type.
The table below presents a summary of the types of modulation types
supported by each delivery system, as currently defined by specs.
======================= =======================================================
Standard Modulation types
======================= =======================================================
ATSC (version 1) 8-VSB and 16-VSB.
DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.
DVB-C Annex B 64-QAM.
DVB-C2 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM.
DVB-T QPSK, 16-QAM and 64-QAM.
DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.
DVB-S No need to set. It supports only QPSK.
DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.
DVB-S2X 8-APSK-L, 16-APSK-L, 32-APSK-L, 64-APSK and 64-APSK-L.
ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.
ISDB-S 8-PSK, QPSK and BPSK.
======================= =======================================================
.. note::
As DVB-S2X specifies extensions to the DVB-S2 standard, the same
delivery system enum value is used (SYS_DVBS2).
Please notice that some of the above modulation types may not be
defined currently at the Kernel. The reason is simple: no driver
needed such definition yet.
.. _DTV-BANDWIDTH-HZ:
DTV_BANDWIDTH_HZ
================
Bandwidth for the channel, in HZ.
Should be set only for terrestrial delivery systems.
Possible values: ``1712000``, ``5000000``, ``6000000``, ``7000000``,
``8000000``, ``10000000``.
======================= =======================================================
Terrestrial Standard Possible values for bandwidth
======================= =======================================================
ATSC (version 1) No need to set. It is always 6MHz.
DMTB No need to set. It is always 8MHz.
DVB-T 6MHz, 7MHz and 8MHz.
DVB-T2 1.172 MHz, 5MHz, 6MHz, 7MHz, 8MHz and 10MHz
ISDB-T 5MHz, 6MHz, 7MHz and 8MHz, although most places
use 6MHz.
======================= =======================================================
.. note::
#. For ISDB-Tsb, the bandwidth can vary depending on the number of
connected segments.
It can be easily derived from other parameters
(DTV_ISDBT_SB_SEGMENT_IDX, DTV_ISDBT_SB_SEGMENT_COUNT).
#. On Satellite and Cable delivery systems, the bandwidth depends on
the symbol rate. The kernel will silently ignore any :ref:`DTV-BANDWIDTH-HZ`
setting and overwrites it with bandwidth estimation.
Such bandwidth estimation takes into account the symbol rate set with
:ref:`DTV-SYMBOL-RATE`, and the rolloff factor, with is fixed for
DVB-C and DVB-S.
For DVB-S2, the rolloff should also be set via :ref:`DTV-ROLLOFF`.
.. _DTV-INVERSION:
DTV_INVERSION
=============
Specifies if the frontend should do spectral inversion or not.
The acceptable values are defined by :c:type:`fe_spectral_inversion`.
.. _DTV-DISEQC-MASTER:
DTV_DISEQC_MASTER
=================
Currently not implemented.
.. _DTV-SYMBOL-RATE:
DTV_SYMBOL_RATE
===============
Used on cable and satellite delivery systems.
Digital TV symbol rate, in bauds (symbols/second).
.. _DTV-INNER-FEC:
DTV_INNER_FEC
=============
Used on cable and satellite delivery systems.
The acceptable values are defined by :c:type:`fe_code_rate`.
.. _DTV-VOLTAGE:
DTV_VOLTAGE
===========
Used on satellite delivery systems.
The voltage is usually used with non-DiSEqC capable LNBs to switch the
polarization (horizontal/vertical). When using DiSEqC equipment this
voltage has to be switched consistently to the DiSEqC commands as
described in the DiSEqC spec.
The acceptable values are defined by :c:type:`fe_sec_voltage`.
.. _DTV-TONE:
DTV_TONE
========
Currently not used.
.. _DTV-PILOT:
DTV_PILOT
=========
Used on DVB-S2.
Sets DVB-S2 pilot.
The acceptable values are defined by :c:type:`fe_pilot`.
.. _DTV-ROLLOFF:
DTV_ROLLOFF
===========
Used on DVB-S2.
Sets DVB-S2 rolloff.
The acceptable values are defined by :c:type:`fe_rolloff`.
.. _DTV-DISEQC-SLAVE-REPLY:
DTV_DISEQC_SLAVE_REPLY
======================
Currently not implemented.
.. _DTV-FE-CAPABILITY-COUNT:
DTV_FE_CAPABILITY_COUNT
=======================
Currently not implemented.
.. _DTV-FE-CAPABILITY:
DTV_FE_CAPABILITY
=================
Currently not implemented.
.. _DTV-DELIVERY-SYSTEM:
DTV_DELIVERY_SYSTEM
===================
Specifies the type of the delivery system.
The acceptable values are defined by :c:type:`fe_delivery_system`.
.. _DTV-ISDBT-PARTIAL-RECEPTION:
DTV_ISDBT_PARTIAL_RECEPTION
===========================
Used only on ISDB.
If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit field represents
whether the channel is in partial reception mode or not.
If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
If in addition ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'
``DTV_ISDBT_PARTIAL_RECEPTION`` represents whether this ISDB-Tsb channel
is consisting of one segment and layer or three segments and two layers.
Possible values: 0, 1, -1 (AUTO)
.. _DTV-ISDBT-SOUND-BROADCASTING:
DTV_ISDBT_SOUND_BROADCASTING
============================
Used only on ISDB.
This field represents whether the other DTV_ISDBT_*-parameters are
referring to an ISDB-T and an ISDB-Tsb channel. (See also
``DTV_ISDBT_PARTIAL_RECEPTION``).
Possible values: 0, 1, -1 (AUTO)
.. _DTV-ISDBT-SB-SUBCHANNEL-ID:
DTV_ISDBT_SB_SUBCHANNEL_ID
==========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
(Note of the author: This might not be the correct description of the
``SUBCHANNEL-ID`` in all details, but it is my understanding of the
technical background needed to program a device)
An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
set of connected ISDB-Tsb channels. In this set of channels every
channel can be received independently. The number of connected ISDB-Tsb
segment can vary, e.g. depending on the frequency spectrum bandwidth
available.
Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
broadcaster has several possibilities to put those channels in the air:
Assuming a normal 13-segment ISDB-T spectrum he can align the 8 segments
from position 1-8 to 5-13 or anything in between.
The underlying layer of segments are sub-channels: each segment is
consisting of several sub-channels with a predefined IDs. A sub-channel
is used to help the demodulator to synchronize on the channel.
An ISDB-T channel is always centered over all sub-channels. As for the
example above, in ISDB-Tsb it is no longer as simple as that.
``The DTV_ISDBT_SB_SUBCHANNEL_ID`` parameter is used to give the
sub-channel ID of the segment to be demodulated.
Possible values: 0 .. 41, -1 (AUTO)
.. _DTV-ISDBT-SB-SEGMENT-IDX:
DTV_ISDBT_SB_SEGMENT_IDX
========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
``DTV_ISDBT_SB_SEGMENT_IDX`` gives the index of the segment to be
demodulated for an ISDB-Tsb channel where several of them are
transmitted in the connected manner.
Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
Note: This value cannot be determined by an automatic channel search.
.. _DTV-ISDBT-SB-SEGMENT-COUNT:
DTV_ISDBT_SB_SEGMENT_COUNT
==========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
ISDB-Tsb channels.
Possible values: 1 .. 13
Note: This value cannot be determined by an automatic channel search.
.. _isdb-hierq-layers:
DTV-ISDBT-LAYER[A-C] parameters
===============================
Used only on ISDB.
ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
ISDB-T hierarchical layers can be decoded simultaneously. For that
reason a ISDB-T demodulator has 3 Viterbi and 3 Reed-Solomon decoders.
ISDB-T has 3 hierarchical layers which each can use a part of the
available segments. The total number of segments over all layers has to
13 in ISDB-T.
There are 3 parameter sets, for Layers A, B and C.
.. _DTV-ISDBT-LAYER-ENABLED:
DTV_ISDBT_LAYER_ENABLED
-----------------------
Used only on ISDB.
Hierarchical reception in ISDB-T is achieved by enabling or disabling
layers in the decoding process. Setting all bits of
``DTV_ISDBT_LAYER_ENABLED`` to '1' forces all layers (if applicable) to
be demodulated. This is the default.
If the channel is in the partial reception mode
(``DTV_ISDBT_PARTIAL_RECEPTION`` = 1) the central segment can be decoded
independently of the other 12 segments. In that mode layer A has to have
a ``SEGMENT_COUNT`` of 1.
In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb according
to ``DTV_ISDBT_PARTIAL_RECEPTION``. ``SEGMENT_COUNT`` must be filled
accordingly.
Only the values of the first 3 bits are used. Other bits will be silently ignored:
``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
.. _DTV-ISDBT-LAYER-FEC:
DTV_ISDBT_LAYER[A-C]_FEC
------------------------
Used only on ISDB.
The Forward Error Correction mechanism used by a given ISDB Layer, as
defined by :c:type:`fe_code_rate`.
Possible values are: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
``FEC_5_6``, ``FEC_7_8``
.. _DTV-ISDBT-LAYER-MODULATION:
DTV_ISDBT_LAYER[A-C]_MODULATION
-------------------------------
Used only on ISDB.
The modulation used by a given ISDB Layer, as defined by
:c:type:`fe_modulation`.
Possible values are: ``QAM_AUTO``, ``QPSK``, ``QAM_16``, ``QAM_64``, ``DQPSK``
.. note::
#. If layer C is ``DQPSK``, then layer B has to be ``DQPSK``.
#. If layer B is ``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ = 0,
then layer has to be ``DQPSK``.
.. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
----------------------------------
Used only on ISDB.
Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)
Note: Truth table for ``DTV_ISDBT_SOUND_BROADCASTING`` and
``DTV_ISDBT_PARTIAL_RECEPTION`` and ``LAYER[A-C]_SEGMENT_COUNT``
.. _isdbt-layer_seg-cnt-table:
.. flat-table:: Truth table for ISDB-T Sound Broadcasting
:header-rows: 1
:stub-columns: 0
- .. row 1
- Partial Reception
- Sound Broadcasting
- Layer A width
- Layer B width
- Layer C width
- total width
- .. row 2
- 0
- 0
- 1 .. 13
- 1 .. 13
- 1 .. 13
- 13
- .. row 3
- 1
- 0
- 1
- 1 .. 13
- 1 .. 13
- 13
- .. row 4
- 0
- 1
- 1
- 0
- 0
- 1
- .. row 5
- 1
- 1
- 1
- 2
- 0
- 13
.. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
--------------------------------------
Used only on ISDB.
Valid values: 0, 1, 2, 4, -1 (AUTO)
when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
Note: The real time interleaving length depends on the mode (fft-size).
The values here are referring to what can be found in the
TMCC-structure, as shown in the table below.
.. c:type:: isdbt_layer_interleaving_table
.. flat-table:: ISDB-T time interleaving modes
:header-rows: 1
:stub-columns: 0
- .. row 1
- ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
- Mode 1 (2K FFT)
- Mode 2 (4K FFT)
- Mode 3 (8K FFT)
- .. row 2
- 0
- 0
- 0
- 0
- .. row 3
- 1
- 4
- 2
- 1
- .. row 4
- 2
- 8
- 4
- 2
- .. row 5
- 4
- 16
- 8
- 4
.. _DTV-ATSCMH-FIC-VER:
DTV_ATSCMH_FIC_VER
------------------
Used only on ATSC-MH.
Version number of the FIC (Fast Information Channel) signaling data.
FIC is used for relaying information to allow rapid service acquisition
by the receiver.
Possible values: 0, 1, 2, 3, ..., 30, 31
.. _DTV-ATSCMH-PARADE-ID:
DTV_ATSCMH_PARADE_ID
--------------------
Used only on ATSC-MH.
Parade identification number
A parade is a collection of up to eight MH groups, conveying one or two
ensembles.
Possible values: 0, 1, 2, 3, ..., 126, 127
.. _DTV-ATSCMH-NOG:
DTV_ATSCMH_NOG
--------------
Used only on ATSC-MH.
Number of MH groups per MH subframe for a designated parade.
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
.. _DTV-ATSCMH-TNOG:
DTV_ATSCMH_TNOG
---------------
Used only on ATSC-MH.
Total number of MH groups including all MH groups belonging to all MH
parades in one MH subframe.
Possible values: 0, 1, 2, 3, ..., 30, 31
.. _DTV-ATSCMH-SGN:
DTV_ATSCMH_SGN
--------------
Used only on ATSC-MH.
Start group number.
Possible values: 0, 1, 2, 3, ..., 14, 15
.. _DTV-ATSCMH-PRC:
DTV_ATSCMH_PRC
--------------
Used only on ATSC-MH.
Parade repetition cycle.
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
.. _DTV-ATSCMH-RS-FRAME-MODE:
DTV_ATSCMH_RS_FRAME_MODE
------------------------
Used only on ATSC-MH.
Reed Solomon (RS) frame mode.
The acceptable values are defined by :c:type:`atscmh_rs_frame_mode`.
.. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
DTV_ATSCMH_RS_FRAME_ENSEMBLE
----------------------------
Used only on ATSC-MH.
Reed Solomon (RS) frame ensemble.
The acceptable values are defined by :c:type:`atscmh_rs_frame_ensemble`.
.. _DTV-ATSCMH-RS-CODE-MODE-PRI:
DTV_ATSCMH_RS_CODE_MODE_PRI
---------------------------
Used only on ATSC-MH.
Reed Solomon (RS) code mode (primary).
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
.. _DTV-ATSCMH-RS-CODE-MODE-SEC:
DTV_ATSCMH_RS_CODE_MODE_SEC
---------------------------
Used only on ATSC-MH.
Reed Solomon (RS) code mode (secondary).
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
.. _DTV-ATSCMH-SCCC-BLOCK-MODE:
DTV_ATSCMH_SCCC_BLOCK_MODE
--------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Block Mode.
The acceptable values are defined by :c:type:`atscmh_sccc_block_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
DTV_ATSCMH_SCCC_CODE_MODE_A
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
The acceptable values are defined by :c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
DTV_ATSCMH_SCCC_CODE_MODE_B
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
DTV_ATSCMH_SCCC_CODE_MODE_C
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
DTV_ATSCMH_SCCC_CODE_MODE_D
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
.. _DTV-API-VERSION:
DTV_API_VERSION
===============
Returns the major/minor version of the Digital TV API
.. _DTV-CODE-RATE-HP:
DTV_CODE_RATE_HP
================
Used on terrestrial transmissions.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. _DTV-CODE-RATE-LP:
DTV_CODE_RATE_LP
================
Used on terrestrial transmissions.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. _DTV-GUARD-INTERVAL:
DTV_GUARD_INTERVAL
==================
The acceptable values are defined by :c:type:`fe_guard_interval`.
.. note::
#. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
hardware will try to find the correct guard interval (if capable) and
will use TMCC to fill in the missing parameters.
#. Interval ``GUARD_INTERVAL_1_64`` is used only for DVB-C2.
#. Interval ``GUARD_INTERVAL_1_128`` is used for both DVB-C2 and DVB_T2.
#. Intervals ``GUARD_INTERVAL_19_128`` and ``GUARD_INTERVAL_19_256`` are
used only for DVB-T2.
#. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``
are valid.
.. _DTV-TRANSMISSION-MODE:
DTV_TRANSMISSION_MODE
=====================
Used only on OFTM-based standards, e. g. DVB-T/T2, ISDB-T, DTMB.
Specifies the FFT size (with corresponds to the approximate number of
carriers) used by the standard.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. note::
#. ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
**mode** on such standard, and are numbered from 1 to 3:
==== ======== ========================
Mode FFT size Transmission mode
==== ======== ========================
1 2K ``TRANSMISSION_MODE_2K``
2 4K ``TRANSMISSION_MODE_4K``
3 8K ``TRANSMISSION_MODE_8K``
==== ======== ========================
#. If ``DTV_TRANSMISSION_MODE`` is set the ``TRANSMISSION_MODE_AUTO``
the hardware will try to find the correct FFT-size (if capable) and
will use TMCC to fill in the missing parameters.
#. DVB-T specifies 2K and 8K as valid sizes.
#. DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
#. DTMB specifies C1 and C3780.
.. _DTV-HIERARCHY:
DTV_HIERARCHY
=============
Used only on DVB-T and DVB-T2.
Frontend hierarchy.
The acceptable values are defined by :c:type:`fe_hierarchy`.
.. _DTV-STREAM-ID:
DTV_STREAM_ID
=============
Used on DVB-C2, DVB-S2, DVB-T2 and ISDB-S.
DVB-C2, DVB-S2, DVB-T2 and ISDB-S support the transmission of several
streams on a single transport stream. This property enables the digital
TV driver to handle substream filtering, when supported by the hardware.
By default, substream filtering is disabled.
For DVB-C2, DVB-S2 and DVB-T2, the valid substream id range is from 0 to
255.
For ISDB, the valid substream id range is from 1 to 65535.
To disable it, you should use the special macro NO_STREAM_ID_FILTER.
Note: any value outside the id range also disables filtering.
.. _DTV-DVBT2-PLP-ID-LEGACY:
DTV_DVBT2_PLP_ID_LEGACY
=======================
Obsolete, replaced with DTV_STREAM_ID.
.. _DTV-ENUM-DELSYS:
DTV_ENUM_DELSYS
===============
A Multi standard frontend needs to advertise the delivery systems
provided. Applications need to enumerate the provided delivery systems,
before using any other operation with the frontend. Prior to its
introduction, FE_GET_INFO was used to determine a frontend type. A
frontend which provides more than a single delivery system,
FE_GET_INFO doesn't help much. Applications which intends to use a
multistandard frontend must enumerate the delivery systems associated
with it, rather than trying to use FE_GET_INFO. In the case of a
legacy frontend, the result is just the same as with FE_GET_INFO, but
in a more structured format.
The acceptable values are defined by :c:type:`fe_delivery_system`.
.. _DTV-INTERLEAVING:
DTV_INTERLEAVING
================
Time interleaving to be used.
The acceptable values are defined by :c:type:`fe_interleaving`.
.. _DTV-LNA:
DTV_LNA
=======
Low-noise amplifier.
Hardware might offer controllable LNA which can be set manually using
that parameter. Usually LNA could be found only from terrestrial devices
if at all.
Possible values: 0, 1, LNA_AUTO
0, LNA off
1, LNA on
use the special macro LNA_AUTO to set LNA auto
.. _DTV-SCRAMBLING-SEQUENCE-INDEX:
DTV_SCRAMBLING_SEQUENCE_INDEX
=============================
Used on DVB-S2.
This 18 bit field, when present, carries the index of the DVB-S2 physical
layer scrambling sequence as defined in clause 5.5.4 of EN 302 307.
There is no explicit signalling method to convey scrambling sequence index
to the receiver. If S2 satellite delivery system descriptor is available
it can be used to read the scrambling sequence index (EN 300 468 table 41).
By default, gold scrambling sequence index 0 is used.
The valid scrambling sequence index range is from 0 to 262142.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Property 집합의 목적과 캐시 제어
1-41이 문서는 GFDL-1.1-no-invariants-or-later 라이선스를 따르며, `FE_SET_PROPERTY`와 `FE_GET_PROPERTY` ioctl에서 사용할 수 있는 Digital TV 매개변수를 설명합니다. frontend를 설정할 때는 이 가운데 일부만 필요합니다.
`DTV_UNDEFINED`는 내부적으로만 사용합니다. 이 property에 GET 또는 SET을 수행해도 값이나 상태가 바뀌지 않고 어떤 값도 반환하지 않습니다.
`DTV_TUNE`은 지금까지 캐시에 모은 데이터를 해석하고 전통적인 frontend tune 요청을 구성합니다. 이렇게 만든 요청은 `FE_SET_FRONTEND` ioctl에 전달하기 전에 검증을 통과할 수 있는 형태가 됩니다.
`DTV_CLEAR`는 이 frontend에 한정된 데이터 캐시를 초기화합니다. 하드웨어 상태에는 영향을 주지 않습니다.
설정 property를 모아 튜닝 요청으로 해석하거나 캐시만 비우는 흐름입니다.
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _fe_property_parameters:
******************************
Digital TV property parameters
******************************
There are several different Digital TV parameters that can be used by
:ref:`FE_SET_PROPERTY and FE_GET_PROPERTY ioctls<FE_GET_PROPERTY>`.
This section describes each of them. Please notice, however, that only
a subset of them are needed to setup a frontend.
.. _DTV-UNDEFINED:
DTV_UNDEFINED
=============
Used internally. A GET/SET operation for it won't change or return
anything.
.. _DTV-TUNE:
DTV_TUNE
========
Interpret the cache of data, build either a traditional frontend
tunerequest so we can pass validation in the ``FE_SET_FRONTEND`` ioctl.
.. _DTV-CLEAR:
DTV_CLEAR
=========
Reset a cache of data specific to the frontend here. This does not
effect hardware.
주파수와 변조 방식
42-111`DTV_FREQUENCY`는 Digital TV transponder 또는 채널의 주파수입니다. 위성 delivery system에서는 kHz, 케이블과 지상파 delivery system에서는 Hz 단위를 사용합니다.
대부분의 system에서는 transponder/채널의 중심 주파수를 지정합니다. ISDB-T는 예외로서 주 반송파가 중심에서 1/7만큼 어긋나 있습니다.
ISDB-T 채널은 보통 약 143kHz offset으로 송출됩니다. 예를 들어 474,143 kHz가 유효할 수 있으며, 주파수 step은 일반적으로 6MHz인 채널 대역폭에 묶입니다. ISDB-Tsb의 1-segment 채널은 429kHz, 3-segment 채널은 `3*429`kHz step을 사용합니다.
`DTV_MODULATION`은 여러 변조를 지원하는 delivery system에서 frontend 변조 형식을 지정합니다. 값은 `enum fe_modulation`에 정의되어 있습니다.
원문 표에 명시된 표준별 변조 형식입니다.
DVB-S2X는 DVB-S2의 확장이므로 같은 delivery system enum 값 `SYS_DVBS2`를 사용합니다. 표에 있는 변조 가운데 현재 커널에 정의되지 않은 형식도 있을 수 있는데, 아직 그 정의를 요구하는 드라이버가 없기 때문입니다.
.. _DTV-FREQUENCY:
DTV_FREQUENCY
=============
Frequency of the digital TV transponder/channel.
.. note::
#. For satellite delivery systems, the frequency is in kHz.
#. For cable and terrestrial delivery systems, the frequency is in
Hz.
#. On most delivery systems, the frequency is the center frequency
of the transponder/channel. The exception is for ISDB-T, where
the main carrier has a 1/7 offset from the center.
#. For ISDB-T, the channels are usually transmitted with an offset of
about 143kHz. E.g. a valid frequency could be 474,143 kHz. The
stepping is bound to the bandwidth of the channel which is
typically 6MHz.
#. In ISDB-Tsb, the channel consists of only one or three segments the
frequency step is 429kHz, 3*429 respectively.
.. _DTV-MODULATION:
DTV_MODULATION
==============
Specifies the frontend modulation type for delivery systems that
support multiple modulations.
The modulation can be one of the types defined by enum :c:type:`fe_modulation`.
Most of the digital TV standards offer more than one possible
modulation type.
The table below presents a summary of the types of modulation types
supported by each delivery system, as currently defined by specs.
======================= =======================================================
Standard Modulation types
======================= =======================================================
ATSC (version 1) 8-VSB and 16-VSB.
DMTB 4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
DVB-C Annex A/C 16-QAM, 32-QAM, 64-QAM and 256-QAM.
DVB-C Annex B 64-QAM.
DVB-C2 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM.
DVB-T QPSK, 16-QAM and 64-QAM.
DVB-T2 QPSK, 16-QAM, 64-QAM and 256-QAM.
DVB-S No need to set. It supports only QPSK.
DVB-S2 QPSK, 8-PSK, 16-APSK and 32-APSK.
DVB-S2X 8-APSK-L, 16-APSK-L, 32-APSK-L, 64-APSK and 64-APSK-L.
ISDB-T QPSK, DQPSK, 16-QAM and 64-QAM.
ISDB-S 8-PSK, QPSK and BPSK.
======================= =======================================================
.. note::
As DVB-S2X specifies extensions to the DVB-S2 standard, the same
delivery system enum value is used (SYS_DVBS2).
Please notice that some of the above modulation types may not be
defined currently at the Kernel. The reason is simple: no driver
needed such definition yet.
대역폭, 스펙트럼 반전과 DiSEqC master
112-173`DTV_BANDWIDTH_HZ`는 Hz 단위 채널 대역폭이며 지상파 delivery system에서만 설정해야 합니다. 가능한 수치는 `1712000`, `5000000`, `6000000`, `7000000`, `8000000`, `10000000`입니다.
원문이 제시하는 대역폭과 설정 필요 여부입니다.
ISDB-Tsb 대역폭은 연결된 segment 수에 따라 달라지며 `DTV_ISDBT_SB_SEGMENT_IDX`와 `DTV_ISDBT_SB_SEGMENT_COUNT`에서 쉽게 계산할 수 있습니다.
위성과 케이블에서는 대역폭이 symbol rate에 따라 결정됩니다. 커널은 `DTV_BANDWIDTH_HZ` 설정을 조용히 무시하고 추정한 대역폭으로 덮어씁니다.
대역폭 추정에는 `DTV_SYMBOL_RATE`의 symbol rate와 rolloff factor가 쓰입니다. DVB-C와 DVB-S의 rolloff는 고정이고, DVB-S2에서는 `DTV_ROLLOFF`도 설정해야 합니다.
`DTV_INVERSION`은 frontend가 스펙트럼 반전을 수행할지를 정하며 허용값은 `fe_spectral_inversion`에 정의됩니다. `DTV_DISEQC_MASTER`는 현재 구현되어 있지 않습니다.
.. _DTV-BANDWIDTH-HZ:
DTV_BANDWIDTH_HZ
================
Bandwidth for the channel, in HZ.
Should be set only for terrestrial delivery systems.
Possible values: ``1712000``, ``5000000``, ``6000000``, ``7000000``,
``8000000``, ``10000000``.
======================= =======================================================
Terrestrial Standard Possible values for bandwidth
======================= =======================================================
ATSC (version 1) No need to set. It is always 6MHz.
DMTB No need to set. It is always 8MHz.
DVB-T 6MHz, 7MHz and 8MHz.
DVB-T2 1.172 MHz, 5MHz, 6MHz, 7MHz, 8MHz and 10MHz
ISDB-T 5MHz, 6MHz, 7MHz and 8MHz, although most places
use 6MHz.
======================= =======================================================
.. note::
#. For ISDB-Tsb, the bandwidth can vary depending on the number of
connected segments.
It can be easily derived from other parameters
(DTV_ISDBT_SB_SEGMENT_IDX, DTV_ISDBT_SB_SEGMENT_COUNT).
#. On Satellite and Cable delivery systems, the bandwidth depends on
the symbol rate. The kernel will silently ignore any :ref:`DTV-BANDWIDTH-HZ`
setting and overwrites it with bandwidth estimation.
Such bandwidth estimation takes into account the symbol rate set with
:ref:`DTV-SYMBOL-RATE`, and the rolloff factor, with is fixed for
DVB-C and DVB-S.
For DVB-S2, the rolloff should also be set via :ref:`DTV-ROLLOFF`.
.. _DTV-INVERSION:
DTV_INVERSION
=============
Specifies if the frontend should do spectral inversion or not.
The acceptable values are defined by :c:type:`fe_spectral_inversion`.
.. _DTV-DISEQC-MASTER:
DTV_DISEQC_MASTER
=================
Currently not implemented.
케이블·위성 property와 미구현 항목
174-264`DTV_SYMBOL_RATE`는 케이블과 위성 delivery system에서 사용하는 초당 symbol 수, 즉 baud 단위의 Digital TV symbol rate입니다.
`DTV_INNER_FEC` 역시 케이블과 위성에서 사용하며 허용값은 `fe_code_rate`에 정의됩니다.
`DTV_VOLTAGE`는 위성 system용입니다. DiSEqC를 지원하지 않는 LNB에서는 보통 전압으로 수평/수직 편파를 바꾸고, DiSEqC 장비에서는 DiSEqC 명세의 command와 일관되게 전압을 전환해야 합니다. 값은 `fe_sec_voltage`를 따릅니다.
`DTV_TONE`은 현재 사용되지 않습니다. `DTV_DISEQC_SLAVE_REPLY`, `DTV_FE_CAPABILITY_COUNT`, `DTV_FE_CAPABILITY`도 현재 구현되어 있지 않습니다.
`DTV_PILOT`은 DVB-S2 pilot을 설정하며 `fe_pilot` 값을 사용합니다. `DTV_ROLLOFF`는 DVB-S2 rolloff를 설정하며 `fe_rolloff` 값을 사용합니다.
사용 영역과 값 정의 또는 구현 상태를 함께 정리합니다.
.. _DTV-SYMBOL-RATE:
DTV_SYMBOL_RATE
===============
Used on cable and satellite delivery systems.
Digital TV symbol rate, in bauds (symbols/second).
.. _DTV-INNER-FEC:
DTV_INNER_FEC
=============
Used on cable and satellite delivery systems.
The acceptable values are defined by :c:type:`fe_code_rate`.
.. _DTV-VOLTAGE:
DTV_VOLTAGE
===========
Used on satellite delivery systems.
The voltage is usually used with non-DiSEqC capable LNBs to switch the
polarization (horizontal/vertical). When using DiSEqC equipment this
voltage has to be switched consistently to the DiSEqC commands as
described in the DiSEqC spec.
The acceptable values are defined by :c:type:`fe_sec_voltage`.
.. _DTV-TONE:
DTV_TONE
========
Currently not used.
.. _DTV-PILOT:
DTV_PILOT
=========
Used on DVB-S2.
Sets DVB-S2 pilot.
The acceptable values are defined by :c:type:`fe_pilot`.
.. _DTV-ROLLOFF:
DTV_ROLLOFF
===========
Used on DVB-S2.
Sets DVB-S2 rolloff.
The acceptable values are defined by :c:type:`fe_rolloff`.
.. _DTV-DISEQC-SLAVE-REPLY:
DTV_DISEQC_SLAVE_REPLY
======================
Currently not implemented.
.. _DTV-FE-CAPABILITY-COUNT:
DTV_FE_CAPABILITY_COUNT
=======================
Currently not implemented.
.. _DTV-FE-CAPABILITY:
DTV_FE_CAPABILITY
=================
Currently not implemented.
Delivery system과 ISDB-T/Tsb 채널 선택
265-345`DTV_DELIVERY_SYSTEM`은 delivery system의 형식을 지정하며 허용값은 `fe_delivery_system`에 정의됩니다.
`DTV_ISDBT_PARTIAL_RECEPTION`은 ISDB에서만 사용합니다. `DTV_ISDBT_SOUND_BROADCASTING`이 0이면 채널이 partial reception mode인지 나타냅니다. 값이 1이면 `DTV_ISDBT_LAYERA_*`를 중앙 segment에 배정하고 `DTV_ISDBT_LAYERA_SEGMENT_COUNT`를 1로 해야 합니다.
sound broadcasting도 1이면 `DTV_ISDBT_PARTIAL_RECEPTION`은 이 ISDB-Tsb 채널이 1개 segment와 1개 layer로 구성되는지, 아니면 3개 segment와 2개 layer로 구성되는지를 나타냅니다. 가능한 값은 0, 1, -1(`AUTO`)입니다.
`DTV_ISDBT_SOUND_BROADCASTING`은 다른 `DTV_ISDBT_*` 매개변수가 ISDB-T 채널을 가리키는지 ISDB-Tsb 채널을 가리키는지 구분합니다. 가능한 값은 0, 1, -1(`AUTO`)입니다.
`DTV_ISDBT_SB_SUBCHANNEL_ID`는 sound broadcasting이 1일 때만 적용합니다. 1개 또는 3개 segment인 ISDB-Tsb 채널은 단독으로 송출하거나 연결된 채널 집합으로 송출할 수 있고, 집합 안의 각 채널은 독립적으로 수신할 수 있습니다.
연결 segment 수는 사용 가능한 주파수 대역폭에 따라 달라질 수 있습니다. 예를 들어 8개 연결 segment를 일반 13-segment ISDB-T 스펙트럼의 위치 1~8, 5~13 또는 그 사이 어느 위치에도 정렬할 수 있습니다.
segment 아래에는 미리 정의된 ID를 가진 sub-channel들이 있으며 demodulator가 채널에 동기화하는 데 사용됩니다. 일반 ISDB-T는 모든 sub-channel의 중앙에 놓이지만 ISDB-Tsb 연결 채널은 그렇지 않으므로, 복조할 segment의 sub-channel ID를 이 property로 전달합니다. 범위는 0~41 또는 -1(`AUTO`)입니다.
ISDB-T와 ISDB-Tsb의 mode 및 식별값 범위입니다.
.. _DTV-DELIVERY-SYSTEM:
DTV_DELIVERY_SYSTEM
===================
Specifies the type of the delivery system.
The acceptable values are defined by :c:type:`fe_delivery_system`.
.. _DTV-ISDBT-PARTIAL-RECEPTION:
DTV_ISDBT_PARTIAL_RECEPTION
===========================
Used only on ISDB.
If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit field represents
whether the channel is in partial reception mode or not.
If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
If in addition ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'
``DTV_ISDBT_PARTIAL_RECEPTION`` represents whether this ISDB-Tsb channel
is consisting of one segment and layer or three segments and two layers.
Possible values: 0, 1, -1 (AUTO)
.. _DTV-ISDBT-SOUND-BROADCASTING:
DTV_ISDBT_SOUND_BROADCASTING
============================
Used only on ISDB.
This field represents whether the other DTV_ISDBT_*-parameters are
referring to an ISDB-T and an ISDB-Tsb channel. (See also
``DTV_ISDBT_PARTIAL_RECEPTION``).
Possible values: 0, 1, -1 (AUTO)
.. _DTV-ISDBT-SB-SUBCHANNEL-ID:
DTV_ISDBT_SB_SUBCHANNEL_ID
==========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
(Note of the author: This might not be the correct description of the
``SUBCHANNEL-ID`` in all details, but it is my understanding of the
technical background needed to program a device)
An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
set of connected ISDB-Tsb channels. In this set of channels every
channel can be received independently. The number of connected ISDB-Tsb
segment can vary, e.g. depending on the frequency spectrum bandwidth
available.
Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
broadcaster has several possibilities to put those channels in the air:
Assuming a normal 13-segment ISDB-T spectrum he can align the 8 segments
from position 1-8 to 5-13 or anything in between.
The underlying layer of segments are sub-channels: each segment is
consisting of several sub-channels with a predefined IDs. A sub-channel
is used to help the demodulator to synchronize on the channel.
An ISDB-T channel is always centered over all sub-channels. As for the
example above, in ISDB-Tsb it is no longer as simple as that.
``The DTV_ISDBT_SB_SUBCHANNEL_ID`` parameter is used to give the
sub-channel ID of the segment to be demodulated.
Possible values: 0 .. 41, -1 (AUTO)
ISDB-Tsb segment와 계층 layer
346-398`DTV_ISDBT_SB_SEGMENT_IDX`는 sound broadcasting이 1인 연결형 ISDB-Tsb 채널에서 복조할 segment의 index입니다. 범위는 0부터 `DTV_ISDBT_SB_SEGMENT_COUNT - 1`까지이며 자동 채널 검색으로 알아낼 수 없습니다.
`DTV_ISDBT_SB_SEGMENT_COUNT`는 연결된 ISDB-Tsb 채널의 전체 수입니다. 범위는 1~13이며 이 값도 자동 채널 검색으로 결정할 수 없습니다.
`DTV_ISDBT_LAYER[A-C]` 매개변수는 ISDB 계층 부호화를 제어합니다. DVB-T와 달리 ISDB-T의 계층 layer는 동시에 복호화할 수 있으므로 ISDB-T demodulator에는 Viterbi decoder 3개와 Reed-Solomon decoder 3개가 있습니다.
ISDB-T에는 A, B, C 세 계층 layer가 있고 각 layer가 사용 가능한 segment 일부를 차지할 수 있습니다. 일반 ISDB-T에서는 모든 layer의 segment 수 합계가 13이어야 하며, 각 layer에 대응하는 세 매개변수 집합이 제공됩니다.
연결된 채널에서 직접 제공해야 하는 위치와 개수입니다.
.. _DTV-ISDBT-SB-SEGMENT-IDX:
DTV_ISDBT_SB_SEGMENT_IDX
========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
``DTV_ISDBT_SB_SEGMENT_IDX`` gives the index of the segment to be
demodulated for an ISDB-Tsb channel where several of them are
transmitted in the connected manner.
Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
Note: This value cannot be determined by an automatic channel search.
.. _DTV-ISDBT-SB-SEGMENT-COUNT:
DTV_ISDBT_SB_SEGMENT_COUNT
==========================
Used only on ISDB.
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
ISDB-Tsb channels.
Possible values: 1 .. 13
Note: This value cannot be determined by an automatic channel search.
.. _isdb-hierq-layers:
DTV-ISDBT-LAYER[A-C] parameters
===============================
Used only on ISDB.
ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
ISDB-T hierarchical layers can be decoded simultaneously. For that
reason a ISDB-T demodulator has 3 Viterbi and 3 Reed-Solomon decoders.
ISDB-T has 3 hierarchical layers which each can use a part of the
available segments. The total number of segments over all layers has to
13 in ISDB-T.
There are 3 parameter sets, for Layers A, B and C.
ISDB-T layer 활성화, FEC와 변조
399-465`DTV_ISDBT_LAYER_ENABLED`는 복호화 과정에서 ISDB-T layer를 켜거나 꺼 계층 수신을 제어합니다. 모든 bit를 1로 두면 적용 가능한 모든 layer를 복조하며 이것이 기본값입니다.
partial reception mode에서 중앙 segment는 나머지 12개와 독립적으로 복호화할 수 있고, 이때 layer A의 `SEGMENT_COUNT`는 1이어야 합니다. ISDB-Tsb는 layer A만 사용하며 partial reception 값에 따라 segment 수가 1 또는 3이므로 `SEGMENT_COUNT`도 맞춰야 합니다.
하위 3bit만 사용하며 bit 3~31은 조용히 무시합니다.
`DTV_ISDBT_LAYER[A-C]_FEC`는 각 ISDB layer의 Forward Error Correction 방식입니다. `fe_code_rate`가 정의한 `FEC_AUTO`, `FEC_1_2`, `FEC_2_3`, `FEC_3_4`, `FEC_5_6`, `FEC_7_8`을 사용할 수 있습니다.
`DTV_ISDBT_LAYER[A-C]_MODULATION`은 각 layer의 변조 방식이며 `fe_modulation`을 따릅니다. 가능한 값은 `QAM_AUTO`, `QPSK`, `QAM_16`, `QAM_64`, `DQPSK`입니다.
layer C가 `DQPSK`이면 layer B도 `DQPSK`여야 합니다. layer B가 `DQPSK`이고 `DTV_ISDBT_PARTIAL_RECEPTION = 0`이면 원문에 적힌 해당 layer 역시 `DQPSK`여야 합니다.
.. _DTV-ISDBT-LAYER-ENABLED:
DTV_ISDBT_LAYER_ENABLED
-----------------------
Used only on ISDB.
Hierarchical reception in ISDB-T is achieved by enabling or disabling
layers in the decoding process. Setting all bits of
``DTV_ISDBT_LAYER_ENABLED`` to '1' forces all layers (if applicable) to
be demodulated. This is the default.
If the channel is in the partial reception mode
(``DTV_ISDBT_PARTIAL_RECEPTION`` = 1) the central segment can be decoded
independently of the other 12 segments. In that mode layer A has to have
a ``SEGMENT_COUNT`` of 1.
In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb according
to ``DTV_ISDBT_PARTIAL_RECEPTION``. ``SEGMENT_COUNT`` must be filled
accordingly.
Only the values of the first 3 bits are used. Other bits will be silently ignored:
``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
.. _DTV-ISDBT-LAYER-FEC:
DTV_ISDBT_LAYER[A-C]_FEC
------------------------
Used only on ISDB.
The Forward Error Correction mechanism used by a given ISDB Layer, as
defined by :c:type:`fe_code_rate`.
Possible values are: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
``FEC_5_6``, ``FEC_7_8``
.. _DTV-ISDBT-LAYER-MODULATION:
DTV_ISDBT_LAYER[A-C]_MODULATION
-------------------------------
Used only on ISDB.
The modulation used by a given ISDB Layer, as defined by
:c:type:`fe_modulation`.
Possible values are: ``QAM_AUTO``, ``QPSK``, ``QAM_16``, ``QAM_64``, ``DQPSK``
.. note::
#. If layer C is ``DQPSK``, then layer B has to be ``DQPSK``.
#. If layer B is ``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ = 0,
then layer has to be ``DQPSK``.
ISDB-T layer segment 수 진리표
466-556`DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT`는 각 layer의 segment 수입니다. 가능한 값은 0~13과 -1(`AUTO`)입니다.
다음 표는 `DTV_ISDBT_SOUND_BROADCASTING`, `DTV_ISDBT_PARTIAL_RECEPTION`, 각 `LAYER[A-C]_SEGMENT_COUNT`의 원문 진리표를 같은 구조로 정리한 것입니다.
Partial reception과 sound broadcasting 조합별 layer 폭입니다.
진리표의 수치는 원문을 그대로 보존했습니다. 특히 마지막 행의 전체 폭 `13`도 자동 보정하지 않습니다.
.. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
----------------------------------
Used only on ISDB.
Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)
Note: Truth table for ``DTV_ISDBT_SOUND_BROADCASTING`` and
``DTV_ISDBT_PARTIAL_RECEPTION`` and ``LAYER[A-C]_SEGMENT_COUNT``
.. _isdbt-layer_seg-cnt-table:
.. flat-table:: Truth table for ISDB-T Sound Broadcasting
:header-rows: 1
:stub-columns: 0
- .. row 1
- Partial Reception
- Sound Broadcasting
- Layer A width
- Layer B width
- Layer C width
- total width
- .. row 2
- 0
- 0
- 1 .. 13
- 1 .. 13
- 1 .. 13
- 13
- .. row 3
- 1
- 0
- 1
- 1 .. 13
- 1 .. 13
- 13
- .. row 4
- 0
- 1
- 1
- 0
- 0
- 1
- .. row 5
- 1
- 1
- 1
- 2
- 0
- 13
ISDB-T layer time interleaving
557-631`DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING`은 ISDB에서만 사용합니다. 유효값은 0, 1, 2, 4와 -1(`AUTO`)이며 `DTV_ISDBT_SOUND_BROADCASTING`이 활성화된 경우 8도 유효합니다.
실제 time interleaving 길이는 mode, 즉 FFT 크기에 따라 달라집니다. property 값은 TMCC 구조에 기록되는 값이며 원문의 `isdbt_layer_interleaving_table`은 다음과 같이 mode별 길이를 대응시킵니다.
Property 값과 2K/4K/8K FFT mode의 실제 interleaving 길이입니다.
같은 property 값도 FFT mode에 따라 실제 길이가 달라집니다.
.. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
--------------------------------------
Used only on ISDB.
Valid values: 0, 1, 2, 4, -1 (AUTO)
when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
Note: The real time interleaving length depends on the mode (fft-size).
The values here are referring to what can be found in the
TMCC-structure, as shown in the table below.
.. c:type:: isdbt_layer_interleaving_table
.. flat-table:: ISDB-T time interleaving modes
:header-rows: 1
:stub-columns: 0
- .. row 1
- ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
- Mode 1 (2K FFT)
- Mode 2 (4K FFT)
- Mode 3 (8K FFT)
- .. row 2
- 0
- 0
- 0
- 0
- .. row 3
- 1
- 4
- 2
- 1
- .. row 4
- 2
- 8
- 4
- 2
- .. row 5
- 4
- 16
- 8
- 4
ATSC-M/H FIC와 parade 식별값
632-710이 절의 property는 모두 ATSC-M/H에서만 사용합니다. `DTV_ATSCMH_FIC_VER`는 FIC(Fast Information Channel) signaling data의 version 번호입니다. FIC는 receiver가 서비스를 빠르게 획득하도록 정보를 전달하며 값 범위는 0~31입니다.
`DTV_ATSCMH_PARADE_ID`는 parade 식별 번호입니다. parade는 최대 8개의 MH group을 묶어 하나 또는 두 개의 ensemble을 운반하며 값 범위는 0~127입니다.
`DTV_ATSCMH_NOG`는 지정 parade에서 MH subframe당 MH group 수이며 1~8입니다. `DTV_ATSCMH_TNOG`는 한 MH subframe에 있는 모든 parade 소속 MH group의 총수이며 0~31입니다.
`DTV_ATSCMH_SGN`은 start group number이고 범위는 0~15입니다. `DTV_ATSCMH_PRC`는 parade repetition cycle이며 범위는 1~8입니다.
FIC 및 parade 구성 수치의 원문 범위입니다.
.. _DTV-ATSCMH-FIC-VER:
DTV_ATSCMH_FIC_VER
------------------
Used only on ATSC-MH.
Version number of the FIC (Fast Information Channel) signaling data.
FIC is used for relaying information to allow rapid service acquisition
by the receiver.
Possible values: 0, 1, 2, 3, ..., 30, 31
.. _DTV-ATSCMH-PARADE-ID:
DTV_ATSCMH_PARADE_ID
--------------------
Used only on ATSC-MH.
Parade identification number
A parade is a collection of up to eight MH groups, conveying one or two
ensembles.
Possible values: 0, 1, 2, 3, ..., 126, 127
.. _DTV-ATSCMH-NOG:
DTV_ATSCMH_NOG
--------------
Used only on ATSC-MH.
Number of MH groups per MH subframe for a designated parade.
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
.. _DTV-ATSCMH-TNOG:
DTV_ATSCMH_TNOG
---------------
Used only on ATSC-MH.
Total number of MH groups including all MH groups belonging to all MH
parades in one MH subframe.
Possible values: 0, 1, 2, 3, ..., 30, 31
.. _DTV-ATSCMH-SGN:
DTV_ATSCMH_SGN
--------------
Used only on ATSC-MH.
Start group number.
Possible values: 0, 1, 2, 3, ..., 14, 15
.. _DTV-ATSCMH-PRC:
DTV_ATSCMH_PRC
--------------
Used only on ATSC-MH.
Parade repetition cycle.
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
ATSC-M/H RS frame과 SCCC block
711-770`DTV_ATSCMH_RS_FRAME_MODE`는 Reed-Solomon(RS) frame mode이며 허용값은 `atscmh_rs_frame_mode`에 정의됩니다.
`DTV_ATSCMH_RS_FRAME_ENSEMBLE`은 RS frame ensemble이며 `atscmh_rs_frame_ensemble` 값을 사용합니다.
`DTV_ATSCMH_RS_CODE_MODE_PRI`와 `DTV_ATSCMH_RS_CODE_MODE_SEC`는 각각 primary와 secondary RS code mode입니다. 두 property 모두 `atscmh_rs_code_mode`에 정의된 값을 사용합니다.
`DTV_ATSCMH_SCCC_BLOCK_MODE`는 Series Concatenated Convolutional Code Block Mode이며 허용값은 `atscmh_sccc_block_mode`에 정의됩니다.
각 property가 참조하는 enum 형식입니다.
.. _DTV-ATSCMH-RS-FRAME-MODE:
DTV_ATSCMH_RS_FRAME_MODE
------------------------
Used only on ATSC-MH.
Reed Solomon (RS) frame mode.
The acceptable values are defined by :c:type:`atscmh_rs_frame_mode`.
.. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
DTV_ATSCMH_RS_FRAME_ENSEMBLE
----------------------------
Used only on ATSC-MH.
Reed Solomon (RS) frame ensemble.
The acceptable values are defined by :c:type:`atscmh_rs_frame_ensemble`.
.. _DTV-ATSCMH-RS-CODE-MODE-PRI:
DTV_ATSCMH_RS_CODE_MODE_PRI
---------------------------
Used only on ATSC-MH.
Reed Solomon (RS) code mode (primary).
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
.. _DTV-ATSCMH-RS-CODE-MODE-SEC:
DTV_ATSCMH_RS_CODE_MODE_SEC
---------------------------
Used only on ATSC-MH.
Reed Solomon (RS) code mode (secondary).
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
.. _DTV-ATSCMH-SCCC-BLOCK-MODE:
DTV_ATSCMH_SCCC_BLOCK_MODE
--------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Block Mode.
The acceptable values are defined by :c:type:`atscmh_sccc_block_mode`.
ATSC-M/H SCCC code mode A~D
771-820`DTV_ATSCMH_SCCC_CODE_MODE_A`, `DTV_ATSCMH_SCCC_CODE_MODE_B`, `DTV_ATSCMH_SCCC_CODE_MODE_C`, `DTV_ATSCMH_SCCC_CODE_MODE_D`는 모두 ATSC-M/H에서만 사용하는 Series Concatenated Convolutional Code Rate입니다.
A property의 허용값은 `atscmh_sccc_code_mode`에 정의됩니다. B, C, D property도 같은 enum에 문서화된 값을 사용합니다.
A~D 각 구성요소가 공통 enum을 사용합니다.
.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
DTV_ATSCMH_SCCC_CODE_MODE_A
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
The acceptable values are defined by :c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
DTV_ATSCMH_SCCC_CODE_MODE_B
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
DTV_ATSCMH_SCCC_CODE_MODE_C
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
DTV_ATSCMH_SCCC_CODE_MODE_D
---------------------------
Used only on ATSC-MH.
Series Concatenated Convolutional Code Rate.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
API version, code rate와 guard interval
821-869`DTV_API_VERSION`은 Digital TV API의 major/minor version을 반환합니다.
`DTV_CODE_RATE_HP`와 `DTV_CODE_RATE_LP`는 지상파 전송에서 사용합니다. 원문은 두 property의 허용값이 `fe_transmit_mode`에 정의된다고 명시하므로 그 symbol을 그대로 보존합니다.
`DTV_GUARD_INTERVAL`의 허용값은 `fe_guard_interval`에 정의됩니다. `GUARD_INTERVAL_AUTO`로 설정하면 지원 하드웨어가 올바른 guard interval을 탐색하고 TMCC를 사용해 빠진 매개변수를 채웁니다.
AUTO 외에 특정 표준에서만 유효한 interval입니다.
현재 DMTB에서는 세 PN interval과 `GUARD_INTERVAL_AUTO`만 유효합니다.
.. _DTV-API-VERSION:
DTV_API_VERSION
===============
Returns the major/minor version of the Digital TV API
.. _DTV-CODE-RATE-HP:
DTV_CODE_RATE_HP
================
Used on terrestrial transmissions.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. _DTV-CODE-RATE-LP:
DTV_CODE_RATE_LP
================
Used on terrestrial transmissions.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. _DTV-GUARD-INTERVAL:
DTV_GUARD_INTERVAL
==================
The acceptable values are defined by :c:type:`fe_guard_interval`.
.. note::
#. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
hardware will try to find the correct guard interval (if capable) and
will use TMCC to fill in the missing parameters.
#. Interval ``GUARD_INTERVAL_1_64`` is used only for DVB-C2.
#. Interval ``GUARD_INTERVAL_1_128`` is used for both DVB-C2 and DVB_T2.
#. Intervals ``GUARD_INTERVAL_19_128`` and ``GUARD_INTERVAL_19_256`` are
used only for DVB-T2.
#. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``
are valid.
FFT 기반 transmission mode
870-906`DTV_TRANSMISSION_MODE`는 원문이 `OFTM-based`라고 표현한 DVB-T/T2, ISDB-T, DTMB 같은 표준에서만 사용합니다. 이 property는 표준이 사용하는 FFT 크기, 즉 대략적인 반송파 수를 지정하며 값은 `fe_transmit_mode`에 정의됩니다.
ISDB-T는 8K, 4K, 2K의 세 carrier/symbol 크기를 지원하고 이를 mode 1~3이라고 부릅니다. 원문 표의 대응은 다음과 같습니다.
Mode 번호와 transmission mode symbol의 대응입니다.
`TRANSMISSION_MODE_AUTO`를 사용하면 지원 하드웨어가 알맞은 FFT 크기를 찾고 TMCC로 빠진 매개변수를 채웁니다.
원문에 열거된 transmission 크기입니다.
.. _DTV-TRANSMISSION-MODE:
DTV_TRANSMISSION_MODE
=====================
Used only on OFTM-based standards, e. g. DVB-T/T2, ISDB-T, DTMB.
Specifies the FFT size (with corresponds to the approximate number of
carriers) used by the standard.
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. note::
#. ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
**mode** on such standard, and are numbered from 1 to 3:
==== ======== ========================
Mode FFT size Transmission mode
==== ======== ========================
1 2K ``TRANSMISSION_MODE_2K``
2 4K ``TRANSMISSION_MODE_4K``
3 8K ``TRANSMISSION_MODE_8K``
==== ======== ========================
#. If ``DTV_TRANSMISSION_MODE`` is set the ``TRANSMISSION_MODE_AUTO``
the hardware will try to find the correct FFT-size (if capable) and
will use TMCC to fill in the missing parameters.
#. DVB-T specifies 2K and 8K as valid sizes.
#. DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
#. DTMB specifies C1 and C3780.
Hierarchy, substream과 delivery system 열거
907-967`DTV_HIERARCHY`는 DVB-T와 DVB-T2에서만 사용하는 frontend hierarchy이며 허용값은 `fe_hierarchy`에 정의됩니다.
`DTV_STREAM_ID`는 DVB-C2, DVB-S2, DVB-T2, ISDB-S에서 사용합니다. 이 표준들은 하나의 transport stream 안에 여러 stream을 전송할 수 있으며, 하드웨어가 지원하면 이 property로 driver가 substream filtering을 수행합니다. 기본값은 filtering 비활성화입니다.
DVB-C2, DVB-S2, DVB-T2의 유효 substream ID는 0~255이고 ISDB의 유효 범위는 1~65535입니다. filtering을 끄려면 `NO_STREAM_ID_FILTER`를 사용하며, ID 범위를 벗어난 값도 filtering을 비활성화합니다.
`DTV_DVBT2_PLP_ID_LEGACY`는 폐기되었고 `DTV_STREAM_ID`로 대체되었습니다.
`DTV_ENUM_DELSYS`는 multi-standard frontend가 제공하는 delivery system을 알리는 property입니다. 응용 프로그램은 frontend에 다른 연산을 수행하기 전에 제공되는 system을 열거해야 합니다.
이 property가 도입되기 전에는 `FE_GET_INFO`로 frontend 형식을 판별했지만 여러 delivery system을 제공하는 frontend에는 충분하지 않습니다. multi-standard frontend를 쓰는 응용 프로그램은 `FE_GET_INFO`로 추측하지 말고 연결된 delivery system을 열거해야 합니다. legacy frontend에서는 같은 결과를 더 구조화된 형식으로 얻습니다. 값은 `fe_delivery_system`을 따릅니다.
Delivery system별 유효 substream 식별자입니다.
.. _DTV-HIERARCHY:
DTV_HIERARCHY
=============
Used only on DVB-T and DVB-T2.
Frontend hierarchy.
The acceptable values are defined by :c:type:`fe_hierarchy`.
.. _DTV-STREAM-ID:
DTV_STREAM_ID
=============
Used on DVB-C2, DVB-S2, DVB-T2 and ISDB-S.
DVB-C2, DVB-S2, DVB-T2 and ISDB-S support the transmission of several
streams on a single transport stream. This property enables the digital
TV driver to handle substream filtering, when supported by the hardware.
By default, substream filtering is disabled.
For DVB-C2, DVB-S2 and DVB-T2, the valid substream id range is from 0 to
255.
For ISDB, the valid substream id range is from 1 to 65535.
To disable it, you should use the special macro NO_STREAM_ID_FILTER.
Note: any value outside the id range also disables filtering.
.. _DTV-DVBT2-PLP-ID-LEGACY:
DTV_DVBT2_PLP_ID_LEGACY
=======================
Obsolete, replaced with DTV_STREAM_ID.
.. _DTV-ENUM-DELSYS:
DTV_ENUM_DELSYS
===============
A Multi standard frontend needs to advertise the delivery systems
provided. Applications need to enumerate the provided delivery systems,
before using any other operation with the frontend. Prior to its
introduction, FE_GET_INFO was used to determine a frontend type. A
frontend which provides more than a single delivery system,
FE_GET_INFO doesn't help much. Applications which intends to use a
multistandard frontend must enumerate the delivery systems associated
with it, rather than trying to use FE_GET_INFO. In the case of a
legacy frontend, the result is just the same as with FE_GET_INFO, but
in a more structured format.
The acceptable values are defined by :c:type:`fe_delivery_system`.
Interleaving, LNA와 DVB-S2 scrambling
968-1013`DTV_INTERLEAVING`은 사용할 time interleaving을 지정하며 허용값은 `fe_interleaving`에 정의됩니다.
`DTV_LNA`는 low-noise amplifier를 제어합니다. 하드웨어가 제어 가능한 LNA를 제공하면 이 property로 수동 설정할 수 있으며, 보통은 지상파 장치에서만 발견됩니다.
LNA의 수동 및 자동 제어 값입니다.
`DTV_SCRAMBLING_SEQUENCE_INDEX`는 DVB-S2에서 사용합니다. 이 18bit field는 EN 302 307 5.5.4절에 정의된 DVB-S2 physical layer scrambling sequence의 index를 운반합니다.
scrambling sequence index를 receiver에 명시적으로 신호하는 방법은 없습니다. S2 satellite delivery system descriptor가 있으면 EN 300 468 표 41에 따라 그 descriptor에서 index를 읽을 수 있습니다.
기본값은 gold scrambling sequence index 0이고, 유효 범위는 0~262142입니다.
Descriptor가 있을 때와 없을 때의 값 결정 순서입니다.
.. _DTV-INTERLEAVING:
DTV_INTERLEAVING
================
Time interleaving to be used.
The acceptable values are defined by :c:type:`fe_interleaving`.
.. _DTV-LNA:
DTV_LNA
=======
Low-noise amplifier.
Hardware might offer controllable LNA which can be set manually using
that parameter. Usually LNA could be found only from terrestrial devices
if at all.
Possible values: 0, 1, LNA_AUTO
0, LNA off
1, LNA on
use the special macro LNA_AUTO to set LNA auto
.. _DTV-SCRAMBLING-SEQUENCE-INDEX:
DTV_SCRAMBLING_SEQUENCE_INDEX
=============================
Used on DVB-S2.
This 18 bit field, when present, carries the index of the DVB-S2 physical
layer scrambling sequence as defined in clause 5.5.4 of EN 302 307.
There is no explicit signalling method to convey scrambling sequence index
to the receiver. If S2 satellite delivery system descriptor is available
it can be used to read the scrambling sequence index (EN 300 468 table 41).
By default, gold scrambling sequence index 0 is used.
The valid scrambling sequence index range is from 0 to 262142.
요약·해설
fe_property_parameters.rst:1-1013이 문서는 DVBv5 frontend property의 핵심 사전입니다. 공통 tuning 값부터 ISDB-T 계층과 ATSC-M/H signaling, multi-standard frontend 열거, DVB-S2 scrambling까지 각 property의 적용 표준·단위·허용 범위를 연결해 설명합니다. 표에 있는 수치와 enum symbol은 Linux v6.18.37 원문을 우선해 그대로 보존했으며, 원문 자체의 `OFTM-based`, 마지막 ISDB 진리표의 전체 폭 `13`, `DTV_CODE_RATE_*`가 참조하는 `fe_transmit_mode` 같은 표현도 임의로 고치지 않았습니다.