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
zzha zzha
OpenXG-RAN
Commits
ae2549b9
Commit
ae2549b9
authored
Oct 28, 2019
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
encoded length as uint32_t
parent
5a0b2fc0
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
27 additions
and
26 deletions
+27
-26
openair1/PHY/MODULATION/nr_modulation.c
openair1/PHY/MODULATION/nr_modulation.c
+1
-1
openair1/PHY/MODULATION/nr_modulation.h
openair1/PHY/MODULATION/nr_modulation.h
+2
-2
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+3
-3
openair1/PHY/NR_TRANSPORT/nr_dci.h
openair1/PHY/NR_TRANSPORT/nr_dci.h
+1
-1
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+12
-11
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
+5
-5
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+2
-2
No files found.
openair1/PHY/MODULATION/nr_modulation.c
View file @
ae2549b9
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
extern
short
nr_mod_table
[
NR_MOD_TABLE_SIZE_SHORT
];
extern
short
nr_mod_table
[
NR_MOD_TABLE_SIZE_SHORT
];
void
nr_modulation
(
uint32_t
*
in
,
void
nr_modulation
(
uint32_t
*
in
,
uint
16
_t
length
,
uint
32
_t
length
,
uint16_t
mod_order
,
uint16_t
mod_order
,
int16_t
*
out
)
int16_t
*
out
)
{
{
...
...
openair1/PHY/MODULATION/nr_modulation.h
View file @
ae2549b9
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
*/
*/
void
nr_modulation
(
uint32_t
*
in
,
void
nr_modulation
(
uint32_t
*
in
,
uint
16
_t
length
,
uint
32
_t
length
,
uint16_t
mod_order
,
uint16_t
mod_order
,
int16_t
*
out
);
int16_t
*
out
);
...
@@ -93,4 +93,4 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
...
@@ -93,4 +93,4 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
*/
*/
void
nr_dft
(
int32_t
*
z
,
int32_t
*
d
,
uint32_t
Msc_PUSCH
);
void
nr_dft
(
int32_t
*
z
,
int32_t
*
d
,
uint32_t
Msc_PUSCH
);
#endif
#endif
\ No newline at end of file
openair1/PHY/NR_TRANSPORT/nr_dci.c
View file @
ae2549b9
...
@@ -130,7 +130,7 @@ uint16_t nr_get_dci_size(nfapi_nr_dci_format_e format,
...
@@ -130,7 +130,7 @@ uint16_t nr_get_dci_size(nfapi_nr_dci_format_e format,
}
}
void
nr_pdcch_scrambling
(
uint32_t
*
in
,
void
nr_pdcch_scrambling
(
uint32_t
*
in
,
uint
16
_t
size
,
uint
32
_t
size
,
uint32_t
Nid
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
n_RNTI
,
uint32_t
*
out
)
{
uint32_t
*
out
)
{
...
@@ -187,9 +187,9 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
...
@@ -187,9 +187,9 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
dci_idx
=
0
;
dci_idx
=
0
;
LOG_D
(
PHY
,
"Coreset starting subcarrier %d on symbol %d (%d symbols)
\n
"
,
cset_start_sc
,
cset_start_symb
,
cset_nsymb
);
LOG_D
(
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
// DMRS length is per OFDM symbol
uint
16
_t
dmrs_length
=
(
pdcch_params
.
precoder_granularity
==
NFAPI_NR_CSET_ALL_CONTIGUOUS_RBS
)
?
uint
32
_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)
(
pdcch_params
.
n_rb
*
6
)
:
(
dci_alloc
.
L
*
36
/
cset_nsymb
);
//2(QPSK)*3(per RB)*6(REG per CCE)
uint
16
_t
encoded_length
=
dci_alloc
.
L
*
108
;
//2(QPSK)*9(per RB)*6(REG per CCE)
uint
32
_t
encoded_length
=
dci_alloc
.
L
*
108
;
//2(QPSK)*9(per RB)*6(REG per CCE)
LOG_D
(
PHY
,
"DMRS length per symbol %d
\t
DCI encoded length %d
\n
"
,
dmrs_length
,
encoded_length
);
LOG_D
(
PHY
,
"DMRS length per symbol %d
\t
DCI encoded length %d
\n
"
,
dmrs_length
,
encoded_length
);
dmrs_length
+=
pdcch_params
.
rb_offset
*
6
;
// To accommodate more DMRS symbols in case of rb offset
dmrs_length
+=
pdcch_params
.
rb_offset
*
6
;
// To accommodate more DMRS symbols in case of rb offset
...
...
openair1/PHY/NR_TRANSPORT/nr_dci.h
View file @
ae2549b9
...
@@ -38,7 +38,7 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
...
@@ -38,7 +38,7 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
nfapi_nr_config_request_t
config
);
nfapi_nr_config_request_t
config
);
void
nr_pdcch_scrambling
(
uint32_t
*
in
,
void
nr_pdcch_scrambling
(
uint32_t
*
in
,
uint
16
_t
size
,
uint
32
_t
size
,
uint32_t
Nid
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
n_RNTI
,
uint32_t
*
out
);
uint32_t
*
out
);
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
ae2549b9
...
@@ -39,11 +39,11 @@
...
@@ -39,11 +39,11 @@
//#define DEBUG_DLSCH_MAPPING
//#define DEBUG_DLSCH_MAPPING
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
uint16
_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
,
uint32_t
*
out
)
{
uint32_t
*
out
)
{
uint8_t
reset
,
b_idx
;
uint8_t
reset
,
b_idx
;
uint32_t
x1
,
x2
,
s
=
0
;
uint32_t
x1
,
x2
,
s
=
0
;
...
@@ -88,7 +88,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch,
...
@@ -88,7 +88,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch,
int8_t
Wf
[
2
],
Wt
[
2
],
l0
,
l_prime
[
2
],
delta
;
int8_t
Wf
[
2
],
Wt
[
2
],
l0
,
l_prime
[
2
],
delta
;
uint16_t
nb_symbols
=
rel15
->
nb_mod_symbols
;
uint16_t
nb_symbols
=
rel15
->
nb_mod_symbols
;
uint8_t
Qm
=
rel15
->
modulation_order
;
uint8_t
Qm
=
rel15
->
modulation_order
;
uint
16
_t
encoded_length
=
nb_symbols
*
Qm
;
uint
32
_t
encoded_length
=
nb_symbols
*
Qm
;
/// CRC, coding, interleaving and rate matching
/// CRC, coding, interleaving and rate matching
AssertFatal
(
harq
->
pdu
!=
NULL
,
"harq->pdu is null
\n
"
);
AssertFatal
(
harq
->
pdu
!=
NULL
,
"harq->pdu is null
\n
"
);
...
@@ -121,11 +121,12 @@ printf("\n");
...
@@ -121,11 +121,12 @@ printf("\n");
pdcch_params
.
scrambling_id
:
config
->
sch_config
.
physical_cell_id
.
value
;
pdcch_params
.
scrambling_id
:
config
->
sch_config
.
physical_cell_id
.
value
;
for
(
int
q
=
0
;
q
<
rel15
->
nb_codewords
;
q
++
)
for
(
int
q
=
0
;
q
<
rel15
->
nb_codewords
;
q
++
)
nr_pdsch_codeword_scrambling
(
harq
->
f
,
nr_pdsch_codeword_scrambling
(
harq
->
f
,
encoded_length
,
encoded_length
,
q
,
q
,
Nid
,
Nid
,
n_RNTI
,
n_RNTI
,
scrambled_output
[
q
]);
scrambled_output
[
q
]);
stop_meas
(
dlsch_scrambling_stats
);
stop_meas
(
dlsch_scrambling_stats
);
#ifdef DEBUG_DLSCH
#ifdef DEBUG_DLSCH
printf
(
"PDSCH scrambling:
\n
"
);
printf
(
"PDSCH scrambling:
\n
"
);
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
View file @
ae2549b9
...
@@ -54,11 +54,11 @@ void nr_get_rbg_list(uint32_t bitmap, uint8_t n_rbg, uint8_t* rbg_list);
...
@@ -54,11 +54,11 @@ void nr_get_rbg_list(uint32_t bitmap, uint8_t n_rbg, uint8_t* rbg_list);
void
nr_get_PRG_parms
(
NR_BWP_PARMS
*
bwp
,
NR_gNB_DCI_ALLOC_t
dci_alloc
,
uint8_t
prb_bundling_type
);
void
nr_get_PRG_parms
(
NR_BWP_PARMS
*
bwp
,
NR_gNB_DCI_ALLOC_t
dci_alloc
,
uint8_t
prb_bundling_type
);
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
uint16
_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
,
uint32_t
*
out
);
uint32_t
*
out
);
void
nr_fill_dlsch
(
PHY_VARS_gNB
*
gNB
,
void
nr_fill_dlsch
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
frame
,
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
ae2549b9
...
@@ -1064,7 +1064,7 @@ int nr_ulsch_encoding(NR_UE_ULSCH_t *ulsch,
...
@@ -1064,7 +1064,7 @@ int nr_ulsch_encoding(NR_UE_ULSCH_t *ulsch,
*/
*/
void
nr_pusch_codeword_scrambling
(
uint8_t
*
in
,
void
nr_pusch_codeword_scrambling
(
uint8_t
*
in
,
uint
16
_t
size
,
uint
32
_t
size
,
uint32_t
Nid
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
n_RNTI
,
uint32_t
*
out
);
uint32_t
*
out
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
ae2549b9
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
//#define DEBUG_PUSCH_MAPPING
//#define DEBUG_PUSCH_MAPPING
void
nr_pusch_codeword_scrambling
(
uint8_t
*
in
,
void
nr_pusch_codeword_scrambling
(
uint8_t
*
in
,
uint
16
_t
size
,
uint
32
_t
size
,
uint32_t
Nid
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
n_RNTI
,
uint32_t
*
out
)
{
uint32_t
*
out
)
{
...
@@ -90,7 +90,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
...
@@ -90,7 +90,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
uint8_t
thread_id
,
uint8_t
thread_id
,
int
gNB_id
)
{
int
gNB_id
)
{
u
nsigned
in
t
available_bits
;
u
int32_
t
available_bits
;
uint8_t
mod_order
,
cwd_index
,
num_of_codewords
;
uint8_t
mod_order
,
cwd_index
,
num_of_codewords
;
uint32_t
scrambled_output
[
NR_MAX_NB_CODEWORDS
][
NR_MAX_PDSCH_ENCODED_LENGTH
>>
5
];
uint32_t
scrambled_output
[
NR_MAX_NB_CODEWORDS
][
NR_MAX_PDSCH_ENCODED_LENGTH
>>
5
];
uint32_t
***
pusch_dmrs
;
uint32_t
***
pusch_dmrs
;
...
...
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