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
常顺宇
OpenXG-RAN
Commits
461406ab
Commit
461406ab
authored
Nov 14, 2020
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Coreset0 / SIB1 configured using the configuration file.
parent
aa676235
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
49 additions
and
87 deletions
+49
-87
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+1
-1
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+5
-3
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+4
-3
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
+1
-0
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+2
-0
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+2
-7
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+11
-20
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+7
-30
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+16
-23
No files found.
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
461406ab
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
461406ab
...
...
@@ -269,11 +269,13 @@ uint8_t nr_generate_pdsch(PHY_VARS_gNB *gNB,
/// Resource mapping
// Non interleaved VRB to PRB mapping
/*uint16_t start_sc = frame_parms->first_carrier_offset + (rel15->rbStart+rel15->BWPStart)*NR_NB_SC_PER_RB;*/
uint16_t
start_sc
=
frame_parms
->
first_carrier_offset
+
(
rel15
->
rbStart
+
rel15
->
BWPStart
)
*
NR_NB_SC_PER_RB
;
uint16_t
start_sc
=
frame_parms
->
first_carrier_offset
+
rel15
->
rbStart
*
NR_NB_SC_PER_RB
;
printf
(
">>>> start_sc = %i
\n
"
,
start_sc
);
printf
(
"nr_dlsch: rel15->BWPStart = %i
\n
"
,
rel15
->
BWPStart
);
printf
(
"nr_dlsch: rel15->rbStart = %i
\n
"
,
rel15
->
rbStart
);
printf
(
"nr_dlsch: frame_parms->first_carrier_offset = %i
\n
"
,
frame_parms
->
first_carrier_offset
);
printf
(
"nr_dlsch: start_sc = %i
\n
"
,
start_sc
);
if
(
start_sc
>=
frame_parms
->
ofdm_symbol_size
)
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
461406ab
...
...
@@ -645,6 +645,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
short
BWPStart
,
unsigned
short
bwp_start_subcarrier
,
unsigned
short
nb_rb_pdsch
)
{
...
...
@@ -715,7 +716,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
// generate pilot
uint16_t
rb_offset
=
(
bwp_start_subcarrier
-
ue
->
frame_parms
.
first_carrier_offset
)
/
12
;
uint16_t
rb_offset
=
(
bwp_start_subcarrier
-
ue
->
frame_parms
.
first_carrier_offset
)
/
12
-
BWPStart
;
int
config_type
=
0
;
// needs to be updated from higher layer
nr_pdsch_dmrs_rx
(
ue
,
Ns
,
ue
->
nr_gold_pdsch
[
eNB_offset
][
Ns
][
0
],
&
pilot
[
0
],
1000
,
0
,
nb_rb_pdsch
+
rb_offset
);
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
View file @
461406ab
...
...
@@ -69,6 +69,7 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
short
BWPStart
,
unsigned
short
bwp_start_subcarrier
,
unsigned
short
nb_rb_pdsch
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
461406ab
...
...
@@ -605,6 +605,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
}
getchar
();
nb_total_decod
++
;
if
(
no_iteration_ldpc
>
dlsch
->
max_ldpc_iterations
){
nb_error_decod
++
;
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
View file @
461406ab
...
...
@@ -373,7 +373,7 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
pdsch_vars
[
eNB_id
]
->
pmi_ext
,
symbol
,
pilots
,
start_rb
,
start_rb
+
dlsch0_harq
->
BWPStart
,
nb_rb_pdsch
,
nr_tti_rx
,
ue
->
high_speed_flag
,
...
...
@@ -2374,11 +2374,6 @@ unsigned short nr_dlsch_extract_rbs_single(int **rxdataF,
k
=
frame_parms
->
first_carrier_offset
+
NR_NB_SC_PER_RB
*
start_rb
;
printf
(
"k = %i
\n
"
,
k
);
printf
(
"frame_parms->first_carrier_offset = %i
\n
"
,
frame_parms
->
first_carrier_offset
);
printf
(
"nr_dlsch_extract_rbs_single: start_rb = %i
\n
"
,
start_rb
);
//getchar();
if
(
high_speed_flag
==
1
)
dl_ch0
=
&
dl_ch_estimates
[
aarx
][(
2
*
(
frame_parms
->
ofdm_symbol_size
))];
else
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
461406ab
...
...
@@ -733,18 +733,9 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
nr_tti_rx
,
0
/*p*/
,
m
,
ue
->
frame_parms
.
first_carrier_offset
+
pdsch_start_rb
*
12
,
BWPStart
,
ue
->
frame_parms
.
first_carrier_offset
+
(
BWPStart
+
pdsch_start_rb
)
*
12
,
pdsch_nb_rb
);
printf
(
"===== Total = %i
\n
"
,
ue
->
frame_parms
.
first_carrier_offset
+
(
BWPStart
+
pdsch_start_rb
)
*
12
);
printf
(
"===== ue->frame_parms.first_carrier_offset = %i
\n
"
,
ue
->
frame_parms
.
first_carrier_offset
);
printf
(
"===== BWPStart = %i
\n
"
,
BWPStart
);
printf
(
"===== pdsch_start_rb = %i
\n
"
,
pdsch_start_rb
);
printf
(
"===== pdsch_nb_rb = %i
\n
"
,
pdsch_nb_rb
);
//getchar();
LOG_D
(
PHY
,
"Channel Estimation in symbol %d
\n
"
,
m
);
break
;
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
461406ab
...
...
@@ -1126,24 +1126,6 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
fapi_nr_dl_config_dci_dl_pdu_rel15_t
dci_config_rel15
=
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
dci_config_pdu
.
dci_config_rel15
;
/*printf("\n===================================================\n");
LOG_I(MAC,"rnti: %i\n", dci_config_rel15.rnti);
LOG_I(MAC,"pdcch_pdu_rel15->BWPSize: %i\n", dci_config_rel15.BWPSize);
LOG_I(MAC,"pdcch_pdu_rel15->BWPStart: %i\n", dci_config_rel15.BWPStart);
LOG_I(MAC,"pdcch_pdu_rel15->SubcarrierSpacing: %i\n", dci_config_rel15.SubcarrierSpacing);
//LOG_I(MAC,"pdcch_pdu_rel15->CyclicPrefix: %i\n", dci_config_rel15.coreset.CyclicPrefix);
LOG_I(MAC,"pdcch_pdu_rel15->StartSymbolIndex: %i\n", dci_config_rel15.coreset.StartSymbolIndex);
LOG_I(MAC,"pdcch_pdu_rel15->DurationSymbols: %i\n", dci_config_rel15.coreset.duration);
for(int n=0;n<6;n++) LOG_I(MAC,"pdcch_pdu_rel15->FreqDomainResource[%i]: %x\n",n, dci_config_rel15.coreset.frequency_domain_resource[n]);
LOG_I(MAC,"pdcch_pdu_rel15->CceRegMappingType: %i\n", dci_config_rel15.coreset.CceRegMappingType);
LOG_I(MAC,"pdcch_pdu_rel15->RegBundleSize: %i\n", dci_config_rel15.coreset.RegBundleSize);
LOG_I(MAC,"pdcch_pdu_rel15->InterleaverSize: %i\n", dci_config_rel15.coreset.InterleaverSize);
LOG_I(MAC,"pdcch_pdu_rel15->CoreSetType: %i\n", dci_config_rel15.coreset.CoreSetType);
LOG_I(MAC,"pdcch_pdu_rel15->ShiftIndex: %i\n", dci_config_rel15.coreset.ShiftIndex);
LOG_I(MAC,"pdcch_pdu_rel15->precoderGranularity: %i\n", dci_config_rel15.coreset.precoder_granularity);
LOG_I(MAC,"pdcch_pdu_rel15->numDlDci: %i\n", dl_config->number_pdus);
printf("\n===================================================\n");*/
}
else
if
(
ul_info
)
{
if
(
get_softmodem_params
()
->
phy_test
&&
ul_info
->
slot_tx
==
8
)
{
// ULSCH is handled only in phy-test mode (consistently with OAI gNB)
...
...
@@ -2561,13 +2543,10 @@ int8_t nr_ue_process_dci_freq_dom_resource_assignment(nfapi_nr_ue_pusch_pdu_t *p
dlsch_config_pdu
->
number_rbs
=
NRRIV2BW
(
riv
,
n_RB_DLBWP
);
dlsch_config_pdu
->
start_rb
=
NRRIV2PRBOFFSET
(
riv
,
n_RB_DLBWP
);
printf
(
"nr_ue_process_dci_freq_dom_resource_assignment: riv = %i
\n
"
,
riv
);
printf
(
"nr_ue_process_dci_freq_dom_resource_assignment: n_RB_DLBWP = %i
\n
"
,
n_RB_DLBWP
);
printf
(
"nr_ue_process_dci_freq_dom_resource_assignment: dlsch_config_pdu->number_rbs = %i
\n
"
,
dlsch_config_pdu
->
number_rbs
);
printf
(
"nr_ue_process_dci_freq_dom_resource_assignment: dlsch_config_pdu->start_rb = %i
\n
"
,
dlsch_config_pdu
->
start_rb
);
LOG_D
(
MAC
,
"riv = %i
\n
"
,
riv
);
LOG_D
(
MAC
,
"n_RB_DLBWP = %i
\n
"
,
n_RB_DLBWP
);
LOG_D
(
MAC
,
"number_rbs = %i
\n
"
,
dlsch_config_pdu
->
number_rbs
);
LOG_D
(
MAC
,
"start_rb = %i
\n
"
,
dlsch_config_pdu
->
start_rb
);
}
if
(
pusch_config_pdu
!=
NULL
){
...
...
@@ -2733,11 +2712,9 @@ int8_t nr_ue_process_dci_time_dom_resource_assignment(NR_UE_MAC_INST_t *mac,
dlsch_config_pdu
->
start_symbol
=
S
;
dlsch_config_pdu
->
number_symbols
=
L
;
printf
(
"SLIV = %i
\n
"
,
startSymbolAndLength
);
printf
(
"dlsch_config_pdu->start_symbol = %i
\n
"
,
dlsch_config_pdu
->
start_symbol
);
printf
(
"dlsch_config_pdu->number_symbols = %i
\n
"
,
dlsch_config_pdu
->
number_symbols
);
LOG_D
(
MAC
,
"SLIV = %i
\n
"
,
startSymbolAndLength
);
LOG_D
(
MAC
,
"start_symbol = %i
\n
"
,
dlsch_config_pdu
->
start_symbol
);
LOG_D
(
MAC
,
"number_symbols = %i
\n
"
,
dlsch_config_pdu
->
number_symbols
);
}
else
{
// Default configuration from tables
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
461406ab
...
...
@@ -307,7 +307,7 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
pdsch_pdu_rel15
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
refPoint
=
0
;
// Point A FIXME 1
pdsch_pdu_rel15
->
refPoint
=
1
;
pdsch_pdu_rel15
->
dmrsConfigType
=
gNB_mac
->
sched_ctrlCommon
->
active_bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
==
NULL
?
0
:
1
;
pdsch_pdu_rel15
->
dlDmrsScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
SCID
=
0
;
...
...
@@ -316,7 +316,7 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
pdsch_pdu_rel15
->
resourceAlloc
=
1
;
pdsch_pdu_rel15
->
rbStart
=
gNB_mac
->
sched_ctrlCommon
->
rbStart
;
pdsch_pdu_rel15
->
rbSize
=
gNB_mac
->
sched_ctrlCommon
->
rbSize
;
pdsch_pdu_rel15
->
VRBtoPRBMapping
=
1
;
// FIXME 0
pdsch_pdu_rel15
->
VRBtoPRBMapping
=
0
;
pdsch_pdu_rel15
->
qamModOrder
[
0
]
=
nr_get_Qm_dl
(
gNB_mac
->
sched_ctrlCommon
->
mcs
,
gNB_mac
->
sched_ctrlCommon
->
mcsTableIdx
);
pdsch_pdu_rel15
->
TBSize
[
0
]
=
TBS
;
pdsch_pdu_rel15
->
mcsTable
[
0
]
=
gNB_mac
->
sched_ctrlCommon
->
mcsTableIdx
;
...
...
@@ -325,10 +325,6 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
pdsch_pdu_rel15
->
dlDmrsSymbPos
=
fill_dmrs_mask
(
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
,
scc
->
dmrs_TypeA_Position
,
pdsch_pdu_rel15
->
NrOfSymbols
);
printf
(
"oooo scc->dmrs_TypeA_Position = %li
\n
"
,
scc
->
dmrs_TypeA_Position
);
dci_pdu_rel15_t
dci_pdu_rel15
[
MAX_DCI_CORESET
];
memset
(
dci_pdu_rel15
,
0
,
sizeof
(
dci_pdu_rel15_t
)
*
MAX_DCI_CORESET
);
...
...
@@ -346,7 +342,6 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
printf
(
"==== BW = %i
\n
"
,
NRRIV2BW
(
bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
275
));
printf
(
"==== RIV = %i
\n
"
,
dci_pdu_rel15
[
0
].
frequency_domain_assignment
.
val
);
dci_pdu_rel15
[
0
].
time_domain_assignment
.
val
=
gNB_mac
->
sched_ctrlCommon
->
time_domain_allocation
;
dci_pdu_rel15
[
0
].
mcs
=
gNB_mac
->
sched_ctrlCommon
->
mcs
;
dci_pdu_rel15
[
0
].
rv
=
pdsch_pdu_rel15
->
rvIndex
[
0
];
...
...
@@ -379,22 +374,20 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
dl_req
->
nPDUs
+=
2
;
printf
(
"
\n
===================================================
\n
"
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->BWPSize: %i
\n
"
,
pdcch_pdu_rel15
->
BWPSize
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->BWPStart: %i
\n
"
,
pdcch_pdu_rel15
->
BWPStart
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->SubcarrierSpacing: %i
\n
"
,
pdcch_pdu_rel15
->
SubcarrierSpacing
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->CyclicPrefix: %i
\n
"
,
pdcch_pdu_rel15
->
CyclicPrefix
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->StartSymbolIndex: %i
\n
"
,
pdcch_pdu_rel15
->
StartSymbolIndex
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->DurationSymbols: %i
\n
"
,
pdcch_pdu_rel15
->
DurationSymbols
);
for
(
int
n
=
0
;
n
<
6
;
n
++
)
LOG_I
(
MAC
,
"pdcch_pdu_rel15->FreqDomainResource[%i]: %x
\n
"
,
n
,
pdcch_pdu_rel15
->
FreqDomainResource
[
n
]);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->CceRegMappingType: %i
\n
"
,
pdcch_pdu_rel15
->
CceRegMappingType
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->RegBundleSize: %i
\n
"
,
pdcch_pdu_rel15
->
RegBundleSize
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->InterleaverSize: %i
\n
"
,
pdcch_pdu_rel15
->
InterleaverSize
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->CoreSetType: %i
\n
"
,
pdcch_pdu_rel15
->
CoreSetType
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->ShiftIndex: %i
\n
"
,
pdcch_pdu_rel15
->
ShiftIndex
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->precoderGranularity: %i
\n
"
,
pdcch_pdu_rel15
->
precoderGranularity
);
LOG_I
(
MAC
,
"pdcch_pdu_rel15->numDlDci: %i
\n
"
,
pdcch_pdu_rel15
->
numDlDci
);
printf
(
"
\n
===================================================
\n
"
);
LOG_D
(
MAC
,
"BWPSize: %i
\n
"
,
pdcch_pdu_rel15
->
BWPSize
);
LOG_D
(
MAC
,
"BWPStart: %i
\n
"
,
pdcch_pdu_rel15
->
BWPStart
);
LOG_D
(
MAC
,
"SubcarrierSpacing: %i
\n
"
,
pdcch_pdu_rel15
->
SubcarrierSpacing
);
LOG_D
(
MAC
,
"CyclicPrefix: %i
\n
"
,
pdcch_pdu_rel15
->
CyclicPrefix
);
LOG_D
(
MAC
,
"StartSymbolIndex: %i
\n
"
,
pdcch_pdu_rel15
->
StartSymbolIndex
);
LOG_D
(
MAC
,
"DurationSymbols: %i
\n
"
,
pdcch_pdu_rel15
->
DurationSymbols
);
for
(
int
n
=
0
;
n
<
6
;
n
++
)
LOG_I
(
MAC
,
"FreqDomainResource[%i]: %x
\n
"
,
n
,
pdcch_pdu_rel15
->
FreqDomainResource
[
n
]);
LOG_D
(
MAC
,
"CceRegMappingType: %i
\n
"
,
pdcch_pdu_rel15
->
CceRegMappingType
);
LOG_D
(
MAC
,
"RegBundleSize: %i
\n
"
,
pdcch_pdu_rel15
->
RegBundleSize
);
LOG_D
(
MAC
,
"InterleaverSize: %i
\n
"
,
pdcch_pdu_rel15
->
InterleaverSize
);
LOG_D
(
MAC
,
"CoreSetType: %i
\n
"
,
pdcch_pdu_rel15
->
CoreSetType
);
LOG_D
(
MAC
,
"ShiftIndex: %i
\n
"
,
pdcch_pdu_rel15
->
ShiftIndex
);
LOG_D
(
MAC
,
"precoderGranularity: %i
\n
"
,
pdcch_pdu_rel15
->
precoderGranularity
);
LOG_D
(
MAC
,
"numDlDci: %i
\n
"
,
pdcch_pdu_rel15
->
numDlDci
);
}
...
...
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