Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
OpenXG
OpenXG UE
Commits
411270f4
Commit
411270f4
authored
May 01, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix phy-simulators
parent
715a8e58
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
62 additions
and
26 deletions
+62
-26
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+2
-2
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+21
-12
openair1/SIMULATION/NR_PHY/prachsim.c
openair1/SIMULATION/NR_PHY/prachsim.c
+13
-0
openair1/SIMULATION/NR_PHY/pucchsim.c
openair1/SIMULATION/NR_PHY/pucchsim.c
+5
-4
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+17
-6
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+1
-1
openair2/RRC/NR/rrc_gNB_NGAP.c
openair2/RRC/NR/rrc_gNB_NGAP.c
+3
-1
No files found.
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
View file @
411270f4
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
411270f4
...
...
@@ -86,7 +86,7 @@ uint64_t downlink_frequency[MAX_NUM_CCs][4];
THREAD_STRUCT
thread_struct
;
nfapi_ue_release_request_body_t
release_rntis
;
msc_interface_t
msc_interface
;
uint32_t
N_RB_DL
=
106
;
// dummy functions
int
dummy_nr_ue_ul_indication
(
nr_uplink_indication_t
*
ul_info
)
{
return
(
0
);
}
...
...
@@ -202,6 +202,17 @@ int is_x2ap_enabled(void)
return
0
;
}
int
DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER
(
module_id_t
module_idP
,
int
CC_idP
,
int
UE_id
,
rnti_t
rntiP
,
const
uint8_t
*
sduP
,
sdu_size_t
sdu_lenP
,
const
uint8_t
*
sdu2P
,
sdu_size_t
sdu2_lenP
)
{
return
0
;
}
//nFAPI P7 dummy functions
int
oai_nfapi_dl_tti_req
(
nfapi_nr_dl_tti_request_t
*
dl_config_req
)
{
return
(
0
);
}
...
...
@@ -224,22 +235,22 @@ void nr_dlsim_preprocessor(module_id_t module_id,
NR_UE_info_t
*
UE_info
=
&
RC
.
nrmac
[
module_id
]
->
UE_info
;
AssertFatal
(
UE_info
->
num_UEs
==
1
,
"can have only a single UE
\n
"
);
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE_info
->
UE_sched_ctrl
[
0
];
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
0
]
->
common_channels
[
0
].
ServingCellConfigCommon
;
/* manually set free CCE to 0 */
const
int
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
sched_ctrl
->
search_space
=
get_searchspace
(
sc
hed_ctrl
->
active_bwp
,
target_ss
);
sched_ctrl
->
search_space
=
get_searchspace
(
sc
c
,
sched_ctrl
->
active_bwp
?
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
uint8_t
nr_of_candidates
;
find_aggregation_candidates
(
&
sched_ctrl
->
aggregation_level
,
&
nr_of_candidates
,
sched_ctrl
->
search_space
);
sched_ctrl
->
coreset
=
get_coreset
(
sched_ctrl
->
active_bwp
,
sched_ctrl
->
search_space
,
1
/* dedicated */
);
sched_ctrl
->
coreset
=
get_coreset
(
scc
,
sched_ctrl
->
active_bwp
,
sched_ctrl
->
search_space
,
target_ss
);
sched_ctrl
->
cce_index
=
0
;
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
const
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
0
]
->
common_channels
[
0
].
ServingCellConfigCommon
;
nr_set_pdsch_semi_static
(
scc
,
UE_info
->
secondary
CellGroup
[
0
],
UE_info
->
CellGroup
[
0
],
sched_ctrl
->
active_bwp
,
/* tda = */
2
,
/* num_dmrs_cdm_grps_no_data = */
1
,
...
...
@@ -349,8 +360,6 @@ int main(int argc, char **argv)
NR_UE_MAC_INST_t
*
UE_mac
;
int
cyclic_prefix_type
=
NFAPI_CP_NORMAL
;
int
run_initial_sync
=
0
;
int
pusch_tgt_snrx10
=
200
;
int
pucch_tgt_snrx10
=
200
;
int
loglvl
=
OAILOG_INFO
;
//float target_error_rate = 0.01;
...
...
@@ -742,9 +751,9 @@ int main(int argc, char **argv)
AssertFatal
((
gNB
->
if_inst
=
NR_IF_Module_init
(
0
))
!=
NULL
,
"Cannot register interface"
);
gNB
->
if_inst
->
NR_PHY_config_req
=
nr_phy_config_request
;
// common configuration
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
1
,
pusch_tgt_snrx10
,
pucch_tgt_snrx10
,
scc
,
0
,
0
,
NULL
);
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
n_tx
,
scc
,
0
,
0
,
NULL
);
// UE dedicated configuration
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
1
,
pusch_tgt_snrx10
,
pucch_tgt_snrx10
,
NULL
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
n_tx
,
scc
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
// reset preprocessor to the one of DLSIM after it has been set during
// rrc_mac_config_req_gNB
gNB_mac
->
pre_processor_dl
=
nr_dlsim_preprocessor
;
...
...
@@ -899,7 +908,7 @@ int main(int argc, char **argv)
rrc
.
carrier
.
MIB
=
(
uint8_t
*
)
malloc
(
4
);
rrc
.
carrier
.
sizeof_MIB
=
do_MIB_NR
(
&
rrc
,
0
);
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
rrc
.
carrier
.
mib
.
message
.
choice
.
mib
,
secondaryCellGroup
);
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
rrc
.
carrier
.
mib
.
message
.
choice
.
mib
,
rrc
.
carrier
.
sib1
->
servingCellConfigCommon
,
UE_info
->
CellGroup
[
0
],
secondaryCellGroup
);
nr_dcireq_t
dcireq
;
...
...
openair1/SIMULATION/NR_PHY/prachsim.c
View file @
411270f4
...
...
@@ -66,8 +66,10 @@ double cpuf;
extern
uint16_t
prach_root_sequence_map0_3
[
838
];
openair0_config_t
openair0_cfg
[
MAX_CARDS
];
//uint8_t nfapi_mode=0;
uint64_t
downlink_frequency
[
MAX_NUM_CCs
][
4
];
uint16_t
sl_ahead
=
0
;
msc_interface_t
msc_interface
;
uint32_t
N_RB_DL
=
106
;
//void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe);
...
...
@@ -174,6 +176,17 @@ int nr_derive_key(int alg_type, uint8_t alg_id,
return
0
;
}
int
DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER
(
module_id_t
module_idP
,
int
CC_idP
,
int
UE_id
,
rnti_t
rntiP
,
const
uint8_t
*
sduP
,
sdu_size_t
sdu_lenP
,
const
uint8_t
*
sdu2P
,
sdu_size_t
sdu2_lenP
)
{
return
0
;
}
int
main
(
int
argc
,
char
**
argv
){
char
c
;
...
...
openair1/SIMULATION/NR_PHY/pucchsim.c
View file @
411270f4
...
...
@@ -91,6 +91,7 @@ int main(int argc, char **argv)
//uint8_t nacktoack_flag=0;
int16_t
amp
=
0x7FFF
;
int
nr_slot_tx
=
0
;
int
nr_frame_tx
=
0
;
uint64_t
actual_payload
=
0
,
payload_received
;
int
nr_bit
=
1
;
// maximum value possible is 2
uint8_t
m0
=
0
;
// higher layer paramater initial cyclic shift
...
...
@@ -501,7 +502,7 @@ int main(int argc, char **argv)
for
(
trial
=
0
;
trial
<
n_trials
;
trial
++
)
{
bzero
(
txdataF
[
aa
],
frame_parms
->
ofdm_symbol_size
*
sizeof
(
int
));
if
(
format
==
0
){
nr_generate_pucch0
(
UE
,
txdataF
,
frame_parms
,
PUCCH_GroupHopping
,
hopping_id
,
amp
,
nr_slot_tx
,
m0
,
mcs
,
nrofSymbols
,
startingSymbolIndex
,
startingPRB
);
nr_generate_pucch0
(
UE
,
txdataF
,
frame_parms
,
PUCCH_GroupHopping
,
hopping_id
,
amp
,
nr_slot_tx
,
m0
,
mcs
,
nrofSymbols
,
startingSymbolIndex
,
startingPRB
,
0
);
}
else
if
(
format
==
1
){
nr_generate_pucch1
(
UE
,
txdataF
,
frame_parms
,
UE
->
pucch_config_dedicated
,
actual_payload
,
amp
,
nr_slot_tx
,
m0
,
nrofSymbols
,
startingSymbolIndex
,
startingPRB
,
startingPRB_intraSlotHopping
,
0
,
nr_bit
);
...
...
@@ -532,7 +533,7 @@ int main(int argc, char **argv)
int
rb2
=
rb
+
startingPRB
;
gNB
->
rb_mask_ul
[
rb2
>>
5
]
|=
(
1
<<
(
rb2
&
31
));
}
gNB_I0_measurements
(
gNB
);
gNB_I0_measurements
(
gNB
,
startingSymbolIndex
,
nrofSymbols
);
if
(
n_trials
==
1
)
printf
(
"rxlev %d (%d dB), sigma2 %f dB, SNR %f, TX %f
\n
"
,
rxlev
,
dB_fixed
(
rxlev
),
sigma2_dB
,
SNR
,
10
*
log10
((
double
)
txlev
*
UE
->
frame_parms
.
ofdm_symbol_size
/
12
));
if
(
format
==
0
){
...
...
@@ -550,7 +551,7 @@ int main(int argc, char **argv)
pucch_pdu
.
initial_cyclic_shift
=
0
;
pucch_pdu
.
start_symbol_index
=
startingSymbolIndex
;
pucch_pdu
.
prb_start
=
startingPRB
;
nr_decode_pucch0
(
gNB
,
nr_slot_tx
,
&
uci_pdu
,
&
pucch_pdu
);
nr_decode_pucch0
(
gNB
,
nr_frame_tx
,
nr_slot_tx
,
&
uci_pdu
,
&
pucch_pdu
);
if
(
sr_flag
==
1
){
if
(
uci_pdu
.
sr
->
sr_indication
==
0
||
uci_pdu
.
sr
->
sr_confidence_level
==
1
)
sr_errors
+=
1
;
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
411270f4
...
...
@@ -84,6 +84,7 @@ uint64_t downlink_frequency[MAX_NUM_CCs][4];
THREAD_STRUCT
thread_struct
;
nfapi_ue_release_request_body_t
release_rntis
;
msc_interface_t
msc_interface
;
uint32_t
N_RB_DL
=
106
;
extern
void
fix_scd
(
NR_ServingCellConfig_t
*
scd
);
// forward declaration
...
...
@@ -185,6 +186,17 @@ int8_t nr_mac_rrc_data_req_ue(const module_id_t Mod_idP,
return
0
;
}
int
DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER
(
module_id_t
module_idP
,
int
CC_idP
,
int
UE_id
,
rnti_t
rntiP
,
const
uint8_t
*
sduP
,
sdu_size_t
sdu_lenP
,
const
uint8_t
*
sdu2P
,
sdu_size_t
sdu2_lenP
)
{
return
0
;
}
//nFAPI P7 dummy functions
int
oai_nfapi_dl_tti_req
(
nfapi_nr_dl_tti_request_t
*
dl_config_req
)
{
return
(
0
);
}
...
...
@@ -282,8 +294,6 @@ int main(int argc, char **argv)
int
file_offset
=
0
;
double
DS_TDL
=
.
03
;
int
pusch_tgt_snrx10
=
200
;
int
pucch_tgt_snrx10
=
200
;
int
ibwps
=
24
;
int
ibwp_rboffset
=
41
;
int
params_from_file
=
0
;
...
...
@@ -680,9 +690,9 @@ int main(int argc, char **argv)
gNB
->
if_inst
->
NR_PHY_config_req
=
nr_phy_config_request
;
// common configuration
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
n_rx
,
pusch_tgt_snrx10
,
pucch_tgt_snrx10
,
scc
,
0
,
0
,
NULL
);
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
n_tx
,
scc
,
0
,
0
,
NULL
);
// UE dedicated configuration
rrc_mac_config_req_gNB
(
0
,
0
,
1
,
1
,
pusch_tgt_snrx10
,
pucch_tgt_snrx10
,
NULL
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
rrc_mac_config_req_gNB
(
0
,
0
,
n_tx
,
n_tx
,
scc
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
phy_init_nr_gNB
(
gNB
,
0
,
0
);
N_RB_DL
=
gNB
->
frame_parms
.
N_RB_DL
;
...
...
@@ -740,7 +750,7 @@ int main(int argc, char **argv)
rrc
.
carrier
.
MIB
=
(
uint8_t
*
)
malloc
(
4
);
rrc
.
carrier
.
sizeof_MIB
=
do_MIB_NR
(
&
rrc
,
0
);
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
rrc
.
carrier
.
mib
.
message
.
choice
.
mib
,
secondaryCellGroup
);
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
rrc
.
carrier
.
mib
.
message
.
choice
.
mib
,
rrc
.
carrier
.
sib1
->
servingCellConfigCommon
,
secondaryCellGroup
,
secondaryCellGroup
);
nr_ue_phy_config_request
(
&
UE_mac
->
phy_config
);
...
...
@@ -1293,7 +1303,8 @@ int main(int argc, char **argv)
(
double
)
errors_scrambling
[
3
]
/
available_bits
/
round_trials
[
0
],
roundStats
[
snrRun
],
effRate
,
effRate
/
TBS
*
100
,
TBS
);
dump_pusch_stats
(
gNB
);
FILE
*
fd
=
fopen
(
"nr_ulsim.log"
,
"w"
);
dump_pusch_stats
(
fd
,
gNB
);
printf
(
"*****************************************
\n
"
);
printf
(
"
\n
"
);
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
411270f4
openair2/RRC/NR/rrc_gNB_NGAP.c
View file @
411270f4
...
...
@@ -304,10 +304,12 @@ nr_rrc_pdcp_config_security(
uint8_t
*
kRRCenc
=
NULL
;
uint8_t
*
kRRCint
=
NULL
;
uint8_t
*
kUPenc
=
NULL
;
uint8_t
*
k_kdf
=
NULL
;
static
int
print_keys
=
1
;
#ifndef PHYSIM
uint8_t
*
k_kdf
=
NULL
;
/* Derive the keys from kgnb */
if
(
SRB_configList
!=
NULL
)
{
k_kdf
=
NULL
;
...
...
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