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
alex037yang
OpenXG-RAN
Commits
b2716434
Commit
b2716434
authored
Jul 10, 2018
by
yilmazt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DCI structures
parent
bc4f4ad9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
121 additions
and
57 deletions
+121
-57
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
+118
-17
openair1/PHY/NR_TRANSPORT/nr_dci.h
openair1/PHY/NR_TRANSPORT/nr_dci.h
+3
-40
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
View file @
b2716434
#ifndef _NFAPI_
INTERFACE_NR
_H_
#ifndef _NFAPI_
NR_INTERFACE
_H_
#define _NFAPI_
INTERFACE_NR
_H_
#define _NFAPI_
NR_INTERFACE
_H_
#include "nfapi_interface.h"
#include "nfapi_interface.h"
...
@@ -296,22 +296,123 @@ typedef enum {
...
@@ -296,22 +296,123 @@ typedef enum {
NFAPI_NR_UL_DCI_FORMAT_1_0
,
NFAPI_NR_UL_DCI_FORMAT_1_0
,
}
nfapi_nr_ul_dci_format_e
;
}
nfapi_nr_ul_dci_format_e
;
typedef
enum
{
NFAPI_NR_RNTI_new
=
0
,
NFAPI_NR_RNTI_C
,
NFAPI_NR_RNTI_RA
,
NFAPI_NR_RNTI_P
,
NFAPI_NR_RNTI_CS
,
NFAPI_NR_RNTI_TC
,
NFAPI_NR_RNTI_SP_CSI
,
NFAPI_NR_RNTI_SI
,
NFAPI_NR_RNTI_SFI
,
NFAPI_NR_RNTI_INT
,
NFAPI_NR_RNTI_TPC_PUSCH
,
NFAPI_NR_RNTI_TPC_PUCCH
,
NFAPI_NR_RNTI_TPC_SRS
}
nfapi_nr_rnti_type_e
;
// P7 Sub Structures
// P7 Sub Structures
//formats 0_0 and 0_1
typedef
struct
{
nfapi_tl_t
tl
;
uint8_t
cce_idx
;
uint8_t
aggregation_level
;
uint16_t
rnti
;
uint8_t
dci_format
;
//1 bit
uint16_t
frequency_domain_resource_assignment
;
//up to 9 bits
uint8_t
time_domain_resource_assignment
;
//0, 1, 2, 3 or 4 bits
uint8_t
frequency_hopping_flag
;
//1 bit
uint8_t
mcs
;
//5 bits
uint8_t
new_data_indicator
;
//1 bit
uint8_t
redundancy_version
;
//2 bits
uint8_t
harq_process
;
//4 bits
uint8_t
tpc
;
//2 bits
uint16_t
padding
;
uint8_t
ul_sul_indicator
;
//0 or 1 bit
uint8_t
carrier_indicator
;
//0 or 3 bits
uint8_t
bwp_indicator
;
//0, 1 or 2 bits
uint8_t
downlink_assignment_index1
;
//1 or 2 bits
uint8_t
downlink_assignment_index2
;
//0 or 2 bits
uint8_t
srs_resource_indicator
;
uint8_t
precoding_information
;
uint8_t
antenna_ports
;
uint8_t
srs_request
;
uint8_t
csi_request
;
uint8_t
cbgti
;
//CBG Transmission Information: 0, 2, 4, 6 or 8 bits
uint8_t
ptrs_dmrs_association
;
uint8_t
beta_offset_indicator
;
//0 or 2 bits
uint8_t
dmrs_sequence_initialization
;
//0 or 1 bit
uint8_t
ul_sch_indicator
;
//1 bit
}
nfapi_nr_ul_config_dci_ul_pdu_rel15_t
;
//#define NFAPI_NR_UL_CONFIG_REQUEST_DCI_UL_PDU_REL15_TAG 0x????
//formats 1_0, 1_1, 2_0, 2_1, 2_2 and 2_3
typedef
struct
{
typedef
struct
{
nfapi_tl_t
tl
;
// conf
nfapi_tl_t
tl
;
uint8_t
dci_format
;
uint8_t
cce_idx
;
uint8_t
cce_idx
;
uint8_t
aggregation_level
;
uint8_t
aggregation_level
;
uint16_t
rnti
;
uint16_t
rnti
;
// DCI fields
uint8_t
dci_format
;
//1 bit
uint16_t
frequency_domain_resource_assignment
;
//up to 9 bits
uint8_t
ra_preamble_index
;
//6 bits
uint8_t
ul_sul_indicator
;
//1 bit
uint8_t
ss_pbch_index
;
//6 bits
uint8_t
prach_mask_index
;
//4 bits
uint16_t
reserved
;
//1_0/C-RNTI:10 bits, 1_0/P-RNTI: 6 bits, 1_0/SI-&RA-RNTI: 16 bits
uint8_t
time_domain_resource_assignment
;
//0, 1, 2, 3 or 4 bits
uint8_t
vrb_to_prb_mapping
;
//0 or 1 bit
uint8_t
mcs
;
//5 bits
uint8_t
new_data_indicator
;
//1 bit
uint8_t
redundancy_version
;
//2 bits
uint8_t
harq_process
;
//4 bits
uint8_t
downlink_assignment_index
;
//0, 2 or 4 bits
uint8_t
tpc
;
//2 bits
uint8_t
pucch_resource_indicator
;
//3 bits
uint8_t
pdsch_to_harq_feedback_timing_indicator
;
//0, 1, 2 or 3 bits
uint8_t
short_messages_indicator
;
//2 bits
uint8_t
short_messages
;
//8 bits
uint8_t
tb_scaling
;
//2 bits
uint8_t
carrier_indicator
;
//0 or 3 bits
uint8_t
bwp_indicator
;
//0, 1 or 2 bits
uint8_t
prb_bundling_size_indicator
;
//0 or 1 bits
uint8_t
rate_matching_indicator
;
//0, 1 or 2 bits
uint8_t
zp_csi_rs_trigger
;
//0, 1 or 2 bits
uint8_t
antenna_ports
;
//4, 5 or 6 bits
uint8_t
transmission_configuration_indication
;
//0 or 3 bits
uint8_t
srs_request
;
//2 bits
uint8_t
cbgti
;
//CBG Transmission Information: 0, 2, 4, 6 or 8 bits
uint8_t
cbgfi
;
//CBG Flushing Out Information: 0 or 1 bit
uint8_t
dmrs_sequence_initialization
;
//0 or 1 bit
uint8_t
slot_format_indicator_count
;
uint8_t
*
slot_format_indicators
;
uint8_t
pre_emption_indication_count
;
uint16_t
*
pre_emption_indications
;
//14 bit
uint8_t
block_number_count
;
uint8_t
*
block_numbers
;
}
nfapi_nr_dl_config_dci_dl_pdu_rel15_t
;
}
nfapi_nr_dl_config_dci_dl_pdu_rel15_t
;
#define NFAPI_NR_DL_CONFIG_REQUEST_DCI_DL_PDU_REL15_TAG
//#define NFAPI_NR_DL_CONFIG_REQUEST_DCI_DL_PDU_REL15_TAG 0x????
typedef
struct
{
typedef
struct
{
nfapi_nr_dl_config_dci_dl_pdu_rel15_t
dci_dl_pdu_rel15
;
nfapi_nr_dl_config_dci_dl_pdu_rel15_t
dci_dl_pdu_rel15
;
}
nfapi_nr_dl_config_dci_dl_pdu
;
nfapi_nr_ul_config_dci_ul_pdu_rel15_t
dci_ul_pdu_rel15
;
}
nfapi_nr_config_dci_pdu
;
#endif
#endif
openair1/PHY/NR_TRANSPORT/nr_dci.h
View file @
b2716434
...
@@ -18,50 +18,13 @@
...
@@ -18,50 +18,13 @@
* For more information about the OpenAirInterface (OAI) Software Alliance:
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
#ifndef __PHY_NR_TRANSPORT_DCI__H
#ifndef __PHY_NR_TRANSPORT_DCI__H
#define __PHY_NR_TRANSPORT_DCI__H
#define __PHY_NR_TRANSPORT_DCI__H
#include "defs_gNB.h"
#include "defs_gNB.h"
typedef
unsigned
__int128
uint128_t
;
typedef
enum
{
nr_dci_format_0_0
=
0
,
nr_dci_format_0_1
,
nr_dci_format_2_0
,
nr_dci_format_2_1
,
nr_dci_format_2_2
,
nr_dci_format_2_3
,
nr_dci_format_1_0
,
nr_dci_format_1_1
,
}
nr_dci_format_e
;
typedef
enum
{
nr_rnti_type_SI_RNTI
=
0
,
nr_rnti_type_RA_RNTI
,
nr_rnti_type_C_RNTI
,
nr_rnti_type_TC_RNTI
,
nr_rnti_type_CS_RNTI
,
nr_rnti_type_P_RNTI
}
nr_rnti_type_e
;
typedef
struct
{
/// Length of DCI in bits
uint8_t
size
;
/// Aggregation level
uint8_t
L
;
/// Position of first CCE of the dci
int
firstCCE
;
/// flag to indicate that this is a RA response
boolean_t
ra_flag
;
/// rnti
nr_rnti_type_e
rnti
;
/// Format
DCI_format_t
format
;
/// DCI pdu
uint8_t
dci_pdu
[
8
];
}
NR_DCI_ALLOC_t
;
uint8_t
nr_get_dci_size
(
nr_dci_format_e
format
,
uint8_t
nr_get_dci_size
(
nr_dci_format_e
format
,
nr_rnti_type_e
rnti
,
nr_rnti_type_e
rnti
,
...
@@ -72,6 +35,6 @@ uint8_t nr_generate_dci_top(NR_DCI_ALLOC_t dci_alloc,
...
@@ -72,6 +35,6 @@ uint8_t nr_generate_dci_top(NR_DCI_ALLOC_t dci_alloc,
int32_t
**
txdataF
,
int32_t
**
txdataF
,
int16_t
amp
,
int16_t
amp
,
NR_DL_FRAME_PARMS
*
frame_parms
,
NR_DL_FRAME_PARMS
*
frame_parms
,
nfapi_config_request_t
*
config
)
nfapi_config_request_t
*
config
)
;
#endif //__PHY_NR_TRANSPORT_DCI__H
#endif //__PHY_NR_TRANSPORT_DCI__H
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