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
spbro
OpenXG-RAN
Commits
132949c2
Commit
132949c2
authored
Mar 08, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_DMRS_rx_improved_comments' into integration_2024_w10
parents
d1c2d60d
c464c27f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
17 deletions
+34
-17
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+10
-2
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
+9
-11
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+15
-4
No files found.
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
132949c2
...
...
@@ -110,8 +110,16 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
}
if
(
pusch_pdu
->
transform_precoding
==
transformPrecoder_disabled
)
{
nr_pusch_dmrs_rx
(
gNB
,
Ns
,
gNB
->
nr_gold_pusch_dmrs
[
pusch_pdu
->
scid
][
Ns
][
symbol
],
(
int32_t
*
)
pilot
,
(
1000
+
p
),
0
,
nb_rb_pusch
,
(
pusch_pdu
->
bwp_start
+
pusch_pdu
->
rb_start
)
*
NR_NB_SC_PER_RB
,
pusch_pdu
->
dmrs_config_type
);
// Note: pilot returned by the following function is already the complex conjugate of the transmitted DMRS
nr_pusch_dmrs_rx
(
gNB
,
Ns
,
gNB
->
nr_gold_pusch_dmrs
[
pusch_pdu
->
scid
][
Ns
][
symbol
],
(
int32_t
*
)
pilot
,
(
1000
+
p
),
0
,
nb_rb_pusch
,
(
pusch_pdu
->
bwp_start
+
pusch_pdu
->
rb_start
)
*
NR_NB_SC_PER_RB
,
pusch_pdu
->
dmrs_config_type
);
}
else
{
// if transform precoding or SC-FDMA is enabled in Uplink
// NR_SC_FDMA supports type1 DMRS so only 6 DMRS REs per RB possible
const
uint16_t
index
=
get_index_for_dmrs_lowpapr_seq
(
nb_rb_pusch
*
(
NR_NB_SC_PER_RB
/
2
));
...
...
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
View file @
132949c2
...
...
@@ -196,9 +196,7 @@ int nr_pdcch_dmrs_rx(PHY_VARS_NR_UE *ue,
}
int
nr_pbch_dmrs_rx
(
int
symbol
,
unsigned
int
*
nr_gold_pbch
,
int32_t
*
output
)
int
nr_pbch_dmrs_rx
(
int
symbol
,
unsigned
int
*
nr_gold_pbch
,
int32_t
*
output
)
{
int
m
,
m0
,
m1
;
uint8_t
idx
=
0
;
...
...
@@ -258,14 +256,14 @@ void nr_gen_ref_conj_symbols(uint32_t *in, uint32_t length, int16_t *output, uin
}
int
nr_pusch_lowpaprtype1_dmrs_rx
(
PHY_VARS_gNB
*
gNB
,
unsigned
int
Ns
,
int16_t
*
dmrs_seq
,
int32_t
*
output
,
unsigned
short
p
,
unsigned
char
lp
,
unsigned
short
nb_pusch_rb
,
uint32_t
re_offset
,
uint8_t
dmrs_type
)
unsigned
int
Ns
,
int16_t
*
dmrs_seq
,
int32_t
*
output
,
unsigned
short
p
,
unsigned
char
lp
,
unsigned
short
nb_pusch_rb
,
uint32_t
re_offset
,
uint8_t
dmrs_type
)
{
int8_t
w
,
nb_dmrs
;
int
k
;
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
132949c2
...
...
@@ -661,7 +661,8 @@ int nr_pbch_dmrs_correlation(PHY_VARS_NR_UE *ue,
#endif
// generate pilot
nr_pbch_dmrs_rx
(
dmrss
,
ue
->
nr_gold_pbch
[
n_hf
][
ssb_index
],
&
pilot
[
0
]);
// Note: pilot returned by the following function is already the complex conjugate of the transmitted DMRS
nr_pbch_dmrs_rx
(
dmrss
,
ue
->
nr_gold_pbch
[
n_hf
][
ssb_index
],
&
pilot
[
0
]);
for
(
int
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
{
...
...
@@ -901,7 +902,8 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
}
// generate pilot
nr_pbch_dmrs_rx
(
dmrss
,
ue
->
nr_gold_pbch
[
n_hf
][
ssb_index
],
&
pilot
[
0
]);
// Note: pilot returned by the following function is already the complex conjugate of the transmitted DMRS
nr_pbch_dmrs_rx
(
dmrss
,
ue
->
nr_gold_pbch
[
n_hf
][
ssb_index
],
&
pilot
[
0
]);
for
(
int
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
{
...
...
@@ -1114,7 +1116,8 @@ void nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
dmrs_ref
=
BWPStart
;
// generate pilot
int
pilot
[(
nb_rb_coreset
+
dmrs_ref
)
*
3
]
__attribute__
((
aligned
(
16
)));
nr_pdcch_dmrs_rx
(
ue
,
Ns
,
ue
->
nr_gold_pdcch
[
gNB_id
][
Ns
][
symbol
],
&
pilot
[
0
],
2000
,(
nb_rb_coreset
+
dmrs_ref
));
// Note: pilot returned by the following function is already the complex conjugate of the transmitted DMRS
nr_pdcch_dmrs_rx
(
ue
,
Ns
,
ue
->
nr_gold_pdcch
[
gNB_id
][
Ns
][
symbol
],
&
pilot
[
0
],
2000
,
(
nb_rb_coreset
+
dmrs_ref
));
for
(
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
{
...
...
@@ -1651,7 +1654,15 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
}
c16_t
pilot
[
3280
]
__attribute__
((
aligned
(
16
)));
nr_pdsch_dmrs_rx
(
ue
,
Ns
,
ue
->
nr_gold_pdsch
[
gNB_id
][
Ns
][
symbol
][
nscid
],
(
int32_t
*
)
pilot
,
1000
+
p
,
0
,
nb_rb_pdsch
+
rb_offset
,
config_type
);
// Note: pilot returned by the following function is already the complex conjugate of the transmitted DMRS
nr_pdsch_dmrs_rx
(
ue
,
Ns
,
ue
->
nr_gold_pdsch
[
gNB_id
][
Ns
][
symbol
][
nscid
],
(
int32_t
*
)
pilot
,
1000
+
p
,
0
,
nb_rb_pdsch
+
rb_offset
,
config_type
);
uint8_t
nushift
=
0
;
if
(
config_type
==
NFAPI_NR_DMRS_TYPE1
)
{
...
...
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