Commit 98cbac7f authored by Raymond Knopp's avatar Raymond Knopp

Merge branch 'NR_SA_F1AP_5GRECORDS' of...

Merge branch 'NR_SA_F1AP_5GRECORDS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_SA_F1AP_5GRECORDS

Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_prach.c
parents f8c9e5b6 02048beb
...@@ -113,6 +113,7 @@ check_supported_distribution() { ...@@ -113,6 +113,7 @@ check_supported_distribution() {
"rhel7.6") return 0 ;; "rhel7.6") return 0 ;;
"rhel7.7") return 0 ;; "rhel7.7") return 0 ;;
"rhel7.8") return 0 ;; "rhel7.8") return 0 ;;
"rhel7.9") return 0 ;;
"rhel8.2") return 0 ;; "rhel8.2") return 0 ;;
"rhel8.3") return 0 ;; "rhel8.3") return 0 ;;
"rhel8.4") return 0 ;; "rhel8.4") return 0 ;;
......
...@@ -903,6 +903,18 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) { ...@@ -903,6 +903,18 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) {
cfg->tx_bw = 80e6; cfg->tx_bw = 80e6;
cfg->rx_bw = 80e6; cfg->rx_bw = 80e6;
} }
break;
case 133 :
if (fp->threequarter_fs) {
AssertFatal(1==0,"N_RB %d cannot use 3/4 sampling\n",N_RB);
}
else {
cfg->sample_rate=61.44e6;
cfg->samples_per_frame = 614400;
cfg->tx_bw = 50e6;
cfg->rx_bw = 50e6;
}
break; break;
case 106: case 106:
if (fp->threequarter_fs) { if (fp->threequarter_fs) {
......
...@@ -94,7 +94,6 @@ void nr_generate_dci(PHY_VARS_gNB *gNB, ...@@ -94,7 +94,6 @@ void nr_generate_dci(PHY_VARS_gNB *gNB,
* in time: by its first slot and its first symbol*/ * in time: by its first slot and its first symbol*/
const nfapi_nr_dl_dci_pdu_t *dci_pdu = &pdcch_pdu_rel15->dci_pdu[d]; const nfapi_nr_dl_dci_pdu_t *dci_pdu = &pdcch_pdu_rel15->dci_pdu[d];
LOG_D(PHY,"DCI pdu %d, rnti %x, aggregation %d CCE %d Scrambling_Id %x ScramblingRNTI %x PayloadSizeBits %d\n",d,dci_pdu->RNTI,dci_pdu->AggregationLevel,dci_pdu->CceIndex,dci_pdu->ScramblingId,dci_pdu->ScramblingRNTI,dci_pdu->PayloadSizeBits);
cset_start_symb = pdcch_pdu_rel15->StartSymbolIndex; cset_start_symb = pdcch_pdu_rel15->StartSymbolIndex;
cset_nsymb = pdcch_pdu_rel15->DurationSymbols; cset_nsymb = pdcch_pdu_rel15->DurationSymbols;
dci_idx = 0; dci_idx = 0;
......
...@@ -114,23 +114,25 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) { ...@@ -114,23 +114,25 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) {
&max_preamble_delay[0] &max_preamble_delay[0]
); );
free_nr_prach_entry(gNB,prach_id); free_nr_prach_entry(gNB,prach_id);
LOG_D(PHY,"[RAPROC] Frame %d, slot %d, occasion %d (prachStartSymbol %d) : Most likely preamble %d, energy %d dB delay %d (prach_energy counter %d)\n", LOG_D(PHY,"[RAPROC] Frame %d, slot %d, occasion %d (prachStartSymbol %d) : Most likely preamble %d, energy %d.%d dB delay %d (prach_energy counter %d)\n",
frame,slot,prach_oc,prachStartSymbol, frame,slot,prach_oc,prachStartSymbol,
max_preamble[0], max_preamble[0],
max_preamble_energy[0]/10, max_preamble_energy[0]/10,
max_preamble_energy[0]%10,
max_preamble_delay[0], max_preamble_delay[0],
gNB->prach_energy_counter); gNB->prach_energy_counter);
if ((gNB->prach_energy_counter == 100) && if ((gNB->prach_energy_counter == 100) &&
(max_preamble_energy[0] > gNB->measurements.prach_I0+gNB->prach_thres)) { (max_preamble_energy[0] > gNB->measurements.prach_I0+gNB->prach_thres)) {
LOG_I(PHY,"[gNB %d][RAPROC] Frame %d, slot %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d start symbol %u freq index %u\n", LOG_I(PHY,"[gNB %d][RAPROC] Frame %d, slot %d Initiating RA procedure with preamble %d, energy %d.%d dB (I0 %d, thres %d), delay %d start symbol %u freq index %u\n",
gNB->Mod_id, gNB->Mod_id,
frame, frame,
slot, slot,
max_preamble[0], max_preamble[0],
max_preamble_energy[0]/10, max_preamble_energy[0]/10,
max_preamble_energy[0]%10, max_preamble_energy[0]%10,
gNB->measurements.prach_I0,gNB->prach_thres,
max_preamble_delay[0], max_preamble_delay[0],
prachStartSymbol, prachStartSymbol,
prach_pdu->num_ra); prach_pdu->num_ra);
......
...@@ -680,7 +680,7 @@ void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) ...@@ -680,7 +680,7 @@ void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
dB_fixed_x10(gNB->pusch_vars[ULSCH_id]->ulsch_noise_power_tot),gNB->pusch_thres); dB_fixed_x10(gNB->pusch_vars[ULSCH_id]->ulsch_noise_power_tot),gNB->pusch_thres);
nr_fill_indication(gNB,frame_rx, slot_rx, ULSCH_id, harq_pid, 1); nr_fill_indication(gNB,frame_rx, slot_rx, ULSCH_id, harq_pid, 1);
gNB->pusch_vars[ULSCH_id]->DTX=1; gNB->pusch_vars[ULSCH_id]->DTX=1;
stats->DTX++; if (stats) stats->DTX++;
return; return;
} else gNB->pusch_vars[ULSCH_id]->DTX=0; } else gNB->pusch_vars[ULSCH_id]->DTX=0;
......
...@@ -814,6 +814,21 @@ void nr_schedule_ue_spec(module_id_t module_id, ...@@ -814,6 +814,21 @@ void nr_schedule_ue_spec(module_id_t module_id,
current_harq_pid, current_harq_pid,
harq->round, harq->round,
harq->ndi); harq->ndi);
if ((get_softmodem_params()->phy_test == 1) && (frame&127) == 0)
LOG_D(MAC,
"%4d.%2d RNTI %04x start %d RBs %d startSymbol %d nb_symbsol %d MCS %d TBS %d (%f Mbps) HARQ PID %d round %d NDI %d\n",
frame,
slot,
rnti,
sched_ctrl->rbStart,
sched_ctrl->rbSize,
startSymbolIndex,
nrOfSymbols,
sched_ctrl->mcs,
TBS,((double)TBS)*(1<<scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.subcarrierSpacing))/1000,
current_harq_pid,
harq->round,
harq->ndi);
NR_BWP_Downlink_t *bwp = sched_ctrl->active_bwp; NR_BWP_Downlink_t *bwp = sched_ctrl->active_bwp;
......
...@@ -378,6 +378,8 @@ void nr_preprocessor_phytest(module_id_t module_id, ...@@ -378,6 +378,8 @@ void nr_preprocessor_phytest(module_id_t module_id,
/* mark the corresponding RBs as used */ /* mark the corresponding RBs as used */
for (int rb = 0; rb < sched_ctrl->rbSize; rb++) for (int rb = 0; rb < sched_ctrl->rbSize; rb++)
vrb_map[rb + sched_ctrl->rbStart] = 1; vrb_map[rb + sched_ctrl->rbStart] = 1;
if ((frame&127) == 0) LOG_I(MAC,"phytest: %d.%d DL mcs %d, DL rbStart %d, DL rbSize %d\n", frame, slot, sched_ctrl->mcs, rbStart,rbSize);
} }
uint32_t target_ul_mcs = 9; uint32_t target_ul_mcs = 9;
......
...@@ -47,6 +47,7 @@ extern RAN_CONTEXT_t RC; ...@@ -47,6 +47,7 @@ extern RAN_CONTEXT_t RC;
#include <stdint.h> #include <stdint.h>
#include <executables/softmodem-common.h>
static nr_rlc_ue_manager_t *nr_rlc_ue_manager; static nr_rlc_ue_manager_t *nr_rlc_ue_manager;
/* TODO: handle time a bit more properly */ /* TODO: handle time a bit more properly */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment