/** \brief This function is the top-level entry point to PUSCH demodulation, after frequency-domain transformation and channel estimation. It performs
- RB extraction (signal and channel estimates)
- channel compensation (matched filtering)
...
...
@@ -45,15 +44,14 @@
@param frame Frame number
@param nr_tti_rx TTI number
@param symbol Symbol on which to act (within-in nr_TTI_rx)
@param first_symbol_flag set to 1 on first ULSCH symbol
@param harq_pid HARQ process ID
*/
intnr_rx_ulsch(PHY_VARS_gNB*gNB,
uint8_tUE_id,
uint32_tframe,
uint8_tnr_tti_rx,
unsignedcharsymbol,
unsignedcharfirst_symbol_flag,
unsignedcharharq_pid);
voidnr_rx_pusch(PHY_VARS_gNB*gNB,
uint8_tUE_id,
uint32_tframe,
uint8_tnr_tti_rx,
unsignedcharsymbol,
unsignedcharharq_pid);
/** \brief This function performs RB extraction (signal and channel estimates) (currently signal only until channel estimation and compensation are implemented)
...
...
@@ -62,18 +60,18 @@ int nr_rx_ulsch(PHY_VARS_gNB *gNB,
@param rb_alloc RB allocation map (used for Resource Allocation Type 0 in NR)
@param symbol Symbol on which to act (within-in nr_TTI_rx)
@param start_rb The starting RB in the RB allocation (used for Resource Allocation Type 1 in NR)
@param nb_pusch_rb The number of RBs allocated (used for Resource Allocation Type 1 in NR)
@param nb_rb_pusch The number of RBs allocated (used for Resource Allocation Type 1 in NR)
@param frame_parms, Pointer to frame descriptor structure
if((is_dmrs_symbol&&((re&1)!=frame_parms->nushift))||(is_dmrs_symbol==0)){// [hna] (re&1) != frame_parms->nushift) assuming only dmrs type 1 and mapping type A
if((is_dmrs_symbol&&((re&1)!=frame_parms->nushift))||(is_dmrs_symbol==0)){// [hna] (re&1) != frame_parms->nushift) assuming only dmrs type 1 and mapping type A