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
8ee10be2
Commit
8ee10be2
authored
6 years ago
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ue nr pdcch channel est update
parent
a79992bc
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
13 deletions
+25
-13
openair1/PHY/MODULATION/slot_fep.c
openair1/PHY/MODULATION/slot_fep.c
+7
-1
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+11
-7
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
+7
-5
No files found.
openair1/PHY/MODULATION/slot_fep.c
View file @
8ee10be2
...
...
@@ -23,6 +23,7 @@
#include "PHY/defs_nr_UE.h"
#include "modulation_UE.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/NR_UE_ESTIMATION/nr_estimation.h"
//#define DEBUG_FEP
...
...
@@ -48,6 +49,9 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
int
i
;
unsigned
int
frame_length_samples
=
frame_parms
->
samples_per_subframe
*
10
;
unsigned
int
rx_offset
;
//NR_UE_PDCCH *pdcch_vars = ue->pdcch_vars[ue->current_thread_id[Ns>>1]][0];
uint16_t
coreset_start_subcarrier
=
frame_parms
->
first_carrier_offset
;
uint16_t
nb_rb_coreset
=
24
;
/*LTE_UE_DLSCH_t **dlsch_ue = phy_vars_ue->dlsch_ue[eNB_id];
unsigned char harq_pid = dlsch_ue[0]->current_harq_pid;
...
...
@@ -242,7 +246,9 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
Ns
,
aa
,
l
,
symbol
);
symbol
,
coreset_start_subcarrier
,
nb_rb_coreset
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
8ee10be2
...
...
@@ -229,6 +229,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
unsigned
char
p
,
unsigned
char
l
,
unsigned
char
symbol
,
unsigned
short
coreset_start_subcarrier
,
unsigned
short
nb_rb_coreset
)
{
int
pilot
[
2
][
200
]
__attribute__
((
aligned
(
16
)));
...
...
@@ -241,8 +242,8 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
//uint16_t Nid_cell = (eNB_offset == 0) ? ue->frame_parms.Nid_cell : ue->measurements.adj_cell_id[eNB_offset-1];
uint8_t
nushift
;
int
**
dl_ch_estimates
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
Ns
]].
dl_ch_estimates
[
eNB_offset
];
int
**
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
Ns
]].
rxdataF
;
int
**
dl_ch_estimates
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
Ns
>>
1
]].
dl_ch_estimates
[
eNB_offset
];
int
**
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
Ns
>>
1
]].
rxdataF
;
nushift
=
1
;
ue
->
frame_parms
.
nushift
=
nushift
;
...
...
@@ -254,7 +255,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
symbol_offset
=
ue
->
frame_parms
.
ofdm_symbol_size
*
symbol
;
k
=
nushift
;
k
=
coreset_start_subcarrier
;
#ifdef DEBUG_CH
printf
(
"PBCH Channel Estimation : ThreadId %d, eNB_offset %d cell_id %d ch_offset %d, OFDM size %d, Ncp=%d, l=%d, Ns=%d, k=%d symbol %d
\n
"
,
ue
->
current_thread_id
[
Ns
>>
1
],
eNB_offset
,
Nid_cell
,
ch_offset
,
ue
->
frame_parms
.
ofdm_symbol_size
,
...
...
@@ -271,7 +272,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
for
(
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
{
pil
=
(
int16_t
*
)
&
pilot
[
p
][
0
];
rxF
=
(
int16_t
*
)
&
rxdataF
[
aarx
][(
symbol_offset
+
k
+
(
ue
->
frame_parms
.
ofdm_symbol_size
-
12
*
(
nb_rb_coreset
>>
1
))
)];
rxF
=
(
int16_t
*
)
&
rxdataF
[
aarx
][(
symbol_offset
+
k
+
nushift
)];
dl_ch
=
(
int16_t
*
)
&
dl_ch_estimates
[(
p
<<
1
)
+
aarx
][
ch_offset
];
memset
(
dl_ch
,
0
,
4
*
(
ue
->
frame_parms
.
ofdm_symbol_size
));
...
...
@@ -329,11 +330,13 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
pil
+=
2
;
rxF
+=
8
;
dl_ch
+=
24
;
k
+=
12
;
for
(
pilot_cnt
=
3
;
pilot_cnt
<
(
3
*
24
);
pilot_cnt
+=
3
)
{
for
(
pilot_cnt
=
3
;
pilot_cnt
<
(
3
*
nb_rb_coreset
);
pilot_cnt
+=
3
)
{
if
(
pilot_cnt
==
36
)
rxF
=
(
int16_t
*
)
&
rxdataF
[
aarx
][(
symbol_offset
+
k
)];
if
(
k
>=
ue
->
frame_parms
.
ofdm_symbol_size
){
k
-=
ue
->
frame_parms
.
ofdm_symbol_size
;
rxF
=
(
int16_t
*
)
&
rxdataF
[
aarx
][(
symbol_offset
+
k
+
nushift
)];}
ch
[
0
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
0
]
-
(
int32_t
)
pil
[
1
]
*
rxF
[
1
])
>>
15
);
ch
[
1
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
1
]
+
(
int32_t
)
pil
[
1
]
*
rxF
[
0
])
>>
15
);
...
...
@@ -377,6 +380,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
pil
+=
2
;
rxF
+=
8
;
dl_ch
+=
24
;
k
+=
12
;
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
View file @
8ee10be2
...
...
@@ -19,12 +19,12 @@
* contact@openairinterface.org
*/
#ifndef __
LTE
_ESTIMATION_DEFS__H__
#define __
LTE
_ESTIMATION_DEFS__H__
#ifndef __
NR
_ESTIMATION_DEFS__H__
#define __
NR
_ESTIMATION_DEFS__H__
#include "PHY/defs_nr_UE.h"
#include "PHY/defs_gNB.h"
//
#include "PHY/defs_gNB.h"
/** @addtogroup _PHY_PARAMETER_ESTIMATION_BLOCKS_
* @{
*/
...
...
@@ -42,13 +42,15 @@
\param l symbol within slot
\param symbol symbol within frame
*/
int
nr_
dl
_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
int
nr_
pdcch
_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
eNB_id
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
p
,
unsigned
char
l
,
unsigned
char
symbol
);
unsigned
char
symbol
,
unsigned
short
coreset_start_subcarrier
,
unsigned
short
nb_rb_coreset
);
int
nr_pbch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
eNB_id
,
...
...
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