Merge remote-tracking branch 'origin/develop' into feature-131-new-license
Conflicts: openair1/PHY/INIT/lte_init.c openair1/PHY/LTE_TRANSPORT/dci_tools.c openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c openair1/SCHED/phy_procedures_lte_eNb.c openair1/SCHED/phy_procedures_lte_ue.c openair1/SIMULATION/LTE_PHY/dlsim.c openair1/SIMULATION/RF/adc.c openair2/LAYER2/MAC/lte_transport_init.c targets/RT/USER/lte-softmodem.c targets/RT/USER/sched_dlsch.c targets/RT/USER/sched_rx_pdsch.c targets/RT/USER/sched_ulsch.c targets/SIMU/USER/oaisim.c
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
|
||||
|
||||
//Calibration
|
||||
int lte_dl_cell_spec_SS(PHY_VARS_eNB *phy_vars_eNB,
|
||||
int lte_dl_cell_spec_SS(PHY_VARS_eNB *eNB,
|
||||
int32_t *output,
|
||||
short amp,
|
||||
unsigned char Ns,
|
||||
@@ -48,27 +48,27 @@ int lte_dl_cell_spec_SS(PHY_VARS_eNB *phy_vars_eNB,
|
||||
return(-1);
|
||||
}
|
||||
|
||||
mprime = 110 - phy_vars_eNB->lte_frame_parms.N_RB_DL;
|
||||
mprime = 110 - eNB->frame_parms.N_RB_DL;
|
||||
|
||||
k = (nu + phy_vars_eNB->lte_frame_parms.nushift);
|
||||
k = (nu + eNB->frame_parms.nushift);
|
||||
|
||||
if (k > 6)//b
|
||||
k -=6;//b
|
||||
|
||||
k+=phy_vars_eNB->lte_frame_parms.first_carrier_offset;
|
||||
k+=eNB->frame_parms.first_carrier_offset;
|
||||
|
||||
for (m=0; m<phy_vars_eNB->lte_frame_parms.N_RB_DL<<1; m++) { // loop over pilots in one slot/symbol, 2*N_RB_DL pilots
|
||||
for (m=0; m<eNB->frame_parms.N_RB_DL<<1; m++) { // loop over pilots in one slot/symbol, 2*N_RB_DL pilots
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
// this is r_mprime from 3GPP 36-211 6.10.1.2
|
||||
output[k] = qpsk[(phy_vars_eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
output[k] = qpsk[(eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
//output[k] = (lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3;
|
||||
#ifdef DEBUG_DL_CELL_SPEC
|
||||
printf("Ns %d, l %d, m %d,mprime_dword %d, mprime_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
printf("index = %d (k %d)\n",(phy_vars_eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
printf("index = %d (k %d)\n",(eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
#endif
|
||||
|
||||
mprime++;
|
||||
@@ -80,9 +80,9 @@ int lte_dl_cell_spec_SS(PHY_VARS_eNB *phy_vars_eNB,
|
||||
#endif
|
||||
k+=6;//b
|
||||
|
||||
if (k >= phy_vars_eNB->lte_frame_parms.ofdm_symbol_size) {
|
||||
if (k >= eNB->frame_parms.ofdm_symbol_size) {
|
||||
k++; // skip DC carrier
|
||||
k-=phy_vars_eNB->lte_frame_parms.ofdm_symbol_size;
|
||||
k-=eNB->frame_parms.ofdm_symbol_size;
|
||||
}
|
||||
|
||||
// printf("** k %d\n",k);
|
||||
@@ -92,7 +92,7 @@ int lte_dl_cell_spec_SS(PHY_VARS_eNB *phy_vars_eNB,
|
||||
}
|
||||
|
||||
|
||||
int lte_dl_cell_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
int lte_dl_cell_spec(PHY_VARS_eNB *eNB,
|
||||
int32_t *output,
|
||||
short amp,
|
||||
unsigned char Ns,
|
||||
@@ -127,31 +127,31 @@ int lte_dl_cell_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
return(-1);
|
||||
}
|
||||
|
||||
mprime = 110 - phy_vars_eNB->lte_frame_parms.N_RB_DL;
|
||||
mprime = 110 - eNB->frame_parms.N_RB_DL;
|
||||
|
||||
k = (nu + phy_vars_eNB->lte_frame_parms.nushift);
|
||||
k = (nu + eNB->frame_parms.nushift);
|
||||
|
||||
if (k > 5)
|
||||
k -=6;
|
||||
|
||||
k+=phy_vars_eNB->lte_frame_parms.first_carrier_offset;
|
||||
k+=eNB->frame_parms.first_carrier_offset;
|
||||
|
||||
DevAssert( Ns < 20 );
|
||||
DevAssert( l < 2 );
|
||||
DevAssert( mprime>>4 < 14 );
|
||||
|
||||
for (m=0; m<phy_vars_eNB->lte_frame_parms.N_RB_DL<<1; m++) {
|
||||
for (m=0; m<eNB->frame_parms.N_RB_DL<<1; m++) {
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
// this is r_mprime from 3GPP 36-211 6.10.1.2
|
||||
output[k] = qpsk[(phy_vars_eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
output[k] = qpsk[(eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
//output[k] = (lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3;
|
||||
#ifdef DEBUG_DL_CELL_SPEC
|
||||
printf("Ns %d, l %d, m %d,mprime_dword %d, mprime_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
printf("index = %d (k %d)\n",(phy_vars_eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
printf("index = %d (k %d)\n",(eNB->lte_gold_table[Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
#endif
|
||||
|
||||
mprime++;
|
||||
@@ -163,9 +163,9 @@ int lte_dl_cell_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
#endif
|
||||
k+=6;
|
||||
|
||||
if (k >= phy_vars_eNB->lte_frame_parms.ofdm_symbol_size) {
|
||||
if (k >= eNB->frame_parms.ofdm_symbol_size) {
|
||||
k++; // skip DC carrier
|
||||
k-=phy_vars_eNB->lte_frame_parms.ofdm_symbol_size;
|
||||
k-=eNB->frame_parms.ofdm_symbol_size;
|
||||
}
|
||||
|
||||
// printf("** k %d\n",k);
|
||||
@@ -174,7 +174,7 @@ int lte_dl_cell_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
return(0);
|
||||
}
|
||||
|
||||
int lte_dl_cell_spec_rx(PHY_VARS_UE *phy_vars_ue,
|
||||
int lte_dl_cell_spec_rx(PHY_VARS_UE *ue,
|
||||
uint8_t eNB_offset,
|
||||
int *output,
|
||||
unsigned char Ns,
|
||||
@@ -202,19 +202,19 @@ int lte_dl_cell_spec_rx(PHY_VARS_UE *phy_vars_ue,
|
||||
((short *)&qpsk[3])[0] = -pamp;
|
||||
((short *)&qpsk[3])[1] = pamp;
|
||||
|
||||
mprime = 110 - phy_vars_ue->lte_frame_parms.N_RB_DL;
|
||||
mprime = 110 - ue->frame_parms.N_RB_DL;
|
||||
|
||||
for (m=0; m<phy_vars_ue->lte_frame_parms.N_RB_DL<<1; m++) {
|
||||
for (m=0; m<ue->frame_parms.N_RB_DL<<1; m++) {
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
// this is r_mprime from 3GPP 36-211 6.10.1.2
|
||||
output[k] = qpsk[(phy_vars_ue->lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
output[k] = qpsk[(ue->lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
#ifdef DEBUG_DL_CELL_SPEC
|
||||
printf("Ns %d, l %d, m %d,mprime_dword %d, mprime_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
printf("index = %d (k %d)\n",(phy_vars_ue->lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
printf("index = %d (k %d)\n",(ue->lte_gold_table[eNB_offset][Ns][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k);
|
||||
#endif
|
||||
|
||||
mprime++;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
//extern unsigned int lte_gold_table[10][3][42];
|
||||
//#define DEBUG_DL_MBSFN
|
||||
|
||||
int lte_dl_mbsfn(PHY_VARS_eNB *phy_vars_eNB, int32_t *output,
|
||||
int lte_dl_mbsfn(PHY_VARS_eNB *eNB, int32_t *output,
|
||||
short amp,
|
||||
int subframe,
|
||||
unsigned char l)
|
||||
@@ -34,9 +34,9 @@ int lte_dl_mbsfn(PHY_VARS_eNB *phy_vars_eNB, int32_t *output,
|
||||
((short *)&qpsk[3])[1] = -a;
|
||||
|
||||
|
||||
mprime = 3*(110 - phy_vars_eNB->lte_frame_parms.N_RB_DL);
|
||||
mprime = 3*(110 - eNB->frame_parms.N_RB_DL);
|
||||
|
||||
for (m=0; m<phy_vars_eNB->lte_frame_parms.N_RB_DL*6; m++) {
|
||||
for (m=0; m<eNB->frame_parms.N_RB_DL*6; m++) {
|
||||
|
||||
if ((l==0) || (l==2))
|
||||
k = m<<1;
|
||||
@@ -47,24 +47,24 @@ int lte_dl_mbsfn(PHY_VARS_eNB *phy_vars_eNB, int32_t *output,
|
||||
return(-1);
|
||||
}
|
||||
|
||||
k+=phy_vars_eNB->lte_frame_parms.first_carrier_offset;
|
||||
k+=eNB->frame_parms.first_carrier_offset;
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
if (k >= phy_vars_eNB->lte_frame_parms.ofdm_symbol_size) {
|
||||
if (k >= eNB->frame_parms.ofdm_symbol_size) {
|
||||
k++; // skip DC carrier
|
||||
k-=phy_vars_eNB->lte_frame_parms.ofdm_symbol_size;
|
||||
k-=eNB->frame_parms.ofdm_symbol_size;
|
||||
}
|
||||
|
||||
output[k] = qpsk[(phy_vars_eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
output[k] = qpsk[(eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
//output[k] = (lte_gold_table[eNB_offset][subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3;
|
||||
|
||||
|
||||
#ifdef DEBUG_DL_MBSFN
|
||||
msg("subframe %d, l %d, m %d, mprime %d, mprime_dword %d, mprime_qpsk_symbol %d\n",
|
||||
subframe,l,m,mprime,mprime_dword,mprime_qpsk_symb);
|
||||
msg("index = %d (k %d)(%x)\n",(phy_vars_eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k,phy_vars_eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]);
|
||||
msg("index = %d (k %d)(%x)\n",(eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k,eNB->lte_gold_mbsfn_table[subframe][l][mprime_dword]);
|
||||
#endif
|
||||
mprime++;
|
||||
|
||||
@@ -82,7 +82,7 @@ int lte_dl_mbsfn(PHY_VARS_eNB *phy_vars_eNB, int32_t *output,
|
||||
|
||||
|
||||
|
||||
int lte_dl_mbsfn_rx(PHY_VARS_UE *phy_vars_ue,
|
||||
int lte_dl_mbsfn_rx(PHY_VARS_UE *ue,
|
||||
int *output,
|
||||
int subframe,
|
||||
unsigned char l)
|
||||
@@ -103,20 +103,20 @@ int lte_dl_mbsfn_rx(PHY_VARS_UE *phy_vars_ue,
|
||||
((short *)&qpsk[3])[0] = -ONE_OVER_SQRT2_Q15;
|
||||
((short *)&qpsk[3])[1] = ONE_OVER_SQRT2_Q15;
|
||||
|
||||
mprime = 3*(110 - phy_vars_ue->lte_frame_parms.N_RB_DL);
|
||||
mprime = 3*(110 - ue->frame_parms.N_RB_DL);
|
||||
|
||||
for (m=0; m<phy_vars_ue->lte_frame_parms.N_RB_DL*6; m++) {
|
||||
for (m=0; m<ue->frame_parms.N_RB_DL*6; m++) {
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
// this is r_mprime from 3GPP 36-211 6.10.1.2
|
||||
output[k] = qpsk[(phy_vars_ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
output[k] = qpsk[(ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3];
|
||||
|
||||
#ifdef DEBUG_DL_MBSFN
|
||||
printf("subframe %d, l %d, m %d, mprime %d, mprime_dword %d, mprime_qpsk_symbol %d\n",
|
||||
subframe,l,m,mprime, mprime_dword,mprime_qpsk_symb);
|
||||
printf("index = %d (k %d) (%x)\n",(phy_vars_ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k,phy_vars_ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]);
|
||||
printf("index = %d (k %d) (%x)\n",(ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]>>(2*mprime_qpsk_symb))&3,k,ue->lte_gold_mbsfn_table[subframe][l][mprime_dword]);
|
||||
#endif
|
||||
|
||||
mprime++;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
int Wbar_NCP[8][4] = {{1,1,1,1},{1,-1,1,-1},{1,1,1,1},{1,-1,1,-1},{1,1,-1,-1},{-1,-1,1,1},{1,-1,-1,1},{-1,1,1,-1}};
|
||||
|
||||
int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
int lte_dl_ue_spec(PHY_VARS_eNB *eNB,
|
||||
uint8_t UE_id,
|
||||
int32_t *output,
|
||||
short amp,
|
||||
@@ -35,7 +35,7 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
int32_t qpsk[4],nqpsk[4],*qpsk_p,*output_p;
|
||||
int16_t a;
|
||||
int w,lprime,ind,l,ind_dword,ind_qpsk_symb,nPRB;
|
||||
// LTE_eNB_DLSCH_t *dlsch = phy_vars_eNB->dlsch_eNB[UE_id][0];
|
||||
// LTE_eNB_DLSCH_t *dlsch = eNB->dlsch_eNB[UE_id][0];
|
||||
|
||||
a = (amp*ONE_OVER_SQRT2_Q15)>>15;
|
||||
((short *)&qpsk[0])[0] = a;
|
||||
@@ -58,13 +58,13 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
|
||||
if (p>=7) {
|
||||
if (SS_flag==0) {
|
||||
if (phy_vars_eNB->lte_frame_parms.Ncp == NORMAL) {
|
||||
if (eNB->frame_parms.Ncp == NORMAL) {
|
||||
// this is 3GPP 36-211 6.10.3.2, NORMAL CP, p>=7
|
||||
|
||||
|
||||
|
||||
// position output pointer to 5th symbol in slot
|
||||
output_p = output+(60*phy_vars_eNB->lte_frame_parms.N_RB_DL);
|
||||
output_p = output+(60*eNB->frame_parms.N_RB_DL);
|
||||
|
||||
// shift to 2nd RE in PRB for p=7,8,11,13
|
||||
if ((p==7) || (p==8) || (p==11) || (p==13)) output_p++;
|
||||
@@ -72,12 +72,12 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
|
||||
for (lprime=0; lprime<2; lprime++) {
|
||||
|
||||
ind = 3*lprime*phy_vars_eNB->lte_frame_parms.N_RB_DL;
|
||||
ind = 3*lprime*eNB->frame_parms.N_RB_DL;
|
||||
l = lprime + ((Ns&1)<<1);
|
||||
|
||||
// loop over pairs of PRBs, this is the periodicity of the W_bar_NCP sequence
|
||||
// unroll the computations for the 6 pilots, select qpsk or nqpsk as function of W_bar_NCP
|
||||
for (nPRB=0; nPRB<phy_vars_eNB->lte_frame_parms.N_RB_DL; nPRB+=2) {
|
||||
for (nPRB=0; nPRB<eNB->frame_parms.N_RB_DL; nPRB+=2) {
|
||||
|
||||
// First pilot
|
||||
w = Wbar_NCP[p-7][l];
|
||||
@@ -87,13 +87,13 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=5;
|
||||
@@ -106,12 +106,12 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=5;
|
||||
@@ -123,12 +123,12 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=2;
|
||||
@@ -142,13 +142,13 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=5;
|
||||
@@ -161,12 +161,12 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=5;
|
||||
@@ -178,12 +178,12 @@ int lte_dl_ue_spec(PHY_VARS_eNB *phy_vars_eNB,
|
||||
ind_dword = ind>>4;
|
||||
ind_qpsk_symb = ind&0xf;
|
||||
|
||||
*output_p = qpsk_p[(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
*output_p = qpsk_p[(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3];
|
||||
|
||||
#ifdef DEBUG_DL_UESPEC
|
||||
LOG_D(PHY,"Ns %d, l %d, m %d,ind_dword %d, ind_qpsk_symbol %d\n",
|
||||
Ns,l,m,mprime_dword,mprime_qpsk_symb);
|
||||
LOG_D(PHY,"index = %d\n",(phy_vars_eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
LOG_D(PHY,"index = %d\n",(eNB->lte_gold_uespec_table[0][Ns][lprime][ind_dword]>>(2*ind_qpsk_symb))&3);
|
||||
#endif
|
||||
|
||||
output_p+=2;
|
||||
@@ -231,9 +231,9 @@ int lte_dl_cell_spec_rx(PHY_VARS_UE *phy_vars_ue,
|
||||
((short *)&qpsk[3])[0] = -pamp;
|
||||
((short *)&qpsk[3])[1] = pamp;
|
||||
|
||||
mprime = 110 - phy_vars_ue->lte_frame_parms.N_RB_DL;
|
||||
mprime = 110 - phy_vars_ue->frame_parms.N_RB_DL;
|
||||
|
||||
for (m=0;m<phy_vars_ue->lte_frame_parms.N_RB_DL<<1;m++) {
|
||||
for (m=0;m<phy_vars_ue->frame_parms.N_RB_DL<<1;m++) {
|
||||
|
||||
mprime_dword = mprime>>4;
|
||||
mprime_qpsk_symb = mprime&0xf;
|
||||
|
||||
Reference in New Issue
Block a user