Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
69fe7173
Commit
69fe7173
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
ce88e9b1
Changes
7
Expand all
Hide 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 @
ce88e9b1
/*
* 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 @
69fe7173
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_dci.c
0 → 100644
View file @
69fe7173
/*
* 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 @
69fe7173
/*
* 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 @
69fe7173
/*
* 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 @
69fe7173
...
@@ -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 @
69fe7173
...
@@ -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