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
wangwenhui
OpenXG-RAN
Commits
5cf694e5
Commit
5cf694e5
authored
Oct 07, 2020
by
r.karey
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CSI-RS reporting bitlength calculation for type1 single panel two CSI-RS ports
parent
a138c894
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
257 additions
and
79 deletions
+257
-79
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+240
-32
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+17
-6
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+0
-41
No files found.
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
5cf694e5
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
5cf694e5
...
...
@@ -397,17 +397,27 @@ typedef struct {
uint8_t
cri_ssbri_bitlen
;
uint8_t
rsrp_bitlen
;
uint8_t
diff_rsrp_bitlen
;
}
CRI_SSBRI_RSRP_bitlen_t
;
}
L1_RSRP_bitlen_t
;
typedef
struct
{
uint8_t
cri_bitlen
;
uint8_t
ri_bitlen
;
uint8_t
li_bitlen
;
uint8_t
pmi_x1_bitlen
;
uint8_t
pmi_x2_bitlen
;
uint8_t
cqi_bitlen
;
}
CSI_Meas_bitlen_t
;
#define MAX_CSI_RESOURCE_SET_IN_CSI_RESOURCE_CONFIG 16
typedef
struct
nr_csi_report
{
NR_CSI_ReportConfig__reportQuantity_PR
reportQuantity_type
;
long
periodicity
;
uint16_t
offset
;
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR
CSI_Resource_type
;
uint8_t
nb_of_nzp_csi_report
;
long
**
SSB_Index_list
;
long
**
CSI_Index_list
;
// uint8_t nb_of_nzp_csi_report;
uint8_t
nb_of_csi_ssb_report
;
CRI_SSBRI_RSRP_bitlen_t
CSI_report_bitlen
[
MAX_CSI_RESOURCE_SET_IN_CSI_RESOURCE_CONFIG
];
L1_RSRP_bitlen_t
CSI_report_bitlen
;
CSI_Meas_bitlen_t
csi_meas_bitlen
;
}
nr_csi_report_t
;
/*! As per the spec 38.212 and table: 6.3.1.1.2-12 in a single UCI sequence we can have multiple CSI_report
...
...
@@ -457,6 +467,7 @@ typedef struct nr_csi_report {
/*! \brief scheduling control information set through an API */
#define MAX_CSI_REPORTS 48
typedef
struct
{
/// total amount of data awaiting for this UE
uint32_t
num_total_bytes
;
...
...
@@ -503,7 +514,7 @@ typedef struct {
uint8_t
tpc1
;
uint16_t
ul_rssi
;
uint8_t
current_harq_pid
;
struct
CSI_Report
CSI_report
[
MAX_CSI_RE
SOURCE_SET_IN_CSI_RESOURCE_CONFIG
];
struct
CSI_Report
CSI_report
[
MAX_CSI_RE
PORTS
];
NR_UE_sr_t
sr_req
;
NR_UE_harq_t
harq_processes
[
NR_MAX_NB_HARQ_PROCESSES
];
NR_UE_ul_harq_t
ul_harq_processes
[
NR_MAX_NB_HARQ_PROCESSES
];
...
...
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
5cf694e5
...
...
@@ -103,47 +103,6 @@ uint8_t get_ssb_resources (NR_CSI_MeasConfig_t *csi_MeasConfig,
return
-
1
;
}
#if 0
//!TODO : smae function can be written to handle csi_resources
uint8_t get_ssb_resources (NR_CSI_MeasConfig_t *csi_MeasConfig,
NR_CSI_ResourceConfigId_t csi_ResourceConfigId,
NR_CSI_ReportConfig__reportQuantity_PR reportQuantity_type,
uint8_t *nb_resource_sets) {
uint8_t idx = 0;
uint8_t csi_ssb_idx =0;
for ( idx = 0; idx < csi_MeasConfig->csi_ResourceConfigToAddModList->list.count; idx++) {
if ( csi_MeasConfig->csi_ResourceConfigToAddModList->list.array[idx]->csi_ResourceConfigId == csi_ResourceConfigId) {
//Finding the CSI_RS or SSB Resources
if ( csi_MeasConfig->csi_ResourceConfigToAddModList->list.array[idx]->csi_RS_ResourceSetList.present == NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB) {
if (NR_CSI_ReportConfig__reportQuantity_PR_ssb_Index_RSRP == reportQuantity_type ){
*nb_resource_sets=csi_MeasConfig->csi_ResourceConfigToAddModList->list.array[idx]->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list.count;
for ( csi_ssb_idx = 0; csi_ssb_idx < csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list.count; csi_ssb_idx++) {
if (csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list.array[csi_ssb_idx]->csi_SSB_ResourceSetId ==
*(csi_MeasConfig->csi_ResourceConfigToAddModList->list.array[idx]->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list.array[0])) {
return csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list.array[csi_ssb_idx]->csi_SSB_ResourceList.list.count;
} else {
//handle error condition
AssertFatal(csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list.array[csi_ssb_idx]->csi_SSB_ResourceSetId, "csi_SSB_ResourcesSetId is not configured");
}
}
}
else if (NR_CSI_ReportConfig__reportQuantity_PR_cri_RSRP == reportQuantity_type)
*nb_resource_sets=csi_MeasConfig->csi_ResourceConfigToAddModList->list.array[idx]->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList->list.count;
} else {
//TODO: find the CSI_RS IM resources
}
} else {
AssertFatal(csi_ResourceConfigId, "csi_ResourceConfigId is not configured");
}
}
return -1;
}
#endif
...
...
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