nr ue adding dlsch_modulation
This commit is contained in:
@@ -1324,6 +1324,7 @@ set(PHY_SRC_UE
|
|||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dmrs_nr.c
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dmrs_nr.c
|
||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
|
||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_pbch.c
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_pbch.c
|
||||||
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
|
||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/
|
||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
|
||||||
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dci_nr.c
|
${OPENAIR1_DIR}/PHY/NR_UE_TRANSPORT/dci_nr.c
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -708,7 +708,7 @@ void dlsch_detection_mrc_TM34(NR_DL_FRAME_PARMS *frame_parms,
|
|||||||
@param high_speed_flag
|
@param high_speed_flag
|
||||||
@param frame_parms Pointer to frame descriptor
|
@param frame_parms Pointer to frame descriptor
|
||||||
*/
|
*/
|
||||||
uint16_t dlsch_extract_rbs_single(int32_t **rxdataF,
|
/*uint16_t nr_dlsch_extract_rbs_single(int32_t **rxdataF,
|
||||||
int32_t **dl_ch_estimates,
|
int32_t **dl_ch_estimates,
|
||||||
int32_t **rxdataF_ext,
|
int32_t **rxdataF_ext,
|
||||||
int32_t **dl_ch_estimates_ext,
|
int32_t **dl_ch_estimates_ext,
|
||||||
@@ -718,7 +718,21 @@ uint16_t dlsch_extract_rbs_single(int32_t **rxdataF,
|
|||||||
uint8_t symbol,
|
uint8_t symbol,
|
||||||
uint8_t subframe,
|
uint8_t subframe,
|
||||||
uint32_t high_speed_flag,
|
uint32_t high_speed_flag,
|
||||||
NR_DL_FRAME_PARMS *frame_parms);
|
NR_DL_FRAME_PARMS *frame_parms);*/
|
||||||
|
|
||||||
|
unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
|
||||||
|
int **dl_ch_estimates,
|
||||||
|
int **rxdataF_ext,
|
||||||
|
int **dl_ch_estimates_ext,
|
||||||
|
unsigned short pmi,
|
||||||
|
unsigned char *pmi_ext,
|
||||||
|
unsigned int *rb_alloc,
|
||||||
|
unsigned char symbol,
|
||||||
|
unsigned short start_rb,
|
||||||
|
unsigned short nb_pdsch_rb,
|
||||||
|
unsigned char nr_tti_rx,
|
||||||
|
uint32_t high_speed_flag,
|
||||||
|
NR_DL_FRAME_PARMS *frame_parms);
|
||||||
|
|
||||||
/** \fn dlsch_extract_rbs_dual(int32_t **rxdataF,
|
/** \fn dlsch_extract_rbs_dual(int32_t **rxdataF,
|
||||||
int32_t **dl_ch_estimates,
|
int32_t **dl_ch_estimates,
|
||||||
@@ -953,7 +967,7 @@ void dlsch_channel_level_TM7(int32_t **dl_bf_ch_estimates_ext,
|
|||||||
uint8_t pilots_flag,
|
uint8_t pilots_flag,
|
||||||
uint16_t nb_rb);
|
uint16_t nb_rb);
|
||||||
|
|
||||||
void dlsch_scale_channel(int32_t **dl_ch_estimates_ext,
|
void nr_dlsch_scale_channel(int32_t **dl_ch_estimates_ext,
|
||||||
NR_DL_FRAME_PARMS *frame_parms,
|
NR_DL_FRAME_PARMS *frame_parms,
|
||||||
NR_UE_DLSCH_t **dlsch_ue,
|
NR_UE_DLSCH_t **dlsch_ue,
|
||||||
uint8_t symbol_mod,
|
uint8_t symbol_mod,
|
||||||
@@ -1385,37 +1399,6 @@ uint32_t ulsch_encoding(uint8_t *a,
|
|||||||
uint8_t control_only_flag,
|
uint8_t control_only_flag,
|
||||||
uint8_t Nbundled);
|
uint8_t Nbundled);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* \brief This routine demodulates the PHICH and updates PUSCH/ULSCH parameters.
|
|
||||||
@param phy_vars_ue Pointer to UE variables
|
|
||||||
@param proc Pointer to RXN_TXNp4 proc
|
|
||||||
@param subframe Subframe of received PDCCH/PHICH
|
|
||||||
@param eNB_id Index of eNB
|
|
||||||
*/
|
|
||||||
|
|
||||||
void rx_phich(PHY_VARS_NR_UE *phy_vars_ue,
|
|
||||||
UE_nr_rxtx_proc_t *proc,
|
|
||||||
uint8_t subframe,
|
|
||||||
uint8_t eNB_id);
|
|
||||||
|
|
||||||
|
|
||||||
/** \brief This routine provides the relationship between a PHICH TXOp and its corresponding PUSCH subframe (Table 8.3.-1 from 36.213).
|
|
||||||
@param frame_parms Pointer to DL frame configuration parameters
|
|
||||||
@param subframe Subframe of received/transmitted PHICH
|
|
||||||
@returns subframe of PUSCH transmission
|
|
||||||
*/
|
|
||||||
uint8_t phich_subframe2_pusch_subframe(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe);
|
|
||||||
|
|
||||||
/** \brief This routine provides the relationship between a PHICH TXOp and its corresponding PUSCH frame (Table 8.3.-1 from 36.213).
|
|
||||||
@param frame_parms Pointer to DL frame configuration parameters
|
|
||||||
@param frame Frame of received/transmitted PHICH
|
|
||||||
@param subframe Subframe of received/transmitted PHICH
|
|
||||||
@returns frame of PUSCH transmission
|
|
||||||
*/
|
|
||||||
int phich_frame2_pusch_frame(NR_DL_FRAME_PARMS *frame_parms, int frame, int subframe);
|
|
||||||
|
|
||||||
void print_CQI(void *o,UCI_format_t uci_format,uint8_t eNB_id,int N_RB_DL);
|
void print_CQI(void *o,UCI_format_t uci_format,uint8_t eNB_id,int N_RB_DL);
|
||||||
|
|
||||||
void fill_CQI(NR_UE_ULSCH_t *ulsch,PHY_NR_MEASUREMENTS *meas,uint8_t eNB_id, uint8_t harq_pid,int N_RB_DL, rnti_t rnti, uint8_t trans_mode,double sinr_eff);
|
void fill_CQI(NR_UE_ULSCH_t *ulsch,PHY_NR_MEASUREMENTS *meas,uint8_t eNB_id, uint8_t harq_pid,int N_RB_DL, rnti_t rnti, uint8_t trans_mode,double sinr_eff);
|
||||||
|
|||||||
@@ -32,7 +32,9 @@ extern char fmageren_name2[512];
|
|||||||
extern unsigned int RX_DMA_BUFFER[4][NB_ANTENNAS_RX];
|
extern unsigned int RX_DMA_BUFFER[4][NB_ANTENNAS_RX];
|
||||||
extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
|
extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
|
||||||
|
|
||||||
#include "PHY/LTE_TRANSPORT/transport_extern.h"
|
//#include "PHY/LTE_TRANSPORT/transport_extern.h"
|
||||||
|
|
||||||
|
extern short conjugate[8],conjugate2[8];
|
||||||
|
|
||||||
extern int number_of_cards;
|
extern int number_of_cards;
|
||||||
|
|
||||||
|
|||||||
@@ -4018,7 +4018,7 @@ void copy_harq_proc_struct(NR_DL_UE_HARQ_t *harq_processes_dest, NR_DL_UE_HARQ_t
|
|||||||
memcpy(harq_ack_dest, current_harq_ack, sizeof(nr_harq_status_t));
|
memcpy(harq_ack_dest, current_harq_ack, sizeof(nr_harq_status_t));
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
void ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_id, PDSCH_t pdsch, NR_UE_DLSCH_t *dlsch0, NR_UE_DLSCH_t *dlsch1, int s0, int s1, int abstraction_flag) {
|
void nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_id, PDSCH_t pdsch, NR_UE_DLSCH_t *dlsch0, NR_UE_DLSCH_t *dlsch1, int s0, int s1, int abstraction_flag) {
|
||||||
|
|
||||||
int nr_tti_rx = proc->nr_tti_rx;
|
int nr_tti_rx = proc->nr_tti_rx;
|
||||||
int m;
|
int m;
|
||||||
@@ -4078,7 +4078,7 @@ void ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_id
|
|||||||
start_meas(&ue->dlsch_llr_stats_parallelization[ue->current_thread_id[nr_tti_rx]][slot]);
|
start_meas(&ue->dlsch_llr_stats_parallelization[ue->current_thread_id[nr_tti_rx]][slot]);
|
||||||
#endif
|
#endif
|
||||||
// process DLSCH received in first slot
|
// process DLSCH received in first slot
|
||||||
rx_pdsch(ue,
|
nr_rx_pdsch(ue,
|
||||||
pdsch,
|
pdsch,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
eNB_id_i,
|
eNB_id_i,
|
||||||
@@ -5597,7 +5597,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if 0
|
//#if 0
|
||||||
LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
|
LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
|
||||||
//to update from pdsch config
|
//to update from pdsch config
|
||||||
nr_gold_pdsch(ue,0,0, 1);
|
nr_gold_pdsch(ue,0,0, 1);
|
||||||
@@ -5616,7 +5616,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
// do procedures for C-RNTI
|
// do procedures for C-RNTI
|
||||||
if (ue->dlsch[ue->current_thread_id[nr_tti_rx]][eNB_id][0]->active == 1) {
|
if (ue->dlsch[ue->current_thread_id[nr_tti_rx]][eNB_id][0]->active == 1) {
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_IN);
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
PDSCH,
|
PDSCH,
|
||||||
@@ -5633,7 +5633,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
// do procedures for SI-RNTI
|
// do procedures for SI-RNTI
|
||||||
if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
|
if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI, VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI, VCD_FUNCTION_IN);
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
SI_PDSCH,
|
SI_PDSCH,
|
||||||
@@ -5648,7 +5648,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
// do procedures for SI-RNTI
|
// do procedures for SI-RNTI
|
||||||
if ((ue->dlsch_p[eNB_id]) && (ue->dlsch_p[eNB_id]->active == 1)) {
|
if ((ue->dlsch_p[eNB_id]) && (ue->dlsch_p[eNB_id]->active == 1)) {
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P, VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P, VCD_FUNCTION_IN);
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
P_PDSCH,
|
P_PDSCH,
|
||||||
@@ -5663,7 +5663,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
// do procedures for RA-RNTI
|
// do procedures for RA-RNTI
|
||||||
if ((ue->dlsch_ra[eNB_id]) && (ue->dlsch_ra[eNB_id]->active == 1)) {
|
if ((ue->dlsch_ra[eNB_id]) && (ue->dlsch_ra[eNB_id]->active == 1)) {
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA, VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA, VCD_FUNCTION_IN);
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
RA_PDSCH,
|
RA_PDSCH,
|
||||||
@@ -5740,7 +5740,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
start_meas(&ue->pdsch_procedures_stat[ue->current_thread_id[nr_tti_rx]]);
|
start_meas(&ue->pdsch_procedures_stat[ue->current_thread_id[nr_tti_rx]]);
|
||||||
#endif
|
#endif
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
PDSCH,
|
PDSCH,
|
||||||
@@ -5805,7 +5805,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
|
|
||||||
// do procedures for SI-RNTI
|
// do procedures for SI-RNTI
|
||||||
if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
|
if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
SI_PDSCH,
|
SI_PDSCH,
|
||||||
@@ -5829,7 +5829,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
|
|
||||||
// do procedures for P-RNTI
|
// do procedures for P-RNTI
|
||||||
if ((ue->dlsch_p[eNB_id]) && (ue->dlsch_p[eNB_id]->active == 1)) {
|
if ((ue->dlsch_p[eNB_id]) && (ue->dlsch_p[eNB_id]->active == 1)) {
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
P_PDSCH,
|
P_PDSCH,
|
||||||
@@ -5852,7 +5852,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
}
|
}
|
||||||
// do procedures for RA-RNTI
|
// do procedures for RA-RNTI
|
||||||
if ((ue->dlsch_ra[eNB_id]) && (ue->dlsch_ra[eNB_id]->active == 1)) {
|
if ((ue->dlsch_ra[eNB_id]) && (ue->dlsch_ra[eNB_id]->active == 1)) {
|
||||||
ue_pdsch_procedures(ue,
|
nr_ue_pdsch_procedures(ue,
|
||||||
proc,
|
proc,
|
||||||
eNB_id,
|
eNB_id,
|
||||||
RA_PDSCH,
|
RA_PDSCH,
|
||||||
@@ -5936,7 +5936,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif //pdsch
|
//#endif //pdsch
|
||||||
|
|
||||||
LOG_D(PHY," ****** end RX-Chain for AbsSubframe %d.%d ****** \n", frame_rx%1024, nr_tti_rx);
|
LOG_D(PHY," ****** end RX-Chain for AbsSubframe %d.%d ****** \n", frame_rx%1024, nr_tti_rx);
|
||||||
return (0);
|
return (0);
|
||||||
|
|||||||
Reference in New Issue
Block a user