Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
openairinterface-6g
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
openairinterface-6g
Commits
751cab3d
Commit
751cab3d
authored
Nov 13, 2025
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify DLSCH: only one codeword supported
parent
2b2b3cd3
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
12 additions
and
20 deletions
+12
-20
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+3
-11
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+2
-2
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
+2
-2
openair1/PHY/NR_TRANSPORT/nr_dlsch_tools.c
openair1/PHY/NR_TRANSPORT/nr_dlsch_tools.c
+2
-2
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+1
-1
openair1/SIMULATION/NR_PHY/dlschsim.c
openair1/SIMULATION/NR_PHY/dlschsim.c
+1
-1
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-1
No files found.
openair1/PHY/INIT/nr_init.c
View file @
751cab3d
...
@@ -408,14 +408,10 @@ void init_DLSCH_struct(PHY_VARS_gNB *gNB, processingData_L1tx_t *msg)
...
@@ -408,14 +408,10 @@ void init_DLSCH_struct(PHY_VARS_gNB *gNB, processingData_L1tx_t *msg)
uint16_t
grid_size
=
cfg
->
carrier_config
.
dl_grid_size
[
fp
->
numerology_index
].
value
;
uint16_t
grid_size
=
cfg
->
carrier_config
.
dl_grid_size
[
fp
->
numerology_index
].
value
;
msg
->
num_pdsch_slot
=
0
;
msg
->
num_pdsch_slot
=
0
;
msg
->
dlsch
=
malloc16
(
gNB
->
max_nb_pdsch
*
sizeof
(
NR_gNB_DLSCH_t
*
));
msg
->
dlsch
=
calloc
(
gNB
->
max_nb_pdsch
,
sizeof
(
*
msg
->
dlsch
));
int
num_cw
=
NR_MAX_NB_LAYERS
>
4
?
2
:
1
;
for
(
int
i
=
0
;
i
<
gNB
->
max_nb_pdsch
;
i
++
)
{
for
(
int
i
=
0
;
i
<
gNB
->
max_nb_pdsch
;
i
++
)
{
LOG_D
(
PHY
,
"Allocating Transport Channel Buffers for DLSCH %d/%d
\n
"
,
i
,
gNB
->
max_nb_pdsch
);
LOG_D
(
PHY
,
"Allocating Transport Channel Buffers for DLSCH %d/%d
\n
"
,
i
,
gNB
->
max_nb_pdsch
);
msg
->
dlsch
[
i
]
=
(
NR_gNB_DLSCH_t
*
)
malloc16
(
num_cw
*
sizeof
(
NR_gNB_DLSCH_t
));
msg
->
dlsch
[
i
]
=
new_gNB_dlsch
(
fp
,
grid_size
);
for
(
int
j
=
0
;
j
<
num_cw
;
j
++
)
{
msg
->
dlsch
[
i
][
j
]
=
new_gNB_dlsch
(
fp
,
grid_size
);
}
}
}
}
}
...
@@ -424,12 +420,8 @@ void reset_DLSCH_struct(const PHY_VARS_gNB *gNB, processingData_L1tx_t *msg)
...
@@ -424,12 +420,8 @@ void reset_DLSCH_struct(const PHY_VARS_gNB *gNB, processingData_L1tx_t *msg)
const
NR_DL_FRAME_PARMS
*
fp
=
&
gNB
->
frame_parms
;
const
NR_DL_FRAME_PARMS
*
fp
=
&
gNB
->
frame_parms
;
const
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
const
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
const
uint16_t
grid_size
=
cfg
->
carrier_config
.
dl_grid_size
[
fp
->
numerology_index
].
value
;
const
uint16_t
grid_size
=
cfg
->
carrier_config
.
dl_grid_size
[
fp
->
numerology_index
].
value
;
int
num_cw
=
NR_MAX_NB_LAYERS
>
4
?
2
:
1
;
for
(
int
i
=
0
;
i
<
gNB
->
max_nb_pdsch
;
i
++
)
{
for
(
int
i
=
0
;
i
<
gNB
->
max_nb_pdsch
;
i
++
)
{
for
(
int
j
=
0
;
j
<
num_cw
;
j
++
)
{
free_gNB_dlsch
(
&
msg
->
dlsch
[
i
],
grid_size
,
fp
);
free_gNB_dlsch
(
&
msg
->
dlsch
[
i
][
j
],
grid_size
,
fp
);
}
free
(
msg
->
dlsch
[
i
]);
}
}
free
(
msg
->
dlsch
);
free
(
msg
->
dlsch
);
}
}
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
751cab3d
...
@@ -789,7 +789,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
...
@@ -789,7 +789,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
size_t
size_output
=
0
;
size_t
size_output
=
0
;
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
NR_gNB_DLSCH_t
*
dlsch
=
msgTx
->
dlsch
[
dlsch_id
];
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
dlsch_id
];
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
LOG_D
(
PHY
,
LOG_D
(
PHY
,
...
@@ -850,7 +850,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
...
@@ -850,7 +850,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
unsigned
char
*
output_ptr
=
output
;
unsigned
char
*
output_ptr
=
output
;
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
output_ptr
+=
do_one_dlsch
(
output_ptr
,
gNB
,
msgTx
->
dlsch
[
dlsch_id
],
slot
);
output_ptr
+=
do_one_dlsch
(
output_ptr
,
gNB
,
&
msgTx
->
dlsch
[
dlsch_id
],
slot
);
}
}
}
}
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
View file @
751cab3d
...
@@ -134,7 +134,7 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
...
@@ -134,7 +134,7 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
int
num_segments
=
0
;
int
num_segments
=
0
;
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
NR_gNB_DLSCH_t
*
dlsch
=
msgTx
->
dlsch
[
dlsch_id
];
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
dlsch_id
];
unsigned
int
crc
=
1
;
unsigned
int
crc
=
1
;
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
...
@@ -222,7 +222,7 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
...
@@ -222,7 +222,7 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
size_t
dlsch_offset
=
0
;
size_t
dlsch_offset
=
0
;
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
for
(
int
dlsch_id
=
0
;
dlsch_id
<
msgTx
->
num_pdsch_slot
;
dlsch_id
++
)
{
NR_gNB_DLSCH_t
*
dlsch
=
msgTx
->
dlsch
[
dlsch_id
];
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
dlsch_id
];
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
const
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
nrLDPC_TB_encoding_parameters_t
*
TB_parameters
=
&
TBs
[
dlsch_id
];
nrLDPC_TB_encoding_parameters_t
*
TB_parameters
=
&
TBs
[
dlsch_id
];
...
...
openair1/PHY/NR_TRANSPORT/nr_dlsch_tools.c
View file @
751cab3d
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
void
nr_fill_dlsch_dl_tti_req
(
processingData_L1tx_t
*
msgTx
,
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch_pdu
)
void
nr_fill_dlsch_dl_tti_req
(
processingData_L1tx_t
*
msgTx
,
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch_pdu
)
{
{
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
msgTx
->
num_pdsch_slot
]
[
0
]
;
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
msgTx
->
num_pdsch_slot
];
/// DLSCH struct
/// DLSCH struct
memcpy
((
void
*
)
&
dlsch
->
pdsch_pdu
,
(
void
*
)
pdsch_pdu
,
sizeof
(
nfapi_nr_dl_tti_pdsch_pdu
));
memcpy
((
void
*
)
&
dlsch
->
pdsch_pdu
,
(
void
*
)
pdsch_pdu
,
sizeof
(
nfapi_nr_dl_tti_pdsch_pdu
));
AssertFatal
(
msgTx
->
num_pdsch_slot
==
pdsch_pdu
->
pdsch_pdu_rel15
.
pduIndex
,
AssertFatal
(
msgTx
->
num_pdsch_slot
==
pdsch_pdu
->
pdsch_pdu_rel15
.
pduIndex
,
...
@@ -53,7 +53,7 @@ void nr_fill_dlsch_tx_req(processingData_L1tx_t *msgTx, int idx, uint8_t *sdu)
...
@@ -53,7 +53,7 @@ void nr_fill_dlsch_tx_req(processingData_L1tx_t *msgTx, int idx, uint8_t *sdu)
/* not sure if FAPI could transmit DL_TTI_req and TX_req in different orders.
/* not sure if FAPI could transmit DL_TTI_req and TX_req in different orders.
* for the moment, assume they are in the same order (and check!) */
* for the moment, assume they are in the same order (and check!) */
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
idx
]
[
0
]
;
NR_gNB_DLSCH_t
*
dlsch
=
&
msgTx
->
dlsch
[
idx
];
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch
=
&
dlsch
->
pdsch_pdu
;
nfapi_nr_dl_tti_pdsch_pdu
*
pdsch
=
&
dlsch
->
pdsch_pdu
;
AssertFatal
(
pdsch
->
pdsch_pdu_rel15
.
pduIndex
==
idx
,
"PDSCH PDU index %d does not match %d
\n
"
,
pdsch
->
pdsch_pdu_rel15
.
pduIndex
,
idx
);
AssertFatal
(
pdsch
->
pdsch_pdu_rel15
.
pduIndex
==
idx
,
"PDSCH PDU index %d does not match %d
\n
"
,
pdsch
->
pdsch_pdu_rel15
.
pduIndex
,
idx
);
dlsch
->
pdu
=
sdu
;
dlsch
->
pdu
=
sdu
;
...
...
openair1/PHY/defs_gNB.h
View file @
751cab3d
...
@@ -580,7 +580,7 @@ typedef struct processingData_L1tx {
...
@@ -580,7 +580,7 @@ typedef struct processingData_L1tx {
/// corresponds to UL_dci_req->ul_dci_pdu_list
/// corresponds to UL_dci_req->ul_dci_pdu_list
nfapi_nr_dl_tti_pdcch_pdu
ul_pdcch_pdu
[
NFAPI_NR_MAX_NB_CORESETS
];
nfapi_nr_dl_tti_pdcch_pdu
ul_pdcch_pdu
[
NFAPI_NR_MAX_NB_CORESETS
];
nfapi_nr_dl_tti_csi_rs_pdu
csirs_pdu
[
NFAPI_NR_MAX_NB_CORESETS
];
nfapi_nr_dl_tti_csi_rs_pdu
csirs_pdu
[
NFAPI_NR_MAX_NB_CORESETS
];
NR_gNB_DLSCH_t
*
*
dlsch
;
NR_gNB_DLSCH_t
*
dlsch
;
nfapi_nr_dl_tti_ssb_pdu
ssb_pdu
[
64
];
nfapi_nr_dl_tti_ssb_pdu
ssb_pdu
[
64
];
int
n_ssb_pdu
;
int
n_ssb_pdu
;
int
n_csirs_pdu
;
int
n_csirs_pdu
;
...
...
openair1/SIMULATION/NR_PHY/dlschsim.c
View file @
751cab3d
...
@@ -441,7 +441,7 @@ int main(int argc, char **argv)
...
@@ -441,7 +441,7 @@ int main(int argc, char **argv)
unsigned
char
harq_pid
=
0
;
//dlsch->harq_ids[subframe];
unsigned
char
harq_pid
=
0
;
//dlsch->harq_ids[subframe];
processingData_L1tx_t
msgDataTx
;
processingData_L1tx_t
msgDataTx
;
init_DLSCH_struct
(
gNB
,
&
msgDataTx
);
init_DLSCH_struct
(
gNB
,
&
msgDataTx
);
NR_gNB_DLSCH_t
*
dlsch
=
&
msgDataTx
.
dlsch
[
0
]
[
0
]
;
NR_gNB_DLSCH_t
*
dlsch
=
&
msgDataTx
.
dlsch
[
0
];
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
//time_stats_t *rm_stats, *te_stats, *i_stats;
//time_stats_t *rm_stats, *te_stats, *i_stats;
unsigned
int
TBS
=
8424
;
unsigned
int
TBS
=
8424
;
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
751cab3d
...
@@ -1058,7 +1058,7 @@ int main(int argc, char **argv)
...
@@ -1058,7 +1058,7 @@ int main(int argc, char **argv)
n_false_positive
=
0
;
n_false_positive
=
0
;
if
(
n_trials
==
1
)
num_rounds
=
1
;
if
(
n_trials
==
1
)
num_rounds
=
1
;
NR_gNB_DLSCH_t
*
gNB_dlsch
=
&
msgDataTx
->
dlsch
[
0
]
[
0
]
;
NR_gNB_DLSCH_t
*
gNB_dlsch
=
&
msgDataTx
->
dlsch
[
0
];
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
gNB_dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
rel15
=
&
gNB_dlsch
->
pdsch_pdu
.
pdsch_pdu_rel15
;
for
(
trial
=
0
;
trial
<
n_trials
&&
!
stop
;
trial
++
)
{
for
(
trial
=
0
;
trial
<
n_trials
&&
!
stop
;
trial
++
)
{
...
...
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