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
promise
OpenXG-RAN
Commits
5ef2af1c
Commit
5ef2af1c
authored
Mar 17, 2020
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor changes
parent
9bbb12f7
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
22 additions
and
21 deletions
+22
-21
openair1/PHY/MODULATION/modulation_UE.h
openair1/PHY/MODULATION/modulation_UE.h
+6
-0
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+4
-4
openair1/PHY/NR_TRANSPORT/nr_ulsch.c
openair1/PHY/NR_TRANSPORT/nr_ulsch.c
+4
-5
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
+3
-8
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+1
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+1
-2
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
+1
-1
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+2
-0
No files found.
openair1/PHY/MODULATION/modulation_UE.h
View file @
5ef2af1c
...
@@ -54,6 +54,12 @@ int nr_slot_fep(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -54,6 +54,12 @@ int nr_slot_fep(PHY_VARS_NR_UE *phy_vars_ue,
int
sample_offset
,
int
sample_offset
,
int
no_prefix
);
int
no_prefix
);
int
nr_slot_fep_init_sync
(
PHY_VARS_NR_UE
*
ue
,
unsigned
char
symbol
,
unsigned
char
Ns
,
int
sample_offset
,
int
no_prefix
);
int
slot_fep_mbsfn
(
PHY_VARS_UE
*
phy_vars_ue
,
int
slot_fep_mbsfn
(
PHY_VARS_UE
*
phy_vars_ue
,
unsigned
char
l
,
unsigned
char
l
,
int
subframe
,
int
subframe
,
...
...
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
5ef2af1c
...
@@ -211,10 +211,10 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
...
@@ -211,10 +211,10 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
}
}
int
nr_slot_fep_init_sync
(
PHY_VARS_NR_UE
*
ue
,
int
nr_slot_fep_init_sync
(
PHY_VARS_NR_UE
*
ue
,
unsigned
char
symbol
,
unsigned
char
symbol
,
unsigned
char
Ns
,
unsigned
char
Ns
,
int
sample_offset
,
int
sample_offset
,
int
no_prefix
)
int
no_prefix
)
{
{
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
NR_UE_COMMON
*
common_vars
=
&
ue
->
common_vars
;
...
...
openair1/PHY/NR_TRANSPORT/nr_ulsch.c
View file @
5ef2af1c
...
@@ -83,11 +83,10 @@ void nr_fill_ulsch(PHY_VARS_gNB *gNB,
...
@@ -83,11 +83,10 @@ void nr_fill_ulsch(PHY_VARS_gNB *gNB,
}
}
void
nr_ulsch_unscrambling
(
int16_t
*
llr
,
void
nr_ulsch_unscrambling
(
int16_t
*
llr
,
uint32_t
size
,
uint32_t
size
,
uint8_t
q
,
uint8_t
q
,
uint32_t
Nid
,
uint32_t
Nid
,
uint32_t
n_RNTI
)
uint32_t
n_RNTI
)
{
{
uint8_t
reset
;
uint8_t
reset
;
uint32_t
x1
,
x2
,
s
=
0
;
uint32_t
x1
,
x2
,
s
=
0
;
...
...
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
View file @
5ef2af1c
...
@@ -329,7 +329,6 @@ void nr_ulsch_scale_channel(int **ul_ch_estimates_ext,
...
@@ -329,7 +329,6 @@ void nr_ulsch_scale_channel(int **ul_ch_estimates_ext,
nb_rb
=
(
2
*
nb_rb
)
/
3
;
nb_rb
=
(
2
*
nb_rb
)
/
3
;
}
}
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
ul_ch128
[
0
]
=
_mm_mulhi_epi16
(
ul_ch128
[
0
],
ch_amp128
);
ul_ch128
[
0
]
=
_mm_mulhi_epi16
(
ul_ch128
[
0
],
ch_amp128
);
...
@@ -403,7 +402,7 @@ void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
...
@@ -403,7 +402,7 @@ void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
symbol_mod
=
(
symbol
>=
(
7
-
frame_parms
->
Ncp
))
?
symbol
-
(
7
-
frame_parms
->
Ncp
)
:
symbol
;
symbol_mod
=
(
symbol
>=
(
7
-
frame_parms
->
Ncp
))
?
symbol
-
(
7
-
frame_parms
->
Ncp
)
:
symbol
;
for
(
aatx
=
0
;
aatx
<
frame_parms
->
nb_antenna_ports_gNB
;
aatx
++
)
for
(
aatx
=
0
;
aatx
<
frame_parms
->
nb_antenna_ports_gNB
;
aatx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
//clear average level
//clear average level
avg128U
=
vdupq_n_s32
(
0
);
avg128U
=
vdupq_n_s32
(
0
);
...
@@ -446,8 +445,7 @@ void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
...
@@ -446,8 +445,7 @@ void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
((
int32_t
*
)
&
avg128U
)[
2
]
+
((
int32_t
*
)
&
avg128U
)[
2
]
+
((
int32_t
*
)
&
avg128U
)[
3
]
)
/
(
nb_rb
*
nre
);
((
int32_t
*
)
&
avg128U
)[
3
]
)
/
(
nb_rb
*
nre
);
}
}
}
#endif
#endif
}
}
...
@@ -666,7 +664,6 @@ void nr_ulsch_channel_compensation(int **rxdataF_ext,
...
@@ -666,7 +664,6 @@ void nr_ulsch_channel_compensation(int **rxdataF_ext,
if
(
rho
)
{
if
(
rho
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
rho128
=
(
__m128i
*
)
&
rho
[
aarx
][
symbol
*
frame_parms
->
N_RB_UL
*
12
];
rho128
=
(
__m128i
*
)
&
rho
[
aarx
][
symbol
*
frame_parms
->
N_RB_UL
*
12
];
ul_ch128
=
(
__m128i
*
)
&
ul_ch_estimates_ext
[
aarx
][
symbol
*
frame_parms
->
N_RB_UL
*
12
];
ul_ch128
=
(
__m128i
*
)
&
ul_ch_estimates_ext
[
aarx
][
symbol
*
frame_parms
->
N_RB_UL
*
12
];
...
@@ -748,7 +745,6 @@ void nr_ulsch_channel_compensation(int **rxdataF_ext,
...
@@ -748,7 +745,6 @@ void nr_ulsch_channel_compensation(int **rxdataF_ext,
#elif defined(__arm__)
#elif defined(__arm__)
unsigned
short
rb
;
unsigned
short
rb
;
unsigned
char
aatx
,
aarx
,
symbol_mod
,
is_dmrs_symbol
=
0
;
unsigned
char
aatx
,
aarx
,
symbol_mod
,
is_dmrs_symbol
=
0
;
...
@@ -1017,7 +1013,6 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
...
@@ -1017,7 +1013,6 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
nb_re_pusch
=
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
;
nb_re_pusch
=
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
;
}
}
//----------------------------------------------------------
//----------------------------------------------------------
//--------------------- Channel estimation ---------------------
//--------------------- Channel estimation ---------------------
//----------------------------------------------------------
//----------------------------------------------------------
...
@@ -1071,7 +1066,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
...
@@ -1071,7 +1066,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
gNB
->
pusch_vars
[
UE_id
]
->
log2_maxh
=
(
log2_approx
(
avgs
)
/
2
)
+
1
;
gNB
->
pusch_vars
[
UE_id
]
->
log2_maxh
=
(
log2_approx
(
avgs
)
/
2
)
+
1
;
gNB
->
pusch_vars
[
UE_id
]
->
cl_done
=
1
;
gNB
->
pusch_vars
[
UE_id
]
->
cl_done
=
1
;
}
}
nr_ulsch_channel_compensation
(
gNB
->
pusch_vars
[
UE_id
]
->
rxdataF_ext
,
nr_ulsch_channel_compensation
(
gNB
->
pusch_vars
[
UE_id
]
->
rxdataF_ext
,
gNB
->
pusch_vars
[
UE_id
]
->
ul_ch_estimates_ext
,
gNB
->
pusch_vars
[
UE_id
]
->
ul_ch_estimates_ext
,
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
5ef2af1c
...
@@ -702,7 +702,7 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
...
@@ -702,7 +702,7 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
avgs
=
cmax
(
avgs
,
avgP
[
aarx
]);
avgs
=
cmax
(
avgs
,
avgP
[
aarx
]);
log2_maxh
=
(
log2_approx
(
avgs
)
/
2
)
+
5
;
//+frame_parms->nb_antennas_rx;
log2_maxh
=
(
log2_approx
(
avgs
)
/
2
)
+
5
;
//+frame_parms->nb_antennas_rx;
#ifdef UE_DEBUG_TRACE
#ifdef UE_DEBUG_TRACE
LOG_D
(
PHY
,
"slot %d: pdcch log2_maxh = %d (%d,%d)
\n
"
,
slot
,
log2_maxh
,
avgP
[
0
],
avgs
);
LOG_D
(
PHY
,
"slot %d: pdcch log2_maxh = %d (%d,%d)
\n
"
,
slot
,
log2_maxh
,
avgP
[
0
],
avgs
);
#endif
#endif
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
5ef2af1c
...
@@ -224,7 +224,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ULSCH
...
@@ -224,7 +224,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ULSCH
number_symbols
=
pusch_pdu
->
nr_of_symbols
;
number_symbols
=
pusch_pdu
->
nr_of_symbols
;
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_symbols
;
l
++
)
for
(
l
=
start_symbol
;
l
<
start_symbol
+
number_symbols
;
l
++
)
number_dmrs_symbols
+=
((
pusch_pdu
->
ul_dmrs_symb_pos
)
>>
l
)
&
0x01
;
;
number_dmrs_symbols
+=
((
pusch_pdu
->
ul_dmrs_symb_pos
)
>>
l
)
&
0x01
;
if
(
nodata_dmrs
)
if
(
nodata_dmrs
)
nb_re_dmrs
=
12
*
number_dmrs_symbols
;
nb_re_dmrs
=
12
*
number_dmrs_symbols
;
...
@@ -238,7 +238,6 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ULSCH
...
@@ -238,7 +238,6 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ULSCH
pusch_pdu
->
qam_mod_order
,
pusch_pdu
->
qam_mod_order
,
pusch_pdu
->
nrOfLayers
);
pusch_pdu
->
nrOfLayers
);
//----------------------------------------------------------
//----------------------------------------------------------
//------------------- ULSCH unscrambling -------------------
//------------------- ULSCH unscrambling -------------------
//----------------------------------------------------------
//----------------------------------------------------------
...
...
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
View file @
5ef2af1c
...
@@ -161,7 +161,7 @@ void fill_scc(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_RB_DL
...
@@ -161,7 +161,7 @@ void fill_scc(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_RB_DL
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rsrp_ThresholdSSB
=
19
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rsrp_ThresholdSSB
=
19
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
present
=
NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
present
=
NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
choice
.
l139
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
choice
.
l139
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
restrictedSetConfig
=
NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet
,
TYPE_INT64
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
restrictedSetConfig
=
NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
k2
=
2
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
k2
=
2
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
startSymbolAndLength
=
55
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
.
array
[
0
]
->
startSymbolAndLength
=
55
;
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
5ef2af1c
...
@@ -46,12 +46,14 @@
...
@@ -46,12 +46,14 @@
#include "PHY/NR_TRANSPORT/nr_ulsch.h"
#include "PHY/NR_TRANSPORT/nr_ulsch.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/TOOLS/tools_defs.h"
#include "PHY/TOOLS/tools_defs.h"
#include "SCHED_NR/fapi_nr_l1.h"
#include "SCHED_NR/sched_nr.h"
#include "SCHED_NR/sched_nr.h"
#include "SCHED_NR_UE/defs.h"
#include "SCHED_NR_UE/defs.h"
#include "SCHED_NR_UE/fapi_nr_ue_l1.h"
#include "SCHED_NR_UE/fapi_nr_ue_l1.h"
#include "openair1/SIMULATION/TOOLS/sim.h"
#include "openair1/SIMULATION/TOOLS/sim.h"
#include "openair1/SIMULATION/RF/rf.h"
#include "openair1/SIMULATION/RF/rf.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
#include "openair2/RRC/NR/MESSAGES/asn1_msg.h"
//#include "openair1/SIMULATION/NR_PHY/nr_dummy_functions.c"
//#include "openair1/SIMULATION/NR_PHY/nr_dummy_functions.c"
#include "LAYER2/NR_MAC_UE/mac_proto.h"
#include "LAYER2/NR_MAC_UE/mac_proto.h"
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
...
...
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