remove a couple of global variables from pusch_vars and some further cleanup
This commit is contained in:
@@ -205,19 +205,13 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB)
|
||||
gNB->pusch_vars = (NR_gNB_PUSCH *)malloc16_clear(gNB->max_nb_pusch * sizeof(NR_gNB_PUSCH));
|
||||
for (int ULSCH_id = 0; ULSCH_id < gNB->max_nb_pusch; ULSCH_id++) {
|
||||
NR_gNB_PUSCH *pusch = &gNB->pusch_vars[ULSCH_id];
|
||||
pusch->rxdataF_ext = (int32_t **)malloc16(Prx * sizeof(int32_t *));
|
||||
pusch->ul_ch_estimates = (int32_t **)malloc16(n_buf * sizeof(int32_t *));
|
||||
pusch->ul_ch_estimates_ext = (int32_t **)malloc16(n_buf * sizeof(int32_t *));
|
||||
pusch->ptrs_phase_per_slot = (int32_t **)malloc16(n_buf * sizeof(int32_t *));
|
||||
pusch->ul_ch_estimates_time = (int32_t **)malloc16(n_buf * sizeof(int32_t *));
|
||||
pusch->rxdataF_comp = (int32_t **)malloc16(n_buf * sizeof(int32_t *));
|
||||
pusch->llr_layers = (int16_t **)malloc16(max_ul_mimo_layers * sizeof(int32_t *));
|
||||
for (i = 0; i < Prx; i++) {
|
||||
pusch->rxdataF_ext[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * nb_re_pusch2 * fp->symbols_per_slot);
|
||||
}
|
||||
for (i = 0; i < n_buf; i++) {
|
||||
pusch->ul_ch_estimates[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * fp->ofdm_symbol_size * fp->symbols_per_slot);
|
||||
pusch->ul_ch_estimates_ext[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * nb_re_pusch2 * fp->symbols_per_slot);
|
||||
pusch->ul_ch_estimates_time[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * fp->ofdm_symbol_size);
|
||||
pusch->ptrs_phase_per_slot[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * fp->symbols_per_slot); // symbols per slot
|
||||
pusch->rxdataF_comp[i] = (int32_t *)malloc16_clear(sizeof(int32_t) * nb_re_pusch2 * fp->symbols_per_slot);
|
||||
@@ -287,20 +281,14 @@ void phy_free_nr_gNB(PHY_VARS_gNB *gNB)
|
||||
NR_gNB_PUSCH *pusch_vars = &gNB->pusch_vars[ULSCH_id];
|
||||
for (int i=0; i< max_ul_mimo_layers; i++)
|
||||
free_and_zero(pusch_vars->llr_layers[i]);
|
||||
for (int i = 0; i < Prx; i++) {
|
||||
free_and_zero(pusch_vars->rxdataF_ext[i]);
|
||||
}
|
||||
for (int i = 0; i < n_buf; i++) {
|
||||
free_and_zero(pusch_vars->ul_ch_estimates[i]);
|
||||
free_and_zero(pusch_vars->ul_ch_estimates_ext[i]);
|
||||
free_and_zero(pusch_vars->ul_ch_estimates_time[i]);
|
||||
free_and_zero(pusch_vars->ptrs_phase_per_slot[i]);
|
||||
free_and_zero(pusch_vars->rxdataF_comp[i]);
|
||||
}
|
||||
free_and_zero(pusch_vars->llr_layers);
|
||||
free_and_zero(pusch_vars->rxdataF_ext);
|
||||
free_and_zero(pusch_vars->ul_ch_estimates);
|
||||
free_and_zero(pusch_vars->ul_ch_estimates_ext);
|
||||
free_and_zero(pusch_vars->ptrs_phase_per_slot);
|
||||
free_and_zero(pusch_vars->ul_ch_estimates_time);
|
||||
free_and_zero(pusch_vars->ul_valid_re_per_slot);
|
||||
|
||||
@@ -288,14 +288,11 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
|
||||
NR_DL_FRAME_PARMS *frame_parms)
|
||||
{
|
||||
uint8_t delta = 0;
|
||||
|
||||
int start_re = (frame_parms->first_carrier_offset + (pusch_pdu->rb_start + pusch_pdu->bwp_start) * NR_NB_SC_PER_RB)%frame_parms->ofdm_symbol_size;
|
||||
int nb_re_pusch = NR_NB_SC_PER_RB * pusch_pdu->rb_size;
|
||||
|
||||
|
||||
c16_t *rxF = &rxdataF[rxoffset];
|
||||
c16_t *rxF_ext = &rxFext[0];
|
||||
c16_t *ul_ch0 = &chF[choffset];
|
||||
c16_t *rxF = &rxdataF[rxoffset];
|
||||
c16_t *rxF_ext = &rxFext[0];
|
||||
c16_t *ul_ch0 = &chF[choffset];
|
||||
c16_t *ul_ch0_ext = &chFext[0];
|
||||
|
||||
if (is_dmrs_symbol == 0) {
|
||||
@@ -307,11 +304,11 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
|
||||
memcpy(rxF_ext, &rxF[start_re], neg_length * sizeof(c16_t));
|
||||
memcpy(&rxF_ext[neg_length], rxF, pos_length * sizeof(c16_t));
|
||||
}
|
||||
memcpy(ul_ch0_ext, ul_ch0, nb_re_pusch * sizeof(c16_t));
|
||||
memcpy(ul_ch0_ext, ul_ch0, nb_re_pusch * sizeof(c16_t));
|
||||
}
|
||||
else if (pusch_pdu->dmrs_config_type == pusch_dmrs_type1) { // 6 REs / PRB
|
||||
AssertFatal(delta == 0 || delta == 1, "Illegal delta %d\n",delta);
|
||||
c16_t *rxF32 = &rxF[start_re];
|
||||
c16_t *rxF32 = &rxF[start_re];
|
||||
if (start_re + nb_re_pusch < frame_parms->ofdm_symbol_size) {
|
||||
for (int idx = 1 - delta; idx < nb_re_pusch; idx += 2) {
|
||||
*rxF_ext++ = rxF32[idx];
|
||||
@@ -367,7 +364,8 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
|
||||
}
|
||||
}
|
||||
|
||||
static void nr_ulsch_scale_channel(int **ul_ch_estimates_ext,
|
||||
static void nr_ulsch_scale_channel(int size_est,
|
||||
int ul_ch_estimates_ext[][size_est],
|
||||
NR_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t symbol,
|
||||
uint8_t is_dmrs_symbol,
|
||||
@@ -419,7 +417,8 @@ static int get_nb_re_pusch (NR_DL_FRAME_PARMS *frame_parms, nfapi_nr_pusch_pdu_t
|
||||
}
|
||||
|
||||
// compute average channel_level on each (TX,RX) antenna pair
|
||||
static void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
|
||||
static void nr_ulsch_channel_level(int size_est,
|
||||
int ul_ch_estimates_ext[][size_est],
|
||||
NR_DL_FRAME_PARMS *frame_parms,
|
||||
int32_t *avg,
|
||||
uint8_t symbol,
|
||||
@@ -436,7 +435,7 @@ static void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
|
||||
//clear average level
|
||||
avg128U = simde_mm_setzero_si128();
|
||||
|
||||
ul_ch128 = (simde__m128i *)&ul_ch_estimates_ext[aatx*frame_parms->nb_antennas_rx+aarx][symbol * len];
|
||||
ul_ch128 = (simde__m128i *)&ul_ch_estimates_ext[aatx * frame_parms->nb_antennas_rx + aarx][symbol * len];
|
||||
|
||||
for (int i = 0; i < len >> 2; i++) {
|
||||
avg128U = simde_mm_add_epi32(avg128U, simde_mm_srai_epi32(simde_mm_madd_epi16(ul_ch128[i], ul_ch128[i]), x));
|
||||
@@ -1505,9 +1504,9 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
|
||||
pusch_vars->ulsch_power[aarx] = 0;
|
||||
pusch_vars->ulsch_noise_power[aarx] = 0;
|
||||
}
|
||||
for (int aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++) {
|
||||
for (int nl = 0; nl < rel15_ul->nrOfLayers; nl++) {
|
||||
pusch_vars->ulsch_power[aarx] += signal_energy_nodc(
|
||||
(c16_t*)&pusch_vars->ul_ch_estimates[aatx * gNB->frame_parms.nb_antennas_rx + aarx][symbol * frame_parms->ofdm_symbol_size],
|
||||
(c16_t*)&pusch_vars->ul_ch_estimates[nl * gNB->frame_parms.nb_antennas_rx + aarx][symbol * frame_parms->ofdm_symbol_size],
|
||||
rel15_ul->rb_size * 12);
|
||||
}
|
||||
for (int rb = 0; rb < rel15_ul->rb_size; rb++)
|
||||
@@ -1592,17 +1591,21 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
|
||||
dmrs_symbol = get_valid_dmrs_idx_for_channel_est(rel15_ul->ul_dmrs_symb_pos, meas_symbol);
|
||||
else // average of channel estimates stored in first symbol
|
||||
dmrs_symbol = get_next_dmrs_symbol_in_slot(rel15_ul->ul_dmrs_symb_pos, rel15_ul->start_symbol_index, end_symbol);
|
||||
|
||||
int size_est = nb_re_pusch * frame_parms->symbols_per_slot;
|
||||
__attribute__((aligned(32))) int ul_ch_estimates_ext[rel15_ul->nrOfLayers * frame_parms->nb_antennas_rx][size_est];
|
||||
memset(ul_ch_estimates_ext, 0, sizeof(ul_ch_estimates_ext));
|
||||
int buffer_length = rel15_ul->rb_size * NR_NB_SC_PER_RB;
|
||||
c16_t temp_rxFext[frame_parms->nb_antennas_rx][buffer_length] __attribute__((aligned(32)));
|
||||
for (int aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++)
|
||||
for (int aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++)
|
||||
for (int nl = 0; nl < rel15_ul->nrOfLayers; nl++)
|
||||
nr_ulsch_extract_rbs(gNB->common_vars.rxdataF[aarx],
|
||||
(c16_t*)pusch_vars->ul_ch_estimates[aatx * frame_parms->nb_antennas_rx + aarx],
|
||||
(c16_t*)&pusch_vars->rxdataF_ext[aarx][meas_symbol * nb_re_pusch],
|
||||
(c16_t*)&pusch_vars->ul_ch_estimates_ext[aatx * frame_parms->nb_antennas_rx+aarx][meas_symbol * nb_re_pusch],
|
||||
(c16_t *)pusch_vars->ul_ch_estimates[nl * frame_parms->nb_antennas_rx + aarx],
|
||||
temp_rxFext[aarx],
|
||||
(c16_t*)&ul_ch_estimates_ext[nl * frame_parms->nb_antennas_rx + aarx][meas_symbol * nb_re_pusch],
|
||||
soffset + meas_symbol * frame_parms->ofdm_symbol_size,
|
||||
dmrs_symbol * frame_parms->ofdm_symbol_size,
|
||||
aarx,
|
||||
(rel15_ul->ul_dmrs_symb_pos >> meas_symbol) & 0x01,
|
||||
(rel15_ul->ul_dmrs_symb_pos >> meas_symbol) & 0x01,
|
||||
rel15_ul,
|
||||
frame_parms);
|
||||
|
||||
@@ -1613,7 +1616,8 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
|
||||
//----------------------------------------------------------
|
||||
//--------------------- Channel Scaling --------------------
|
||||
//----------------------------------------------------------
|
||||
nr_ulsch_scale_channel(pusch_vars->ul_ch_estimates_ext,
|
||||
nr_ulsch_scale_channel(size_est,
|
||||
ul_ch_estimates_ext,
|
||||
frame_parms,
|
||||
meas_symbol,
|
||||
(rel15_ul->ul_dmrs_symb_pos >> meas_symbol) & 0x01,
|
||||
@@ -1622,16 +1626,17 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
|
||||
rel15_ul->rb_size,
|
||||
shift_ch_ext);
|
||||
|
||||
nr_ulsch_channel_level(pusch_vars->ul_ch_estimates_ext,
|
||||
nr_ulsch_channel_level(size_est,
|
||||
ul_ch_estimates_ext,
|
||||
frame_parms,
|
||||
avg,
|
||||
meas_symbol, // index of the start symbol
|
||||
nb_re_pusch, // number of the re in pusch
|
||||
rel15_ul->nrOfLayers);
|
||||
|
||||
for (int aatx = 0; aatx < rel15_ul->nrOfLayers; aatx++)
|
||||
for (int nl = 0; nl < rel15_ul->nrOfLayers; nl++)
|
||||
for (int aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++)
|
||||
avgs = cmax(avgs, avg[aatx*frame_parms->nb_antennas_rx+aarx]);
|
||||
avgs = cmax(avgs, avg[nl * frame_parms->nb_antennas_rx + aarx]);
|
||||
|
||||
pusch_vars->log2_maxh = (log2_approx(avgs) >> 1);
|
||||
|
||||
|
||||
@@ -286,10 +286,6 @@ typedef struct {
|
||||
|
||||
|
||||
typedef struct {
|
||||
/// \brief Holds the received data in the frequency domain for the allocated RBs in repeated format.
|
||||
/// - first index: rx antenna id [0..nb_antennas_rx[
|
||||
/// - second index: ? [0..2*ofdm_symbol_size[
|
||||
int32_t **rxdataF_ext;
|
||||
/// \brief Hold the channel estimates in time domain based on DRS.
|
||||
/// - first index: rx antenna id [0..nb_antennas_rx[
|
||||
/// - second index: ? [0..4*ofdm_symbol_size[
|
||||
@@ -298,10 +294,6 @@ typedef struct {
|
||||
/// - first index: rx antenna id [0..nb_antennas_rx[
|
||||
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
|
||||
int32_t **ul_ch_estimates;
|
||||
/// \brief Uplink channel estimates extracted in PRBS.
|
||||
/// - first index: ? [0..7] (hard coded) FIXME! accessed via \c nb_antennas_rx
|
||||
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
|
||||
int32_t **ul_ch_estimates_ext;
|
||||
/// \brief Holds the compensated signal.
|
||||
/// - first index: rx antenna id [0..nb_antennas_rx[
|
||||
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
|
||||
|
||||
@@ -345,10 +345,7 @@ static void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req)
|
||||
ulsch_harq->ulsch_pdu.rb_size],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("chestF0.m","chF0",
|
||||
&gNB->pusch_vars[0].ul_ch_estimates[0][ulsch_harq->ulsch_pdu.start_symbol_index*gNB->frame_parms.ofdm_symbol_size],gNB->frame_parms.ofdm_symbol_size,1,1);
|
||||
LOG_M("chestF0_ext.m","chF0_ext",
|
||||
&gNB->pusch_vars[0]->ul_ch_estimates_ext[0][(ulsch_harq->ulsch_pdu.start_symbol_index+1)*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size))], (ulsch_harq->ulsch_pdu.nr_of_symbols-1)*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF0_comp.m","rxsF0_comp",
|
||||
LOG_M("rxsigF0_comp.m","rxsF0_comp",
|
||||
&gNB->pusch_vars[0].rxdataF_comp[0][ulsch_harq->ulsch_pdu.start_symbol_index*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size))],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF0_llr.m","rxsF0_llr",
|
||||
@@ -360,10 +357,7 @@ static void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req)
|
||||
ulsch_harq->ulsch_pdu.rb_size],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("chestF1.m","chF1",
|
||||
&gNB->pusch_vars[0].ul_ch_estimates[1][ulsch_harq->ulsch_pdu.start_symbol_index*gNB->frame_parms.ofdm_symbol_size],gNB->frame_parms.ofdm_symbol_size,1,1);
|
||||
LOG_M("chestF1_ext.m","chF1_ext",
|
||||
&gNB->pusch_vars[0].ul_ch_estimates_ext[1][(ulsch_harq->ulsch_pdu.start_symbol_index+1)*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size))], (ulsch_harq->ulsch_pdu.nr_of_symbols-1)*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF1_comp.m","rxsF1_comp",
|
||||
LOG_M("rxsigF1_comp.m","rxsF1_comp",
|
||||
&gNB->pusch_vars[0].rxdataF_comp[1][ulsch_harq->ulsch_pdu.start_symbol_index*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size))],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
|
||||
ulsch_harq->ulsch_pdu.rb_size)),1,1);
|
||||
|
||||
@@ -1266,30 +1266,20 @@ int main(int argc, char *argv[])
|
||||
if (n_trials == 1 && round == 0) {
|
||||
__attribute__((unused)) int off = ((nb_rb & 1) == 1) ? 4 : 0;
|
||||
|
||||
LOG_M("rxsigF0_ext.m",
|
||||
"rxsF0_ext",
|
||||
&pusch_vars->rxdataF_ext[0][start_symbol * NR_NB_SC_PER_RB * pusch_pdu->rb_size],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
LOG_M("chestF0.m",
|
||||
"chF0",
|
||||
&pusch_vars->ul_ch_estimates[0][start_symbol * frame_parms->ofdm_symbol_size],
|
||||
frame_parms->ofdm_symbol_size,
|
||||
1,
|
||||
1);
|
||||
LOG_M("chestF0_ext.m",
|
||||
"chF0_ext",
|
||||
&pusch_vars->ul_ch_estimates_ext[0][(start_symbol + 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
(nb_symb_sch - 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("rxsigF0_comp.m",
|
||||
"rxsF0_comp",
|
||||
&pusch_vars->rxdataF_comp[0][start_symbol * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("rxsigF0_llrlayers0.m",
|
||||
"rxsF0_llrlayers0",
|
||||
&pusch_vars->llr_layers[0][0],
|
||||
@@ -1298,12 +1288,6 @@ int main(int argc, char *argv[])
|
||||
0);
|
||||
|
||||
if (precod_nbr_layers == 2) {
|
||||
LOG_M("rxsigF1_ext.m",
|
||||
"rxsF1_ext",
|
||||
&pusch_vars->rxdataF_ext[1][start_symbol * NR_NB_SC_PER_RB * pusch_pdu->rb_size],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("chestF3.m",
|
||||
"chF3",
|
||||
@@ -1312,13 +1296,6 @@ int main(int argc, char *argv[])
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("chestF3_ext.m",
|
||||
"chF3_ext",
|
||||
&pusch_vars->ul_ch_estimates_ext[3][(start_symbol + 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
(nb_symb_sch - 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("rxsigF2_comp.m",
|
||||
"rxsF2_comp",
|
||||
&pusch_vars->rxdataF_comp[2][start_symbol * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
@@ -1335,24 +1312,6 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (precod_nbr_layers == 4) {
|
||||
LOG_M("rxsigF1_ext.m",
|
||||
"rxsF1_ext",
|
||||
&pusch_vars->rxdataF_ext[1][start_symbol * NR_NB_SC_PER_RB * pusch_pdu->rb_size],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
LOG_M("rxsigF2_ext.m",
|
||||
"rxsF2_ext",
|
||||
&pusch_vars->rxdataF_ext[2][start_symbol * NR_NB_SC_PER_RB * pusch_pdu->rb_size],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
LOG_M("rxsigF3_ext.m",
|
||||
"rxsF3_ext",
|
||||
&pusch_vars->rxdataF_ext[3][start_symbol * NR_NB_SC_PER_RB * pusch_pdu->rb_size],
|
||||
nb_symb_sch * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("chestF5.m",
|
||||
"chF5",
|
||||
@@ -1373,25 +1332,6 @@ int main(int argc, char *argv[])
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("chestF5_ext.m",
|
||||
"chF5_ext",
|
||||
&pusch_vars->ul_ch_estimates_ext[5][(start_symbol + 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
(nb_symb_sch - 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
LOG_M("chestF10_ext.m",
|
||||
"chF10_ext",
|
||||
&pusch_vars->ul_ch_estimates_ext[10][(start_symbol + 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
(nb_symb_sch - 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
LOG_M("chestF15_ext.m",
|
||||
"chF15_ext",
|
||||
&pusch_vars->ul_ch_estimates_ext[15][(start_symbol + 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
(nb_symb_sch - 1) * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size)),
|
||||
1,
|
||||
1);
|
||||
|
||||
LOG_M("rxsigF4_comp.m",
|
||||
"rxsF4_comp",
|
||||
&pusch_vars->rxdataF_comp[4][start_symbol * (off + (NR_NB_SC_PER_RB * pusch_pdu->rb_size))],
|
||||
|
||||
Reference in New Issue
Block a user