-
type dvb_frontend_parameters¶
6.1.1.3. 前端参数¶
传递给前端设备用于调谐的参数类型取决于您使用的硬件类型。
结构体 dvb_frontend_parameters
使用一个包含特定系统参数的联合。然而,由于较新的传输系统需要更多数据,该结构的大小不足以容纳,并且仅仅扩展其大小会破坏现有的应用程序。因此,这些参数被 FE_GET_PROPERTY/FE_SET_PROPERTY ioctl 的使用所取代。新的 API 足够灵活,可以向现有的传输系统添加新参数,并添加更新的传输系统。
因此,为了能够支持像 DVB-S2、DVB-T2、DVB-C2、ISDB 等更新的系统传输,较新的应用程序应该改用 FE_GET_PROPERTY/FE_SET_PROPERTY。
所有类型的参数都组合在 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;
};