Adding usage of PRS RBOffset in the PRS Generation at gNB and Channel estimation at UE
This commit is contained in:
@@ -47,7 +47,7 @@ int nr_generate_prs(uint32_t **nr_gold_prs,
|
||||
k_prime = k_prime_table[3][symInd];
|
||||
}
|
||||
|
||||
k = (prs_data->REOffset+k_prime) % prs_data->CombSize + frame_parms->first_carrier_offset ;
|
||||
k = (prs_data->REOffset+k_prime) % prs_data->CombSize + prs_data->RBOffset*12 + frame_parms->first_carrier_offset;
|
||||
|
||||
// QPSK modulation
|
||||
for (int m = 0; m < (12/prs_data->CombSize) * prs_data->NumRB; m++) {
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
//#define DEBUG_PDSCH
|
||||
//#define DEBUG_PDCCH
|
||||
//#define DEBUG_CH
|
||||
//#define DEBUG_PRS_CHEST
|
||||
#define DEBUG_PRS_CHEST
|
||||
extern short nr_qpsk_mod_table[8];
|
||||
|
||||
int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
|
||||
@@ -82,7 +82,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
|
||||
}
|
||||
|
||||
//re_offset
|
||||
k = re_offset = (prs_cfg->REOffset+k_prime) % prs_cfg->CombSize + frame_params->first_carrier_offset;
|
||||
k = re_offset = (prs_cfg->REOffset+k_prime) % prs_cfg->CombSize + prs_cfg->RBOffset*12 + frame_params->first_carrier_offset;
|
||||
|
||||
#ifdef DEBUG_PRS_CHEST
|
||||
printf("PRS config l %d k_prime %d, re_offset %d k %d :\nprs_cfg->SymbolStart %d\nprs_cfg->NumPRSSymbols %d\nprs_cfg->NumRB %d\nprs_cfg->CombSize %d\n", l, k_prime, re_offset, k, prs_cfg->SymbolStart, prs_cfg->NumPRSSymbols, prs_cfg->NumRB, prs_cfg->CombSize);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
prs_config = (
|
||||
{
|
||||
PRSResourceSetPeriod0 = 40;
|
||||
PRSResourceSetPeriod1 = 0;
|
||||
SymbolStart = 7;
|
||||
NumPRSSymbols = 4;
|
||||
NumRB = 100;
|
||||
RBOffset = 0;
|
||||
CombSize = 4;
|
||||
REOffset = 0;
|
||||
PRSResourceOffset = 0;
|
||||
PRSResourceRepetition = 1;
|
||||
PRSResourceTimeGap = 1;
|
||||
NPRS_ID = 0;
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user