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
ab5626de
Commit
ab5626de
authored
Jan 29, 2019
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UE config changes/DMRS length fixed
parent
71e28181
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
23 additions
and
23 deletions
+23
-23
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+8
-4
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+1
-1
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+2
-2
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+3
-7
openair2/LAYER2/NR_MAC_gNB/main.c
openair2/LAYER2/NR_MAC_gNB/main.c
+2
-2
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+4
-4
targets/RT/USER/nr-ru.c
targets/RT/USER/nr-ru.c
+2
-2
No files found.
openair1/PHY/NR_TRANSPORT/nr_dci.c
View file @
ab5626de
...
...
@@ -32,8 +32,8 @@
#include "nr_dci.h"
#define DEBUG_PDCCH_DMRS
#define DEBUG_DCI
//
#define DEBUG_PDCCH_DMRS
//
#define DEBUG_DCI
//#define DEBUG_CHANNEL_CODING
#define PDCCH_TEST_POLAR_TEMP_FIX
...
...
@@ -181,8 +181,6 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
/*First iteration: single DCI*/
NR_gNB_DCI_ALLOC_t
dci_alloc
=
pdcch_vars
.
dci_alloc
[
0
];
nfapi_nr_dl_config_pdcch_parameters_rel15_t
pdcch_params
=
dci_alloc
.
pdcch_params
;
uint16_t
dmrs_length
=
dci_alloc
.
L
*
36
;
//2(QPSK)*3(per RB)*6(REG per CCE)
uint16_t
encoded_length
=
dci_alloc
.
L
*
108
;
//2(QPSK)*9(per RB)*6(REG per CCE)
/*The coreset is initialised
* in frequency: the first subcarrier is obtained by adding the first CRB overlapping the SSB and the rb_offset for coreset 0
...
...
@@ -199,6 +197,12 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
dci_idx
=
0
;
LOG_I
(
PHY
,
"Coreset starting subcarrier %d on symbol %d (%d symbols)
\n
"
,
cset_start_sc
,
cset_start_symb
,
cset_nsymb
);
// DMRS length is per OFDM symbol
uint16_t
dmrs_length
=
(
pdcch_params
.
precoder_granularity
==
NFAPI_NR_CSET_ALL_CONTIGUOUS_RBS
)
?
(
pdcch_params
.
n_rb
*
6
)
:
(
dci_alloc
.
L
*
36
/
cset_nsymb
);
//2(QPSK)*3(per RB)*6(REG per CCE)
uint16_t
encoded_length
=
dci_alloc
.
L
*
108
;
//2(QPSK)*9(per RB)*6(REG per CCE)
LOG_I
(
PHY
,
"DMRS length per symbol %d
\t
DCI encoded length %d
\n
"
,
dmrs_length
,
encoded_length
);
/// DMRS QPSK modulation
/*There is a need to shift from which index the pregenerated DMRS sequence is used
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
ab5626de
...
...
@@ -49,7 +49,7 @@
//#define NR_LTE_PDCCH_DCI_SWITCH
#define NR_PDCCH_DCI_RUN // activates new nr functions
//
#define NR_PDCCH_DCI_DEBUG // activates NR_PDCCH_DCI_DEBUG logs
#define NR_PDCCH_DCI_DEBUG // activates NR_PDCCH_DCI_DEBUG logs
#define NR_NBR_CORESET_ACT_BWP 3 // The number of CoreSets per BWP is limited to 3 (including initial CORESET: ControlResourceId 0)
#define NR_NBR_SEARCHSPACE_ACT_BWP 10 // The number of SearSpaces per BWP is limited to 10 (including initial SEARCHSPACE: SearchSpaceId 0)
#define PDCCH_TEST_POLAR_TEMP_FIX
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
ab5626de
...
...
@@ -88,8 +88,8 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
interleaversize
=
dci_config
->
coreset
.
cce_reg_interleaved_interleaver_size
;
}
else
{
//CCE_REG_MAPPING_TYPE_NON_INTERLEAVED
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
shiftIndex
=
0
;
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
reg_bundlesize
=
0
;
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
interleaversize
=
0
;
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
reg_bundlesize
=
6
;
pdcch_vars2
->
coreset
[
i
].
cce_reg_mappingType
.
interleaversize
=
1
;
}
pdcch_vars2
->
coreset
[
i
].
precoderGranularity
=
dci_config
->
coreset
.
precoder_granularity
;
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
ab5626de
...
...
@@ -3156,7 +3156,7 @@ int nr_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *
// FIXME! A table of five enum elements
// searchSpaceType indicates whether this is a common search space or a UE-specific search space
//int searchSpaceType = pdcch_vars2->searchSpace[nb_searchspace_active].searchSpaceType.type;
NR_SEARCHSPACE_TYPE_t
searchSpaceType
=
common
;
NR_SEARCHSPACE_TYPE_t
searchSpaceType
=
ue_specific
;
//
common;
#ifdef NR_PDCCH_SCHED_DEBUG
printf
(
"<-NR_PDCCH_PHY_PROCEDURES_LTE_UE (nr_ue_pdcch_procedures)-> searchSpaceType=%d is hardcoded THIS HAS TO BE FIXED!!!
\n
"
,
searchSpaceType
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
ab5626de
...
...
@@ -272,10 +272,9 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
params_rel15
->
rnti_type
=
NFAPI_NR_RNTI_C
;
params_rel15
->
dci_format
=
NFAPI_NR_DL_DCI_FORMAT_1_0
;
//params_rel15->aggregation_level = 1;
LOG_I
(
MAC
,
"DCI
type 1 params: rmsi_pdcch_config %d,
rnti %d, rnti_type %d, dci_format %d
\n
\
LOG_I
(
MAC
,
"DCI
params:
rnti %d, rnti_type %d, dci_format %d
\n
\
coreset params: mux_pattern %d, n_rb %d, n_symb %d, rb_offset %d
\n
\
ss params : nb_ss_sets_per_slot %d, first symb %d, nb_slots %d, sfn_mod2 %d, first slot %d
\n
"
,
0
,
ss params : first symb %d, ss type %d
\n
"
,
params_rel15
->
rnti
,
params_rel15
->
rnti_type
,
params_rel15
->
dci_format
,
...
...
@@ -283,11 +282,8 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
params_rel15
->
n_rb
,
params_rel15
->
n_symb
,
params_rel15
->
rb_offset
,
params_rel15
->
nb_ss_sets_per_slot
,
params_rel15
->
first_symbol
,
params_rel15
->
nb_slots
,
params_rel15
->
sfn_mod2
,
params_rel15
->
first_slot
);
params_rel15
->
search_space_type
);
nr_get_tbs
(
&
dl_config_dlsch_pdu
->
dlsch_pdu
,
dl_config_dci_pdu
->
dci_dl_pdu
,
*
cfg
);
LOG_I
(
MAC
,
"DLSCH PDU: start PRB %d n_PRB %d start symbol %d nb_symbols %d nb_layers %d nb_codewords %d mcs %d
\n
"
,
dlsch_pdu_rel15
->
start_prb
,
...
...
openair2/LAYER2/NR_MAC_gNB/main.c
View file @
ab5626de
...
...
@@ -47,10 +47,10 @@ extern RAN_CONTEXT_t RC;
void
nr_init_coreset
(
nfapi_nr_coreset_t
*
coreset
)
{
coreset
->
coreset_id
=
1
;
coreset
->
frequency_domain_resources
=
0x1F
E00000000
;
// 48
RB starting from CRB0
coreset
->
frequency_domain_resources
=
0x1F
FFE0000000
;
// 96
RB starting from CRB0
coreset
->
duration
=
2
;
coreset
->
cce_reg_mapping_type
=
NFAPI_NR_CCE_REG_MAPPING_NON_INTERLEAVED
;
coreset
->
precoder_granularity
=
NFAPI_NR_CSET_
ALL_CONTIGUOUS_RBS
;
coreset
->
precoder_granularity
=
NFAPI_NR_CSET_
SAME_AS_REG_BUNDLE
;
coreset
->
tci_present_in_dci
=
0
;
coreset
->
dmrs_scrambling_id
=
0
;
}
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
ab5626de
...
...
@@ -271,8 +271,8 @@ int nr_ue_dcireq(nr_dcireq_t *dcireq) {
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
rnti
=
0xaaaa
;
// to be set
uint64_t
mask
=
0x0
;
uint16_t
num_rbs
=
48
;
uint16_t
rb_offset
=
47
;
uint16_t
num_rbs
=
96
;
uint16_t
rb_offset
=
0
;
uint16_t
cell_id
=
0
;
uint16_t
num_symbols
=
2
;
for
(
int
i
=
0
;
i
<
(
num_rbs
/
6
);
++
i
){
// 38.331 Each bit corresponds a group of 6 RBs
...
...
@@ -283,9 +283,9 @@ int nr_ue_dcireq(nr_dcireq_t *dcireq) {
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
rb_offset
=
rb_offset
;
// additional parameter other than coreset
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
duration
=
num_symbols
;
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_mapping_type
=
CCE_REG_MAPPING_TYPE_INTERLEAVED
;
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_mapping_type
=
CCE_REG_MAPPING_TYPE_
NON_
INTERLEAVED
;
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_interleaved_reg_bundle_size
=
6
;
// L 38.211 7.3.2.2
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_interleaved_interleaver_size
=
2
;
// R 38.211 7.3.2.2
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_interleaved_interleaver_size
=
0
;
// R 38.211 7.3.2.2
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
cce_reg_interleaved_shift_index
=
cell_id
;
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
precoder_granularity
=
PRECODER_GRANULARITY_SAME_AS_REG_BUNDLE
;
dl_config
->
dl_config_list
[
0
].
dci_config_pdu
.
dci_config_rel15
.
coreset
.
pdcch_dmrs_scrambling_id
=
cell_id
;
...
...
targets/RT/USER/nr-ru.c
View file @
ab5626de
...
...
@@ -1333,7 +1333,7 @@ static void* ru_thread_tx( void* param ) {
{
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
{
sprintf
(
filename
,
"tx%ddataF_frame%d_s
f
%d.m"
,
i
,
print_frame
,
proc
->
tti_tx
);
sprintf
(
filename
,
"tx%ddataF_frame%d_s
l
%d.m"
,
i
,
print_frame
,
proc
->
tti_tx
);
LOG_M
(
filename
,
"txdataF_frame"
,
&
ru
->
common
.
txdataF_BF
[
i
][
0
],
fp
->
samples_per_subframe_wCP
,
1
,
1
);
if
(
proc
->
tti_tx
==
9
)
{
...
...
@@ -1554,7 +1554,7 @@ static void* ru_thread( void* param ) {
{
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
{
sprintf
(
filename
,
"tx%ddataF_frame%d_s
f
%d.m"
,
i
,
print_frame
,
proc
->
tti_tx
);
sprintf
(
filename
,
"tx%ddataF_frame%d_s
l
%d.m"
,
i
,
print_frame
,
proc
->
tti_tx
);
LOG_M
(
filename
,
"txdataF_frame"
,
&
ru
->
common
.
txdataF_BF
[
i
][
0
],
fp
->
samples_per_slot_wCP
,
1
,
1
);
if
(
proc
->
tti_tx
==
9
)
{
...
...
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