diff options
Diffstat (limited to 'Documentation/DocBook/dvb/dvbproperty.xml')
| -rw-r--r-- | Documentation/DocBook/dvb/dvbproperty.xml | 318 |
1 files changed, 318 insertions, 0 deletions
diff --git a/Documentation/DocBook/dvb/dvbproperty.xml b/Documentation/DocBook/dvb/dvbproperty.xml new file mode 100644 index 000000000000..5f57c7ccd4ba --- /dev/null +++ b/Documentation/DocBook/dvb/dvbproperty.xml | |||
| @@ -0,0 +1,318 @@ | |||
| 1 | <section id="FE_GET_PROPERTY"> | ||
| 2 | <title>FE_GET_PROPERTY/FE_SET_PROPERTY</title> | ||
| 3 | |||
| 4 | <section id="isdbt"> | ||
| 5 | <title>ISDB-T frontend</title> | ||
| 6 | <para>This section describes shortly what are the possible parameters in the Linux | ||
| 7 | DVB-API called "S2API" and now DVB API 5 in order to tune an ISDB-T/ISDB-Tsb | ||
| 8 | demodulator:</para> | ||
| 9 | |||
| 10 | <para>This ISDB-T/ISDB-Tsb API extension should reflect all information | ||
| 11 | needed to tune any ISDB-T/ISDB-Tsb hardware. Of course it is possible | ||
| 12 | that some very sophisticated devices won't need certain parameters to | ||
| 13 | tune.</para> | ||
| 14 | |||
| 15 | <para>The information given here should help application writers to know how | ||
| 16 | to handle ISDB-T and ISDB-Tsb hardware using the Linux DVB-API.</para> | ||
| 17 | |||
| 18 | <para>The details given here about ISDB-T and ISDB-Tsb are just enough to | ||
| 19 | basically show the dependencies between the needed parameter values, | ||
| 20 | but surely some information is left out. For more detailed information | ||
| 21 | see the following documents:</para> | ||
| 22 | |||
| 23 | <para>ARIB STD-B31 - "Transmission System for Digital Terrestrial | ||
| 24 | Television Broadcasting" and</para> | ||
| 25 | <para>ARIB TR-B14 - "Operational Guidelines for Digital Terrestrial | ||
| 26 | Television Broadcasting".</para> | ||
| 27 | |||
| 28 | <para>In order to read this document one has to have some knowledge the | ||
| 29 | channel structure in ISDB-T and ISDB-Tsb. I.e. it has to be known to | ||
| 30 | the reader that an ISDB-T channel consists of 13 segments, that it can | ||
| 31 | have up to 3 layer sharing those segments, and things like that.</para> | ||
| 32 | |||
| 33 | <para>Parameters used by ISDB-T and ISDB-Tsb.</para> | ||
| 34 | |||
| 35 | <section id="isdbt-parms"> | ||
| 36 | <title>Parameters that are common with DVB-T and ATSC</title> | ||
| 37 | |||
| 38 | <section id="isdbt-freq"> | ||
| 39 | <title><constant>DTV_FREQUENCY</constant></title> | ||
| 40 | |||
| 41 | <para>Central frequency of the channel.</para> | ||
| 42 | |||
| 43 | <para>For ISDB-T the channels are usally transmitted with an offset of 143kHz. E.g. a | ||
| 44 | valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of | ||
| 45 | the channel which is 6MHz.</para> | ||
| 46 | |||
| 47 | <para>As in ISDB-Tsb the channel consists of only one or three segments the | ||
| 48 | frequency step is 429kHz, 3*429 respectively. As for ISDB-T the | ||
| 49 | central frequency of the channel is expected.</para> | ||
| 50 | </section> | ||
| 51 | |||
| 52 | <section id="isdbt-bw"> | ||
| 53 | <title><constant>DTV_BANDWIDTH_HZ</constant> (optional)</title> | ||
| 54 | |||
| 55 | <para>Possible values:</para> | ||
| 56 | |||
| 57 | <para>For ISDB-T it should be always 6000000Hz (6MHz)</para> | ||
| 58 | <para>For ISDB-Tsb it can vary depending on the number of connected segments</para> | ||
| 59 | |||
| 60 | <para>Note: Hardware specific values might be given here, but standard | ||
| 61 | applications should not bother to set a value to this field as | ||
| 62 | standard demods are ignoring it anyway.</para> | ||
| 63 | |||
| 64 | <para>Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from | ||
| 65 | other parameters (DTV_ISDBT_SB_SEGMENT_IDX, | ||
| 66 | DTV_ISDBT_SB_SEGMENT_COUNT).</para> | ||
| 67 | </section> | ||
| 68 | |||
| 69 | <section id="isdbt-delivery-sys"> | ||
| 70 | <title><constant>DTV_DELIVERY_SYSTEM</constant></title> | ||
| 71 | |||
| 72 | <para>Possible values: <constant>SYS_ISDBT</constant></para> | ||
| 73 | </section> | ||
| 74 | |||
| 75 | <section id="isdbt-tx-mode"> | ||
| 76 | <title><constant>DTV_TRANSMISSION_MODE</constant></title> | ||
| 77 | |||
| 78 | <para>ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called | ||
| 79 | 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para> | ||
| 80 | |||
| 81 | <para>Possible values: <constant>TRANSMISSION_MODE_2K</constant>, <constant>TRANSMISSION_MODE_8K</constant>, | ||
| 82 | <constant>TRANSMISSION_MODE_AUTO</constant>, <constant>TRANSMISSION_MODE_4K</constant></para> | ||
| 83 | |||
| 84 | <para>If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the | ||
| 85 | hardware will try to find the correct FFT-size (if capable) and will | ||
| 86 | use TMCC to fill in the missing parameters.</para> | ||
| 87 | |||
| 88 | <para><constant>TRANSMISSION_MODE_4K</constant> is added at the same time as the other new parameters.</para> | ||
| 89 | </section> | ||
| 90 | |||
| 91 | <section id="isdbt-guard-interval"> | ||
| 92 | <title><constant>DTV_GUARD_INTERVAL</constant></title> | ||
| 93 | |||
| 94 | <para>Possible values: <constant>GUARD_INTERVAL_1_32</constant>, <constant>GUARD_INTERVAL_1_16</constant>, <constant>GUARD_INTERVAL_1_8</constant>, | ||
| 95 | <constant>GUARD_INTERVAL_1_4</constant>, <constant>GUARD_INTERVAL_AUTO</constant></para> | ||
| 96 | |||
| 97 | <para>If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will | ||
| 98 | try to find the correct guard interval (if capable) and will use TMCC to fill | ||
| 99 | in the missing parameters.</para> | ||
| 100 | </section> | ||
| 101 | </section> | ||
| 102 | <section id="isdbt-new-parms"> | ||
| 103 | <title>ISDB-T only parameters</title> | ||
| 104 | |||
| 105 | <section id="isdbt-part-rec"> | ||
| 106 | <title><constant>DTV_ISDBT_PARTIAL_RECEPTION</constant></title> | ||
| 107 | |||
| 108 | <para><constant>If DTV_ISDBT_SOUND_BROADCASTING</constant> is '0' this bit-field represents whether | ||
| 109 | the channel is in partial reception mode or not.</para> | ||
| 110 | |||
| 111 | <para>If '1' <constant>DTV_ISDBT_LAYERA_*</constant> values are assigned to the center segment and | ||
| 112 | <constant>DTV_ISDBT_LAYERA_SEGMENT_COUNT</constant> has to be '1'.</para> | ||
| 113 | |||
| 114 | <para>If in addition <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1' | ||
| 115 | <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> represents whether this ISDB-Tsb channel | ||
| 116 | is consisting of one segment and layer or three segments and two layers.</para> | ||
| 117 | |||
| 118 | <para>Possible values: 0, 1, -1 (AUTO)</para> | ||
| 119 | </section> | ||
| 120 | |||
| 121 | <section id="isdbt-sound-bcast"> | ||
| 122 | <title><constant>DTV_ISDBT_SOUND_BROADCASTING</constant></title> | ||
| 123 | |||
| 124 | <para>This field represents whether the other DTV_ISDBT_*-parameters are | ||
| 125 | referring to an ISDB-T and an ISDB-Tsb channel. (See also | ||
| 126 | <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>).</para> | ||
| 127 | |||
| 128 | <para>Possible values: 0, 1, -1 (AUTO)</para> | ||
| 129 | </section> | ||
| 130 | |||
| 131 | <section id="isdbt-sb-ch-id"> | ||
| 132 | <title><constant>DTV_ISDBT_SB_SUBCHANNEL_ID</constant></title> | ||
| 133 | |||
| 134 | <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> | ||
| 135 | |||
| 136 | <para>(Note of the author: This might not be the correct description of the | ||
| 137 | <constant>SUBCHANNEL-ID</constant> in all details, but it is my understanding of the technical | ||
| 138 | background needed to program a device)</para> | ||
| 139 | |||
| 140 | <para>An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a | ||
| 141 | set of connected ISDB-Tsb channels. In this set of channels every | ||
| 142 | channel can be received independently. The number of connected | ||
| 143 | ISDB-Tsb segment can vary, e.g. depending on the frequency spectrum | ||
| 144 | bandwidth available.</para> | ||
| 145 | |||
| 146 | <para>Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The | ||
| 147 | broadcaster has several possibilities to put those channels in the | ||
| 148 | air: Assuming a normal 13-segment ISDB-T spectrum he can align the 8 | ||
| 149 | segments from position 1-8 to 5-13 or anything in between.</para> | ||
| 150 | |||
| 151 | <para>The underlying layer of segments are subchannels: each segment is | ||
| 152 | consisting of several subchannels with a predefined IDs. A sub-channel | ||
| 153 | is used to help the demodulator to synchronize on the channel.</para> | ||
| 154 | |||
| 155 | <para>An ISDB-T channel is always centered over all sub-channels. As for | ||
| 156 | the example above, in ISDB-Tsb it is no longer as simple as that.</para> | ||
| 157 | |||
| 158 | <para><constant>The DTV_ISDBT_SB_SUBCHANNEL_ID</constant> parameter is used to give the | ||
| 159 | sub-channel ID of the segment to be demodulated.</para> | ||
| 160 | |||
| 161 | <para>Possible values: 0 .. 41, -1 (AUTO)</para> | ||
| 162 | </section> | ||
| 163 | |||
| 164 | <section id="isdbt-sb-seg-idx"> | ||
| 165 | |||
| 166 | <title><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant></title> | ||
| 167 | |||
| 168 | <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> | ||
| 169 | |||
| 170 | <para><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant> gives the index of the segment to be | ||
| 171 | demodulated for an ISDB-Tsb channel where several of them are | ||
| 172 | transmitted in the connected manner.</para> | ||
| 173 | |||
| 174 | <para>Possible values: 0 .. <constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> - 1</para> | ||
| 175 | |||
| 176 | <para>Note: This value cannot be determined by an automatic channel search.</para> | ||
| 177 | </section> | ||
| 178 | |||
| 179 | <section id="isdbt-sb-seg-cnt"> | ||
| 180 | <title><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant></title> | ||
| 181 | |||
| 182 | <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> | ||
| 183 | |||
| 184 | <para><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> gives the total count of connected ISDB-Tsb | ||
| 185 | channels.</para> | ||
| 186 | |||
| 187 | <para>Possible values: 1 .. 13</para> | ||
| 188 | |||
| 189 | <para>Note: This value cannot be determined by an automatic channel search.</para> | ||
| 190 | </section> | ||
| 191 | |||
| 192 | <section id="isdb-hierq-layers"> | ||
| 193 | <title>Hierarchical layers</title> | ||
| 194 | |||
| 195 | <para>ISDB-T channels can be coded hierarchically. As opposed to DVB-T in | ||
| 196 | ISDB-T hierarchical layers can be decoded simultaneously. For that | ||
| 197 | reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders.</para> | ||
| 198 | |||
| 199 | <para>ISDB-T has 3 hierarchical layers which each can use a part of the | ||
| 200 | available segments. The total number of segments over all layers has | ||
| 201 | to 13 in ISDB-T.</para> | ||
| 202 | |||
| 203 | <section id="isdbt-layer-ena"> | ||
| 204 | <title><constant>DTV_ISDBT_LAYER_ENABLED</constant></title> | ||
| 205 | |||
| 206 | <para>Hierarchical reception in ISDB-T is achieved by enabling or disabling | ||
| 207 | layers in the decoding process. Setting all bits of | ||
| 208 | <constant>DTV_ISDBT_LAYER_ENABLED</constant> to '1' forces all layers (if applicable) to be | ||
| 209 | demodulated. This is the default.</para> | ||
| 210 | |||
| 211 | <para>If the channel is in the partial reception mode | ||
| 212 | (<constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> = 1) the central segment can be decoded | ||
| 213 | independently of the other 12 segments. In that mode layer A has to | ||
| 214 | have a <constant>SEGMENT_COUNT</constant> of 1.</para> | ||
| 215 | |||
| 216 | <para>In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb | ||
| 217 | according to <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>. <constant>SEGMENT_COUNT</constant> must be filled | ||
| 218 | accordingly.</para> | ||
| 219 | |||
| 220 | <para>Possible values: 0x1, 0x2, 0x4 (|-able)</para> | ||
| 221 | |||
| 222 | <para><constant>DTV_ISDBT_LAYER_ENABLED[0:0]</constant> - layer A</para> | ||
| 223 | <para><constant>DTV_ISDBT_LAYER_ENABLED[1:1]</constant> - layer B</para> | ||
| 224 | <para><constant>DTV_ISDBT_LAYER_ENABLED[2:2]</constant> - layer C</para> | ||
| 225 | <para><constant>DTV_ISDBT_LAYER_ENABLED[31:3]</constant> unused</para> | ||
| 226 | </section> | ||
| 227 | |||
| 228 | <section id="isdbt-layer-fec"> | ||
| 229 | <title><constant>DTV_ISDBT_LAYER*_FEC</constant></title> | ||
| 230 | |||
| 231 | <para>Possible values: <constant>FEC_AUTO</constant>, <constant>FEC_1_2</constant>, <constant>FEC_2_3</constant>, <constant>FEC_3_4</constant>, <constant>FEC_5_6</constant>, <constant>FEC_7_8</constant></para> | ||
| 232 | </section> | ||
| 233 | |||
| 234 | <section id="isdbt-layer-mod"> | ||
| 235 | <title><constant>DTV_ISDBT_LAYER*_MODULATION</constant></title> | ||
| 236 | |||
| 237 | <para>Possible values: <constant>QAM_AUTO</constant>, QP<constant>SK, QAM_16</constant>, <constant>QAM_64</constant>, <constant>DQPSK</constant></para> | ||
| 238 | |||
| 239 | <para>Note: If layer C is <constant>DQPSK</constant> layer B has to be <constant>DQPSK</constant>. If layer B is <constant>DQPSK</constant> | ||
| 240 | and <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>=0 layer has to be <constant>DQPSK</constant>.</para> | ||
| 241 | </section> | ||
| 242 | |||
| 243 | <section id="isdbt-layer-seg-cnt"> | ||
| 244 | <title><constant>DTV_ISDBT_LAYER*_SEGMENT_COUNT</constant></title> | ||
| 245 | |||
| 246 | <para>Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)</para> | ||
| 247 | |||
| 248 | <para>Note: Truth table for <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> and | ||
| 249 | <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> and <constant>LAYER</constant>*_SEGMENT_COUNT</para> | ||
| 250 | |||
| 251 | <informaltable id="isdbt-layer_seg-cnt-table"> | ||
| 252 | <tgroup cols="6"> | ||
| 253 | |||
| 254 | <tbody> | ||
| 255 | <row> | ||
| 256 | <entry>PR</entry> | ||
| 257 | <entry>SB</entry> | ||
| 258 | <entry>Layer A width</entry> | ||
| 259 | <entry>Layer B width</entry> | ||
| 260 | <entry>Layer C width</entry> | ||
| 261 | <entry>total width</entry> | ||
| 262 | </row> | ||
| 263 | |||
| 264 | <row> | ||
| 265 | <entry>0</entry> | ||
| 266 | <entry>0</entry> | ||
| 267 | <entry>1 .. 13</entry> | ||
| 268 | <entry>1 .. 13</entry> | ||
| 269 | <entry>1 .. 13</entry> | ||
| 270 | <entry>13</entry> | ||
| 271 | </row> | ||
| 272 | |||
| 273 | <row> | ||
| 274 | <entry>1</entry> | ||
| 275 | <entry>0</entry> | ||
| 276 | <entry>1</entry> | ||
| 277 | <entry>1 .. 13</entry> | ||
| 278 | <entry>1 .. 13</entry> | ||
| 279 | <entry>13</entry> | ||
| 280 | </row> | ||
| 281 | |||
| 282 | <row> | ||
| 283 | <entry>0</entry> | ||
| 284 | <entry>1</entry> | ||
| 285 | <entry>1</entry> | ||
| 286 | <entry>0</entry> | ||
| 287 | <entry>0</entry> | ||
| 288 | <entry>1</entry> | ||
| 289 | </row> | ||
| 290 | |||
| 291 | <row> | ||
| 292 | <entry>1</entry> | ||
| 293 | <entry>1</entry> | ||
| 294 | <entry>1</entry> | ||
| 295 | <entry>2</entry> | ||
| 296 | <entry>0</entry> | ||
| 297 | <entry>13</entry> | ||
| 298 | </row> | ||
| 299 | </tbody> | ||
| 300 | |||
| 301 | </tgroup> | ||
| 302 | </informaltable> | ||
| 303 | |||
| 304 | </section> | ||
| 305 | |||
| 306 | <section id="isdbt_layer_t_interl"> | ||
| 307 | <title><constant>DTV_ISDBT_LAYER*_TIME_INTERLEAVING</constant></title> | ||
| 308 | |||
| 309 | <para>Possible values: 0, 1, 2, 3, -1 (AUTO)</para> | ||
| 310 | |||
| 311 | <para>Note: The real inter-leaver depth-names depend on the mode (fft-size); the values | ||
| 312 | here are referring to what can be found in the TMCC-structure - | ||
| 313 | independent of the mode.</para> | ||
| 314 | </section> | ||
| 315 | </section> | ||
| 316 | </section> | ||
| 317 | </section> | ||
| 318 | </section> | ||
