Making sample offset as cmd line parameter

for gNB its in L1 section of config file
for UE its a cmd line paramenter
This commit is contained in:
Sakthivel Velumani
2021-04-26 03:09:17 +02:00
parent 11111bcd68
commit 215f263a69
15 changed files with 42 additions and 28 deletions
+12 -12
View File
@@ -762,7 +762,7 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp)
for (i = 0; i < fp->ofdm_symbol_size/2; i++) {
timeshift_symbol_rotation = fp->timeshift_symbol_rotation[0];
f = fd * i;
t0 = Ncp0 / 8;
t0 = Ncp0 / fp->ofdm_offset_divisor;
poff = 2 * M_PI * -t0 * Tc * f;
exp_re = cos(poff);
exp_im = sin(-poff);
@@ -770,7 +770,7 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp)
timeshift_symbol_rotation[i*2+1] = (int16_t)floor(exp_im * 32767);
timeshift_symbol_rotation = fp->timeshift_symbol_rotation[1];
t0 = Ncp1 / 8;
t0 = Ncp1 / fp->ofdm_offset_divisor;
poff = 2 * M_PI * -t0 * Tc * f;
exp_re = cos(poff);
exp_im = sin(-poff);
@@ -779,8 +779,8 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp)
if (i < 10)
LOG_I(PHY,"Timeshift symbol rotation %d => (%d,%d) %f\n",i,
fp->timeshift_symbol_rotation[1][i*2],
fp->timeshift_symbol_rotation[1][i*2+1],
fp->timeshift_symbol_rotation[0][i*2],
fp->timeshift_symbol_rotation[0][i*2+1],
poff);
}
@@ -789,25 +789,25 @@ void init_timeshift_rotation(NR_DL_FRAME_PARMS *fp)
for (int j = fp->ofdm_symbol_size-1; j > fp->ofdm_symbol_size/2-1; j--) {
timeshift_symbol_rotation = fp->timeshift_symbol_rotation[0];
f = -fd * i;
t0 = Ncp0 / 8;
t0 = Ncp0 / fp->ofdm_offset_divisor;
poff = 2 * M_PI * -t0 * Tc * f;
exp_re = cos(poff);
exp_im = sin(-poff);
timeshift_symbol_rotation[j*2] = (int16_t)floor(exp_re * 32767);
timeshift_symbol_rotation[j*2+1] = (int16_t)floor(exp_im * 32767);
timeshift_symbol_rotation[j*2] = (int16_t)ceil(exp_re * 32767);
timeshift_symbol_rotation[j*2+1] = (int16_t)ceil(exp_im * 32767);
timeshift_symbol_rotation = fp->timeshift_symbol_rotation[1];
t0 = Ncp1 / 8;
t0 = Ncp1 / fp->ofdm_offset_divisor;
poff = 2 * M_PI * -t0 * Tc * f;
exp_re = cos(poff);
exp_im = sin(-poff);
timeshift_symbol_rotation[j*2] = (int16_t)floor(exp_re * 32767);
timeshift_symbol_rotation[j*2+1] = (int16_t)floor(exp_im * 32767);
timeshift_symbol_rotation[j*2] = (int16_t)ceil(exp_re * 32767);
timeshift_symbol_rotation[j*2+1] = (int16_t)ceil(exp_im * 32767);
if (j > fp->ofdm_symbol_size-10-1)
LOG_I(PHY,"Timeshift symbol rotation %d => (%d,%d) %f\n",-i,
fp->timeshift_symbol_rotation[1][j*2],
fp->timeshift_symbol_rotation[1][j*2+1],
fp->timeshift_symbol_rotation[0][j*2],
fp->timeshift_symbol_rotation[0][j*2+1],
poff);
i++;
}