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
常顺宇
OpenXG-RAN
Commits
94fa9c5f
Commit
94fa9c5f
authored
4 years ago
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix in function to check data in dmrs symbol
parent
0ce23bee
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
35 additions
and
49 deletions
+35
-49
openair1/PHY/NR_REFSIG/dmrs_nr.c
openair1/PHY/NR_REFSIG/dmrs_nr.c
+27
-0
openair1/PHY/NR_REFSIG/dmrs_nr.h
openair1/PHY/NR_REFSIG/dmrs_nr.h
+5
-0
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
+2
-1
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
+0
-21
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.h
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.h
+0
-5
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+1
-22
No files found.
openair1/PHY/NR_REFSIG/dmrs_nr.c
View file @
94fa9c5f
...
...
@@ -34,6 +34,33 @@
#include "PHY/NR_REFSIG/dmrs_nr.h"
uint8_t
allowed_xlsch_re_in_dmrs_symbol
(
uint16_t
k
,
uint16_t
start_sc
,
uint8_t
numDmrsCdmGrpsNoData
,
uint8_t
dmrs_type
)
{
uint8_t
delta
;
uint16_t
diff
;
if
(
k
>
start_sc
)
diff
=
k
-
start_sc
;
else
diff
=
start_sc
-
k
;
for
(
int
i
=
0
;
i
<
numDmrsCdmGrpsNoData
;
i
++
){
if
(
dmrs_type
==
NFAPI_NR_DMRS_TYPE1
)
{
delta
=
i
;
if
(((
diff
)
%
2
)
==
delta
)
return
(
0
);
}
else
{
delta
=
i
<<
1
;
if
(
(((
diff
)
%
6
)
==
delta
)
||
(((
k
-
start_sc
)
%
6
)
==
(
delta
+
1
))
)
return
(
0
);
}
}
return
(
1
);
}
/*******************************************************************
*
* NAME : pseudo_random_gold_sequence
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_REFSIG/dmrs_nr.h
View file @
94fa9c5f
...
...
@@ -56,6 +56,11 @@ void lte_gold_new(LTE_DL_FRAME_PARMS *frame_parms, uint32_t lte_gold_table[20][2
void
generate_dmrs_pbch
(
uint32_t
dmrs_pbch_bitmap
[
DMRS_PBCH_I_SSB
][
DMRS_PBCH_N_HF
][
DMRS_BITMAP_SIZE
],
uint16_t
Nid_cell
);
uint16_t
get_dmrs_freq_idx_ul
(
uint16_t
n
,
uint8_t
k_prime
,
uint8_t
delta
,
uint8_t
dmrs_type
);
uint8_t
allowed_xlsch_re_in_dmrs_symbol
(
uint16_t
k
,
uint16_t
start_sc
,
uint8_t
numDmrsCdmGrpsNoData
,
uint8_t
dmrs_type
);
#undef EXTERN
#endif
/* DMRS_NR_H */
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_dlsch.c
View file @
94fa9c5f
...
...
@@ -34,6 +34,7 @@
#include "nr_dci.h"
#include "nr_sch_dmrs.h"
#include "PHY/MODULATION/nr_modulation.h"
#include "PHY/NR_REFSIG/dmrs_nr.h"
//#define DEBUG_DLSCH
//#define DEBUG_DLSCH_MAPPING
...
...
@@ -304,7 +305,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t *dlsch,
}
else
{
if
(
(
l
!=
dmrs_symbol
)
||
allowed_
pd
sch_re_in_dmrs_symbol
(
k
,
start_sc
,
rel15
->
numDmrsCdmGrpsNoData
,
dmrs_Type
))
{
if
(
(
l
!=
dmrs_symbol
)
||
allowed_
xl
sch_re_in_dmrs_symbol
(
k
,
start_sc
,
rel15
->
numDmrsCdmGrpsNoData
,
dmrs_Type
))
{
((
int16_t
*
)
txdataF
[
ap
])[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
(
2
*
txdataF_offset
)]
=
(
amp
*
tx_layers
[
ap
][
m
<<
1
])
>>
15
;
((
int16_t
*
)
txdataF
[
ap
])[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
+
(
2
*
txdataF_offset
)]
=
(
amp
*
tx_layers
[
ap
][(
m
<<
1
)
+
1
])
>>
15
;
#ifdef DEBUG_DLSCH_MAPPING
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.c
View file @
94fa9c5f
...
...
@@ -84,27 +84,6 @@ uint16_t get_dmrs_freq_idx(uint16_t n, uint8_t k_prime, uint8_t delta, uint8_t d
return
dmrs_idx
;
}
uint8_t
allowed_pdsch_re_in_dmrs_symbol
(
uint16_t
k
,
uint16_t
start_sc
,
uint8_t
numDmrsCdmGrpsNoData
,
uint8_t
dmrs_type
)
{
uint8_t
delta
;
for
(
int
i
=
0
;
i
<
numDmrsCdmGrpsNoData
;
i
++
){
if
(
dmrs_type
==
NFAPI_NR_DMRS_TYPE1
)
{
delta
=
i
;
if
(((
k
-
start_sc
)
%
2
)
==
delta
)
return
(
0
);
}
else
{
delta
=
i
<<
1
;
if
(
(((
k
-
start_sc
)
%
6
)
==
delta
)
||
(((
k
-
start_sc
)
%
6
)
==
(
delta
+
1
))
)
return
(
0
);
}
}
return
(
1
);
}
uint8_t
get_l0
(
uint16_t
dlDmrsSymbPos
)
{
uint16_t
mask
=
dlDmrsSymbPos
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_sch_dmrs.h
View file @
94fa9c5f
...
...
@@ -48,11 +48,6 @@ uint8_t get_delta(uint8_t ap, uint8_t config);
uint16_t
get_dmrs_freq_idx
(
uint16_t
n
,
uint8_t
k_prime
,
uint8_t
delta
,
uint8_t
dmrs_type
);
uint8_t
allowed_pdsch_re_in_dmrs_symbol
(
uint16_t
k
,
uint16_t
start_sc
,
uint8_t
numDmrsCdmGrpsNoData
,
uint8_t
dmrs_type
);
uint8_t
get_l0
(
uint16_t
dlDmrsSymbPos
);
#endif
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
View file @
94fa9c5f
...
...
@@ -435,7 +435,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
ptrs_idx
++
;
}
else
if
(
!
is_dmrs_symbol
||
allowed_
u
lsch_re_in_dmrs_symbol
(
k
,
start_sc
,
harq_process_ul_ue
->
pusch_pdu
.
num_dmrs_cdm_grps_no_data
,
dmrs_type
))
{
}
else
if
(
!
is_dmrs_symbol
||
allowed_
x
lsch_re_in_dmrs_symbol
(
k
,
start_sc
,
harq_process_ul_ue
->
pusch_pdu
.
num_dmrs_cdm_grps_no_data
,
dmrs_type
))
{
((
int16_t
*
)
txdataF
[
ap
])[(
sample_offsetF
)
<<
1
]
=
((
int16_t
*
)
ulsch_ue
->
y
)[
m
<<
1
];
((
int16_t
*
)
txdataF
[
ap
])[((
sample_offsetF
)
<<
1
)
+
1
]
=
((
int16_t
*
)
ulsch_ue
->
y
)[(
m
<<
1
)
+
1
];
...
...
@@ -473,27 +473,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
}
uint8_t
allowed_ulsch_re_in_dmrs_symbol
(
uint16_t
k
,
uint16_t
start_sc
,
uint8_t
numDmrsCdmGrpsNoData
,
uint8_t
dmrs_type
)
{
uint8_t
delta
;
for
(
int
i
=
0
;
i
<
numDmrsCdmGrpsNoData
;
i
++
){
if
(
dmrs_type
==
NFAPI_NR_DMRS_TYPE1
)
{
delta
=
i
;
if
(((
k
-
start_sc
)
%
2
)
==
delta
)
return
(
0
);
}
else
{
delta
=
i
<<
1
;
if
(
(((
k
-
start_sc
)
%
6
)
==
delta
)
||
(((
k
-
start_sc
)
%
6
)
==
(
delta
+
1
))
)
return
(
0
);
}
}
return
(
1
);
}
uint8_t
nr_ue_pusch_common_procedures
(
PHY_VARS_NR_UE
*
UE
,
uint8_t
harq_pid
,
uint8_t
slot
,
...
...
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