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
promise
OpenXG-RAN
Commits
a99a7db7
Commit
a99a7db7
authored
Jun 14, 2018
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Nfapi extension from nr-rrc-additions
parent
7b5b739e
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
534 additions
and
28 deletions
+534
-28
nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface_nr_extension.h
...pen-nFAPI/nfapi/public_inc/nfapi_interface_nr_extension.h
+0
-26
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
+273
-0
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+132
-0
openair1/PHY/NR_TRANSPORT/nr_dci.h
openair1/PHY/NR_TRANSPORT/nr_dci.h
+74
-0
openair1/PHY/NR_TRANSPORT/nr_pdcch.c
openair1/PHY/NR_TRANSPORT/nr_pdcch.c
+35
-0
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+1
-1
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+19
-1
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface_nr_extension.h
deleted
100644 → 0
View file @
7b5b739e
/*
* Copyright 2017 Cisco Systems, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _NFAPI_INTERFACE_NR_EXTENSION_H_
#define _NFAPI_INTERFACE_NR_EXTENSION_H_
#include "stddef.h"
#include "nfapi_interface.h"
#endif
/* _NFAPI_INTERFACE_NR_EXTENSION_H_ */
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
0 → 100644
View file @
a99a7db7
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_dci.c
0 → 100644
View file @
a99a7db7
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file PHY/NR_TRANSPORT/nr_dci.c
* \brief Implements DCI encoding/decoding (38.212/38.213/38.214). Current NR compliance V15.1 2018-06.
* \author Guy De Souza
* \date 2018
* \version 0.1
* \company Eurecom
* \email: desouza@eurecom.fr
* \note
* \warning
*/
#include "nr_dci.h"
uint8_t
nr_get_dci_size
(
nr_dci_format_e
format
,
nr_rnti_type_e
rnti
,
NR_BWP_PARMS
*
bwp
,
nfapi_nr_config_request_t
*
config
)
{
uint8_t
size
=
0
;
uint16_t
N_RB
=
bwp
->
N_RB
;
switch
(
format
)
{
case
nr_dci_format_0_0
:
/// fixed: Format identifier 1, Hop flag 1, MCS 5, NDI 1, RV 2, HARQ PID 4, PUSCH TPC 2 --16
size
+=
16
;
size
+=
ceil
(
log2
(
(
N_RB
*
(
N_RB
+
1
))
>>
2
)
);
// Freq domain assignment -- hopping scenario to be updated
// Time domain assignment
// UL/SUL indicator
break
;
case
nr_dci_format_0_1
:
/// fixed: Format identifier 1, MCS 5, NDI 1, RV 2, HARQ PID 4, PUSCH TPC 2, SRS request 2 --17
size
+=
17
;
// Carrier indicator
// UL/SUL indicator
// BWP Indicator
// Freq domain assignment
// Time domain assignment
// VRB to PRB mapping
// Frequency Hopping flag
// 1st DAI
// 2nd DAI
// SRS resource indicator
// Precoding info and number of layers
// Antenna ports
// CSI request
// CBGTI
// PTRS - DMRS association
// beta offset indicator
// DMRS sequence init
break
;
case
nr_dci_format_1_0
:
/// fixed: Format identifier 1, VRB2PRB 1, MCS 5, NDI 1, RV 2, HARQ PID 4, DAI 2, PUCCH TPC 2, PUCCH RInd 3, PDSCH to HARQ TInd 3 --24
size
+=
24
;
size
+=
ceil
(
log2
(
(
N_RB
*
(
N_RB
+
1
))
>>
2
)
);
// Freq domain assignment
// Time domain assignment
break
;
case
nr_dci_format_1_1
:
// Carrier indicator
size
+=
1
;
// Format identifier
// BWP Indicator
// Freq domain assignment
// Time domain assignment
// VRB to PRB mapping
// PRB bundling size indicator
// Rate matching indicator
// ZP CSI-RS trigger
/// TB1- MCS 5, NDI 1, RV 2
size
+=
8
;
// TB2
size
+=
4
;
// HARQ PID
// DAI
size
+=
2
;
// TPC PUCCH
size
+=
3
;
// PUCCH resource indicator
size
+=
3
;
// PDSCH to HARQ timing indicator
// Antenna ports
// Tx Config Indication
size
+=
2
;
// SRS request
// CBGTI
// CBGFI
size
+=
1
;
// DMRS sequence init
break
;
case
nr_dci_format_2_0
:
break
;
case
nr_dci_format_2_1
:
break
;
case
nr_dci_format_2_2
:
break
;
case
nr_dci_format_2_3
:
break
;
default:
AssertFatal
(
1
==
0
,
"Invalid NR DCI format %d
\n
"
,
format
);
}
return
size
;
}
uint8_t
nr_generate_dci_top
()
{
return
0
;
}
openair1/PHY/NR_TRANSPORT/nr_dci.h
0 → 100644
View file @
a99a7db7
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#ifndef __PHY_NR_TRANSPORT_DCI__H
#define __PHY_NR_TRANSPORT_DCI__H
#include "defs_gNB.h"
typedef
enum
{
nr_dci_format_0_0
=
0
,
nr_dci_format_0_1
,
nr_dci_format_1_0
,
nr_dci_format_1_1
,
nr_dci_format_2_0
,
nr_dci_format_2_1
,
nr_dci_format_2_2
,
nr_dci_format_2_3
}
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
,
nr_rnti_type_e
rnti
,
NR_BWP_PARMS
bwp
,
nfapi_nr_config_request_t
*
config
);
uint8_t
nr_generate_dci_top
();
#endif //__PHY_NR_TRANSPORT_DCI__H
openair1/PHY/NR_TRANSPORT/nr_pdcch.c
0 → 100644
View file @
a99a7db7
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file PHY/NR_TRANSPORT/nr_pdcch.c
* \brief Implements PDCCH physical channel TX/RX procedures (38.211). Current NR compliance V15.1 2018-06.
* \author Guy De Souza
* \date 2018
* \version 0.1
* \company Eurecom
* \email: desouza@eurecom.fr
* \note
* \warning
*/
#include "nr_dci.h"
openair1/PHY/defs_gNB.h
View file @
a99a7db7
...
@@ -320,7 +320,7 @@ typedef struct PHY_VARS_gNB_s {
...
@@ -320,7 +320,7 @@ typedef struct PHY_VARS_gNB_s {
/// counter to average prach energh over first 100 prach opportunities
/// counter to average prach energh over first 100 prach opportunities
int
prach_energy_counter
;
int
prach_energy_counter
;
// PDSCH Var
ai
bles
// PDSCH Var
ia
bles
PDSCH_CONFIG_DEDICATED
pdsch_config_dedicated
[
NUMBER_OF_UE_MAX
];
PDSCH_CONFIG_DEDICATED
pdsch_config_dedicated
[
NUMBER_OF_UE_MAX
];
// PUSCH Varaibles
// PUSCH Varaibles
...
...
openair1/PHY/defs_nr_common.h
View file @
a99a7db7
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#define __PHY_DEFS_NR_COMMON__H__
#define __PHY_DEFS_NR_COMMON__H__
#include "defs_common.h"
#include "defs_common.h"
#include "nfapi_
interface_nr_extension
.h"
#include "nfapi_
nr_interface
.h"
#include "impl_defs_nr.h"
#include "impl_defs_nr.h"
#include "PHY/CODING/nrPolar_tools/nr_polar_defs.h"
#include "PHY/CODING/nrPolar_tools/nr_polar_defs.h"
...
@@ -57,6 +57,8 @@
...
@@ -57,6 +57,8 @@
#define NR_PBCH_DMRS_LENGTH 144
#define NR_PBCH_DMRS_LENGTH 144
#define NR_PBCH_DMRS_LENGTH_DWORD 5 // roundup(NR_PBCH_DMRS_LENGTH/32)
#define NR_PBCH_DMRS_LENGTH_DWORD 5 // roundup(NR_PBCH_DMRS_LENGTH/32)
#define NR_MAX_NUM_BWP 4
typedef
enum
{
typedef
enum
{
NR_MU_0
=
0
,
NR_MU_0
=
0
,
NR_MU_1
,
NR_MU_1
,
...
@@ -74,6 +76,17 @@ typedef enum{
...
@@ -74,6 +76,17 @@ typedef enum{
nr_ssb_type_E
nr_ssb_type_E
}
nr_ssb_type_e
;
}
nr_ssb_type_e
;
typedef
struct
NR_BWP_PARMS
{
/// Associated numerology index
uint8_t
numerology_index
;
/// Freq domain location
uint8_t
location
;
/// Bandwidth in PRB
uint16_t
N_RB
;
/// Size of FFT/IFFT
uint16_t
ofdm_symbol_size
;
}
NR_BWP_PARMS
;
typedef
struct
NR_DL_FRAME_PARMS
{
typedef
struct
NR_DL_FRAME_PARMS
{
/// Number of resource blocks (RB) in DL
/// Number of resource blocks (RB) in DL
uint8_t
N_RB_DL
;
uint8_t
N_RB_DL
;
...
@@ -166,6 +179,11 @@ typedef struct NR_DL_FRAME_PARMS {
...
@@ -166,6 +179,11 @@ typedef struct NR_DL_FRAME_PARMS {
/// PBCH polar encoder params
/// PBCH polar encoder params
t_nrPolar_params
pbch_polar_params
;
t_nrPolar_params
pbch_polar_params
;
//BWP params
NR_BWP_PARMS
initial_bwp_params_dl
;
NR_BWP_PARMS
initial_bwp_params_ul
;
}
NR_DL_FRAME_PARMS
;
}
NR_DL_FRAME_PARMS
;
#endif
#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