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
wangjie
OpenXG-RAN
Commits
da77bf33
Commit
da77bf33
authored
Dec 07, 2020
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix for DMRS symbol without data
parent
62d481f3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
6 deletions
+12
-6
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
+1
-4
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+11
-2
No files found.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
View file @
da77bf33
...
@@ -1598,10 +1598,7 @@ void nr_dlsch_channel_level(int **dl_ch_estimates_ext,
...
@@ -1598,10 +1598,7 @@ void nr_dlsch_channel_level(int **dl_ch_estimates_ext,
int16_t
y
=
(
len
)
>>
x
;
int16_t
y
=
(
len
)
>>
x
;
//printf("len = %d = %d * 2^(%d)\n",len,y,x);
//printf("len = %d = %d * 2^(%d)\n",len,y,x);
if
(
y
==
0
)
{
AssertFatal
(
y
!=
0
,
"Cannot divide by zero: in function %s of file %s
\n
"
,
__func__
,
__FILE__
);
LOG_W
(
PHY
,
"Cannot divide by zero: in function %s of file %s
\n
"
,
__func__
,
__FILE__
);
return
;
}
for
(
aatx
=
0
;
aatx
<
frame_parms
->
nb_antenna_ports_gNB
;
aatx
++
)
for
(
aatx
=
0
;
aatx
<
frame_parms
->
nb_antenna_ports_gNB
;
aatx
++
)
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
da77bf33
...
@@ -731,6 +731,8 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
...
@@ -731,6 +731,8 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
uint16_t
pdsch_nb_rb
=
dlsch0
->
harq_processes
[
harq_pid
]
->
nb_rb
;
uint16_t
pdsch_nb_rb
=
dlsch0
->
harq_processes
[
harq_pid
]
->
nb_rb
;
uint16_t
s0
=
dlsch0
->
harq_processes
[
harq_pid
]
->
start_symbol
;
uint16_t
s0
=
dlsch0
->
harq_processes
[
harq_pid
]
->
start_symbol
;
uint16_t
s1
=
dlsch0
->
harq_processes
[
harq_pid
]
->
nb_symbols
;
uint16_t
s1
=
dlsch0
->
harq_processes
[
harq_pid
]
->
nb_symbols
;
NR_DL_UE_HARQ_t
*
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
uint16_t
nb_rb
=
dlsch0_harq
->
nb_rb
/
ue
->
frame_parms
.
nb_antennas_rx
;
LOG_D
(
PHY
,
"[UE %d] PDSCH type %d active in nr_slot_rx %d, harq_pid %d (%d), rb_start %d, nb_rb %d, symbol_start %d, nb_symbols %d, DMRS mask %x
\n
"
,
ue
->
Mod_id
,
pdsch
,
nr_slot_rx
,
harq_pid
,
dlsch0
->
harq_processes
[
harq_pid
]
->
status
,
pdsch_start_rb
,
pdsch_nb_rb
,
s0
,
s1
,
dlsch0
->
harq_processes
[
harq_pid
]
->
dlDmrsSymbPos
);
LOG_D
(
PHY
,
"[UE %d] PDSCH type %d active in nr_slot_rx %d, harq_pid %d (%d), rb_start %d, nb_rb %d, symbol_start %d, nb_symbols %d, DMRS mask %x
\n
"
,
ue
->
Mod_id
,
pdsch
,
nr_slot_rx
,
harq_pid
,
dlsch0
->
harq_processes
[
harq_pid
]
->
status
,
pdsch_start_rb
,
pdsch_nb_rb
,
s0
,
s1
,
dlsch0
->
harq_processes
[
harq_pid
]
->
dlDmrsSymbPos
);
...
@@ -762,13 +764,20 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
...
@@ -762,13 +764,20 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int eNB_
break
;
break
;
}
}
}
}
uint16_t
first_symbol_with_data
=
s0
;
uint8_t
pilots
=
((
1
<<
s0
)
&
dlsch0_harq
->
dlDmrsSymbPos
)
>
0
?
1
:
0
;
uint32_t
len
=
(
pilots
==
1
)
?
((
ue
->
dmrs_DownlinkConfig
.
pdsch_dmrs_type
==
pdsch_dmrs_type1
)
?
nb_rb
*
(
12
-
6
*
dlsch0_harq
->
n_dmrs_cdm_groups
)
:
nb_rb
*
(
12
-
4
*
dlsch0_harq
->
n_dmrs_cdm_groups
))
:
(
nb_rb
*
12
);
if
(
len
==
0
)
{
first_symbol_with_data
=
first_symbol_with_data
+
1
;
// TODO: Replace "1" by dmrs duration
}
for
(
m
=
s0
;
m
<
(
s1
+
s0
);
m
++
)
{
for
(
m
=
s0
;
m
<
(
s1
+
s0
);
m
++
)
{
dual_stream_UE
=
0
;
dual_stream_UE
=
0
;
eNB_id_i
=
eNB_id
+
1
;
eNB_id_i
=
eNB_id
+
1
;
i_mod
=
0
;
i_mod
=
0
;
if
((
m
==
first_symbol_with_data
)
&&
(
m
<
4
))
if
((
m
==
s0
)
&&
(
m
<
3
))
first_symbol_flag
=
1
;
first_symbol_flag
=
1
;
else
else
first_symbol_flag
=
0
;
first_symbol_flag
=
0
;
...
...
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