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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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-RAN
Commits
be3452a1
Commit
be3452a1
authored
Apr 10, 2024
by
Laurent Thomas
Committed by
Laurent THOMAS
Apr 12, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reduce stack memory size for layer mapping
Delete small pieces of dead code
parent
1244c9a2
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
51 additions
and
98 deletions
+51
-98
executables/nr-gnb.c
executables/nr-gnb.c
+1
-3
openair1/PHY/MODULATION/nr_modulation.c
openair1/PHY/MODULATION/nr_modulation.c
+30
-32
openair1/PHY/MODULATION/nr_modulation.h
openair1/PHY/MODULATION/nr_modulation.h
+2
-1
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+17
-38
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
+0
-14
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
+0
-5
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-1
openair1/SCHED/nfapi_lte_dummy.c
openair1/SCHED/nfapi_lte_dummy.c
+0
-1
openair1/SCHED/nfapi_nr_dummy.c
openair1/SCHED/nfapi_nr_dummy.c
+0
-1
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-2
No files found.
executables/nr-gnb.c
View file @
be3452a1
...
...
@@ -293,8 +293,7 @@ static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size
output
+=
print_meas_log
(
&
gNB
->
phy_proc_tx
,
"L1 Tx processing"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_encoding_stats
,
"DLSCH encoding"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_scrambling_stats
,
"DLSCH scrambling"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_modulation_stats
,
"DLSCH modulation"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_layer_mapping_stats
,
"DLSCH layer mapping"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_modulation_stats
,
"DLSCH modulation"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_resource_mapping_stats
,
"DLSCH resource mapping"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
dlsch_precoding_stats
,
"DLSCH precoding"
,
NULL
,
NULL
,
output
,
end
-
output
);
output
+=
print_meas_log
(
&
gNB
->
phy_proc_rx
,
"L1 Rx processing"
,
NULL
,
NULL
,
output
,
end
-
output
);
...
...
@@ -347,7 +346,6 @@ void *nrL1_stats_thread(void *param) {
reset_meas
(
&
gNB
->
schedule_response_stats
);
reset_meas
(
&
gNB
->
dlsch_scrambling_stats
);
reset_meas
(
&
gNB
->
dlsch_modulation_stats
);
reset_meas
(
&
gNB
->
dlsch_layer_mapping_stats
);
reset_meas
(
&
gNB
->
dlsch_resource_mapping_stats
);
reset_meas
(
&
gNB
->
dlsch_precoding_stats
);
while
(
!
oai_exit
)
{
...
...
openair1/PHY/MODULATION/nr_modulation.c
View file @
be3452a1
...
...
@@ -249,67 +249,65 @@ void nr_layer_mapping(int nbCodes,
uint8_t
n_layers
,
int
layerSz
,
uint32_t
n_symbs
,
c16_t
tx_layers
[
n_layers
][
layerSz
])
c16_t
tx_layer
[
layerSz
],
int
layer
)
{
LOG_D
(
PHY
,
"Doing layer mapping for %d layers, %d symbols
\n
"
,
n_layers
,
n_symbs
);
switch
(
n_layers
)
{
case
1
:
memcpy
(
tx_layers
[
0
]
,
mod_symbs
[
0
],
n_symbs
*
sizeof
(
**
mod_symbs
));
break
;
memcpy
(
tx_layer
,
mod_symbs
[
0
],
n_symbs
*
sizeof
(
**
mod_symbs
));
break
;
case
2
:
case
3
:
case
4
:
for
(
int
i
=
0
;
i
<
n_symbs
/
n_layers
;
i
++
)
{
const
c16_t
*
base
=
mod_symbs
[
0
]
+
n_layers
*
i
;
for
(
int
l
=
0
;
l
<
n_layers
;
l
++
)
tx_layers
[
l
][
i
]
=
base
[
l
];
tx_layer
[
i
]
=
base
[
layer
];
}
break
;
case
5
:
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
2
)
{
const
int
txIdx
=
i
/
2
;
for
(
int
l
=
0
;
l
<
2
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
0
][
i
+
l
];
}
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
for
(
int
l
=
2
;
l
<
5
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
1
][
i
+
l
];
}
if
(
layer
<
2
)
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
2
)
{
const
int
txIdx
=
i
/
2
;
tx_layer
[
txIdx
]
=
mod_symbs
[
0
][
i
+
layer
];
}
else
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
tx_layer
[
txIdx
]
=
mod_symbs
[
1
][
i
+
layer
];
}
break
;
case
6
:
for
(
int
q
=
0
;
q
<
2
;
q
++
)
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
for
(
int
l
=
0
;
l
<
3
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
q
][
i
+
l
];
}
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
tx_layer
[
txIdx
]
=
mod_symbs
[
q
][
i
+
layer
];
}
break
;
case
7
:
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
for
(
int
l
=
0
;
l
<
3
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
1
][
i
+
l
];
}
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
4
)
{
const
int
txIdx
=
i
/
4
;
for
(
int
l
=
3
;
l
<
7
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
0
][
i
+
l
];
}
if
(
layer
<
3
)
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
3
)
{
const
int
txIdx
=
i
/
3
;
tx_layer
[
txIdx
]
=
mod_symbs
[
1
][
i
+
layer
];
}
else
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
4
)
{
const
int
txIdx
=
i
/
4
;
tx_layer
[
txIdx
]
=
mod_symbs
[
0
][
i
+
layer
];
}
break
;
case
8
:
for
(
int
q
=
0
;
q
<
2
;
q
++
)
for
(
int
i
=
0
;
i
<
n_symbs
;
i
+=
4
)
{
const
int
txIdx
=
i
/
4
;
for
(
int
l
=
0
;
l
<
3
;
l
++
)
tx_layers
[
l
][
txIdx
]
=
mod_symbs
[
q
][
i
+
l
];
tx_layer
[
txIdx
]
=
mod_symbs
[
q
][
i
+
layer
];
}
break
;
...
...
openair1/PHY/MODULATION/nr_modulation.h
View file @
be3452a1
...
...
@@ -60,7 +60,8 @@ void nr_layer_mapping(int nbCodes,
uint8_t
n_layers
,
int
layerSz
,
uint32_t
n_symbs
,
c16_t
tx_layers
[
n_layers
][
layerSz
]);
c16_t
tx_layers
[
layerSz
],
int
l
);
/*! \brief Perform NR layer mapping. TS 38.211 V15.4.0 subclause 7.3.1.3
@param[in] ulsch_ue, double Pointer to NR_UE_ULSCH_t struct
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
be3452a1
...
...
@@ -43,12 +43,7 @@
//#define DEBUG_DLSCH
//#define DEBUG_DLSCH_MAPPING
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
uint32_t
size
,
uint8_t
q
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
*
out
)
static
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
uint32_t
size
,
uint8_t
q
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
*
out
)
{
nr_codeword_scrambling
(
in
,
size
,
q
,
Nid
,
n_RNTI
,
out
);
}
...
...
@@ -74,8 +69,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
NR_DL_gNB_HARQ_t
*
harq
=
&
dlsch
->
harq_process
;
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
harq
->
pdsch_pdu
.
pdsch_pdu_rel15
;
const
int
layerSz
=
frame_parms
->
N_RB_DL
*
NR_SYMBOLS_PER_SLOT
*
NR_NB_SC_PER_RB
*
8
;
c16_t
tx_layers
[
rel15
->
nrOfLayers
][
layerSz
]
__attribute__
((
aligned
(
64
)));
const
int
layerSz
=
frame_parms
->
N_RB_DL
*
NR_SYMBOLS_PER_SLOT
*
NR_NB_SC_PER_RB
;
const
int
dmrs_Type
=
rel15
->
dmrsConfigType
;
const
int
nb_re_dmrs
=
rel15
->
numDmrsCdmGrpsNoData
*
(
rel15
->
dmrsConfigType
==
NFAPI_NR_DMRS_TYPE1
?
6
:
4
);
LOG_D
(
PHY
,
"pdsch: BWPStart %d, BWPSize %d, rbStart %d, rbsize %d
\n
"
,
...
...
@@ -184,24 +178,6 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
}
#endif
}
start_meas
(
&
gNB
->
dlsch_layer_mapping_stats
);
/// Layer mapping
nr_layer_mapping
(
rel15
->
NrOfCodewords
,
encoded_length
,
mod_symbs
,
rel15
->
nrOfLayers
,
layerSz
,
nb_re
,
tx_layers
);
#ifdef DEBUG_DLSCH
printf
(
"Layer mapping (%d layers):
\n
"
,
rel15
->
nrOfLayers
);
for
(
int
l
=
0
;
l
<
rel15
->
nrOfLayers
;
l
++
)
for
(
int
i
=
0
;
i
<
nb_re
/
rel15
->
nrOfLayers
;
i
+=
8
)
{
printf
(
"layer %d, Re %d..%d : "
,
l
,
i
,
i
+
7
);
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
printf
(
"l%d %d
\t
"
,
tx_layers
[
l
][
i
+
j
].
r
,
tx_layers
[
l
][
i
+
j
].
i
);
}
printf
(
"
\n
"
);
}
#endif
stop_meas
(
&
gNB
->
dlsch_layer_mapping_stats
);
/// Resource mapping
// Non interleaved VRB to PRB mapping
...
...
@@ -219,6 +195,9 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
start_meas
(
&
gNB
->
dlsch_resource_mapping_stats
);
for
(
int
layer
=
0
;
layer
<
rel15
->
nrOfLayers
;
layer
++
)
{
c16_t
tx_layer
[
layerSz
]
__attribute__
((
aligned
(
64
)));
nr_layer_mapping
(
rel15
->
NrOfCodewords
,
encoded_length
,
mod_symbs
,
rel15
->
nrOfLayers
,
layerSz
,
nb_re
,
tx_layer
,
layer
);
int
dmrs_port
=
get_dmrs_port
(
layer
,
rel15
->
dmrsPorts
);
// DMRS params for this dmrs port
...
...
@@ -244,7 +223,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
dmrs_symbol
);
#endif
uint32_t
m
=
0
,
dmrs_idx
=
0
;
uint32_t
cur_re
=
0
,
dmrs_idx
=
0
;
AssertFatal
(
n_dmrs
,
"n_dmrs can't be 0
\n
"
);
c16_t
mod_dmrs
[
n_dmrs
]
__attribute__
((
aligned
(
64
)));
...
...
@@ -356,7 +335,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
frame_parms
->
ofdm_symbol_size
,
rel15
->
numDmrsCdmGrpsNoData
,
dmrs_Type
))
{
txdataF_precoding
[
layer
][
l_symbol
][
k
]
=
c16mulRealShift
(
tx_layer
s
[
layer
][
m
],
amp
,
15
);
txdataF_precoding
[
layer
][
l_symbol
][
k
]
=
c16mulRealShift
(
tx_layer
[
cur_re
],
amp
,
15
);
#ifdef DEBUG_DLSCH_MAPPING
printf
(
"m %u
\t
l %d
\t
k %d
\t
txdataF: %d %d
\n
"
,
m
,
...
...
@@ -365,7 +344,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
txdataF_precoding
[
layer
][
l_symbol
][
k
].
r
,
txdataF_precoding
[
layer
][
l_symbol
][
k
].
i
);
#endif
m
++
;
cur_re
++
;
}
/* mute RE */
else
{
...
...
@@ -387,15 +366,15 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
if
(
0
/*(frame_parms->N_RB_DL&1)==0*/
)
{
simde__m128i
*
txF
=
(
simde__m128i
*
)
&
txdataF_precoding
[
layer
][
l_symbol
][
start_sc
];
simde__m128i
*
txl
=
(
simde__m128i
*
)
&
tx_layer
s
[
layer
][
m
];
simde__m128i
*
txl
=
(
simde__m128i
*
)
&
tx_layer
[
cur_re
];
simde__m128i
amp128
=
simde_mm_set1_epi16
(
amp
);
for
(
int
i
=
0
;
i
<
(
upper_limit
>>
2
);
i
++
)
{
txF
[
i
]
=
simde_mm_mulhrs_epi16
(
amp128
,
txl
[
i
]);
}
//RE loop, first part
m
+=
upper_limit
;
cur_re
+=
upper_limit
;
if
(
remaining_re
>
0
)
{
txF
=
(
simde__m128i
*
)
&
txdataF_precoding
[
layer
][
l_symbol
];
txl
=
(
simde__m128i
*
)
&
tx_layer
s
[
layer
][
m
];
txl
=
(
simde__m128i
*
)
&
tx_layer
[
cur_re
];
for
(
int
i
=
0
;
i
<
(
remaining_re
>>
2
);
i
++
)
{
txF
[
i
]
=
simde_mm_mulhrs_epi16
(
amp128
,
txl
[
i
]);
}
...
...
@@ -404,7 +383,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
else
{
simde__m128i
*
txF
=
(
simde__m128i
*
)
&
txdataF_precoding
[
layer
][
l_symbol
][
start_sc
];
simde__m128i
*
txl
=
(
simde__m128i
*
)
&
tx_layer
s
[
layer
][
m
];
simde__m128i
*
txl
=
(
simde__m128i
*
)
&
tx_layer
[
cur_re
];
simde__m128i
amp64
=
simde_mm_set1_epi16
(
amp
);
int
i
;
for
(
i
=
0
;
i
<
(
upper_limit
>>
2
);
i
++
)
{
...
...
@@ -427,16 +406,16 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
}
if
(
i
*
4
!=
upper_limit
)
{
c16_t
*
txFc
=
&
txdataF_precoding
[
layer
][
l_symbol
][
start_sc
];
c16_t
*
txlc
=
&
tx_layer
s
[
layer
][
m
];
c16_t
*
txlc
=
&
tx_layer
[
cur_re
];
for
(
i
=
(
upper_limit
>>
2
)
<<
2
;
i
<
upper_limit
;
i
++
)
{
txFc
[
i
].
r
=
((
txlc
[
i
].
r
*
amp
)
>>
14
)
+
1
;
txFc
[
i
].
i
=
((
txlc
[
i
].
i
*
amp
)
>>
14
)
+
1
;
}
}
m
+=
upper_limit
;
cur_re
+=
upper_limit
;
if
(
remaining_re
>
0
)
{
txF
=
(
simde__m128i
*
)
&
txdataF_precoding
[
layer
][
l_symbol
];
txl
=
(
simde__m128i
*
)
&
tx_layer
s
[
layer
][
m
];
txl
=
(
simde__m128i
*
)
&
tx_layer
[
cur_re
];
int
i
;
for
(
i
=
0
;
i
<
(
remaining_re
>>
2
);
i
++
)
{
const
simde__m128i
txL
=
simde_mm_loadu_si128
(
txl
+
i
);
...
...
@@ -459,14 +438,14 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
}
// RE loop, second part
if
(
i
*
4
!=
remaining_re
)
{
c16_t
*
txFc
=
txdataF_precoding
[
layer
][
l_symbol
];
c16_t
*
txlc
=
&
tx_layer
s
[
layer
][
m
];
c16_t
*
txlc
=
&
tx_layer
[
cur_re
];
for
(
i
=
(
remaining_re
>>
2
)
<<
2
;
i
<
remaining_re
;
i
++
)
{
txFc
[
i
].
r
=
((
txlc
[
i
].
r
*
amp
)
>>
14
)
+
1
;
txFc
[
i
].
i
=
((
txlc
[
i
].
i
*
amp
)
>>
14
)
+
1
;
}
}
}
// remaining_re > 0
m
+=
remaining_re
;
cur_re
+=
remaining_re
;
}
// N_RB_DL even
}
// no DMRS/PTRS in symbol
}
// symbol loop
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
View file @
be3452a1
...
...
@@ -35,13 +35,6 @@
#include "PHY/defs_gNB.h"
void
nr_pdsch_codeword_scrambling
(
uint8_t
*
in
,
uint32_t
size
,
uint8_t
q
,
uint32_t
Nid
,
uint32_t
n_RNTI
,
uint32_t
*
out
);
void
nr_fill_dlsch
(
processingData_L1tx_t
*
msgTx
,
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch_pdu
,
unsigned
char
*
sdu
);
...
...
@@ -50,12 +43,6 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx,
int
frame
,
int
slot
);
void
clean_gNB_dlsch
(
NR_gNB_DLSCH_t
*
dlsch
);
int16_t
find_nr_dlsch
(
uint16_t
rnti
,
PHY_VARS_gNB
*
gNB
,
find_type_t
type
);
NR_gNB_SCH_STATS_t
*
find_nr_dlsch_stats
(
uint16_t
rnti
,
PHY_VARS_gNB
*
gNB
,
find_type_t
type
);
int
nr_dlsch_encoding
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
uint8_t
slot
,
...
...
@@ -70,7 +57,6 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
time_stats_t
*
dlsch_interleaving_stats
,
time_stats_t
*
dlsch_segmentation_stats
);
void
init_dlsch_tpool
(
uint8_t
nun_dlsch_threads
);
void
nr_emulate_dlsch_payload
(
uint8_t
*
payload
,
uint16_t
size
);
void
dump_pdsch_stats
(
FILE
*
fd
,
PHY_VARS_gNB
*
gNB
);
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
View file @
be3452a1
...
...
@@ -137,11 +137,6 @@ NR_gNB_DLSCH_t new_gNB_dlsch(NR_DL_FRAME_PARMS *frame_parms, uint16_t N_RB)
return
(
dlsch
);
}
void
clean_gNB_dlsch
(
NR_gNB_DLSCH_t
*
dlsch
)
{
AssertFatal
(
dlsch
!=
NULL
,
"dlsch is null
\n
"
);
dlsch
->
active
=
0
;
}
void
ldpc8blocks
(
void
*
p
)
{
encoder_implemparams_t
*
impp
=
(
encoder_implemparams_t
*
)
p
;
...
...
openair1/PHY/defs_gNB.h
View file @
be3452a1
...
...
@@ -673,7 +673,6 @@ typedef struct PHY_VARS_gNB_s {
time_stats_t
dlsch_modulation_stats
;
time_stats_t
dlsch_scrambling_stats
;
time_stats_t
dlsch_resource_mapping_stats
;
time_stats_t
dlsch_layer_mapping_stats
;
time_stats_t
dlsch_precoding_stats
;
time_stats_t
tinput
;
time_stats_t
tprep
;
...
...
openair1/SCHED/nfapi_lte_dummy.c
View file @
be3452a1
...
...
@@ -12,7 +12,6 @@ void handle_nfapi_nr_pdcch_pdu(PHY_VARS_gNB *gNB,
void
handle_nr_nfapi_ssb_pdu
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
nfapi_nr_dl_tti_request_pdu_t
*
dl_tti_pdu
){}
int16_t
find_nr_dlsch
(
uint16_t
rnti
,
PHY_VARS_gNB
*
gNB
,
find_type_t
type
){
return
0
;}
void
handle_nr_nfapi_pdsch_pdu
(
processingData_L1tx_t
*
msgTx
,
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch_pdu
,
uint8_t
*
sdu
){
...
...
openair1/SCHED/nfapi_nr_dummy.c
View file @
be3452a1
...
...
@@ -12,7 +12,6 @@ void handle_nfapi_nr_pdcch_pdu(PHY_VARS_gNB *gNB,
void
handle_nr_nfapi_ssb_pdu
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
nfapi_nr_dl_tti_request_pdu_t
*
dl_tti_pdu
){}
int16_t
find_nr_dlsch
(
uint16_t
rnti
,
PHY_VARS_gNB
*
gNB
,
find_type_t
type
){
return
0
;}
void
handle_nr_nfapi_pdsch_pdu
(
processingData_L1tx_t
*
msgTx
,
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch_pdu
,
uint8_t
*
sdu
){
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
be3452a1
...
...
@@ -1218,8 +1218,7 @@ int main(int argc, char **argv)
printStatIndent3
(
&
gNB
->
dlsch_rate_matching_stats
,
"DLSCH Rate Mataching time"
);
printStatIndent3
(
&
gNB
->
dlsch_interleaving_stats
,
"DLSCH Interleaving time"
);
printStatIndent2
(
&
gNB
->
dlsch_modulation_stats
,
"DLSCH modulation time"
);
printStatIndent2
(
&
gNB
->
dlsch_scrambling_stats
,
"DLSCH scrambling time"
);
printStatIndent2
(
&
gNB
->
dlsch_layer_mapping_stats
,
"DLSCH Layer Mapping time"
);
printStatIndent2
(
&
gNB
->
dlsch_scrambling_stats
,
"DLSCH scrambling time"
);
printStatIndent2
(
&
gNB
->
dlsch_resource_mapping_stats
,
"DLSCH Resource Mapping time"
);
printStatIndent2
(
&
gNB
->
dlsch_precoding_stats
,
"DLSCH Layer Precoding time"
);
...
...
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