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
littleBu
OpenXG-RAN
Commits
15565c96
Commit
15565c96
authored
3 years ago
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gold init improvement at ue for pusch
parent
34ab52b6
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
6 deletions
+30
-6
openair1/PHY/NR_REFSIG/nr_gold_ue.c
openair1/PHY/NR_REFSIG/nr_gold_ue.c
+2
-2
openair1/PHY/NR_REFSIG/refsig_defs_ue.h
openair1/PHY/NR_REFSIG/refsig_defs_ue.h
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+5
-3
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+6
-0
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+3
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+13
-0
No files found.
openair1/PHY/NR_REFSIG/nr_gold_ue.c
View file @
15565c96
...
...
@@ -103,7 +103,7 @@ void nr_gold_pdsch(PHY_VARS_NR_UE* ue,
}
void
nr_init_pusch_dmrs
(
PHY_VARS_NR_UE
*
ue
,
uint16_t
*
N_n_scid
,
uint16_t
N_n_scid
,
uint8_t
n_scid
)
{
uint32_t
x1
,
x2
,
n
;
...
...
@@ -116,7 +116,7 @@ void nr_init_pusch_dmrs(PHY_VARS_NR_UE* ue,
for
(
symb
=
0
;
symb
<
fp
->
symbols_per_slot
;
symb
++
)
{
reset
=
1
;
x2
=
((
1
<<
17
)
*
(
fp
->
symbols_per_slot
*
slot
+
symb
+
1
)
*
((
N_n_scid
[
n_scid
]
<<
1
)
+
1
)
+
((
N_n_scid
[
n_scid
]
<<
1
)
+
n_scid
));
x2
=
((
1
<<
17
)
*
(
fp
->
symbols_per_slot
*
slot
+
symb
+
1
)
*
((
N_n_scid
<<
1
)
+
1
)
+
((
N_n_scid
<<
1
)
+
n_scid
));
for
(
n
=
0
;
n
<
NR_MAX_PUSCH_DMRS_INIT_LENGTH_DWORD
;
n
++
)
{
pusch_dmrs
[
slot
][
symb
][
0
][
n
]
=
lte_gold_generic
(
&
x1
,
&
x2
,
reset
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_REFSIG/refsig_defs_ue.h
View file @
15565c96
...
...
@@ -65,7 +65,7 @@ void nr_gold_pdsch(PHY_VARS_NR_UE* ue,
uint32_t
nid
);
void
nr_init_pusch_dmrs
(
PHY_VARS_NR_UE
*
ue
,
uint16_t
*
N_n_scid
,
uint16_t
N_n_scid
,
uint8_t
n_scid
);
#endif
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
15565c96
...
...
@@ -316,9 +316,11 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
}
// initialize the pusch dmrs
uint16_t
N_n_scid
[
2
]
=
{
fp
->
Nid_cell
,
fp
->
Nid_cell
};
int
n_scid
=
0
;
// This quantity is indicated by higher layer parameter dmrs-SeqInitialization
nr_init_pusch_dmrs
(
ue
,
N_n_scid
,
n_scid
);
for
(
int
i
=
0
;
i
<
2
;
i
++
)
{
ue
->
scramblingID_ulsch
[
i
]
=
fp
->
Nid_cell
;
nr_init_pusch_dmrs
(
ue
,
ue
->
scramblingID_ulsch
[
i
],
i
);
}
// we also need to take into account the shift by samples_per_frame in case the if is true
if
(
ue
->
ssb_offset
<
sync_pos_frame
){
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
15565c96
...
...
@@ -32,6 +32,7 @@
#include <stdint.h>
#include "PHY/NR_REFSIG/dmrs_nr.h"
#include "PHY/NR_REFSIG/ptrs_nr.h"
#include "PHY/NR_REFSIG/refsig_defs_ue.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_ue.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/MODULATION/nr_modulation.h"
...
...
@@ -220,6 +221,11 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
/////////////////////////DMRS Modulation/////////////////////////
///////////
if
(
pusch_pdu
->
ul_dmrs_scrambling_id
!=
UE
->
scramblingID_ulsch
[
pusch_pdu
->
scid
])
{
UE
->
scramblingID_ulsch
[
pusch_pdu
->
scid
]
=
pusch_pdu
->
ul_dmrs_scrambling_id
;
nr_init_pusch_dmrs
(
UE
,
pusch_pdu
->
scid
,
pusch_pdu
->
ul_dmrs_scrambling_id
);
}
uint32_t
***
pusch_dmrs
=
UE
->
nr_gold_pusch_dmrs
[
slot
];
uint16_t
n_dmrs
=
(
pusch_pdu
->
bwp_start
+
start_rb
+
nb_rb
)
*
((
dmrs_type
==
pusch_dmrs_type1
)
?
6
:
4
);
int16_t
mod_dmrs
[
n_dmrs
<<
1
]
__attribute
((
aligned
(
16
)));
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_nr_UE.h
View file @
15565c96
...
...
@@ -861,6 +861,9 @@ typedef struct {
// Scrambling IDs used in PDSCH DMRS
uint16_t
scramblingID_dlsch
[
2
];
// Scrambling IDs used in PUSCH DMRS
uint16_t
scramblingID_ulsch
[
2
];
/// PDCCH DMRS
uint32_t
***
nr_gold_pdcch
[
NUMBER_OF_CONNECTED_eNB_MAX
];
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
15565c96
...
...
@@ -732,6 +732,11 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
?
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeA
->
choice
.
setup
:
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
;
}
pusch_config_pdu
->
scid
=
0
;
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
mac
->
physCellId
;
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
pusch_config_pdu
->
scid
=
dci
->
dmrs_sequence_initialization
.
val
;
/* TRANSFORM PRECODING ------------------------------------------------------------------------------------------*/
if
(
pusch_config_pdu
->
transform_precoding
==
NR_PUSCH_Config__transformPrecoder_enabled
)
{
...
...
@@ -757,6 +762,14 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
LOG_D
(
NR_MAC
,
"TRANSFORM PRECODING IS ENABLED. CDM groups: %d, U: %d
\n
"
,
pusch_config_pdu
->
num_dmrs_cdm_grps_no_data
,
pusch_config_pdu
->
dfts_ofdm
.
low_papr_group_number
);
}
else
{
if
(
pusch_config_pdu
->
scid
==
0
&&
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID0
)
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
*
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID0
;
if
(
pusch_config_pdu
->
scid
==
1
&&
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID1
)
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
*
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID1
;
}
/* TRANSFORM PRECODING --------------------------------------------------------------------------------------------------------*/
...
...
This diff is collapsed.
Click to expand it.
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