Commit e9dd51a7 authored by Ahmed Hussein's avatar Ahmed Hussein

Minor clean-ups regarding PTRS

parent c878bbcc
...@@ -119,7 +119,7 @@ uint8_t get_K_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint16_t N_RB) { ...@@ -119,7 +119,7 @@ uint8_t get_K_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint16_t N_RB) {
* duration_in_symbols number of scheduled PUSCH ofdm symbols * duration_in_symbols number of scheduled PUSCH ofdm symbols
* start_symbol first ofdm symbol of PUSCH within slot * start_symbol first ofdm symbol of PUSCH within slot
* L_ptrs the parameter L_ptrs * L_ptrs the parameter L_ptrs
* ofdm_symbol_size FFT size * ul_dmrs_symb_pos bitmap of the time domain positions of the DMRS symbols in the scheduled PUSCH
* *
* RETURN : sets the bit map of PTRS ofdm symbol indicies * RETURN : sets the bit map of PTRS ofdm symbol indicies
* *
...@@ -205,7 +205,6 @@ uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs) { ...@@ -205,7 +205,6 @@ uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs) {
* N_RB number of RBs scheduled for PUSCH * N_RB number of RBs scheduled for PUSCH
* k_RE_ref the parameter k_RE_ref * k_RE_ref the parameter k_RE_ref
* start_sc first subcarrier index * start_sc first subcarrier index
* ofdm_symbol_size FFT size
* *
* RETURN : 1 if subcarrier k is PTRS, or 0 otherwise * RETURN : 1 if subcarrier k is PTRS, or 0 otherwise
* *
...@@ -213,11 +212,9 @@ uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs) { ...@@ -213,11 +212,9 @@ uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs) {
* *
*********************************************************************/ *********************************************************************/
uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t N_RB, int16_t k_RE_ref, uint16_t start_sc, uint16_t ofdm_symbol_size) { uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t N_RB, int16_t k_RE_ref, uint16_t start_sc) {
uint16_t k_RB_ref, i, sc;
i = 0; uint16_t k_RB_ref;
sc = 0;
k_RB_ref = 0;
if (N_RB % K_ptrs == 0) if (N_RB % K_ptrs == 0)
k_RB_ref = n_rnti % K_ptrs; k_RB_ref = n_rnti % K_ptrs;
...@@ -227,7 +224,7 @@ uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t ...@@ -227,7 +224,7 @@ uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t
if (k < (k_RE_ref + k_RB_ref*NR_NB_SC_PER_RB + start_sc)) if (k < (k_RE_ref + k_RB_ref*NR_NB_SC_PER_RB + start_sc))
return 0; return 0;
if ((k-k_RE_ref - k_RB_ref*NR_NB_SC_PER_RB - start_sc)%(K_ptrs*NR_NB_SC_PER_RB) == 0) if ((k - k_RE_ref - k_RB_ref*NR_NB_SC_PER_RB - start_sc) % (K_ptrs*NR_NB_SC_PER_RB) == 0)
return 1; return 1;
return 0; return 0;
...@@ -241,12 +238,10 @@ uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t ...@@ -241,12 +238,10 @@ uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t
* k subcarrier index * k subcarrier index
* n_rnti UE CRNTI * n_rnti UE CRNTI
* N_RB number of RBs scheduled for PUSCH * N_RB number of RBs scheduled for PUSCH
* duration_in_symbols number of scheduled PUSCH ofdm symbols
* dmrs_antenna_port DMRS antenna port * dmrs_antenna_port DMRS antenna port
* K_ptrs the parameter K_ptrs * K_ptrs the parameter K_ptrs
* ptrs_symbols bit mask of ptrs * ptrs_symbols bit mask of ptrs
* start_sc first subcarrier index * start_sc first subcarrier index
* ofdm_symbol_size FFT size
* pusch_dmrs_type PUSCH DMRS type (1 or 2) * pusch_dmrs_type PUSCH DMRS type (1 or 2)
* ptrs_UplinkConfig PTRS uplink configuration * ptrs_UplinkConfig PTRS uplink configuration
* *
...@@ -260,17 +255,15 @@ uint8_t is_ptrs_symbol(uint8_t l, ...@@ -260,17 +255,15 @@ uint8_t is_ptrs_symbol(uint8_t l,
uint16_t k, uint16_t k,
uint16_t n_rnti, uint16_t n_rnti,
uint16_t N_RB, uint16_t N_RB,
uint8_t duration_in_symbols,
uint8_t dmrs_antenna_port, uint8_t dmrs_antenna_port,
uint8_t K_ptrs, uint8_t K_ptrs,
uint16_t ptrs_symbols, uint16_t ptrs_symbols,
uint16_t start_sc, uint16_t start_sc,
uint16_t ofdm_symbol_size, uint8_t pusch_dmrs_type,
pusch_dmrs_type_t pusch_dmrs_type,
uint8_t resourceElementOffset) uint8_t resourceElementOffset)
{ {
int16_t k_RE_ref = get_kRE_ref(dmrs_antenna_port, pusch_dmrs_type, resourceElementOffset); int16_t k_RE_ref = get_kRE_ref(dmrs_antenna_port, pusch_dmrs_type, resourceElementOffset);
uint8_t is_ptrs_freq = is_ptrs_subcarrier(k, K_ptrs, n_rnti, N_RB, k_RE_ref, start_sc, ofdm_symbol_size); uint8_t is_ptrs_freq = is_ptrs_subcarrier(k, K_ptrs, n_rnti, N_RB, k_RE_ref, start_sc);
if (is_ptrs_freq == 0) if (is_ptrs_freq == 0)
return 0; return 0;
......
...@@ -59,19 +59,17 @@ void set_ptrs_symb_idx(uint16_t *ptrs_symbols, ...@@ -59,19 +59,17 @@ void set_ptrs_symb_idx(uint16_t *ptrs_symbols,
uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs); uint8_t get_L_ptrs(ptrs_UplinkConfig_t *ptrs_UplinkConfig, uint8_t I_mcs);
uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t N_RB, int16_t k_RE_ref, uint16_t start_sc, uint16_t ofdm_symbol_size); uint8_t is_ptrs_subcarrier(uint16_t k, uint8_t K_ptrs, uint16_t n_rnti, uint16_t N_RB, int16_t k_RE_ref, uint16_t start_sc);
uint8_t is_ptrs_symbol(uint8_t l, uint8_t is_ptrs_symbol(uint8_t l,
uint16_t k, uint16_t k,
uint16_t n_rnti, uint16_t n_rnti,
uint16_t N_RB, uint16_t N_RB,
uint8_t duration_in_symbols,
uint8_t dmrs_antenna_port, uint8_t dmrs_antenna_port,
uint8_t K_ptrs, uint8_t K_ptrs,
uint16_t ptrs_symbols, uint16_t ptrs_symbols,
uint16_t start_sc, uint16_t start_sc,
uint16_t ofdm_symbol_size, uint8_t pusch_dmrs_type,
pusch_dmrs_type_t pusch_dmrs_type,
uint8_t resourceElementOffset); uint8_t resourceElementOffset);
......
...@@ -289,12 +289,10 @@ void nr_ulsch_extract_rbs_single(int32_t **rxdataF, ...@@ -289,12 +289,10 @@ void nr_ulsch_extract_rbs_single(int32_t **rxdataF,
(start_re + re)%frame_parms->ofdm_symbol_size, (start_re + re)%frame_parms->ofdm_symbol_size,
n_rnti, n_rnti,
pusch_pdu->rb_size, pusch_pdu->rb_size,
pusch_pdu->nr_of_symbols,
aarx, aarx,
K_ptrs, K_ptrs,
pusch_vars->ptrs_symbols, pusch_vars->ptrs_symbols,
start_re, start_re,
frame_parms->ofdm_symbol_size,
pusch_pdu->dmrs_config_type, pusch_pdu->dmrs_config_type,
pusch_pdu->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset); pusch_pdu->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset);
...@@ -1073,12 +1071,10 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB, ...@@ -1073,12 +1071,10 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
0, 0,
rel15_ul->rnti, rel15_ul->rnti,
rel15_ul->rb_size, rel15_ul->rb_size,
rel15_ul->nr_of_symbols,
0, 0,
(rel15_ul->pusch_ptrs.ptrs_freq_density)?4:2, (rel15_ul->pusch_ptrs.ptrs_freq_density)?4:2,
gNB->pusch_vars[UE_id]->ptrs_symbols, gNB->pusch_vars[UE_id]->ptrs_symbols,
0, 0,
frame_parms->ofdm_symbol_size,
rel15_ul->dmrs_config_type, rel15_ul->dmrs_config_type,
rel15_ul->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset); rel15_ul->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset);
} }
......
...@@ -400,12 +400,10 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, ...@@ -400,12 +400,10 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
k, k,
rnti, rnti,
nb_rb, nb_rb,
number_of_symbols,
ap, ap,
K_ptrs, K_ptrs,
ulsch_ue->ptrs_symbols, ulsch_ue->ptrs_symbols,
start_sc, start_sc,
frame_parms->ofdm_symbol_size,
dmrs_type, dmrs_type,
ptrs_Uplink_Config->resourceElementOffset); ptrs_Uplink_Config->resourceElementOffset);
} }
......
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