moving initialization of gold for pdcch to nr_init_ue
This commit is contained in:
committed by
francescomani
parent
83ad469a33
commit
be6b413a82
@@ -291,6 +291,9 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ue->scramblingID_pdcch = fp->Nid_cell;
|
||||||
|
nr_gold_pdcch(ue,fp->Nid_cell);
|
||||||
|
|
||||||
//PDSCH DMRS init (eNB offset = 0)
|
//PDSCH DMRS init (eNB offset = 0)
|
||||||
ue->nr_gold_pdsch[0] = (uint32_t ****)malloc16(fp->slots_per_frame*sizeof(uint32_t ***));
|
ue->nr_gold_pdsch[0] = (uint32_t ****)malloc16(fp->slots_per_frame*sizeof(uint32_t ***));
|
||||||
uint32_t ****pdsch_dmrs = ue->nr_gold_pdsch[0];
|
uint32_t ****pdsch_dmrs = ue->nr_gold_pdsch[0];
|
||||||
|
|||||||
@@ -52,22 +52,15 @@ void nr_gold_pbch(PHY_VARS_NR_UE* ue)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void nr_gold_pdcch(PHY_VARS_NR_UE* ue,
|
void nr_gold_pdcch(PHY_VARS_NR_UE* ue,
|
||||||
unsigned short n_idDMRS,
|
unsigned short nid)
|
||||||
unsigned short length_dmrs)
|
|
||||||
{
|
{
|
||||||
unsigned char ns,l;
|
unsigned char ns,l;
|
||||||
unsigned int n,x1,x2,x2tmp0;
|
unsigned int n,x1,x2,x2tmp0;
|
||||||
unsigned int nid;
|
|
||||||
uint8_t reset;
|
uint8_t reset;
|
||||||
|
|
||||||
if (n_idDMRS)
|
|
||||||
nid = n_idDMRS;
|
|
||||||
else
|
|
||||||
nid = ue->frame_parms.Nid_cell;
|
|
||||||
|
|
||||||
for (ns=0; ns<ue->frame_parms.slots_per_frame; ns++) {
|
for (ns=0; ns<ue->frame_parms.slots_per_frame; ns++) {
|
||||||
|
|
||||||
for (l=0; l<length_dmrs; l++) {
|
for (l=0; l<ue->frame_parms.symbols_per_slot; l++) {
|
||||||
|
|
||||||
reset = 1;
|
reset = 1;
|
||||||
x2tmp0 = ((ue->frame_parms.symbols_per_slot*ns+l+1)*((nid<<1)+1))<<17;
|
x2tmp0 = ((ue->frame_parms.symbols_per_slot*ns+l+1)*((nid<<1)+1))<<17;
|
||||||
|
|||||||
@@ -57,8 +57,7 @@ int nr_pdsch_dmrs_rx(PHY_VARS_NR_UE *ue,
|
|||||||
void nr_gold_pbch(PHY_VARS_NR_UE* ue);
|
void nr_gold_pbch(PHY_VARS_NR_UE* ue);
|
||||||
|
|
||||||
void nr_gold_pdcch(PHY_VARS_NR_UE* ue,
|
void nr_gold_pdcch(PHY_VARS_NR_UE* ue,
|
||||||
unsigned short n_idDMRS,
|
unsigned short n_idDMRS);
|
||||||
unsigned short length_dmrs);
|
|
||||||
|
|
||||||
void nr_gold_pdsch(PHY_VARS_NR_UE* ue,
|
void nr_gold_pdsch(PHY_VARS_NR_UE* ue,
|
||||||
unsigned char ns,
|
unsigned char ns,
|
||||||
|
|||||||
@@ -512,6 +512,13 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
|
|||||||
fr = filt16a_r1;
|
fr = filt16a_r1;
|
||||||
|
|
||||||
|
|
||||||
|
// checking if re-initialization of scrambling IDs is needed (should be done here but scrambling ID for PDCCH is not taken from RRC)
|
||||||
|
/* if (( != ue->scramblingID_pdcch){
|
||||||
|
ue->scramblingID_pdcch=;
|
||||||
|
nr_gold_pdsch(ue,ue->scramblingID_pdcch);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
// generate pilot
|
// generate pilot
|
||||||
int pilot[nb_rb_coreset * 3] __attribute__((aligned(16)));
|
int pilot[nb_rb_coreset * 3] __attribute__((aligned(16)));
|
||||||
nr_pdcch_dmrs_rx(ue,eNB_offset,Ns,ue->nr_gold_pdcch[eNB_offset][Ns][symbol], &pilot[0],2000,nb_rb_coreset);
|
nr_pdcch_dmrs_rx(ue,eNB_offset,Ns,ue->nr_gold_pdcch[eNB_offset][Ns][symbol], &pilot[0],2000,nb_rb_coreset);
|
||||||
|
|||||||
@@ -316,7 +316,6 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc, PHY_VARS_NR_UE *ue, int n_frames, i
|
|||||||
ue->init_sync_frame = is;
|
ue->init_sync_frame = is;
|
||||||
}
|
}
|
||||||
|
|
||||||
nr_gold_pdcch(ue,0, 2);
|
|
||||||
/*
|
/*
|
||||||
int nb_prefix_samples0 = fp->nb_prefix_samples0;
|
int nb_prefix_samples0 = fp->nb_prefix_samples0;
|
||||||
fp->nb_prefix_samples0 = fp->nb_prefix_samples;
|
fp->nb_prefix_samples0 = fp->nb_prefix_samples;
|
||||||
|
|||||||
@@ -842,9 +842,15 @@ typedef struct {
|
|||||||
/// PDSCH DMRS
|
/// PDSCH DMRS
|
||||||
uint32_t ****nr_gold_pdsch[NUMBER_OF_CONNECTED_eNB_MAX];
|
uint32_t ****nr_gold_pdsch[NUMBER_OF_CONNECTED_eNB_MAX];
|
||||||
|
|
||||||
|
// Scrambling IDs used in PDSCH DMRS
|
||||||
|
uint16_t scramblingID[2];
|
||||||
|
|
||||||
/// PDCCH DMRS
|
/// PDCCH DMRS
|
||||||
uint32_t ***nr_gold_pdcch[NUMBER_OF_CONNECTED_eNB_MAX];
|
uint32_t ***nr_gold_pdcch[NUMBER_OF_CONNECTED_eNB_MAX];
|
||||||
|
|
||||||
|
// Scrambling IDs used in PDCCH DMRS
|
||||||
|
uint16_t scramblingID_pdcch;
|
||||||
|
|
||||||
/// PUSCH DMRS sequence
|
/// PUSCH DMRS sequence
|
||||||
uint32_t ****nr_gold_pusch_dmrs;
|
uint32_t ****nr_gold_pusch_dmrs;
|
||||||
|
|
||||||
|
|||||||
@@ -1715,7 +1715,6 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NR_PDCCH_SCHED
|
#ifdef NR_PDCCH_SCHED
|
||||||
nr_gold_pdcch(ue, 0, 2);
|
|
||||||
|
|
||||||
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_slot_rx);
|
||||||
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user