NR_UE: remove several unused structures from PHY layer
This commit is contained in:
@@ -963,22 +963,9 @@ typedef struct {
|
|||||||
|
|
||||||
//#if defined(UPGRADE_RAT_NR)
|
//#if defined(UPGRADE_RAT_NR)
|
||||||
#if 1
|
#if 1
|
||||||
|
|
||||||
SystemInformationBlockType1_nr_t systemInformationBlockType1_nr;
|
SystemInformationBlockType1_nr_t systemInformationBlockType1_nr;
|
||||||
|
|
||||||
CellGroupConfig_t cell_group_config;
|
|
||||||
PDSCH_ServingCellConfig_t PDSCH_ServingCellConfig;
|
|
||||||
|
|
||||||
PUCCH_ConfigCommon_nr_t pucch_config_common_nr[NUMBER_OF_CONNECTED_gNB_MAX];
|
PUCCH_ConfigCommon_nr_t pucch_config_common_nr[NUMBER_OF_CONNECTED_gNB_MAX];
|
||||||
PUCCH_Config_t pucch_config_dedicated_nr[NUMBER_OF_CONNECTED_gNB_MAX];
|
PUCCH_Config_t pucch_config_dedicated_nr[NUMBER_OF_CONNECTED_gNB_MAX];
|
||||||
|
|
||||||
SRS_NR srs;
|
|
||||||
|
|
||||||
crossCarrierSchedulingConfig_t crossCarrierSchedulingConfig;
|
|
||||||
supplementaryUplink_t supplementaryUplink;
|
|
||||||
csi_MeasConfig_t csi_MeasConfig;
|
|
||||||
PUSCH_ServingCellConfig_t PUSCH_ServingCellConfig;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t ncs_cell[20][7];
|
uint8_t ncs_cell[20][7];
|
||||||
|
|||||||
+9
-278
@@ -339,68 +339,22 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
/* FFS TODO_NR partial structure that should be complete */
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
semiStatic = 0,
|
|
||||||
dynamic = 1
|
|
||||||
} pdsch_HARQ_ACK_Codebook_t;
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////################################
|
|
||||||
#define MAX_NR_RATE_MATCH_PATTERNS 4
|
#define MAX_NR_RATE_MATCH_PATTERNS 4
|
||||||
#define MAX_NR_ZP_CSI_RS_RESOURCES 32
|
#define MAX_NR_ZP_CSI_RS_RESOURCES 32
|
||||||
#define MAX_NR_OF_DL_ALLOCATIONS 16
|
#define MAX_NR_OF_DL_ALLOCATIONS 16
|
||||||
#define MAX_NR_OF_UL_ALLOCATIONS (16)
|
#define MAX_NR_OF_UL_ALLOCATIONS (16)
|
||||||
|
|
||||||
typedef enum{
|
|
||||||
dl_resourceAllocationType0 = 1,
|
|
||||||
dl_resourceAllocationType1 = 2,
|
|
||||||
dl_dynamicSwitch = 3
|
|
||||||
} dl_resourceAllocation_t;
|
|
||||||
typedef enum{
|
|
||||||
dl_rgb_config1 = 1,
|
|
||||||
dl_rgb_config2 = 2
|
|
||||||
} dl_rgb_Size_t;
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
st_n4 = 1,
|
typeA = 0,
|
||||||
st_wideband = 2
|
typeB = 1
|
||||||
} static_bundleSize_t;
|
} mappingType_t;
|
||||||
typedef enum {
|
|
||||||
dy_1_n4 = 1,
|
|
||||||
dy_1_wideband = 2,
|
|
||||||
dy_1_n2_wideband = 3,
|
|
||||||
dy_1_n4_wideband = 4
|
|
||||||
} bundleSizeSet1_t;
|
|
||||||
typedef enum {
|
|
||||||
dy_2_n4 = 1,
|
|
||||||
dy_2_wideband = 2,
|
|
||||||
} bundleSizeSet2_t;
|
|
||||||
typedef struct{
|
|
||||||
bundleSizeSet1_t bundleSizeSet1;
|
|
||||||
bundleSizeSet2_t bundleSizeSet2;
|
|
||||||
} dynamic_bundleSize_t;
|
|
||||||
typedef struct {
|
|
||||||
static_bundleSize_t staticBundling;
|
|
||||||
dynamic_bundleSize_t dynamicBundlig;
|
|
||||||
} prb_bundleType_t;
|
|
||||||
typedef enum {
|
|
||||||
nb_code_n1 = 1,
|
|
||||||
nb_code_n2 = 2
|
|
||||||
} maxNrofCodeWordsScheduledByDCI_t;
|
|
||||||
typedef struct{
|
|
||||||
// to be defined FIXME!!!
|
|
||||||
}rateMatchPattern_t;
|
|
||||||
typedef struct{
|
|
||||||
// to be defined FIXME!!!
|
|
||||||
}zp_CSI_RS_Resource_t;
|
|
||||||
|
|
||||||
typedef struct{
|
typedef enum {
|
||||||
int k0;
|
pdsch_dmrs_pos0 = 0,
|
||||||
int mappingType;
|
pdsch_dmrs_pos1 = 1,
|
||||||
int startSymbolAndLength;
|
pdsch_dmrs_pos2 = 2,
|
||||||
|
pdsch_dmrs_pos3 = 3,
|
||||||
}PDSCH_TimeDomainResourceAllocation_t;
|
} pdsch_dmrs_AdditionalPosition_t;
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
*
|
*
|
||||||
@@ -410,99 +364,20 @@ typedef struct{
|
|||||||
*
|
*
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
enable_tpc_accumulation = 0, /* by default it is enable */
|
|
||||||
disable_tpc_accumulation = 1
|
|
||||||
} tpc_Accumulation_t;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
typeA = 0,
|
|
||||||
typeB = 1
|
|
||||||
} mappingType_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
tpc_Accumulation_t tpc_Accumulation;
|
|
||||||
} PUSCH_PowerControl_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
|
|
||||||
uint8_t k2;
|
|
||||||
mappingType_t mappingType;
|
|
||||||
uint8_t startSymbolAndLength;
|
|
||||||
} PUSCH_TimeDomainResourceAllocation_t;
|
|
||||||
////////////////////////////////////////////////////////////////////////////////################################
|
|
||||||
typedef enum{
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_n2 = 2,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_n4 = 4,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_n6 = 6,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_n8 = 8
|
|
||||||
} maxCodeBlockGroupsPerTransportBlock_t;
|
|
||||||
typedef struct{ // The IE PUSCH-ServingCellConfig is used to configure UE specific PUSCH parameters that are common across the UE's BWPs of one serving cell
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_t maxCodeBlockGroupsPerTransportBlock;
|
|
||||||
} PUSCH_ServingCellConfig_t;
|
|
||||||
typedef struct{ // CSI-MeasConfig IE is used to configure CSI-RS (reference signals)
|
|
||||||
uint8_t reportTriggerSize;
|
|
||||||
} csi_MeasConfig_t;
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
pusch_dmrs_type1 = 0,
|
pusch_dmrs_type1 = 0,
|
||||||
pusch_dmrs_type2 = 1
|
pusch_dmrs_type2 = 1
|
||||||
} pusch_dmrs_type_t;
|
} pusch_dmrs_type_t;
|
||||||
typedef enum {
|
|
||||||
pdsch_dmrs_pos0 = 0,
|
|
||||||
pdsch_dmrs_pos1 = 1,
|
|
||||||
pdsch_dmrs_pos2 = 2,
|
|
||||||
pdsch_dmrs_pos3 = 3,
|
|
||||||
} pdsch_dmrs_AdditionalPosition_t;
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
pusch_dmrs_pos0 = 0,
|
pusch_dmrs_pos0 = 0,
|
||||||
pusch_dmrs_pos1 = 1,
|
pusch_dmrs_pos1 = 1,
|
||||||
pusch_dmrs_pos2 = 2,
|
pusch_dmrs_pos2 = 2,
|
||||||
pusch_dmrs_pos3 = 3,
|
pusch_dmrs_pos3 = 3,
|
||||||
} pusch_dmrs_AdditionalPosition_t;
|
} pusch_dmrs_AdditionalPosition_t;
|
||||||
typedef enum {
|
|
||||||
offset00 = 0,
|
|
||||||
offset01 = 1,
|
|
||||||
offset10 = 2,
|
|
||||||
offset11 = 3,
|
|
||||||
} ptrs_resource_elementoffset_t;
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
pusch_len1 = 1,
|
pusch_len1 = 1,
|
||||||
pusch_len2 = 2
|
pusch_len2 = 2
|
||||||
} pusch_maxLength_t;
|
} pusch_maxLength_t;
|
||||||
typedef struct {
|
|
||||||
uint8_t ptrs_mcs1;
|
|
||||||
uint8_t ptrs_mcs2;
|
|
||||||
uint8_t ptrs_mcs3;
|
|
||||||
} ptrs_time_density_t;
|
|
||||||
typedef struct {
|
|
||||||
uint16_t n_rb0;
|
|
||||||
uint16_t n_rb1;
|
|
||||||
} ptrs_frequency_density_t;
|
|
||||||
typedef struct {
|
|
||||||
/*
|
|
||||||
* Serving cell ID of a PSCell. The PCell of the Master Cell Group uses ID = 0
|
|
||||||
*/
|
|
||||||
uint8_t servCellIndex;
|
|
||||||
}servCellIndex_t;
|
|
||||||
typedef struct{
|
|
||||||
uint8_t cif_presence;
|
|
||||||
}own_t;
|
|
||||||
typedef struct{
|
|
||||||
servCellIndex_t scheduling_cell_id;
|
|
||||||
uint8_t cif_InSchedulingCell;
|
|
||||||
}other_t;
|
|
||||||
typedef struct{
|
|
||||||
own_t own;
|
|
||||||
other_t other;
|
|
||||||
}schedulingCellInfo_t;
|
|
||||||
typedef struct{
|
|
||||||
schedulingCellInfo_t schedulingCellInfo;
|
|
||||||
} crossCarrierSchedulingConfig_t;
|
|
||||||
typedef struct{
|
|
||||||
// this variable will be filled with '1' if SUL is supported and '0' if SUL is not supported
|
|
||||||
uint8_t supplementaryUplink;
|
|
||||||
}supplementaryUplink_t;
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
txConfig_codebook = 1,
|
txConfig_codebook = 1,
|
||||||
@@ -761,150 +636,6 @@ typedef struct {
|
|||||||
PUCCH_PowerControl_t pucch_PowerControl;
|
PUCCH_PowerControl_t pucch_PowerControl;
|
||||||
} PUCCH_Config_t;
|
} PUCCH_Config_t;
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
*
|
|
||||||
* FUNCTIONALITY : PhysicalCellGroupConfig
|
|
||||||
*
|
|
||||||
* DESCRIPTION : Physical cell group configuration
|
|
||||||
*
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
typedef uint16_t RNTI_value_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/*
|
|
||||||
-- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUCCH
|
|
||||||
-- reporting of HARQ-ACK. It is only applicable when more than 4 layers are possible to schedule.
|
|
||||||
-- Corresponds to L1 parameter 'HARQ-ACK-spatial-bundling' (see 38.213, section FFS_Section)
|
|
||||||
-- Absence indicates that spatial bundling is disabled.
|
|
||||||
*/
|
|
||||||
bool harq_ACK_SpatialBundlingPUCCH;
|
|
||||||
/*
|
|
||||||
-- Enables spatial bundling of HARQ ACKs. It is configured per cell group (i.e. for all the cells within the cell group) for PUSCH
|
|
||||||
-- reporting of HARQ-ACK. It is only applicable when more than 4 layers are possible to schedule.
|
|
||||||
-- Corresponds to L1 parameter 'HARQ-ACK-spatial-bundling' (see 38.213, section FFS_Section)
|
|
||||||
-- Absence indicates that spatial bundling is disabled.
|
|
||||||
*/
|
|
||||||
bool harq_ACK_SpatialBundlingPUSCH;
|
|
||||||
/*
|
|
||||||
-- The maximum transmit power to be used by the UE in this NR cell group.
|
|
||||||
*/
|
|
||||||
uint8_t p_NR;
|
|
||||||
/*
|
|
||||||
-- The PDSCH HARQ-ACK codebook is either semi-static of dynamic. This is applicable to both CA and none CA operation.
|
|
||||||
-- Corresponds to L1 parameter 'HARQ-ACK-codebook' (see 38.213, section FFS_Section)
|
|
||||||
*/
|
|
||||||
pdsch_HARQ_ACK_Codebook_t pdsch_HARQ_ACK_Codebook;
|
|
||||||
/*
|
|
||||||
-- RNTI used for SRS TPC commands on DCI. Corresponds to L1 parameter 'TPC-SRS-RNTI' (see 38.213, section 10)
|
|
||||||
*/
|
|
||||||
RNTI_value_t tpc_SRS_RNTI;
|
|
||||||
/*
|
|
||||||
-- RNTI used for PUCCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUCCH-RNTI' (see 38.213, section 10).
|
|
||||||
*/
|
|
||||||
RNTI_value_t tpc_PUCCH_RNTI;
|
|
||||||
/*
|
|
||||||
-- RNTI used for PUSCH TPC commands on DCI. Corresponds to L1 parameter 'TPC-PUSCH-RNTI' (see 38.213, section 10)
|
|
||||||
*/
|
|
||||||
RNTI_value_t tpc_PUSCH_RNTI;
|
|
||||||
} PhysicalCellGroupConfig_t;
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
*
|
|
||||||
* FUNCTIONALITY : CellGroupConfig
|
|
||||||
*
|
|
||||||
* DESCRIPTION : Cell Group configuration
|
|
||||||
*
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
/* FFS TODO_NR partial structure that should be complete */
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/*
|
|
||||||
cellGroupId CellGroupId,
|
|
||||||
|
|
||||||
-- Logical Channel configuration and association with radio bearers:
|
|
||||||
rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-Bearer-Config OPTIONAL, -- Need N
|
|
||||||
rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N
|
|
||||||
|
|
||||||
-- Parameters applicable for the entire cell group:
|
|
||||||
mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
|
|
||||||
*/
|
|
||||||
PhysicalCellGroupConfig_t physicalCellGroupConfig;
|
|
||||||
/*
|
|
||||||
-- Serving Cell specific parameters (SpCell and SCells)
|
|
||||||
spCellConfig SpCellConfig OPTIONAL, -- Need M
|
|
||||||
sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N
|
|
||||||
-- List of seconary serving cells to be released (not applicable for SpCells)
|
|
||||||
sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N
|
|
||||||
...
|
|
||||||
*/
|
|
||||||
} CellGroupConfig_t;
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
*
|
|
||||||
* FUNCTIONALITY : PDSCH_ServingCellConfig
|
|
||||||
*
|
|
||||||
* DESCRIPTION : pdsch serving cell configuration
|
|
||||||
*
|
|
||||||
************************************************************************/
|
|
||||||
|
|
||||||
/* FFS TODO_NR partial structure that should be complete */
|
|
||||||
|
|
||||||
typedef int PDSCH_CodeBlockGroupTransmission_t; /* dummy struct which should be change by correct structure */
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
xOh6 = 0,
|
|
||||||
xOh12 = 1,
|
|
||||||
xOh18 = 2
|
|
||||||
} xOverhead_t;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
n2_dl_harq = 2,
|
|
||||||
n4_dl_harq = 4,
|
|
||||||
n6_dl_harq = 6,
|
|
||||||
n10_dl_harq = 10,
|
|
||||||
n12_dl_harq = 12,
|
|
||||||
n16_dl_harq = 16
|
|
||||||
} nrofHARQ_ProcessesForPDSCH_t;
|
|
||||||
typedef enum{
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_dl_n2 = 2,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_dl_n4 = 4,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_dl_n6 = 6,
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_dl_n8 = 8
|
|
||||||
} maxCodeBlockGroupsPerTransportBlock_dl_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/*
|
|
||||||
-- Enables and configures code-block-group (CBG) based transmission (see 38.213, section 9.1.1)
|
|
||||||
*/
|
|
||||||
PDSCH_CodeBlockGroupTransmission_t *codeBlockGroupTransmission;
|
|
||||||
/*
|
|
||||||
-- Accounts for overhead from CSI-RS, CORESET, etc. If the field is absent, the UE applies value xOh0.
|
|
||||||
-- Corresponds to L1 parameter 'Xoh-PDSCH' (see 38.214, section 5.1.3.2)
|
|
||||||
*/
|
|
||||||
xOverhead_t xOverhead;
|
|
||||||
/*
|
|
||||||
-- The number of HARQ processes to be used on the PDSCH of a serving cell. n2 corresponds to 2 HARQ processes, n4 to 4 HARQ processes
|
|
||||||
-- and so on. If the field is absent, the UE uses 8 HARQ processes.
|
|
||||||
-- Corresponds to L1 parameter 'number-HARQ-process-PDSCH' (see 38.214, section REF)
|
|
||||||
*/
|
|
||||||
nrofHARQ_ProcessesForPDSCH_t nrofHARQ_ProcessesForPDSCH;
|
|
||||||
/*
|
|
||||||
-- The ID of the serving cell (of the same cell group) to use for PUCCH.
|
|
||||||
-- If the field is absent, the UE sends the HARQ feedback on the PUCCH of the SpCell of this cell group.
|
|
||||||
*/
|
|
||||||
uint8_t pucch_Cell;
|
|
||||||
/*
|
|
||||||
* maxCodeBlockGroupsPerTransportBlock_dl_t
|
|
||||||
*/
|
|
||||||
maxCodeBlockGroupsPerTransportBlock_dl_t maxCodeBlockGroupsPerTransportBlock_dl;
|
|
||||||
/*
|
|
||||||
* codeBlockGroupFlushIndicator (boolean)
|
|
||||||
*/
|
|
||||||
uint8_t codeBlockGroupFlushIndicator;
|
|
||||||
} PDSCH_ServingCellConfig_t;
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTIONALITY : Scheduling Request Configuration (SR)
|
* FUNCTIONALITY : Scheduling Request Configuration (SR)
|
||||||
|
|||||||
Reference in New Issue
Block a user