feat(nr): implement rank-8 PDSCH
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
#include "NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||
#include "PHY/INIT/nr_phy_init.h"
|
||||
#include "PHY/MODULATION/nr_modulation.h"
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h"
|
||||
#include "PHY/NR_TRANSPORT/nr_antenna_control.h"
|
||||
#include "PHY/NR_TRANSPORT/nr_transport_proto.h"
|
||||
#include "PHY/TOOLS/tools_defs.h"
|
||||
#include "PHY/defs_RU.h"
|
||||
@@ -372,6 +374,14 @@ void init_eNB_afterRU(void)
|
||||
*/
|
||||
//init_precoding_weights(RC.gNB[inst]);
|
||||
init_gNB_Tpool(inst);
|
||||
|
||||
// antenna control
|
||||
if (nr_antenna_control_start_test_server(&gNB->antenna_state, 9999))
|
||||
LOG_I(PHY, "[ANTENNA_CTRL] Test control server started on port 9999\n");
|
||||
if (inst < RC.nb_nr_macrlc_inst && RC.nrmac && RC.nrmac[inst]) {
|
||||
RC.nrmac[inst]->antenna_state = &gNB->antenna_state;
|
||||
LOG_I(PHY, "[ANTENNA_STATE] Connected MAC scheduler to PHY antenna state for dynamic layer adaptation\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -302,8 +302,8 @@ void nrue_init_openair0(void)
|
||||
|
||||
cfg->ru_id = ru_id;
|
||||
cfg->num_rb_dl = frame_parms->N_RB_DL;
|
||||
cfg->tx_num_channels = min(4, frame_parms->nb_antennas_tx);
|
||||
cfg->rx_num_channels = min(4, frame_parms->nb_antennas_rx);
|
||||
cfg->tx_num_channels = min(MAX_ANT, frame_parms->nb_antennas_tx);
|
||||
cfg->rx_num_channels = min(MAX_ANT, frame_parms->nb_antennas_rx);
|
||||
|
||||
LOG_I(PHY,
|
||||
"HW: Configuring ru_id %d, sample_rate %f, tx/rx num_channels %d/%d, duplex_mode %s\n",
|
||||
|
||||
+3
-2
@@ -763,8 +763,9 @@ void *UE_thread(void *arg)
|
||||
|
||||
if (get_softmodem_params()->sync_ref && UE->sl_mode == 2) {
|
||||
UE->is_synchronized = 1;
|
||||
} else {
|
||||
//warm up the RF board
|
||||
} else if (!IS_SOFTMODEM_RFSIM) {
|
||||
// Warm up physical RF hardware. RFsim has no RF board to settle, and
|
||||
// discarding 100 simulated frames only delays initial synchronization.
|
||||
openair0_timestamp_t tmp;
|
||||
for (int i = 0; i < 50; i++)
|
||||
readFrame(UE, &tmp, duration_rx_to_tx, true);
|
||||
|
||||
Reference in New Issue
Block a user