Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
openairinterface5G
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
149
Issues
149
List
Board
Labels
Milestones
Merge Requests
15
Merge Requests
15
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
oai
openairinterface5G
Commits
b72ca3ee
Commit
b72ca3ee
authored
Jan 11, 2015
by
knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@6348
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
613088f3
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
635 additions
and
523 deletions
+635
-523
lte_dl_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
+2
-2
slot_fep.c
openair1/PHY/MODULATION/slot_fep.c
+2
-2
slot_fep_mbsfn.c
openair1/PHY/MODULATION/slot_fep_mbsfn.c
+2
-2
defs.h
openair1/PHY/defs.h
+1
-0
phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+6
-3
dlsim.c
openair1/SIMULATION/LTE_PHY/dlsim.c
+11
-6
mbmssim.c
openair1/SIMULATION/LTE_PHY/mbmssim.c
+9
-4
pdcchsim.c
openair1/SIMULATION/LTE_PHY/pdcchsim.c
+11
-8
eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+1
-1
main.c
openair2/LAYER2/MAC/main.c
+4
-4
proto.h
openair2/LAYER2/MAC/proto.h
+2
-2
defs.h
openair2/PHY_INTERFACE/defs.h
+1
-1
asn1_msg.c
openair2/RRC/LITE/MESSAGES/asn1_msg.c
+141
-115
asn1_msg.h
openair2/RRC/LITE/MESSAGES/asn1_msg.h
+1
-1
proto.h
openair2/RRC/LITE/proto.h
+1
-1
rrc_common.c
openair2/RRC/LITE/rrc_common.c
+2
-7
vcd_signal_dumper.c
openair2/UTIL/LOG/vcd_signal_dumper.c
+1
-0
vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+1
-0
Makefile.inc
targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc
+1
-1
ethernet_lib.c
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+6
-8
UE_config.xml
targets/PROJECTS/GENERIC-LTE-EPC/CONF/UE_config.xml
+112
-0
enb.band7.exmimo2.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf
+10
-0
enb.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+0
-143
Makefile
targets/RT/USER/Makefile
+4
-2
lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+279
-194
ue.gtkw
targets/RT/USER/ue.gtkw
+16
-9
oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+1
-0
build_helper.bash
targets/build_helper.bash
+7
-7
No files found.
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
View file @
b72ca3ee
...
@@ -616,7 +616,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *phy_vars_ue,
...
@@ -616,7 +616,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *phy_vars_ue,
}
}
#ifndef PERFECT_CE
if
(
phy_vars_ue
->
perfect_ce
==
0
)
{
// Temporal Interpolation
// Temporal Interpolation
// printf("ch_offset %d\n",ch_offset);
// printf("ch_offset %d\n",ch_offset);
...
@@ -691,7 +691,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *phy_vars_ue,
...
@@ -691,7 +691,7 @@ int lte_dl_channel_estimation(PHY_VARS_UE *phy_vars_ue,
}
}
}
}
#endif
}
}
}
void
(
*
idft
)(
int16_t
*
,
int16_t
*
,
int
);
void
(
*
idft
)(
int16_t
*
,
int16_t
*
,
int
);
...
...
openair1/PHY/MODULATION/slot_fep.c
View file @
b72ca3ee
...
@@ -153,7 +153,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
...
@@ -153,7 +153,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
}
}
#ifndef PERFECT_CE
if
(
phy_vars_ue
->
perfect_ce
==
0
)
{
if
((
l
==
0
)
||
(
l
==
(
4
-
frame_parms
->
Ncp
)))
{
if
((
l
==
0
)
||
(
l
==
(
4
-
frame_parms
->
Ncp
)))
{
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_tx_eNB
;
aa
++
)
{
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_tx_eNB
;
aa
++
)
{
...
@@ -193,7 +193,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
...
@@ -193,7 +193,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
}
}
}
}
#endif
}
#ifdef DEBUG_FEP
#ifdef DEBUG_FEP
msg
(
"slot_fep: done
\n
"
);
msg
(
"slot_fep: done
\n
"
);
#endif
#endif
...
...
openair1/PHY/MODULATION/slot_fep_mbsfn.c
View file @
b72ca3ee
...
@@ -173,7 +173,7 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
...
@@ -173,7 +173,7 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
// changed to invoke MBSFN channel estimation in symbols 2,6,10
// changed to invoke MBSFN channel estimation in symbols 2,6,10
if
((
l
==
2
)
||
(
l
==
6
)
||
(
l
==
10
))
{
if
((
l
==
2
)
||
(
l
==
6
)
||
(
l
==
10
))
{
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_tx
;
aa
++
)
{
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_tx
;
aa
++
)
{
#ifndef PERFECT_CE
if
(
phy_vars_ue
->
perfect_ce
==
0
)
{
#ifdef DEBUG_FEP
#ifdef DEBUG_FEP
msg
(
"Channel estimation eNB %d, aatx %d, subframe %d, symbol %d
\n
"
,
eNB_id
,
aa
,
subframe
,
l
);
msg
(
"Channel estimation eNB %d, aatx %d, subframe %d, symbol %d
\n
"
,
eNB_id
,
aa
,
subframe
,
l
);
#endif
#endif
...
@@ -201,7 +201,6 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
...
@@ -201,7 +201,6 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
l,
l,
symbol); */
symbol); */
// }
// }
#endif
// do frequency offset estimation here!
// do frequency offset estimation here!
// use channel estimates from current symbol (=ch_t) and last symbol (ch_{t-1})
// use channel estimates from current symbol (=ch_t) and last symbol (ch_{t-1})
...
@@ -215,6 +214,7 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
...
@@ -215,6 +214,7 @@ int slot_fep_mbsfn(PHY_VARS_UE *phy_vars_ue,
l,
l,
&ue_common_vars->freq_offset); */
&ue_common_vars->freq_offset); */
}
}
}
}
}
#ifdef DEBUG_FEP
#ifdef DEBUG_FEP
msg
(
"slot_fep_mbsfn: done
\n
"
);
msg
(
"slot_fep_mbsfn: done
\n
"
);
...
...
openair1/PHY/defs.h
View file @
b72ca3ee
...
@@ -434,6 +434,7 @@ typedef struct
...
@@ -434,6 +434,7 @@ typedef struct
uint32_t
X_u
[
64
][
839
];
uint32_t
X_u
[
64
][
839
];
uint32_t
high_speed_flag
;
uint32_t
high_speed_flag
;
uint32_t
perfect_ce
;
int16_t
ch_est_alpha
;
int16_t
ch_est_alpha
;
char
ulsch_no_allocation_counter
[
NUMBER_OF_CONNECTED_eNB_MAX
];
char
ulsch_no_allocation_counter
[
NUMBER_OF_CONNECTED_eNB_MAX
];
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
b72ca3ee
...
@@ -1905,10 +1905,12 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
...
@@ -1905,10 +1905,12 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
eNB_id
,
subframe_rx
);
eNB_id
,
subframe_rx
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING
,
VCD_FUNCTION_OUT
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING
,
VCD_FUNCTION_OUT
);
//LOG_D(PHY,"[UE %d][PUSCH] Frame %d subframe %d PHICH RX\n",phy_vars_ue->Mod_id,frame_rx,subframe_rx);
//LOG_D(PHY,"[UE %d][PUSCH] Frame %d subframe %d PHICH RX\n",phy_vars_ue->Mod_id,frame_rx,subframe_rx);
if
(
is_phich_subframe
(
&
phy_vars_ue
->
lte_frame_parms
,
subframe_rx
))
{
if
(
is_phich_subframe
(
&
phy_vars_ue
->
lte_frame_parms
,
subframe_rx
))
{
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PHICH
,
VCD_FUNCTION_IN
);
rx_phich
(
phy_vars_ue
,
rx_phich
(
phy_vars_ue
,
subframe_rx
,
eNB_id
);
subframe_rx
,
eNB_id
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PHICH
,
VCD_FUNCTION_OUT
);
}
}
}
}
#ifdef PHY_ABSTRACTION
#ifdef PHY_ABSTRACTION
...
@@ -2318,6 +2320,9 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
...
@@ -2318,6 +2320,9 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
int
CC_id
=
phy_vars_ue
->
CC_id
;
int
CC_id
=
phy_vars_ue
->
CC_id
;
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX
,
VCD_FUNCTION_IN
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX
,
VCD_FUNCTION_IN
);
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_UE
,
(
slot_rx
+
1
)
%
20
);
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_UE
,
frame_rx
);
start_meas
(
&
phy_vars_ue
->
phy_proc_rx
);
start_meas
(
&
phy_vars_ue
->
phy_proc_rx
);
#ifdef DEBUG_PHY_PROC
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[%s %d] Frame %d subframe %d: Doing phy_procedures_UE_RX(%d)
\n
"
,
LOG_D
(
PHY
,
"[%s %d] Frame %d subframe %d: Doing phy_procedures_UE_RX(%d)
\n
"
,
...
@@ -3426,8 +3431,6 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
...
@@ -3426,8 +3431,6 @@ void phy_UE_lte_check_measurement_thresholds(instance_t instanceP, ral_threshold
prach_resources_local
.
ra_PreambleIndex
=
0
;
prach_resources_local
.
ra_PreambleIndex
=
0
;
#endif
#endif
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_UE
,
(
slot_rx
+
1
)
%
20
);
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_UE
,
frame_rx
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_LTE
,
1
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_LTE
,
1
);
#ifdef EXMIMO
#ifdef EXMIMO
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
b72ca3ee
...
@@ -73,7 +73,6 @@ extern unsigned char offset_mumimo_llr_drange_fix;
...
@@ -73,7 +73,6 @@ extern unsigned char offset_mumimo_llr_drange_fix;
//#define ABSTRACTION
//#define ABSTRACTION
//#define PERFECT_CE
/*
/*
#define RBmask0 0x00fc00fc
#define RBmask0 0x00fc00fc
...
@@ -107,7 +106,7 @@ void handler(int sig) {
...
@@ -107,7 +106,7 @@ void handler(int sig) {
exit
(
1
);
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
;
LTE_DL_FRAME_PARMS
*
lte_frame_parms
;
int
i
;
int
i
;
...
@@ -186,6 +185,7 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi
...
@@ -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
->
lte_frame_parms
).
pdsch_config_common
).
p_b
=
1
;
}
}
PHY_vars_UE
->
perfect_ce
=
perfect_ce
;
printf
(
"Done lte_param_init
\n
"
);
printf
(
"Done lte_param_init
\n
"
);
...
@@ -344,6 +344,7 @@ int main(int argc, char **argv) {
...
@@ -344,6 +344,7 @@ int main(int argc, char **argv) {
char
channel_model_input
[
10
]
=
"I"
;
char
channel_model_input
[
10
]
=
"I"
;
int
TB0_active
=
1
;
int
TB0_active
=
1
;
uint32_t
perfect_ce
=
0
;
LTE_DL_UE_HARQ_t
*
dlsch0_ue_harq
;
LTE_DL_UE_HARQ_t
*
dlsch0_ue_harq
;
LTE_DL_eNB_HARQ_t
*
dlsch0_eNB_harq
;
LTE_DL_eNB_HARQ_t
*
dlsch0_eNB_harq
;
...
@@ -365,8 +366,9 @@ int main(int argc, char **argv) {
...
@@ -365,8 +366,9 @@ int main(int argc, char **argv) {
n_frames
=
1000
;
n_frames
=
1000
;
snr0
=
0
;
snr0
=
0
;
num_layers
=
1
;
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
)
switch
(
c
)
{
{
case
'a'
:
case
'a'
:
...
@@ -564,6 +566,9 @@ int main(int argc, char **argv) {
...
@@ -564,6 +566,9 @@ int main(int argc, char **argv) {
case
'Z'
:
case
'Z'
:
dump_table
=
1
;
dump_table
=
1
;
break
;
break
;
case
'Y'
:
perfect_ce
=
1
;
break
;
case
'h'
:
case
'h'
:
default:
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
]);
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) {
...
@@ -645,7 +650,7 @@ int main(int argc, char **argv) {
printf
(
"dual_stream_UE=%d
\n
"
,
dual_stream_UE
);
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
;
eNB_id_i
=
PHY_vars_UE
->
n_connected_eNB
;
...
@@ -2718,7 +2723,7 @@ int main(int argc, char **argv) {
...
@@ -2718,7 +2723,7 @@ int main(int argc, char **argv) {
0
,
0
,
0
);
0
);
stop_meas
(
&
PHY_vars_UE
->
ofdm_demod_stats
);
stop_meas
(
&
PHY_vars_UE
->
ofdm_demod_stats
);
#ifdef PERFECT_CE
if
(
PHY_vars_UE
->
perfect_ce
==
1
)
{
if
(
awgn_flag
==
0
)
{
if
(
awgn_flag
==
0
)
{
// fill in perfect channel estimates
// 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
);
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) {
...
@@ -2751,7 +2756,7 @@ int main(int argc, char **argv) {
}
}
}
}
}
}
#endif
}
if
((
Ns
==
((
2
*
subframe
)))
&&
(
l
==
0
))
{
if
((
Ns
==
((
2
*
subframe
)))
&&
(
l
==
0
))
{
...
...
openair1/SIMULATION/LTE_PHY/mbmssim.c
View file @
b72ca3ee
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
PHY_VARS_eNB
*
PHY_vars_eNB
;
PHY_VARS_eNB
*
PHY_vars_eNB
;
PHY_VARS_UE
*
PHY_vars_UE
;
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
;
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
...
@@ -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_ue
(
PHY_vars_UE
,
1
,
0
);
phy_init_lte_eNB
(
PHY_vars_eNB
,
0
,
0
,
0
);
phy_init_lte_eNB
(
PHY_vars_eNB
,
0
,
0
,
0
);
PHY_vars_UE
->
perfect_ce
=
perfect_ce
;
printf
(
"Done lte_param_init
\n
"
);
printf
(
"Done lte_param_init
\n
"
);
...
@@ -174,6 +175,7 @@ int main(int argc, char **argv) {
...
@@ -174,6 +175,7 @@ int main(int argc, char **argv) {
uint8_t
N_RB_DL
=
25
,
osf
=
1
;
uint8_t
N_RB_DL
=
25
,
osf
=
1
;
double
BW
=
5
.
0
;
double
BW
=
5
.
0
;
uint32_t
perfect_ce
=
0
;
lte_frame_type_t
frame_type
=
FDD
;
lte_frame_type_t
frame_type
=
FDD
;
...
@@ -201,7 +203,7 @@ int main(int argc, char **argv) {
...
@@ -201,7 +203,7 @@ int main(int argc, char **argv) {
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
rxdata[1] = (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
)
switch
(
c
)
{
{
...
@@ -266,6 +268,9 @@ int main(int argc, char **argv) {
...
@@ -266,6 +268,9 @@ int main(int argc, char **argv) {
case
'O'
:
case
'O'
:
osf
=
atoi
(
optarg
);
osf
=
atoi
(
optarg
);
break
;
break
;
case
'Y'
:
perfect_ce
=
1
;
break
;
default:
default:
case
'h'
:
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
]);
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) {
...
@@ -309,7 +314,7 @@ int main(int argc, char **argv) {
if
(
transmission_mode
==
2
)
if
(
transmission_mode
==
2
)
n_tx
=
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
);
...
...
openair1/SIMULATION/LTE_PHY/pdcchsim.c
View file @
b72ca3ee
...
@@ -59,7 +59,7 @@ PHY_VARS_UE *PHY_vars_UE;
...
@@ -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 CCCH_RB_ALLOC computeRIV(PHY_vars_eNB->lte_frame_parms.N_RB_UL,0,2)
#define DLSCH_RB_ALLOC 0x1fbf // igore DC component,RB13
#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
;
unsigned
int
i
;
LTE_DL_FRAME_PARMS
*
lte_frame_parms
;
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
...
@@ -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
.
n_adj_cells
=
2
;
PHY_vars_UE
->
PHY_measurements
.
adj_cell_id
[
0
]
=
Nid_cell
+
1
;
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
->
PHY_measurements
.
adj_cell_id
[
1
]
=
Nid_cell
+
2
;
PHY_vars_UE
->
perfect_ce
=
perfect_ce
;
for
(
i
=
0
;
i
<
3
;
i
++
)
for
(
i
=
0
;
i
<
3
;
i
++
)
lte_gold
(
lte_frame_parms
,
PHY_vars_UE
->
lte_gold_table
[
i
],
Nid_cell
+
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) {
...
@@ -548,10 +549,9 @@ int main(int argc, char **argv) {
int
re_offset
;
int
re_offset
;
uint32_t
*
txptr
;
uint32_t
*
txptr
;
int
aarx
;
int
aarx
;
#ifdef PERFECT_CE
int
k
;
int
k
;
#endif
double
BW
=
5
.
0
;
double
BW
=
5
.
0
;
uint32_t
perfect_ce
=
0
;
number_of_cards
=
1
;
number_of_cards
=
1
;
openair_daq_vars
.
rx_rf_mode
=
1
;
openair_daq_vars
.
rx_rf_mode
=
1
;
...
@@ -565,7 +565,7 @@ int main(int argc, char **argv) {
...
@@ -565,7 +565,7 @@ int main(int argc, char **argv) {
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
rxdata[0] = (int *)malloc16(FRAME_LENGTH_BYTES);
rxdata[1] = (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
)
switch
(
c
)
{
{
case
'a'
:
case
'a'
:
...
@@ -699,6 +699,9 @@ int main(int argc, char **argv) {
...
@@ -699,6 +699,9 @@ int main(int argc, char **argv) {
case
'P'
:
case
'P'
:
num_phich_interf
=
atoi
(
optarg
);
num_phich_interf
=
atoi
(
optarg
);
break
;
break
;
case
'Y'
:
perfect_ce
=
1
;
break
;
case
'h'
:
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
(
"%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
"
);
printf
(
"-h This message
\n
"
);
...
@@ -757,7 +760,8 @@ int main(int argc, char **argv) {
...
@@ -757,7 +760,8 @@ int main(int argc, char **argv) {
Nid_cell
,
Nid_cell
,
tdd_config
,
tdd_config
,
N_RB_DL
,
frame_type
,
N_RB_DL
,
frame_type
,
osf
);
osf
,
perfect_ce
);
#ifdef XFORMS
#ifdef XFORMS
fl_initialize
(
&
argc
,
argv
,
NULL
,
0
,
0
);
fl_initialize
(
&
argc
,
argv
,
NULL
,
0
,
0
);
...
@@ -1131,7 +1135,7 @@ int main(int argc, char **argv) {
...
@@ -1131,7 +1135,7 @@ int main(int argc, char **argv) {
0
,
0
,
0
);
0
);
#ifdef PERFECT_CE
if
(
PHY_vars_UE
->
perfect_ce
==
1
)
{
if
(
awgn_flag
==
0
)
{
if
(
awgn_flag
==
0
)
{
// fill in perfect channel estimates
// 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
);
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) {
...
@@ -1164,8 +1168,7 @@ int main(int argc, char **argv) {
}
}
}
}
}
}
#endif
}
if
(
l
==
((
PHY_vars_eNB
->
lte_frame_parms
.
Ncp
==
0
)
?
4
:
3
))
{
if
(
l
==
((
PHY_vars_eNB
->
lte_frame_parms
.
Ncp
==
0
)
?
4
:
3
))
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
b72ca3ee
...
@@ -567,7 +567,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
...
@@ -567,7 +567,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
uint16_t
TBS
,
i
;
uint16_t
TBS
,
i
;
int32_t
buffer_occupancy
=
0
;
int32_t
buffer_occupancy
=
0
;
uint32_t
cqi_req
,
cshift
,
ndi
,
mcs
,
rballoc
,
tpc
;
uint32_t
cqi_req
,
cshift
,
ndi
,
mcs
,
rballoc
,
tpc
;
int32_t
normalized_rx_power
,
target_rx_power
=-
75
;
int32_t
normalized_rx_power
,
target_rx_power
=-
90
;
static
int32_t
tpc_accumulated
=
0
;
static
int32_t
tpc_accumulated
=
0
;
int
n
,
CC_id
;
int
n
,
CC_id
;
...
...
openair2/LAYER2/MAC/main.c
View file @
b72ca3ee
...
@@ -112,7 +112,7 @@ void mac_UE_out_of_sync_ind(module_id_t module_idP, frame_t frameP, uint16_t eNB
...
@@ -112,7 +112,7 @@ void mac_UE_out_of_sync_ind(module_id_t module_idP, frame_t frameP, uint16_t eNB
}
}
int
mac_top_init
(
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
){
int
mac_top_init
(
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_active
){
module_id_t
Mod_id
,
i
,
j
;
module_id_t
Mod_id
,
i
,
j
;
RA_TEMPLATE
*
RA_template
;
RA_TEMPLATE
*
RA_template
;
...
@@ -185,7 +185,7 @@ int mac_top_init(int eMBMS_active, uint8_t cba_group_active, uint8_t HO_active){
...
@@ -185,7 +185,7 @@ int mac_top_init(int eMBMS_active, uint8_t cba_group_active, uint8_t HO_active){
if
(
Is_rrc_registered
==
1
){
if
(
Is_rrc_registered
==
1
){
LOG_I
(
MAC
,
"[MAIN] calling RRC
\n
"
);
LOG_I
(
MAC
,
"[MAIN] calling RRC
\n
"
);
#ifndef CELLULAR //nothing to be done yet for cellular
#ifndef CELLULAR //nothing to be done yet for cellular
openair_rrc_top_init
(
eMBMS_active
,
cba_group_active
,
HO_active
);
openair_rrc_top_init
(
eMBMS_active
,
uecap_xer
,
cba_group_active
,
HO_active
);
#endif
#endif
}
}
else
{
else
{
...
@@ -401,7 +401,7 @@ void mac_top_cleanup(void){
...
@@ -401,7 +401,7 @@ void mac_top_cleanup(void){
free
(
Mac_rlc_xface
);
free
(
Mac_rlc_xface
);
}
}
int
l2_init
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
)
{
int
l2_init
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_active
)
{
...
@@ -510,7 +510,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, uint8_t cba_group_
...
@@ -510,7 +510,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, uint8_t cba_group_
mac_xface
->
get_PHR
=
get_PHR
;
mac_xface
->
get_PHR
=
get_PHR
;
LOG_D
(
MAC
,
"[MAIN] ALL INIT OK
\n
"
);
LOG_D
(
MAC
,
"[MAIN] ALL INIT OK
\n
"
);
mac_xface
->
macphy_init
(
eMBMS_active
,
cba_group_active
,
HO_active
);
mac_xface
->
macphy_init
(
eMBMS_active
,
uecap_xer
,
cba_group_active
,
HO_active
);
//Mac_rlc_xface->Is_cluster_head[0] = 1;
//Mac_rlc_xface->Is_cluster_head[0] = 1;
//Mac_rlc_xface->Is_cluster_head[1] = 0;
//Mac_rlc_xface->Is_cluster_head[1] = 0;
...
...
openair2/LAYER2/MAC/proto.h
View file @
b72ca3ee
...
@@ -156,7 +156,7 @@ void chbch_phy_sync_success(module_id_t module_idP,frame_t frameP,uint8_t eNB_in
...
@@ -156,7 +156,7 @@ void chbch_phy_sync_success(module_id_t module_idP,frame_t frameP,uint8_t eNB_in
void
mrbch_phy_sync_failure
(
module_id_t
module_idP
,
frame_t
frameP
,
uint8_t
free_eNB_index
);
void
mrbch_phy_sync_failure
(
module_id_t
module_idP
,
frame_t
frameP
,
uint8_t
free_eNB_index
);
int
mac_top_init
(
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
);
int
mac_top_init
(
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_active
);
char
layer2_init_UE
(
module_id_t
module_idP
);
char
layer2_init_UE
(
module_id_t
module_idP
);
...
@@ -469,7 +469,7 @@ uint8_t *parse_ulsch_header(uint8_t *mac_header,
...
@@ -469,7 +469,7 @@ uint8_t *parse_ulsch_header(uint8_t *mac_header,
uint16_t
tx_lenght
);
uint16_t
tx_lenght
);
int
l2_init
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
);
int
l2_init
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_active
);
int
mac_init
(
void
);
int
mac_init
(
void
);
int
add_new_ue
(
module_id_t
Mod_id
,
int
CC_id
,
rnti_t
rnti
,
int
harq_pid
);
int
add_new_ue
(
module_id_t
Mod_id
,
int
CC_id
,
rnti_t
rnti
,
int
harq_pid
);
int
mac_remove_ue
(
module_id_t
Mod_id
,
int
UE_id
,
int
frameP
);
int
mac_remove_ue
(
module_id_t
Mod_id
,
int
UE_id
,
int
frameP
);
...
...
openair2/PHY_INTERFACE/defs.h
View file @
b72ca3ee
...
@@ -63,7 +63,7 @@ do {
...
@@ -63,7 +63,7 @@ do {
typedef
struct
typedef
struct
{
{
/// Pointer function that initializes L2
/// Pointer function that initializes L2
int
(
*
macphy_init
)(
int
eMBMS_active
,
uint8_t
CBA_active
,
uint8_t
HO_active
);
int
(
*
macphy_init
)(
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
CBA_active
,
uint8_t
HO_active
);
/// Pointer function that stops the low-level scheduler due an exit condition
/// Pointer function that stops the low-level scheduler due an exit condition
void
(
*
macphy_exit
)(
const
char
*
);
void
(
*
macphy_exit
)(
const
char
*
);
...
...
openair2/RRC/LITE/MESSAGES/asn1_msg.c
View file @
b72ca3ee
This diff is collapsed.
Click to expand it.
openair2/RRC/LITE/MESSAGES/asn1_msg.h
View file @
b72ca3ee
...
@@ -232,7 +232,7 @@ uint8_t do_DLInformationTransfer(uint8_t Mod_id, uint8_t **buffer, uint8_t trans
...
@@ -232,7 +232,7 @@ uint8_t do_DLInformationTransfer(uint8_t Mod_id, uint8_t **buffer, uint8_t trans
uint8_t
do_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
uint8_t
do_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
OAI_UECapability_t
*
fill_ue_capability
(
void
);
OAI_UECapability_t
*
fill_ue_capability
(
char
*
UE_EUTRA_Capability_xer
);
uint8_t
do_UECapabilityEnquiry
(
uint8_t
Mod_id
,
uint8_t
do_UECapabilityEnquiry
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint8_t
*
buffer
,
...
...
openair2/RRC/LITE/proto.h
View file @
b72ca3ee
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
//main.c
//main.c
int
rrc_init_global_param
(
void
);
int
rrc_init_global_param
(
void
);
int
L3_xface_init
(
void
);
int
L3_xface_init
(
void
);
void
openair_rrc_top_init
(
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_enabled
);
void
openair_rrc_top_init
(
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_enabled
);
char
openair_rrc_lite_eNB_init
(
module_id_t
module_idP
);
char
openair_rrc_lite_eNB_init
(
module_id_t
module_idP
);
char
openair_rrc_lite_ue_init
(
module_id_t
module_idP
,
uint8_t
CH_IDX
);
char
openair_rrc_lite_ue_init
(
module_id_t
module_idP
,
uint8_t
CH_IDX
);
void
rrc_config_buffer
(
SRB_INFO
*
srb_info
,
uint8_t
Lchan_type
,
uint8_t
Role
);
void
rrc_config_buffer
(
SRB_INFO
*
srb_info
,
uint8_t
Lchan_type
,
uint8_t
Role
);
...
...
openair2/RRC/LITE/rrc_common.c
View file @
b72ca3ee
...
@@ -206,7 +206,7 @@ void rrc_config_buffer(SRB_INFO *Srb_info, uint8_t Lchan_type, uint8_t Role) {
...
@@ -206,7 +206,7 @@ void rrc_config_buffer(SRB_INFO *Srb_info, uint8_t Lchan_type, uint8_t Role) {
}
}
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
void
openair_rrc_top_init
(
int
eMBMS_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
){
void
openair_rrc_top_init
(
int
eMBMS_active
,
char
*
uecap_xer
,
uint8_t
cba_group_active
,
uint8_t
HO_active
){
/*-----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------*/
module_id_t
module_id
;
module_id_t
module_id
;
...
@@ -221,16 +221,11 @@ void openair_rrc_top_init(int eMBMS_active, uint8_t cba_group_active,uint8_t HO_
...
@@ -221,16 +221,11 @@ void openair_rrc_top_init(int eMBMS_active, uint8_t cba_group_active,uint8_t HO_
LOG_D
(
RRC
,
"ALLOCATE %d Bytes for UE_RRC_INST @ %p
\n
"
,
(
unsigned
int
)(
NB_UE_INST
*
sizeof
(
UE_RRC_INST
)),
UE_rrc_inst
);
LOG_D
(
RRC
,
"ALLOCATE %d Bytes for UE_RRC_INST @ %p
\n
"
,
(
unsigned
int
)(
NB_UE_INST
*
sizeof
(
UE_RRC_INST
)),
UE_rrc_inst
);
// fill UE capability
// fill UE capability
UECap
=
fill_ue_capability
();
UECap
=
fill_ue_capability
(
uecap_xer
);
for
(
module_id
=
0
;
module_id
<
NB_UE_INST
;
module_id
++
)
{
for
(
module_id
=
0
;
module_id
<
NB_UE_INST
;
module_id
++
)
{
UE_rrc_inst
[
module_id
].
UECapability
=
UECap
->
sdu
;
UE_rrc_inst
[
module_id
].
UECapability
=
UECap
->
sdu
;
UE_rrc_inst
[
module_id
].
UECapability_size
=
UECap
->
sdu_size
;
UE_rrc_inst
[
module_id
].
UECapability_size
=
UECap
->
sdu_size
;
}
}
/*
do_UECapabilityEnquiry(0,
dummy_buffer,
0,
0);*/
#ifdef Rel10
#ifdef Rel10
LOG_I
(
RRC
,
"[UE] eMBMS active state is %d
\n
"
,
eMBMS_active
);
LOG_I
(
RRC
,
"[UE] eMBMS active state is %d
\n
"
,
eMBMS_active
);
for
(
module_id
=
0
;
module_id
<
NB_UE_INST
;
module_id
++
)
{
for
(
module_id
=
0
;
module_id
<
NB_UE_INST
;
module_id
++
)
{
...
...
openair2/UTIL/LOG/vcd_signal_dumper.c
View file @
b72ca3ee
...
@@ -152,6 +152,7 @@ const char* eurecomFunctionsNames[] = {
...
@@ -152,6 +152,7 @@ const char* eurecomFunctionsNames[] = {
"dlsch_decoding7"
,
"dlsch_decoding7"
,
"rx_pdcch"
,
"rx_pdcch"
,
"dci_decoding"
,
"dci_decoding"
,
"rx_phich"
,
"phy_ue_config_sib2"
,
"phy_ue_config_sib2"
,
"macxface_phy_config_sib1_eNB"
,
"macxface_phy_config_sib1_eNB"
,
"macxface_phy_config_sib2_eNB"
,
"macxface_phy_config_sib2_eNB"
,
...
...
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
b72ca3ee
...
@@ -127,6 +127,7 @@ typedef enum {
...
@@ -127,6 +127,7 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING7
,
VCD_SIGNAL_DUMPER_FUNCTIONS_DLSCH_DECODING7
,
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING
,
VCD_SIGNAL_DUMPER_FUNCTIONS_DCI_DECODING
,
VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PHICH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_UE_CONFIG_SIB2
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB1_ENB
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB1_ENB
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB2_ENB
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_CONFIG_SIB2_ENB
,
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc
View file @
b72ca3ee
ETHERNET_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.o
ETHERNET_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.o
ETHERNET_FILE_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
ETHERNET_FILE_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
ETHERNET_CFLAGS
+=
-I
$(OPENAIR_TARGETS)
/ARCH/COMMON
-I
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/
-I
$(OPENAIR_TARGETS)
/COMMON
ETHERNET_CFLAGS
+=
-
O2
-
I
$(OPENAIR_TARGETS)
/ARCH/COMMON
-I
$(OPENAIR_TARGETS)
/ARCH/ETHERNET/USERSPACE/LIB/
-I
$(OPENAIR_TARGETS)
/COMMON
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
View file @
b72ca3ee
...
@@ -106,15 +106,15 @@ int ethernet_write_data(int Mod_id, openair0_timestamp timestamp, const void **b
...
@@ -106,15 +106,15 @@ int ethernet_write_data(int Mod_id, openair0_timestamp timestamp, const void **b
((
int16_t
*
)
buff2
)[
0
]
=
1
+
(
antenna_id
<<
1
);
((
int16_t
*
)
buff2
)[
0
]
=
1
+
(
antenna_id
<<
1
);
((
int16_t
*
)
buff2
)[
1
]
=
nsamps
;
((
int16_t
*
)
buff2
)[
1
]
=
nsamps
;
*
((
openair0_timestamp
*
)(
buff2
+
(
sizeof
(
int16_t
)
*
2
)))
=
timestamp
;
*
((
openair0_timestamp
*
)(
buff2
+
(
sizeof
(
int16_t
)
*
2
)))
=
timestamp
;
printf
(
"Timestamp TX sent : %d
\n
"
,
timestamp
);
//
printf("Timestamp TX sent : %d\n",timestamp);
// printf("buffer head : %d %d %d %d \n",((int16_t *)buff2)[0],((int16_t *)buff2)[1],((int16_t *)buff2)[2],((int16_t *)buff2)[3]);
// printf("buffer head : %d %d %d %d \n",((int16_t *)buff2)[0],((int16_t *)buff2)[1],((int16_t *)buff2)[2],((int16_t *)buff2)[3]);
while
(
n_written
<
nsamps
)
{
while
(
n_written
<
(
nsamps
<<
2
)
)
{
/* Send packet */
/* Send packet */
if
((
n_written
+=
sendto
(
sockfd
[
Mod_id
],
if
((
n_written
+=
sendto
(
sockfd
[
Mod_id
],
buff2
,
buff2
,
(
nsamps
<<
2
)
+
sizeof
(
openair0_timestamp
)
+
(
2
*
sizeof
(
int16_t
)),
(
nsamps
<<
2
)
+
sizeof
(
openair0_timestamp
)
+
(
2
*
sizeof
(
int16_t
)),
0
,
MSG_DONTWAIT
,
(
struct
sockaddr
*
)
&
dest_addr
[
Mod_id
],