50 MHz formats, prach RX scaling
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -882,7 +882,7 @@ void rx_nr_prach(PHY_VARS_gNB *gNB,
|
|||||||
log2_ifft_size = 8;
|
log2_ifft_size = 8;
|
||||||
// compute energy and accumulate over receive antennas and repetitions for BR
|
// compute energy and accumulate over receive antennas and repetitions for BR
|
||||||
for (i=0;i<256;i++)
|
for (i=0;i<256;i++)
|
||||||
prach_ifft[i] += ((int32_t)prach_ifft_tmp[i<<1]*(int32_t)prach_ifft_tmp[(i<<1)] + (int32_t)prach_ifft_tmp[1+(i<<1)]*(int32_t)prach_ifft_tmp[1+(i<<1)])>>10;
|
prach_ifft[i] += ((int32_t)prach_ifft_tmp[i<<1]*(int32_t)prach_ifft_tmp[(i<<1)] + (int32_t)prach_ifft_tmp[1+(i<<1)]*(int32_t)prach_ifft_tmp[1+(i<<1)])/nb_rx;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LOG_DUMPFLAG(PRACH)) {
|
if (LOG_DUMPFLAG(PRACH)) {
|
||||||
|
|||||||
@@ -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)
|
|||||||
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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user