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
4254d59a
Commit
4254d59a
authored
Apr 04, 2022
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create nr_csi_rs_pmi_estimation function for PMI computation (still almost empty)
parent
f12c6ea6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
0 deletions
+38
-0
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+1
-0
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
+36
-0
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+1
-0
No files found.
openair1/PHY/INIT/nr_init_ue.c
View file @
4254d59a
...
...
@@ -347,6 +347,7 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_gNB)
}
ue
->
nr_csi_rs_info
->
noise_power
=
(
uint32_t
*
)
malloc16_clear
(
sizeof
(
uint32_t
));
ue
->
nr_csi_rs_info
->
rank_indicator
=
(
uint8_t
*
)
malloc16_clear
(
sizeof
(
uint8_t
));
ue
->
nr_csi_rs_info
->
pmi
=
(
uint8_t
*
)
malloc16_clear
(
sizeof
(
uint8_t
));
ue
->
nr_csi_rs_info
->
csi_rs_generated_signal
=
(
int32_t
**
)
malloc16
(
NR_MAX_NB_PORTS
*
sizeof
(
int32_t
*
)
);
for
(
i
=
0
;
i
<
NR_MAX_NB_PORTS
;
i
++
)
{
ue
->
nr_csi_rs_info
->
csi_rs_generated_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame_wCP
*
sizeof
(
int32_t
));
...
...
openair1/PHY/NR_UE_TRANSPORT/csi_rx.c
View file @
4254d59a
...
...
@@ -462,6 +462,35 @@ int nr_csi_rs_ri_estimation(PHY_VARS_NR_UE *ue,
return
0
;
}
int
nr_csi_rs_pmi_estimation
(
PHY_VARS_NR_UE
*
ue
,
fapi_nr_dl_config_csirs_pdu_rel15_t
*
csirs_config_pdu
,
nr_csi_rs_info_t
*
nr_csi_rs_info
,
int32_t
***
csi_rs_estimated_channel_freq
,
uint8_t
rank_indicator
,
uint8_t
*
pmi
)
{
// TS 38.214: For 2 antenna ports {3000, 3001} and the UE configured with higher layer parameter codebookType set to
// 'typeISinglePanel' each PMI value corresponds to a codebook index given in Table 5.2.2.2.1-1.
// The first column is applicable if the UE is reporting a Rank = 1, whereas the second column is applicable if the
// UE is reporting a Rank = 2.
*
pmi
=
0
;
if
(
ue
->
nr_csi_rs_info
->
N_ports
==
1
)
{
return
0
;
}
if
(
rank_indicator
==
0
)
{
}
else
if
(
rank_indicator
==
1
)
{
}
else
{
LOG_W
(
NR_PHY
,
"PMI computation is not implemented for rank indicator %i
\n
"
,
rank_indicator
);
}
return
0
;
}
int
nr_ue_csi_im_procedures
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
)
{
return
0
;
}
...
...
@@ -520,5 +549,12 @@ int nr_ue_csi_rs_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, uint8_t
ue
->
nr_csi_rs_info
->
csi_rs_estimated_channel_freq
,
ue
->
nr_csi_rs_info
->
rank_indicator
);
nr_csi_rs_pmi_estimation
(
ue
,
csirs_config_pdu
,
ue
->
nr_csi_rs_info
,
ue
->
nr_csi_rs_info
->
csi_rs_estimated_channel_freq
,
*
ue
->
nr_csi_rs_info
->
rank_indicator
,
ue
->
nr_csi_rs_info
->
pmi
);
return
0
;
}
openair1/PHY/defs_nr_common.h
View file @
4254d59a
...
...
@@ -269,6 +269,7 @@ typedef struct {
int32_t
csi_rs_estimated_numer_fin
[
NR_MAX_OFDM_SYMBOL_SIZE
]
__attribute__
((
aligned
(
32
)));
uint32_t
*
noise_power
;
uint8_t
*
rank_indicator
;
uint8_t
*
pmi
;
}
nr_csi_rs_info_t
;
typedef
struct
NR_DL_FRAME_PARMS
NR_DL_FRAME_PARMS
;
...
...
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