type dvb_frontend_parameters

6.1.1.3. 前端引數

傳遞給前端裝置進行調諧的引數種類取決於您使用的硬體型別。

結構體 dvb_frontend_parameters 使用帶有特定於系統的引數的聯合。 但是,由於較新的傳輸系統需要更多資料,因此結構體大小不足以容納,並且僅擴充套件其大小會破壞現有應用程式。 因此,這些引數被使用 FE_GET_PROPERTY/FE_SET_PROPERTY ioctl 的方式所取代。 新的 API 足夠靈活,可以向現有傳輸系統新增新引數,並新增更新的傳輸系統。

因此,較新的應用程式應使用 FE_GET_PROPERTY/FE_SET_PROPERTY 代替,以便能夠支援更新的系統傳輸,如 DVB-S2、DVB-T2、DVB-C2、ISDB 等。

所有型別的引數都在 dvb_frontend_parameters 結構體中組合成一個聯合

struct dvb_frontend_parameters {
    uint32_t frequency;     /* (absolute) frequency in Hz for QAM/OFDM */
                /* intermediate frequency in kHz for QPSK */
    fe_spectral_inversion_t inversion;
    union {
        struct dvb_qpsk_parameters qpsk;
        struct dvb_qam_parameters  qam;
        struct dvb_ofdm_parameters ofdm;
        struct dvb_vsb_parameters  vsb;
    } u;
};

對於 QPSK 前端,frequency 欄位指定中頻,即有效新增到 LNB 本地振盪器頻率 (LOF) 的偏移量。 中頻必須以 kHz 為單位指定。 對於 QAM 和 OFDM 前端,frequency 指定絕對頻率,以 Hz 為單位給出。

type dvb_qpsk_parameters

6.1.1.3.1. QPSK 引數

對於衛星 QPSK 前端,您必須使用 dvb_qpsk_parameters 結構體

struct dvb_qpsk_parameters {
    uint32_t        symbol_rate;  /* symbol rate in Symbols per second */
    fe_code_rate_t  fec_inner;    /* forward error correction (see above) */
};
type dvb_qam_parameters

6.1.1.3.2. QAM 引數

對於有線 QAM 前端,您使用 dvb_qam_parameters 結構體

struct dvb_qam_parameters {
    uint32_t         symbol_rate; /* symbol rate in Symbols per second */
    fe_code_rate_t   fec_inner;   /* forward error correction (see above) */
    fe_modulation_t  modulation;  /* modulation type (see above) */
};
type dvb_vsb_parameters

6.1.1.3.3. VSB 引數

ATSC 前端由 dvb_vsb_parameters 結構體支援

struct dvb_vsb_parameters {
    fe_modulation_t modulation; /* modulation type (see above) */
};
type dvb_ofdm_parameters

6.1.1.3.4. OFDM 引數

DVB-T 前端由 dvb_ofdm_parameters 結構體支援

struct dvb_ofdm_parameters {
    fe_bandwidth_t      bandwidth;
    fe_code_rate_t      code_rate_HP;  /* high priority stream code rate */
    fe_code_rate_t      code_rate_LP;  /* low priority stream code rate */
    fe_modulation_t     constellation; /* modulation type (see above) */
    fe_transmit_mode_t  transmission_mode;
    fe_guard_interval_t guard_interval;
    fe_hierarchy_t      hierarchy_information;
};