2.3.1. 數字電視屬性引數¶
有幾種不同的數字電視引數可供 FE_SET_PROPERTY 和 FE_GET_PROPERTY ioctl 使用。本節描述了其中的每一個。但請注意,只需要其中的一部分來設定前端。
2.3.1.1. DTV_UNDEFINED¶
內部使用。對其執行 GET/SET 操作不會更改或返回任何內容。
2.3.1.2. DTV_TUNE¶
解釋資料快取,構建傳統的前端調諧請求,以便我們可以在 FE_SET_FRONTEND ioctl 中透過驗證。
2.3.1.3. DTV_CLEAR¶
重置此處特定於前端的資料快取。這不會影響硬體。
2.3.1.4. DTV_FREQUENCY¶
數字電視轉發器/頻道的頻率。
注意
對於衛星傳輸系統,頻率以 kHz 為單位。
對於有線和地面傳輸系統,頻率以 Hz 為單位。
在大多數傳輸系統中,頻率是轉發器/頻道的中心頻率。ISDB-T 除外,其中主載波與中心頻率有 1/7 的偏移。
對於 ISDB-T,頻道通常以大約 143kHz 的偏移傳輸。例如,有效的頻率可能是 474,143 kHz。步進受頻道頻寬的約束,通常為 6MHz。
在 ISDB-Tsb 中,頻道僅由一個或三個段組成,頻率步進分別為 429kHz 和 3*429kHz。
2.3.1.5. DTV_MODULATION¶
指定支援多種調製的傳輸系統的前端調製型別。
調製可以是列舉 fe_modulation 定義的型別之一。
大多數數字電視標準提供不止一種可能的調製型別。
下表總結了每個傳輸系統支援的調製型別,如當前規範所定義。
標準 |
調製型別 |
|---|---|
ATSC(版本 1) |
8-VSB 和 16-VSB。 |
DMTB |
4-QAM、16-QAM、32-QAM、64-QAM 和 4-QAM-NR。 |
DVB-C Annex A/C |
16-QAM、32-QAM、64-QAM 和 256-QAM。 |
DVB-C Annex B |
64-QAM。 |
DVB-C2 |
QPSK、16-QAM、64-QAM、256-QAM、1024-QAM 和 4096-QAM。 |
DVB-T |
QPSK、16-QAM 和 64-QAM。 |
DVB-T2 |
QPSK、16-QAM、64-QAM 和 256-QAM。 |
DVB-S |
無需設定。它只支援 QPSK。 |
DVB-S2 |
QPSK、8-PSK、16-APSK 和 32-APSK。 |
DVB-S2X |
8-APSK-L、16-APSK-L、32-APSK-L、64-APSK 和 64-APSK-L。 |
ISDB-T |
QPSK、DQPSK、16-QAM 和 64-QAM。 |
ISDB-S |
8-PSK、QPSK 和 BPSK。 |
注意
由於 DVB-S2X 指定了 DVB-S2 標準的擴充套件,因此使用相同的傳輸系統列舉值 (SYS_DVBS2)。
請注意,上述某些調製型別可能當前未在核心中定義。原因很簡單:尚未有驅動程式需要這樣的定義。
2.3.1.6. DTV_BANDWIDTH_HZ¶
頻道頻寬,以 HZ 為單位。
僅應為地面傳輸系統設定。
可能的值:1712000、5000000、6000000、7000000、8000000、10000000。
地面標準 |
頻寬的可能值 |
|---|---|
ATSC(版本 1) |
無需設定。它始終為 6MHz。 |
DMTB |
無需設定。它始終為 8MHz。 |
DVB-T |
6MHz、7MHz 和 8MHz。 |
DVB-T2 |
1.172 MHz、5MHz、6MHz、7MHz、8MHz 和 10MHz |
ISDB-T |
5MHz、6MHz、7MHz 和 8MHz,儘管大多數地方使用 6MHz。 |
注意
對於 ISDB-Tsb,頻寬可能會因連線的段數而異。
它可以很容易地從其他引數(DTV_ISDBT_SB_SEGMENT_IDX、DTV_ISDBT_SB_SEGMENT_COUNT)中推匯出來。
在衛星和有線傳輸系統上,頻寬取決於符號率。因此,核心將靜默忽略任何設定 DTV_BANDWIDTH_HZ。但我會用頻寬估計值填充它。
這種頻寬估計考慮了使用 DTV_SYMBOL_RATE 設定的符號率,以及對於 DVB-C 和 DVB-S 固定的滾降因子。
對於 DVB-S2,還應透過 DTV_ROLLOFF 設定滾降。
2.3.1.7. DTV_INVERSION¶
指定前端是否應進行頻譜反轉。
可接受的值由 fe_spectral_inversion 定義。
2.3.1.8. DTV_DISEQC_MASTER¶
目前未實現。
2.3.1.9. DTV_SYMBOL_RATE¶
用於有線和衛星傳輸系統。
數字電視符號率,以波特(符號/秒)為單位。
2.3.1.10. DTV_INNER_FEC¶
用於有線和衛星傳輸系統。
可接受的值由 fe_code_rate 定義。
2.3.1.11. DTV_VOLTAGE¶
用於衛星傳輸系統。
電壓通常與不支援 DiSEqC 的 LNB 一起使用,以切換極化(水平/垂直)。使用 DiSEqC 裝置時,此電壓必須與 DiSEqC 規範中描述的 DiSEqC 命令一致地切換。
可接受的值由 fe_sec_voltage 定義。
2.3.1.12. DTV_TONE¶
目前未使用。
2.3.1.13. DTV_PILOT¶
用於 DVB-S2。
設定 DVB-S2 導頻。
可接受的值由 fe_pilot 定義。
2.3.1.14. DTV_ROLLOFF¶
用於 DVB-S2。
設定 DVB-S2 滾降。
可接受的值由 fe_rolloff 定義。
2.3.1.15. DTV_DISEQC_SLAVE_REPLY¶
目前未實現。
2.3.1.16. DTV_FE_CAPABILITY_COUNT¶
目前未實現。
2.3.1.17. DTV_FE_CAPABILITY¶
目前未實現。
2.3.1.18. DTV_DELIVERY_SYSTEM¶
指定傳輸系統的型別。
可接受的值由 fe_delivery_system 定義。
2.3.1.19. DTV_ISDBT_PARTIAL_RECEPTION¶
僅用於 ISDB。
如果 DTV_ISDBT_SOUND_BROADCASTING 為 ‘0’,則此位域表示頻道是否處於部分接收模式。
如果為 ‘1’,則 DTV_ISDBT_LAYERA_* 值將分配給中心段,並且 DTV_ISDBT_LAYERA_SEGMENT_COUNT 必須為 ‘1’。
此外,如果 DTV_ISDBT_SOUND_BROADCASTING 為 ‘1’,則 DTV_ISDBT_PARTIAL_RECEPTION 表示此 ISDB-Tsb 頻道是由一個段和層還是由三個段和兩層組成。
可能的值:0、1、-1 (AUTO)
2.3.1.20. DTV_ISDBT_SOUND_BROADCASTING¶
僅用於 ISDB。
此欄位表示其他 DTV_ISDBT_*-引數是指 ISDB-T 還是 ISDB-Tsb 頻道。(另請參見 DTV_ISDBT_PARTIAL_RECEPTION)。
可能的值:0、1、-1 (AUTO)
2.3.1.21. DTV_ISDBT_SB_SUBCHANNEL_ID¶
僅用於 ISDB。
此欄位僅在 DTV_ISDBT_SOUND_BROADCASTING 為 ‘1’ 時適用。
(作者注:這可能不是 SUBCHANNEL-ID 在所有細節中的正確描述,但這是我對程式設計裝置所需的技術背景的理解)
ISDB-Tsb 頻道(1 個或 3 個段)可以單獨廣播,也可以在一組連線的 ISDB-Tsb 頻道中廣播。在這組頻道中,每個頻道都可以獨立接收。連線的 ISDB-Tsb 段的數量可能會有所不同,例如,取決於可用的頻譜頻寬。
示例:假設廣播了 8 個 ISDB-Tsb 連線的段。廣播公司有幾種可能性可以將這些頻道投入使用:假設一個正常的 13 段 ISDB-T 頻譜,他可以將 8 個段從位置 1-8 對齊到 5-13 或介於兩者之間的任何位置。
段的底層是子頻道:每個段由具有預定義 ID 的多個子頻道組成。子頻道用於幫助解調器同步頻道。
ISDB-T 頻道始終位於所有子頻道的中心。如上面的示例所示,對於 ISDB-Tsb 而言,這不再像那麼簡單了。
DTV_ISDBT_SB_SUBCHANNEL_ID 引數用於提供要解調的段的子頻道 ID。
可能的值:0 .. 41, -1 (AUTO)
2.3.1.22. DTV_ISDBT_SB_SEGMENT_IDX¶
僅用於 ISDB。
此欄位僅在 DTV_ISDBT_SOUND_BROADCASTING 為 ‘1’ 時適用。
DTV_ISDBT_SB_SEGMENT_IDX 給出了要為 ISDB-Tsb 頻道解調的段的索引,其中幾個段以連線的方式傳輸。
可能的值:0 .. DTV_ISDBT_SB_SEGMENT_COUNT - 1
注意:此值無法透過自動頻道搜尋確定。
2.3.1.23. DTV_ISDBT_SB_SEGMENT_COUNT¶
僅用於 ISDB。
此欄位僅在 DTV_ISDBT_SOUND_BROADCASTING 為 ‘1’ 時適用。
DTV_ISDBT_SB_SEGMENT_COUNT 給出了連線的 ISDB-Tsb 頻道的總數。
可能的值:1 .. 13
注意:此值無法透過自動頻道搜尋確定。
2.3.1.24. DTV-ISDBT-LAYER[A-C] 引數¶
僅用於 ISDB。
ISDB-T 頻道可以按層次結構進行編碼。與 DVB-T 相比,ISDB-T 中的分層層可以同時解碼。因此,ISDB-T 解調器有 3 個 Viterbi 解碼器和 3 個 Reed-Solomon 解碼器。
ISDB-T 有 3 個分層層,每個層都可以使用可用段的一部分。所有層中的段總數在 ISDB-T 中必須為 13。
有 3 個引數集,分別用於層 A、B 和 C。
2.3.1.24.1. DTV_ISDBT_LAYER_ENABLED¶
僅用於 ISDB。
ISDB-T 中的分層接收是透過在解碼過程中啟用或停用層來實現的。將 DTV_ISDBT_LAYER_ENABLED 的所有位設定為 ‘1’ 會強制解調所有層(如果適用)。這是預設設定。
如果頻道處於部分接收模式(DTV_ISDBT_PARTIAL_RECEPTION = 1),則中心段可以獨立於其他 12 個段進行解碼。在該模式下,層 A 的 SEGMENT_COUNT 必須為 1。
在 ISDB-Tsb 中僅使用層 A,根據 DTV_ISDBT_PARTIAL_RECEPTION,它可以是 1 或 3。必須相應地填充 SEGMENT_COUNT。
僅使用前 3 位的數值。其他位將被靜默忽略
DTV_ISDBT_LAYER_ENABLED 位 0:啟用層 A
DTV_ISDBT_LAYER_ENABLED 位 1:啟用層 B
DTV_ISDBT_LAYER_ENABLED 位 2:啟用層 C
DTV_ISDBT_LAYER_ENABLED 位 3-31:未使用
2.3.1.24.2. DTV_ISDBT_LAYER[A-C]_FEC¶
僅用於 ISDB。
給定 ISDB 層使用的前向糾錯機制,如 fe_code_rate 所定義。
可能的值為:FEC_AUTO、FEC_1_2、FEC_2_3、FEC_3_4、FEC_5_6、FEC_7_8
2.3.1.24.3. DTV_ISDBT_LAYER[A-C]_MODULATION¶
僅用於 ISDB。
給定 ISDB 層使用的調製,如 fe_modulation 所定義。
可能的值為:QAM_AUTO、QPSK、QAM_16、QAM_64、DQPSK
注意
如果層 C 為
DQPSK,則層 B 必須為DQPSK。如果層 B 為
DQPSK且DTV_ISDBT_PARTIAL_RECEPTION= 0,則層必須為DQPSK。
2.3.1.24.4. DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT¶
僅用於 ISDB。
可能的值:0、1、2、3、4、5、6、7、8、9、10、11、12、13、-1 (AUTO)
注意:DTV_ISDBT_SOUND_BROADCASTING 和 DTV_ISDBT_PARTIAL_RECEPTION 以及 LAYER[A-C]_SEGMENT_COUNT 的真值表
部分接收 |
聲音廣播 |
層 A 寬度 |
層 B 寬度 |
層 C 寬度 |
總寬度 |
|---|---|---|---|---|---|
0 |
0 |
1 .. 13 |
1 .. 13 |
1 .. 13 |
13 |
1 |
0 |
1 |
1 .. 13 |
1 .. 13 |
13 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
0 |
13 |
2.3.1.24.5. DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING¶
僅用於 ISDB。
有效值:0、1、2、4、-1 (AUTO)
當 DTV_ISDBT_SOUND_BROADCASTING 處於活動狀態時,值 8 也有效。
注意:實際時間交織長度取決於模式(fft 大小)。此處的數值是指可以在 TMCC 結構中找到的內容,如下表所示。
-
type isdbt_layer_interleaving_table¶
|
模式 1(2K FFT) |
模式 2(4K FFT) |
模式 3(8K FFT) |
|---|---|---|---|
0 |
0 |
0 |
0 |
1 |
4 |
2 |
1 |
2 |
8 |
4 |
2 |
4 |
16 |
8 |
4 |
2.3.1.24.6. DTV_ATSCMH_FIC_VER¶
僅用於 ATSC-MH。
FIC(快速資訊頻道)信令資料的版本號。
FIC 用於中繼資訊,以允許接收器快速獲取服務。
可能的值:0、1、2、3、...、30、31
2.3.1.24.7. DTV_ATSCMH_PARADE_ID¶
僅用於 ATSC-MH。
佇列識別號
佇列是最多八個 MH 組的集合,傳送一個或兩個集合。
可能的值:0、1、2、3、...、126、127
2.3.1.24.8. DTV_ATSCMH_NOG¶
僅用於 ATSC-MH。
指定佇列的每個 MH 子幀的 MH 組數。
可能的值:1、2、3、4、5、6、7、8
2.3.1.24.9. DTV_ATSCMH_TNOG¶
僅用於 ATSC-MH。
MH 組總數,包括一個 MH 子幀中屬於所有 MH 佇列的所有 MH 組。
可能的值:0、1、2、3、...、30、31
2.3.1.24.10. DTV_ATSCMH_SGN¶
僅用於 ATSC-MH。
起始組號。
可能的值:0、1、2、3、...、14、15
2.3.1.24.11. DTV_ATSCMH_PRC¶
僅用於 ATSC-MH。
佇列重複週期。
可能的值:1、2、3、4、5、6、7、8
2.3.1.24.12. DTV_ATSCMH_RS_FRAME_MODE¶
僅用於 ATSC-MH。
Reed Solomon (RS) 幀模式。
可接受的值由 atscmh_rs_frame_mode 定義。
2.3.1.24.13. DTV_ATSCMH_RS_FRAME_ENSEMBLE¶
僅用於 ATSC-MH。
Reed Solomon (RS) 幀集合。
可接受的值由 atscmh_rs_frame_ensemble 定義。
2.3.1.24.14. DTV_ATSCMH_RS_CODE_MODE_PRI¶
僅用於 ATSC-MH。
Reed Solomon (RS) 程式碼模式(主模式)。
可接受的值由 atscmh_rs_code_mode 定義。
2.3.1.24.15. DTV_ATSCMH_RS_CODE_MODE_SEC¶
僅用於 ATSC-MH。
Reed Solomon (RS) 程式碼模式(輔助模式)。
可接受的值由 atscmh_rs_code_mode 定義。
2.3.1.24.16. DTV_ATSCMH_SCCC_BLOCK_MODE¶
僅用於 ATSC-MH。
串聯卷積碼塊模式。
可接受的值由 atscmh_sccc_block_mode 定義。
2.3.1.24.17. DTV_ATSCMH_SCCC_CODE_MODE_A¶
僅用於 ATSC-MH。
串聯卷積位元速率。
可接受的值由 atscmh_sccc_code_mode 定義。
2.3.1.24.18. DTV_ATSCMH_SCCC_CODE_MODE_B¶
僅用於 ATSC-MH。
串聯卷積位元速率。
可能的值與列舉 atscmh_sccc_code_mode 中記錄的相同。
2.3.1.24.19. DTV_ATSCMH_SCCC_CODE_MODE_C¶
僅用於 ATSC-MH。
串聯卷積位元速率。
可能的值與列舉 atscmh_sccc_code_mode 中記錄的相同。
2.3.1.24.20. DTV_ATSCMH_SCCC_CODE_MODE_D¶
僅用於 ATSC-MH。
串聯卷積位元速率。
可能的值與列舉 atscmh_sccc_code_mode 中記錄的相同。
2.3.1.25. DTV_API_VERSION¶
返回數字電視 API 的主版本號/次版本號
2.3.1.26. DTV_CODE_RATE_HP¶
用於地面傳輸。
可接受的值由 fe_transmit_mode 定義。
2.3.1.27. DTV_CODE_RATE_LP¶
用於地面傳輸。
可接受的值由 fe_transmit_mode 定義。
2.3.1.28. DTV_GUARD_INTERVAL¶
可接受的值由 fe_guard_interval 定義。
注意
如果設定了
DTV_GUARD_INTERVAL的GUARD_INTERVAL_AUTO,則硬體將嘗試找到正確的保護間隔(如果可能),並將使用 TMCC 填充缺失的引數。間隔
GUARD_INTERVAL_1_64僅用於 DVB-C2。間隔
GUARD_INTERVAL_1_128用於 DVB-C2 和 DVB_T2。間隔
GUARD_INTERVAL_19_128和GUARD_INTERVAL_19_256僅用於 DVB-T2。間隔
GUARD_INTERVAL_PN420、GUARD_INTERVAL_PN595和GUARD_INTERVAL_PN945目前僅用於 DMTB。在此標準上,只有這些間隔和GUARD_INTERVAL_AUTO有效。
2.3.1.29. DTV_TRANSMISSION_MODE¶
僅用於基於 OFTM 的標準,例如 DVB-T/T2、ISDB-T、DTMB。
指定標準使用的 FFT 大小(對應於載波的大概數量)。
可接受的值由 fe_transmit_mode 定義。
注意
ISDB-T 支援三個載波/符號大小:8K、4K、2K。它在此標準上稱為 模式,編號從 1 到 3
模式
FFT 大小
傳輸模式
1
2K
TRANSMISSION_MODE_2K2
4K
TRANSMISSION_MODE_4K3
8K
TRANSMISSION_MODE_8K如果設定了
DTV_TRANSMISSION_MODE的TRANSMISSION_MODE_AUTO,則硬體將嘗試找到正確的 FFT 大小(如果可能),並將使用 TMCC 填充缺失的引數。DVB-T 指定 2K 和 8K 作為有效大小。
DVB-T2 指定 1K、2K、4K、8K、16K 和 32K。
DTMB 指定 C1 和 C3780。
2.3.1.30. DTV_HIERARCHY¶
僅用於 DVB-T 和 DVB-T2。
前端層次結構。
可接受的值由 fe_hierarchy 定義。
2.3.1.31. DTV_STREAM_ID¶
用於 DVB-C2、DVB-S2、DVB-T2 和 ISDB-S。
DVB-C2、DVB-S2、DVB-T2 和 ISDB-S 支援在單個傳輸流上傳輸多個流。當硬體支援時,此屬性使數字電視驅動程式能夠處理子流過濾。預設情況下,子流過濾處於停用狀態。
對於 DVB-C2、DVB-S2 和 DVB-T2,有效的子流 ID 範圍是 0 到 255。
對於 ISDB,有效的子流 ID 範圍是 1 到 65535。
要停用它,您應該使用特殊的宏 NO_STREAM_ID_FILTER。
注意:範圍外的任何值也會停用過濾。
2.3.1.32. DTV_DVBT2_PLP_ID_LEGACY¶
已過時,已替換為 DTV_STREAM_ID。
2.3.1.33. DTV_ENUM_DELSYS¶
多標準前端需要宣傳提供的傳輸系統。應用程式需要列舉提供的傳輸系統,然後才能對前端執行任何其他操作。在此之前,FE_GET_INFO 用於確定前端型別。提供多個傳輸系統的前端,FE_GET_INFO 沒有多大幫助。打算使用多標準前端的應用程式必須列舉與其關聯的傳輸系統,而不是嘗試使用 FE_GET_INFO。對於傳統前端,結果與 FE_GET_INFO 相同,但採用更結構化的格式
可接受的值由 fe_delivery_system 定義。
2.3.1.34. DTV_INTERLEAVING¶
要使用的時間交織。
可接受的值由fe_interleaving定義。
2.3.1.35. DTV_LNA¶
低噪聲放大器。
硬體可能提供可控的LNA,可以使用該引數手動設定。通常,LNA只能從地面裝置上找到(如果有的話)。
可能的值:0、1、LNA_AUTO
0,LNA關閉
1,LNA開啟
使用特殊宏LNA_AUTO設定LNA自動
2.3.1.36. DTV_SCRAMBLING_SEQUENCE_INDEX¶
用於 DVB-S2。
當存在此18位欄位時,它攜帶DVB-S2物理層加擾序列的索引,如EN 302 307的5.5.4條款中所定義。沒有顯式的信令方法將加擾序列索引傳遞給接收器。如果S2衛星傳輸系統描述符可用,則可以使用它來讀取加擾序列索引(EN 300 468表41)。
預設情況下,使用黃金加擾序列索引0。
有效的加擾序列索引範圍為0到262142。