Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ZhouShuya
OpenXG-RAN
Commits
8354cfc6
Commit
8354cfc6
authored
Dec 07, 2017
by
lfarizav
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
asking all is_prach_subframe for all UE_id to trigger the do_UL_prach function
parent
25fbe844
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
46 additions
and
375 deletions
+46
-375
openair1/PHY/INIT/lte_init.c
openair1/PHY/INIT/lte_init.c
+1
-1
openair1/PHY/LTE_TRANSPORT/initial_sync.c
openair1/PHY/LTE_TRANSPORT/initial_sync.c
+8
-9
targets/SIMU/USER/channel_sim.c
targets/SIMU/USER/channel_sim.c
+13
-341
targets/SIMU/USER/oaisim.h
targets/SIMU/USER/oaisim.h
+0
-4
targets/SIMU/USER/oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+24
-20
No files found.
openair1/PHY/INIT/lte_init.c
View file @
8354cfc6
...
...
@@ -1106,7 +1106,7 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
LOG_D
(
PHY
,
"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]
\n
"
,
ue
->
Mod_id
+
NB_eNB_INST
);
// many memory allocation sizes are hard coded
AssertFatal
(
fp
->
nb_antennas_rx
<=
2
,
"hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]"
);
AssertFatal
(
fp
->
nb_antennas_rx
<=
2
,
"hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]"
);
AssertFatal
(
ue
->
n_connected_eNB
<=
NUMBER_OF_CONNECTED_eNB_MAX
,
"n_connected_eNB is too large"
);
// do_ofdm_mod for frequency analysis
...
...
openair1/PHY/LTE_TRANSPORT/initial_sync.c
View file @
8354cfc6
...
...
@@ -862,9 +862,9 @@ int initial_sync(PHY_VARS_UE *ue, runmode_t mode)
int
initial_sync_freq
(
PHY_VARS_UE
*
ue
,
runmode_t
mode
)
{
//int32_t sync_pos,sync_pos2,sync_pos_slot;
int32_t
metric_fdd_ncp
=
0
,
metric_fdd_ecp
=
0
,
metric_tdd_ncp
=
0
,
metric_tdd_ecp
=
0
;
uint8_t
phase_fdd_ncp
,
phase_fdd_ecp
,
phase_tdd_ncp
,
phase_tdd_ecp
;
uint8_t
flip_fdd_ncp
,
flip_fdd_ecp
,
flip_tdd_ncp
,
flip_tdd_ecp
;
//
int32_t metric_fdd_ncp=0,metric_fdd_ecp=0,metric_tdd_ncp=0,metric_tdd_ecp=0;
//
uint8_t phase_fdd_ncp,phase_fdd_ecp,phase_tdd_ncp,phase_tdd_ecp;
//
uint8_t flip_fdd_ncp,flip_fdd_ecp,flip_tdd_ncp,flip_tdd_ecp;
// uint16_t Nid_cell_fdd_ncp=0,Nid_cell_fdd_ecp=0,Nid_cell_tdd_ncp=0,Nid_cell_tdd_ecp=0;
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
int
ret
=-
1
;
...
...
@@ -890,14 +890,13 @@ int initial_sync_freq(PHY_VARS_UE *ue, runmode_t mode)
lte_gold
(
frame_parms
,
ue
->
lte_gold_table
[
0
],
frame_parms
->
Nid_cell
);
ret
=
pbch_detection_freq
(
ue
,
mode
);
init_frame_parms
(
frame_parms
,
1
);
printf
(
"dumping enb frame params
\n
"
);
dump_frame_parms
(
&
PHY_vars_eNB_g
[
0
][
0
]
->
frame_parms
);
printf
(
"dumping ue frame params
\n
"
);
dump_frame_parms
(
frame_parms
);
//dump_frame_parms(&ue->frame_parms);
//printf("dumping enb frame params\n");
//dump_frame_parms(&PHY_vars_eNB_g[0][0]->frame_parms);
//printf("dumping ue frame params\n");
//dump_frame_parms(frame_parms);
if
(
ret
==
0
)
{
// fake first PBCH found so indicate sync to higher layers and configure frame parameters
printf
(
"[UE%d] frame_type is %c
\n
"
,
ue
->
Mod_id
,
ue
->
rx_offset
);
//
printf("[UE%d] frame_type is %c\n",ue->Mod_id, ue->rx_offset);
//#ifdef DEBUG_INITIAL_SYNCH
LOG_I
(
PHY
,
"[UE%d] In synch, rx_offset %d samples
\n
"
,
ue
->
Mod_id
,
ue
->
rx_offset
);
//#endif
...
...
targets/SIMU/USER/channel_sim.c
View file @
8354cfc6
This diff is collapsed.
Click to expand it.
targets/SIMU/USER/oaisim.h
View file @
8354cfc6
...
...
@@ -51,10 +51,6 @@ void do_UL_sig_freq(channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][
node_desc_t
*
enb_data
[
NUMBER_OF_eNB_MAX
],
node_desc_t
*
ue_data
[
NUMBER_OF_UE_MAX
],
uint16_t
subframe
,
uint8_t
abstraction_flag
,
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
int
eNB_id
,
uint8_t
CC_id
);
void
do_UL_sig_freq_prach
(
channel_desc_t
*
UE2eNB
[
NUMBER_OF_UE_MAX
][
NUMBER_OF_eNB_MAX
][
MAX_NUM_CCs
],
node_desc_t
*
enb_data
[
NUMBER_OF_eNB_MAX
],
node_desc_t
*
ue_data
[
NUMBER_OF_UE_MAX
],
uint16_t
subframe
,
uint8_t
abstraction_flag
,
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
int
eNB_id
,
uint8_t
CC_id
);
void
do_UL_prach
(
channel_desc_t
*
UE2eNB
[
NUMBER_OF_UE_MAX
][
NUMBER_OF_eNB_MAX
][
MAX_NUM_CCs
],
node_desc_t
*
enb_data
[
NUMBER_OF_eNB_MAX
],
node_desc_t
*
ue_data
[
NUMBER_OF_UE_MAX
],
uint16_t
subframe
,
uint8_t
abstraction_flag
,
LTE_DL_FRAME_PARMS
*
frame_parms
,
...
...
targets/SIMU/USER/oaisim_functions.c
View file @
8354cfc6
...
...
@@ -1044,6 +1044,7 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
int
ret
=
nsamps
;
int
eNB_id
=
device
->
Mod_id
;
int
CC_id
=
device
->
CC_id
;
int
UE_id
=
0
;
int
subframe
;
int
read_samples
,
max_samples
;
...
...
@@ -1052,10 +1053,9 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
*
ptimestamp
=
last_eNB_rx_timestamp
[
eNB_id
][
CC_id
];
int
do_ofdm_mod
=
PHY_vars_UE_g
[
0
][
CC_id
]
->
do_ofdm_mod
;
LTE_DL_FRAME_PARMS
*
frame_parms
=&
PHY_vars_UE_g
[
0
][
CC_id
]
->
frame_parms
;
uint32_t
frame
;
int
n_ra_prb
;
//
int n_ra_prb;
//uint8_t tdd_mapindex = PHY_vars_UE_g[0][0]->prach_resources[eNB_id]->ra_TDD_map_index;
if
(
do_ofdm_mod
)
...
...
@@ -1105,20 +1105,23 @@ int eNB_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void *
//printf("is Prach generated? %d, is prach_subframe? %d, frame %d, subframe %d, mode %d\n",PHY_vars_UE_g[0][CC_id]->generate_prach,is_prach_subframe(frame_parms,frame,subframe),frame,subframe,PHY_vars_UE_g[0][CC_id]->UE_mode[eNB_id]);
if
(
do_ofdm_mod
)
{
if
(
is_prach_subframe
(
frame_parms
,
frame
,
subframe
)
&&
PHY_vars_UE_g
[
0
][
CC_id
]
->
generate_prach
)
{
do_UL_prach
(
UE2eNB
,
enb_data
,
ue_data
,
subframe
,
0
,
// abstraction_flag
&
PHY_vars_eNB_g
[
eNB_id
][
CC_id
]
->
frame_parms
,
0
,
// frame is only used for abstraction
eNB_id
,
CC_id
);
//write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
//generate_prach(PHY_vars_UE_g[0][0],eNB_id,subframe,frame);
//PHY_vars_UE_g[0][0]->generate_prach=1;
for
(
UE_id
=
0
;
UE_id
<
NB_UE_INST
;
UE_id
++
){
if
(
is_prach_subframe
(
&
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
,
frame
,
subframe
)
&&
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
generate_prach
)
{
do_UL_prach
(
UE2eNB
,
enb_data
,
ue_data
,
subframe
,
0
,
// abstraction_flag
&
PHY_vars_eNB_g
[
eNB_id
][
CC_id
]
->
frame_parms
,
0
,
// frame is only used for abstraction
eNB_id
,
CC_id
);
//write_output("txprachF.m","prach_txF", PHY_vars_UE_g[0][CC_id]->prach_vars[0]->prachF,12*frame_parms->ofdm_symbol_size*frame_parms->symbols_per_tti,1,16);
//generate_prach(PHY_vars_UE_g[0][0],eNB_id,subframe,frame);
//PHY_vars_UE_g[0][0]->generate_prach=1;
break
;
}
}
do_UL_sig_freq
(
UE2eNB
,
...
...
@@ -1160,13 +1163,14 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
int
ret
=
nsamps
;
int
UE_id
=
device
->
Mod_id
;
int
CC_id
=
device
->
CC_id
;
int
subframe
,
frame
;
int
subframe
;
//int frame=0;
int
read_samples
,
max_samples
;
openair0_timestamp
last
=
last_UE_rx_timestamp
[
UE_id
][
CC_id
];
*
ptimestamp
=
last_UE_rx_timestamp
[
UE_id
][
CC_id
];
int
do_ofdm_mod
=
PHY_vars_UE_g
[
0
][
0
]
->
do_ofdm_mod
;
int
do_ofdm_mod
=
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
do_ofdm_mod
;
LOG_D
(
EMU
,
"UE_trx_read nsamps %d TS(%llu,%llu) antenna %d
\n
"
,
nsamps
,
(
unsigned
long
long
)
current_UE_rx_timestamp
[
UE_id
][
CC_id
],
...
...
@@ -1206,12 +1210,12 @@ int UE_trx_read(openair0_device *device, openair0_timestamp *ptimestamp, void **
if
(
do_ofdm_mod
)
{
subframe
=
(
last
/
(
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
ofdm_symbol_size
*
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
symbols_per_tti
))
%
10
;
frame
=
(
last
/
(
10
*
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
ofdm_symbol_size
*
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
symbols_per_tti
))
%
1023
;
//
frame = (last/(10*PHY_vars_UE_g[UE_id][CC_id]->frame_parms.ofdm_symbol_size*PHY_vars_UE_g[UE_id][CC_id]->frame_parms.symbols_per_tti))%1023;
}
else
{
subframe
=
(
last
/
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
samples_per_tti
)
%
10
;
frame
=
(
last
/
(
10
*
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
frame_parms
.
samples_per_tti
))
%
1023
;
//
frame = (last/(10*PHY_vars_UE_g[UE_id][CC_id]->frame_parms.samples_per_tti))%1023;
}
//printf("[oaisim_functs]UE_trx_read DL subframe %d, frame %d\n",subframe,frame);
//subframe = (subframe+9) % 10;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment