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
e96bb102
Commit
e96bb102
authored
Feb 25, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improving also pusch dmrs init
parent
ba92e374
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
20 deletions
+23
-20
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+4
-3
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+6
-1
openair1/PHY/NR_REFSIG/nr_gold.c
openair1/PHY/NR_REFSIG/nr_gold.c
+11
-15
openair1/PHY/NR_REFSIG/nr_refsig.h
openair1/PHY/NR_REFSIG/nr_refsig.h
+1
-1
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+1
-0
No files found.
openair1/PHY/INIT/nr_init.c
View file @
e96bb102
...
...
@@ -179,9 +179,10 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
}
}
uint32_t
Nid_pusch
[
2
]
=
{
cfg
->
cell_config
.
phy_cell_id
.
value
,
cfg
->
cell_config
.
phy_cell_id
.
value
};
LOG_D
(
PHY
,
"Initializing PUSCH DMRS Gold sequence with (%x,%x)
\n
"
,
Nid_pusch
[
0
],
Nid_pusch
[
1
]);
nr_gold_pusch
(
gNB
,
&
Nid_pusch
[
0
]);
for
(
int
nscid
=
0
;
nscid
<
2
;
nscid
++
)
{
gNB
->
pusch_gold_init
[
nscid
]
=
cfg
->
cell_config
.
phy_cell_id
.
value
;
nr_gold_pusch
(
gNB
,
nscid
,
gNB
->
pusch_gold_init
[
nscid
]);
}
//CSI RS init
gNB
->
nr_gold_csi_rs
=
(
uint32_t
***
)
malloc16
(
fp
->
slots_per_frame
*
sizeof
(
uint32_t
**
));
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
e96bb102
...
...
@@ -165,6 +165,11 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
//------------------generate DMRS------------------//
if
(
pusch_pdu
->
ul_dmrs_scrambling_id
!=
gNB
->
pusch_gold_init
[
pusch_pdu
->
scid
])
{
gNB
->
pusch_gold_init
[
pusch_pdu
->
scid
]
=
pusch_pdu
->
ul_dmrs_scrambling_id
;
nr_gold_pusch
(
gNB
,
pusch_pdu
->
scid
,
pusch_pdu
->
ul_dmrs_scrambling_id
);
}
// transform precoding = 1 means disabled
if
(
pusch_pdu
->
transform_precoding
==
1
)
{
nr_pusch_dmrs_rx
(
gNB
,
Ns
,
gNB
->
nr_gold_pusch_dmrs
[
pusch_pdu
->
scid
][
Ns
][
symbol
],
&
pilot
[
0
],
1000
,
0
,
nb_rb_pusch
,
...
...
@@ -1247,4 +1252,4 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
#endif
return
0
;
}
\ No newline at end of file
}
openair1/PHY/NR_REFSIG/nr_gold.c
View file @
e96bb102
...
...
@@ -100,27 +100,23 @@ void nr_init_pdsch_dmrs(PHY_VARS_gNB* gNB, uint8_t nscid, uint32_t Nid)
}
void
nr_gold_pusch
(
PHY_VARS_gNB
*
gNB
,
uint32_t
*
N
id
)
{
void
nr_gold_pusch
(
PHY_VARS_gNB
*
gNB
,
int
nscid
,
uint32_t
n
id
)
{
unsigned
char
ns
;
unsigned
int
n
,
x1
,
x2
;
int
nscid
,
reset
;
unsigned
int
nid
;
int
reset
;
NR_DL_FRAME_PARMS
*
fp
=
&
gNB
->
frame_parms
;
unsigned
short
l
;
for
(
nscid
=
0
;
nscid
<
2
;
nscid
++
)
{
nid
=
Nid
[
nscid
];
for
(
ns
=
0
;
ns
<
fp
->
slots_per_frame
;
ns
++
)
{
for
(
l
=
0
;
l
<
fp
->
symbols_per_slot
;
l
++
)
{
reset
=
1
;
x2
=
((
1
<<
17
)
*
(
fp
->
symbols_per_slot
*
ns
+
l
+
1
)
*
((
nid
<<
1
)
+
1
)
+
((
nid
<<
1
)
+
nscid
));
LOG_D
(
PHY
,
"DMRS slot %d, symb %d x2 %x
\n
"
,
ns
,
l
,
x2
);
for
(
n
=
0
;
n
<
NR_MAX_PUSCH_DMRS_INIT_LENGTH_DWORD
;
n
++
)
{
gNB
->
nr_gold_pusch_dmrs
[
nscid
][
ns
][
l
][
n
]
=
lte_gold_generic
(
&
x1
,
&
x2
,
reset
);
reset
=
0
;
}
for
(
ns
=
0
;
ns
<
fp
->
slots_per_frame
;
ns
++
)
{
for
(
l
=
0
;
l
<
fp
->
symbols_per_slot
;
l
++
)
{
reset
=
1
;
x2
=
((
1
<<
17
)
*
(
fp
->
symbols_per_slot
*
ns
+
l
+
1
)
*
((
nid
<<
1
)
+
1
)
+
((
nid
<<
1
)
+
nscid
));
LOG_D
(
PHY
,
"DMRS slot %d, symb %d x2 %x
\n
"
,
ns
,
l
,
x2
);
for
(
n
=
0
;
n
<
NR_MAX_PUSCH_DMRS_INIT_LENGTH_DWORD
;
n
++
)
{
gNB
->
nr_gold_pusch_dmrs
[
nscid
][
ns
][
l
][
n
]
=
lte_gold_generic
(
&
x1
,
&
x2
,
reset
);
reset
=
0
;
}
}
}
...
...
openair1/PHY/NR_REFSIG/nr_refsig.h
View file @
e96bb102
...
...
@@ -40,7 +40,7 @@ void nr_init_pdcch_dmrs(PHY_VARS_gNB* gNB, uint32_t Nid);
void
nr_init_pdsch_dmrs
(
PHY_VARS_gNB
*
gNB
,
uint8_t
nscid
,
uint32_t
Nid
);
void
nr_init_csi_rs
(
PHY_VARS_gNB
*
gNB
,
uint32_t
Nid
);
void
nr_gold_pusch
(
PHY_VARS_gNB
*
gNB
,
uint32_t
*
N
id
);
void
nr_gold_pusch
(
PHY_VARS_gNB
*
gNB
,
int
nscid
,
uint32_t
n
id
);
int
nr_pusch_dmrs_rx
(
PHY_VARS_gNB
*
gNB
,
unsigned
int
Ns
,
...
...
openair1/PHY/defs_gNB.h
View file @
e96bb102
...
...
@@ -850,6 +850,7 @@ typedef struct PHY_VARS_gNB_s {
int
csi_gold_init
;
int
pdcch_gold_init
;
int
pdsch_gold_init
[
2
];
int
pusch_gold_init
[
2
];
int
pucch0_thres
;
int
pusch_thres
;
...
...
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