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
68ba04ab
Commit
68ba04ab
authored
Apr 16, 2020
by
Ahmed Hussein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding an extra condition for L_ptrs
- if L_ptrs is >= number of pusch symbols, then no ptrs will be scheduled
parent
728a9033
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
3 deletions
+14
-3
executables/nr-ue.c
executables/nr-ue.c
+5
-0
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+6
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+3
-0
No files found.
executables/nr-ue.c
View file @
68ba04ab
...
@@ -424,6 +424,11 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
...
@@ -424,6 +424,11 @@ void processSlotTX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ue_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ue_ptrs_ports_t
));
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ue_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ue_ptrs_ports_t
));
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
if
(
1
<<
ptrs_time_density
>=
nr_of_symbols
)
{
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
=
scheduled_response
.
ul_config
->
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
&
0xFFFB
;
}
nr_ue_scheduled_response
(
&
scheduled_response
);
nr_ue_scheduled_response
(
&
scheduled_response
);
if
(
UE
->
mode
!=
loop_through_memory
)
{
if
(
UE
->
mode
!=
loop_through_memory
)
{
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
68ba04ab
...
@@ -507,14 +507,16 @@ int main(int argc, char **argv)
...
@@ -507,14 +507,16 @@ int main(int argc, char **argv)
uint16_t
n_rb0
=
25
;
uint16_t
n_rb0
=
25
;
uint16_t
n_rb1
=
75
;
uint16_t
n_rb1
=
75
;
uint8_t
mcs_table
=
0
;
uint8_t
mcs_table
=
0
;
uint16_t
pdu_bit_map
=
PUSCH_PDU_BITMAP_PUSCH_DATA
|
PUSCH_PDU_BITMAP_PUSCH_PTRS
;
uint8_t
length_dmrs
=
pusch_len1
;
// [hna] remove dmrs struct
uint8_t
length_dmrs
=
pusch_len1
;
// [hna] remove dmrs struct
uint16_t
l_prime_mask
=
get_l_prime
(
nb_symb_sch
,
typeB
,
pusch_dmrs_pos0
,
length_dmrs
);
// [hna] remove dmrs struct
uint16_t
l_prime_mask
=
get_l_prime
(
nb_symb_sch
,
typeB
,
pusch_dmrs_pos0
,
length_dmrs
);
// [hna] remove dmrs struct
uint8_t
ptrs_time_density
=
get_L_ptrs
(
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
Imcs
,
mcs_table
);
uint8_t
ptrs_time_density
=
get_L_ptrs
(
ptrs_mcs1
,
ptrs_mcs2
,
ptrs_mcs3
,
Imcs
,
mcs_table
);
uint8_t
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
nb_rb
);
uint8_t
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
nb_rb
);
printf
(
"time_density = %d
\n
"
,
ptrs_time_density
);
if
(
1
<<
ptrs_time_density
>=
nb_symb_sch
)
printf
(
"freq_density = %d
\n
"
,
ptrs_freq_density
);
pdu_bit_map
=
pdu_bit_map
&
0xFFFB
;
for
(
i
=
0
;
i
<
nb_symb_sch
;
i
++
)
{
for
(
i
=
0
;
i
<
nb_symb_sch
;
i
++
)
{
number_dmrs_symbols
+=
(
l_prime_mask
>>
i
)
&
0x01
;
number_dmrs_symbols
+=
(
l_prime_mask
>>
i
)
&
0x01
;
}
}
...
@@ -553,7 +555,7 @@ int main(int argc, char **argv)
...
@@ -553,7 +555,7 @@ int main(int argc, char **argv)
UL_tti_req
->
pdus_list
[
0
].
pdu_size
=
sizeof
(
nfapi_nr_pusch_pdu_t
);
UL_tti_req
->
pdus_list
[
0
].
pdu_size
=
sizeof
(
nfapi_nr_pusch_pdu_t
);
memset
(
pusch_pdu
,
0
,
sizeof
(
nfapi_nr_pusch_pdu_t
));
memset
(
pusch_pdu
,
0
,
sizeof
(
nfapi_nr_pusch_pdu_t
));
pusch_pdu
->
pdu_bit_map
=
PUSCH_PDU_BITMAP_PUSCH_DATA
;
pusch_pdu
->
pdu_bit_map
=
pdu_bit_map
;
pusch_pdu
->
rnti
=
n_rnti
;
pusch_pdu
->
rnti
=
n_rnti
;
pusch_pdu
->
mcs_index
=
Imcs
;
pusch_pdu
->
mcs_index
=
Imcs
;
pusch_pdu
->
mcs_table
=
mcs_table
;
pusch_pdu
->
mcs_table
=
mcs_table
;
...
@@ -597,6 +599,7 @@ int main(int argc, char **argv)
...
@@ -597,6 +599,7 @@ int main(int argc, char **argv)
ul_config
.
number_pdus
=
1
;
ul_config
.
number_pdus
=
1
;
ul_config
.
ul_config_list
[
0
].
pdu_type
=
FAPI_NR_UL_CONFIG_TYPE_PUSCH
;
ul_config
.
ul_config_list
[
0
].
pdu_type
=
FAPI_NR_UL_CONFIG_TYPE_PUSCH
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rnti
=
n_rnti
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rnti
=
n_rnti
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
pdu_bit_map
=
pdu_bit_map
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rb_size
=
nb_rb
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rb_size
=
nb_rb
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rb_start
=
start_rb
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
rb_start
=
start_rb
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
nr_of_symbols
=
nb_symb_sch
;
ul_config
.
ul_config_list
[
0
].
pusch_config_pdu
.
nr_of_symbols
=
nb_symb_sch
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
68ba04ab
...
@@ -797,6 +797,9 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
...
@@ -797,6 +797,9 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
pusch_pdu
->
pusch_ptrs
.
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
pusch_pdu
->
rb_size
);
pusch_pdu
->
pusch_ptrs
.
ptrs_freq_density
=
get_K_ptrs
(
n_rb0
,
n_rb1
,
pusch_pdu
->
rb_size
);
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ptrs_ports_t
));
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
=
(
nfapi_nr_ptrs_ports_t
*
)
malloc
(
2
*
sizeof
(
nfapi_nr_ptrs_ports_t
));
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
pusch_pdu
->
pusch_ptrs
.
ptrs_ports_list
[
0
].
ptrs_re_offset
=
0
;
if
(
1
<<
pusch_pdu
->
pusch_ptrs
.
ptrs_time_density
>=
pusch_pdu
->
nr_of_symbols
)
pusch_pdu
->
pdu_bit_map
=
pusch_pdu
->
pdu_bit_map
&
0xFFFB
;
// --------------------------------------------------------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------------------------------
//Pusch Allocation in frequency domain [TS38.214, sec 6.1.2.2]
//Pusch Allocation in frequency domain [TS38.214, sec 6.1.2.2]
...
...
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