git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6348 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -73,7 +73,6 @@ extern unsigned char offset_mumimo_llr_drange_fix;
|
||||
|
||||
|
||||
//#define ABSTRACTION
|
||||
//#define PERFECT_CE
|
||||
|
||||
/*
|
||||
#define RBmask0 0x00fc00fc
|
||||
@@ -107,7 +106,7 @@ void handler(int sig) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,uint8_t extended_prefix_flag,uint8_t fdd_flag, uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,uint8_t osf) {
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,uint8_t extended_prefix_flag,uint8_t fdd_flag, uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,uint8_t osf,uint32_t perfect_ce) {
|
||||
|
||||
LTE_DL_FRAME_PARMS *lte_frame_parms;
|
||||
int i;
|
||||
@@ -186,6 +185,7 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi
|
||||
((PHY_vars_UE->lte_frame_parms).pdsch_config_common).p_b = 1;
|
||||
}
|
||||
|
||||
PHY_vars_UE->perfect_ce = perfect_ce;
|
||||
|
||||
printf("Done lte_param_init\n");
|
||||
|
||||
@@ -344,6 +344,7 @@ int main(int argc, char **argv) {
|
||||
char channel_model_input[10]="I";
|
||||
|
||||
int TB0_active = 1;
|
||||
uint32_t perfect_ce = 0;
|
||||
|
||||
LTE_DL_UE_HARQ_t *dlsch0_ue_harq;
|
||||
LTE_DL_eNB_HARQ_t *dlsch0_eNB_harq;
|
||||
@@ -365,8 +366,9 @@ int main(int argc, char **argv) {
|
||||
n_frames = 1000;
|
||||
snr0 = 0;
|
||||
num_layers = 1;
|
||||
perfect_ce = 0;
|
||||
|
||||
while ((c = getopt (argc, argv, "ahdpZDe:m:n:o:s:f:t:c:g:r:F:x:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:")) != -1) {
|
||||
while ((c = getopt (argc, argv, "ahdpZDe:m:n:o:s:f:t:c:g:r:F:x:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:Y")) != -1) {
|
||||
switch (c)
|
||||
{
|
||||
case 'a':
|
||||
@@ -564,6 +566,9 @@ int main(int argc, char **argv) {
|
||||
case 'Z':
|
||||
dump_table=1;
|
||||
break;
|
||||
case 'Y':
|
||||
perfect_ce=1;
|
||||
break;
|
||||
case 'h':
|
||||
default:
|
||||
printf("%s -h(elp) -a(wgn on) -d(ci decoding on) -p(extended prefix on) -m mcs1 -M mcs2 -n n_frames -s snr0 -x transmission mode (1,2,5,6) -y TXant -z RXant -I trch_file\n",argv[0]);
|
||||
@@ -645,7 +650,7 @@ int main(int argc, char **argv) {
|
||||
printf("dual_stream_UE=%d\n", dual_stream_UE);
|
||||
}
|
||||
|
||||
lte_param_init(n_tx,n_rx,transmission_mode,extended_prefix_flag,fdd_flag,Nid_cell,tdd_config,N_RB_DL,osf);
|
||||
lte_param_init(n_tx,n_rx,transmission_mode,extended_prefix_flag,fdd_flag,Nid_cell,tdd_config,N_RB_DL,osf,perfect_ce);
|
||||
|
||||
eNB_id_i = PHY_vars_UE->n_connected_eNB;
|
||||
|
||||
@@ -2718,7 +2723,7 @@ int main(int argc, char **argv) {
|
||||
0,
|
||||
0);
|
||||
stop_meas(&PHY_vars_UE->ofdm_demod_stats);
|
||||
#ifdef PERFECT_CE
|
||||
if (PHY_vars_UE->perfect_ce==1) {
|
||||
if (awgn_flag==0) {
|
||||
// fill in perfect channel estimates
|
||||
freq_channel(eNB2UE[round],PHY_vars_UE->lte_frame_parms.N_RB_DL,12*PHY_vars_UE->lte_frame_parms.N_RB_DL + 1);
|
||||
@@ -2751,7 +2756,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
if ((Ns==((2*subframe))) && (l==0)) {
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
PHY_VARS_eNB *PHY_vars_eNB;
|
||||
PHY_VARS_UE *PHY_vars_UE;
|
||||
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,uint8_t extended_prefix_flag,lte_frame_type_t frame_type, uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,uint8_t osf) {
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,uint8_t extended_prefix_flag,lte_frame_type_t frame_type, uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,uint8_t osf,uint32_t perfect_ce) {
|
||||
|
||||
LTE_DL_FRAME_PARMS *lte_frame_parms;
|
||||
|
||||
@@ -121,7 +121,8 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi
|
||||
phy_init_lte_ue(PHY_vars_UE,1,0);
|
||||
phy_init_lte_eNB(PHY_vars_eNB,0,0,0);
|
||||
|
||||
|
||||
|
||||
PHY_vars_UE->perfect_ce = perfect_ce;
|
||||
printf("Done lte_param_init\n");
|
||||
|
||||
|
||||
@@ -174,6 +175,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
uint8_t N_RB_DL=25,osf=1;
|
||||
double BW=5.0;
|
||||
uint32_t perfect_ce = 0;
|
||||
|
||||
lte_frame_type_t frame_type = FDD;
|
||||
|
||||
@@ -201,7 +203,7 @@ int main(int argc, char **argv) {
|
||||
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
|
||||
rxdata[1] = (int *)malloc16(FRAME_LENGTH_BYTES);
|
||||
*/
|
||||
while ((c = getopt (argc, argv, "ahA:Cp:n:s:S:t:x:y:z:N:F:R:O:dm:i:")) != -1)
|
||||
while ((c = getopt (argc, argv, "ahA:Cp:n:s:S:t:x:y:z:N:F:R:O:dm:i:Y")) != -1)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@@ -266,6 +268,9 @@ int main(int argc, char **argv) {
|
||||
case 'O':
|
||||
osf = atoi(optarg);
|
||||
break;
|
||||
case 'Y':
|
||||
perfect_ce = 1;
|
||||
break;
|
||||
default:
|
||||
case 'h':
|
||||
printf("%s -h(elp) -p(subframe) -N cell_id -g channel_model -n n_frames -t Delayspread -s snr0 -S snr1 -i snr increment -z RXant \n",argv[0]);
|
||||
@@ -309,7 +314,7 @@ int main(int argc, char **argv) {
|
||||
if (transmission_mode==2)
|
||||
n_tx=2;
|
||||
|
||||
lte_param_init(n_tx,n_rx,transmission_mode,extended_prefix_flag,frame_type,Nid_cell,tdd_config,N_RB_DL,osf);
|
||||
lte_param_init(n_tx,n_rx,transmission_mode,extended_prefix_flag,frame_type,Nid_cell,tdd_config,N_RB_DL,osf,perfect_ce);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ PHY_VARS_UE *PHY_vars_UE;
|
||||
#define CCCH_RB_ALLOC computeRIV(PHY_vars_eNB->lte_frame_parms.N_RB_UL,0,2)
|
||||
#define DLSCH_RB_ALLOC 0x1fbf // igore DC component,RB13
|
||||
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,unsigned char extended_prefix_flag,uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,lte_frame_type_t frame_type,uint8_t osf) {
|
||||
void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmission_mode,unsigned char extended_prefix_flag,uint16_t Nid_cell,uint8_t tdd_config,uint8_t N_RB_DL,lte_frame_type_t frame_type,uint8_t osf,uint32_t perfect_ce) {
|
||||
|
||||
unsigned int i;
|
||||
LTE_DL_FRAME_PARMS *lte_frame_parms;
|
||||
@@ -135,6 +135,7 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi
|
||||
PHY_vars_UE->PHY_measurements.n_adj_cells=2;
|
||||
PHY_vars_UE->PHY_measurements.adj_cell_id[0] = Nid_cell+1;
|
||||
PHY_vars_UE->PHY_measurements.adj_cell_id[1] = Nid_cell+2;
|
||||
PHY_vars_UE->perfect_ce = perfect_ce;
|
||||
for (i=0;i<3;i++)
|
||||
lte_gold(lte_frame_parms,PHY_vars_UE->lte_gold_table[i],Nid_cell+i);
|
||||
|
||||
@@ -548,10 +549,9 @@ int main(int argc, char **argv) {
|
||||
int re_offset;
|
||||
uint32_t *txptr;
|
||||
int aarx;
|
||||
#ifdef PERFECT_CE
|
||||
int k;
|
||||
#endif
|
||||
double BW=5.0;
|
||||
uint32_t perfect_ce = 0;
|
||||
|
||||
number_of_cards = 1;
|
||||
openair_daq_vars.rx_rf_mode = 1;
|
||||
@@ -565,7 +565,7 @@ int main(int argc, char **argv) {
|
||||
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
|
||||
rxdata[1] = (int *)malloc16(FRAME_LENGTH_BYTES);
|
||||
*/
|
||||
while ((c = getopt (argc, argv, "hapFg:R:c:n:s:x:y:z:L:M:N:I:f:i:S:P:")) != -1) {
|
||||
while ((c = getopt (argc, argv, "hapFg:R:c:n:s:x:y:z:L:M:N:I:f:i:S:P:Y")) != -1) {
|
||||
switch (c)
|
||||
{
|
||||
case 'a':
|
||||
@@ -699,6 +699,9 @@ int main(int argc, char **argv) {
|
||||
case 'P':
|
||||
num_phich_interf=atoi(optarg);
|
||||
break;
|
||||
case 'Y':
|
||||
perfect_ce = 1;
|
||||
break;
|
||||
case 'h':
|
||||
printf("%s -h(elp) -a(wgn on) -c tdd_config -n n_frames -r RiceanFactor -s snr0 -t Delayspread -x transmission mode (1,2,6) -y TXant -z RXant -L AggregLevelUEspec -M AggregLevelCommonDCI -N DCIFormat\n\n",argv[0]);
|
||||
printf("-h This message\n");
|
||||
@@ -757,7 +760,8 @@ int main(int argc, char **argv) {
|
||||
Nid_cell,
|
||||
tdd_config,
|
||||
N_RB_DL,frame_type,
|
||||
osf);
|
||||
osf,
|
||||
perfect_ce);
|
||||
|
||||
#ifdef XFORMS
|
||||
fl_initialize (&argc, argv, NULL, 0, 0);
|
||||
@@ -1131,7 +1135,7 @@ int main(int argc, char **argv) {
|
||||
0,
|
||||
0);
|
||||
|
||||
#ifdef PERFECT_CE
|
||||
if (PHY_vars_UE->perfect_ce == 1) {
|
||||
if (awgn_flag==0) {
|
||||
// fill in perfect channel estimates
|
||||
freq_channel(eNB2UE,PHY_vars_UE->lte_frame_parms.N_RB_DL,12*PHY_vars_UE->lte_frame_parms.N_RB_DL + 1);
|
||||
@@ -1164,8 +1168,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
if (l==((PHY_vars_eNB->lte_frame_parms.Ncp==0)?4:3)) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user