nr_transport.h 3.47 KB
Newer Older
Guy De Souza's avatar
Guy De Souza committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*
 * 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 __NR_TRANSPORT__H__
#define __NR_TRANSPORT__H__

#include "PHY/defs_gNB.h"

27
#define NR_PBCH_PDU_BITS 24
Guy De Souza's avatar
Guy De Souza committed
28 29 30 31 32 33 34 35 36 37 38

/*!
\fn int nr_generate_pss
\brief Generation of the NR PSS
@param
@returns 0 on success
 */
int nr_generate_pss(  int16_t *d_pss,
                      int32_t **txdataF,
                      int16_t amp,
                      uint8_t ssb_start_symbol,
WEI-TAI CHEN's avatar
WEI-TAI CHEN committed
39
                      nfapi_nr_config_request_t* config,
Guy De Souza's avatar
Guy De Souza committed
40 41 42 43 44 45 46 47 48 49 50 51
                      NR_DL_FRAME_PARMS *frame_parms);

/*!
\fn int nr_generate_sss
\brief Generation of the NR SSS
@param
@returns 0 on success
 */
int nr_generate_sss(  int16_t *d_sss,
                      int32_t **txdataF,
                      int16_t amp,
                      uint8_t ssb_start_symbol,
WEI-TAI CHEN's avatar
WEI-TAI CHEN committed
52
                      nfapi_nr_config_request_t* config,
Guy De Souza's avatar
Guy De Souza committed
53 54 55 56 57 58 59 60 61 62 63 64
                      NR_DL_FRAME_PARMS *frame_parms);

/*!
\fn int nr_generate_pbch_dmrs
\brief Generation of the DMRS for the PBCH
@param
@returns 0 on success
 */
int nr_generate_pbch_dmrs(uint32_t *gold_pbch_dmrs,
                          int32_t **txdataF,
                          int16_t amp,
                          uint8_t ssb_start_symbol,
WEI-TAI CHEN's avatar
WEI-TAI CHEN committed
65
                          nfapi_nr_config_request_t* config,
Guy De Souza's avatar
Guy De Souza committed
66 67
                          NR_DL_FRAME_PARMS *frame_parms);

68 69 70 71 72
/*!
\fn int nr_pbch_scrambling
\brief PBCH scrambling function
@param
 */
Guy De Souza's avatar
Guy De Souza committed
73 74
void nr_pbch_scrambling(NR_gNB_PBCH *pbch,
                        uint32_t Nid,
Guy De Souza's avatar
Guy De Souza committed
75
                        uint8_t nushift,
Guy De Souza's avatar
Guy De Souza committed
76
                        uint16_t M,
Guy De Souza's avatar
Guy De Souza committed
77
                        uint16_t length,
78 79
                        uint8_t encoded,
                        uint32_t unscrambling_mask);
80

Guy De Souza's avatar
Guy De Souza committed
81 82 83 84 85 86 87
/*!
\fn int nr_generate_pbch
\brief Generation of the PBCH
@param
@returns 0 on success
 */
int nr_generate_pbch(NR_gNB_PBCH *pbch,
Guy De Souza's avatar
Guy De Souza committed
88
                     t_nrPolar_paramsPtr polar_params,
Guy De Souza's avatar
Guy De Souza committed
89
                     uint8_t *pbch_pdu,
Guy De Souza's avatar
Guy De Souza committed
90
                     uint8_t *interleaver,
Guy De Souza's avatar
Guy De Souza committed
91 92 93
                     int32_t **txdataF,
                     int16_t amp,
                     uint8_t ssb_start_symbol,
94
                     uint8_t n_hf,
Guy De Souza's avatar
Guy De Souza committed
95 96
                     uint8_t Lmax,
                     uint8_t ssb_index,
97
                     int sfn,
WEI-TAI CHEN's avatar
WEI-TAI CHEN committed
98
                     nfapi_nr_config_request_t* config,
Guy De Souza's avatar
Guy De Souza committed
99 100
                     NR_DL_FRAME_PARMS *frame_parms);

Guy De Souza's avatar
Guy De Souza committed
101 102 103 104 105 106
/*!
\fn int nr_generate_pbch
\brief PBCH interleaving function
@param bit index i of the input payload
@returns the bit index of the output
 */
Guy De Souza's avatar
Guy De Souza committed
107
uint8_t nr_init_pbch_interleaver(uint8_t *interleaver);
Guy De Souza's avatar
Guy De Souza committed
108

Guy De Souza's avatar
Guy De Souza committed
109
#endif /*__NR_TRANSPORT__H__*/