mirror of https://github.com/PentHertz/srsLTE.git
SRSUE: 64QAM R8 compatible
This commit is contained in:
parent
ca12b2353c
commit
87433c83da
|
@ -725,7 +725,6 @@ typedef struct {
|
||||||
int worker_cpu_mask;
|
int worker_cpu_mask;
|
||||||
int sync_cpu_affinity;
|
int sync_cpu_affinity;
|
||||||
|
|
||||||
uint32_t ue_category;
|
|
||||||
uint32_t nof_carriers;
|
uint32_t nof_carriers;
|
||||||
uint32_t nof_radios;
|
uint32_t nof_radios;
|
||||||
uint32_t nof_rx_ant;
|
uint32_t nof_rx_ant;
|
||||||
|
@ -828,6 +827,7 @@ public:
|
||||||
asn1::rrc::ul_pwr_ctrl_common_s ul_pwr_ctrl;
|
asn1::rrc::ul_pwr_ctrl_common_s ul_pwr_ctrl;
|
||||||
asn1::rrc::tdd_cfg_s tdd_cnfg;
|
asn1::rrc::tdd_cfg_s tdd_cnfg;
|
||||||
asn1::rrc::srs_ant_port_e ant_info;
|
asn1::rrc::srs_ant_port_e ant_info;
|
||||||
|
bool rrc_enable_64qam;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct phy_cfg_mbsfn_t {
|
struct phy_cfg_mbsfn_t {
|
||||||
|
|
|
@ -1131,7 +1131,7 @@ void cc_worker::set_pcell_config(phy_interface_rrc_lte::phy_cfg_t* phy_cfg)
|
||||||
|
|
||||||
// Configure PUSCH
|
// Configure PUSCH
|
||||||
ue_ul_cfg.ul_cfg.pusch.enable_64qam =
|
ue_ul_cfg.ul_cfg.pusch.enable_64qam =
|
||||||
phy->args->ue_category >= 5 && phy_cfg->common.pusch_cnfg.pusch_cfg_basic.enable64_qam;
|
phy_cfg->common.pusch_cnfg.pusch_cfg_basic.enable64_qam && phy_cfg->common.rrc_enable_64qam;
|
||||||
|
|
||||||
/* PUSCH DMRS signal configuration */
|
/* PUSCH DMRS signal configuration */
|
||||||
bzero(&ue_ul_cfg.ul_cfg.dmrs, sizeof(srslte_refsignal_dmrs_pusch_cfg_t));
|
bzero(&ue_ul_cfg.ul_cfg.dmrs, sizeof(srslte_refsignal_dmrs_pusch_cfg_t));
|
||||||
|
|
|
@ -1972,6 +1972,12 @@ void rrc::handle_sib2()
|
||||||
current_phy_cfg.common.prach_cnfg = sib2->rr_cfg_common.prach_cfg;
|
current_phy_cfg.common.prach_cnfg = sib2->rr_cfg_common.prach_cfg;
|
||||||
current_phy_cfg.common.srs_ul_cnfg = sib2->rr_cfg_common.srs_ul_cfg_common;
|
current_phy_cfg.common.srs_ul_cnfg = sib2->rr_cfg_common.srs_ul_cfg_common;
|
||||||
|
|
||||||
|
// Filter here 64-QAM Enable
|
||||||
|
if (args.ue_category == 5 || (sib2->rr_cfg_common.pusch_cfg_common_v1270_present && args.release > 11)) {
|
||||||
|
// ASN1 Generator simplifies enable64QAM-v1270 because it is an enumeration that is always true
|
||||||
|
current_phy_cfg.common.rrc_enable_64qam = true;
|
||||||
|
}
|
||||||
|
|
||||||
phy->set_config(¤t_phy_cfg);
|
phy->set_config(¤t_phy_cfg);
|
||||||
|
|
||||||
log_rr_config_common();
|
log_rr_config_common();
|
||||||
|
@ -2523,7 +2529,7 @@ void rrc::send_rrc_ue_cap_info()
|
||||||
ue_eutra_cap_v11a0_ies_s cap_v11a0;
|
ue_eutra_cap_v11a0_ies_s cap_v11a0;
|
||||||
|
|
||||||
ue_eutra_cap_v1180_ies_s cap_v1180;
|
ue_eutra_cap_v1180_ies_s cap_v1180;
|
||||||
cap_v11a0.non_crit_ext_present = true;
|
cap_v1180.non_crit_ext_present = true;
|
||||||
cap_v1180.non_crit_ext = cap_v11a0;
|
cap_v1180.non_crit_ext = cap_v11a0;
|
||||||
|
|
||||||
ue_eutra_cap_v1170_ies_s cap_v1170;
|
ue_eutra_cap_v1170_ies_s cap_v1170;
|
||||||
|
@ -2551,7 +2557,7 @@ void rrc::send_rrc_ue_cap_info()
|
||||||
for (uint32_t i = 0; i < args.nof_supported_bands; i++) {
|
for (uint32_t i = 0; i < args.nof_supported_bands; i++) {
|
||||||
supported_band_eutra_v1250_s supported_band_eutra_v1250;
|
supported_band_eutra_v1250_s supported_band_eutra_v1250;
|
||||||
supported_band_eutra_v1250.dl_minus256_qam_r12_present = false; // 256-QAM support
|
supported_band_eutra_v1250.dl_minus256_qam_r12_present = false; // 256-QAM support
|
||||||
supported_band_eutra_v1250.ul_minus64_qam_r12_present = true; // 64-QAM support
|
supported_band_eutra_v1250.ul_minus64_qam_r12_present = (args.ue_category >= 5); // 64-QAM support
|
||||||
|
|
||||||
supported_band_list_eutra_v1250.push_back(supported_band_eutra_v1250);
|
supported_band_list_eutra_v1250.push_back(supported_band_eutra_v1250);
|
||||||
}
|
}
|
||||||
|
@ -2561,6 +2567,10 @@ void rrc::send_rrc_ue_cap_info()
|
||||||
rf_params_v1250.supported_band_list_eutra_v1250 = supported_band_list_eutra_v1250;
|
rf_params_v1250.supported_band_list_eutra_v1250 = supported_band_list_eutra_v1250;
|
||||||
|
|
||||||
ue_eutra_cap_v1250_ies_s cap_v1250;
|
ue_eutra_cap_v1250_ies_s cap_v1250;
|
||||||
|
cap_v1250.ue_category_dl_r12_present = true;
|
||||||
|
cap_v1250.ue_category_dl_r12 = 13;
|
||||||
|
cap_v1250.ue_category_ul_r12_present = true;
|
||||||
|
cap_v1250.ue_category_ul_r12 = 5;
|
||||||
cap_v1250.rf_params_v1250_present = true;
|
cap_v1250.rf_params_v1250_present = true;
|
||||||
cap_v1250.rf_params_v1250 = rf_params_v1250;
|
cap_v1250.rf_params_v1250 = rf_params_v1250;
|
||||||
|
|
||||||
|
|
|
@ -164,7 +164,6 @@ int ue::parse_args(const all_args_t& args_)
|
||||||
|
|
||||||
// replicate some RF parameter to make them available to PHY
|
// replicate some RF parameter to make them available to PHY
|
||||||
args.phy.nof_rx_ant = args.rf.nof_rx_ant;
|
args.phy.nof_rx_ant = args.rf.nof_rx_ant;
|
||||||
args.phy.ue_category = args.stack.rrc.ue_category;
|
|
||||||
args.phy.agc_enable = args.rf.rx_gain < 0.0f;
|
args.phy.agc_enable = args.rf.rx_gain < 0.0f;
|
||||||
|
|
||||||
// Calculate number of carriers available in all radios
|
// Calculate number of carriers available in all radios
|
||||||
|
|
Loading…
Reference in New Issue