X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_utils.c;h=4c8aaf11d608aef11667915bc91f54d225e30def;hb=6c530e3037c009f3c4ec76a14128e89c7a9db0a3;hp=1f0035a250eaedccc401a89cccf825e1cc2d453a;hpb=55295b31a7e2765d934d238e9530342a7ffec602;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_utils.c b/src/5gnrsch/sch_utils.c index 1f0035a25..4c8aaf11d 100644 --- a/src/5gnrsch/sch_utils.c +++ b/src/5gnrsch/sch_utils.c @@ -33,6 +33,14 @@ */ /* header files */ +#include "common_def.h" +#include "du_app_mac_inf.h" +#include "lrg.h" +#include "tfu.h" +#include "tfu.x" /* TFU types */ +#include "lrg.x" /* layer management typedefs for MAC */ +#include "mac_sch_interface.h" +#include "sch.h" #include "sch_utils.h" #include "math.h" @@ -260,15 +268,15 @@ uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8] = { { 5, 1, 0, 1023, 0, 2, 3, 4 }, /* index 135 */ { 5, 1, 0, 682, 0, 2, 3, 4 }, /* index 136 */ {12, 2, 1, 580, 0, 1, 3, 4 }, /* index 137 */ -{12, 2, 2, 16, 0, 1, 3, 4 }, /* index 138 */ -{12, 2, 1, 16, 0, 1, 3, 4 }, /* index 139 */ -{12, 2, 1, 66, 0, 1, 3, 4 }, /* index 140 */ -{12, 2, 1, 528, 0, 1, 3, 4 }, /* index 141 */ -{12, 2, 1, 2, 0, 1, 3, 4 }, /* index 142 */ -{12, 2, 1, 128, 0, 1, 3, 4 }, /* index 143 */ -{12, 2, 1, 146, 0, 1, 3, 4 }, /* index 144 */ -{12, 2, 1, 341, 0, 1, 3, 4 }, /* index 145 */ -{12, 2, 1, 1023, 0, 1, 3, 4 }, /* index 146 */ +{12, 2, 0, 16, 0, 2, 3, 4 }, /* index 138 */ +{12, 1, 0, 16, 0, 1, 3, 4 }, /* index 139 */ +{12, 1, 0, 66, 0, 1, 3, 4 }, /* index 140 */ +{12, 1, 0, 528, 0, 1, 3, 4 }, /* index 141 */ +{12, 1, 0, 2, 0, 2, 3, 4 }, /* index 142 */ +{12, 1, 0, 128, 0, 2, 3, 4 }, /* index 143 */ +{12, 1, 0, 146, 0, 2, 3, 4 }, /* index 144 */ +{12, 1, 0, 341, 0, 2, 3, 4 }, /* index 145 */ +{12, 1, 0, 1023, 0, 2, 3, 4 }, /* index 146 */ { 6, 16, 1, 528, 0, 1, 2, 6 }, /* index 147 */ { 6, 16, 1, 16, 0, 2, 2, 6 }, /* index 148 */ { 6, 8, 1, 528, 0, 1, 2, 6 }, /* index 149 */ @@ -290,15 +298,15 @@ uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8] = { { 6, 1, 0, 1023, 0, 2, 2, 6 }, /* index 165 */ { 6, 1, 0, 682, 0, 2, 2, 6 }, /* index 166 */ {13, 2, 1, 580, 0, 2, 2, 6 }, /* index 167 */ -{13, 2, 2, 16, 0, 2, 2, 6 }, /* index 168 */ -{13, 2, 1, 16, 0, 1, 2, 6 }, /* index 169 */ -{13, 2, 1, 66, 0, 1, 2, 6 }, /* index 170 */ -{13, 2, 1, 528, 0, 1, 2, 6 }, /* index 171 */ -{13, 2, 1, 2, 0, 2, 2, 6 }, /* index 172 */ -{13, 2, 1, 128, 0, 2, 2, 6 }, /* index 173 */ -{13, 2, 1, 146, 0, 2, 2, 6 }, /* index 174 */ -{13, 2, 1, 341, 0, 2, 2, 6 }, /* index 175 */ -{13, 2, 1, 1023, 0, 2, 2, 6 }, /* index 176 */ +{13, 2, 0, 16, 0, 2, 2, 6 }, /* index 168 */ +{13, 1, 0, 16, 0, 1, 2, 6 }, /* index 169 */ +{13, 1, 0, 66, 0, 1, 2, 6 }, /* index 170 */ +{13, 1, 0, 528, 0, 1, 2, 6 }, /* index 171 */ +{13, 1, 0, 2, 0, 2, 2, 6 }, /* index 172 */ +{13, 1, 0, 128, 0, 2, 2, 6 }, /* index 173 */ +{13, 1, 0, 146, 0, 2, 2, 6 }, /* index 174 */ +{13, 1, 0, 341, 0, 2, 2, 6 }, /* index 175 */ +{13, 1, 0, 1023, 0, 2, 2, 6 }, /* index 176 */ { 7, 16, 0, 528, 0, 1, 7, 2 }, /* index 177 */ { 7, 16, 1, 16, 0, 2, 7, 2 }, /* index 178 */ { 7, 8, 0, 528, 0, 1, 7, 2 }, /* index 179 */ @@ -429,6 +437,27 @@ uint16_t mcsTable[32][3] = { { 30, 4, 0}, /* mcs index 30 */ { 31, 6, 0}}; /* mcs index 31 */ +/* PUCCH resource sets before dedicated PUCCH resource configuration */ +/* Table 9.2.1-1 spec 38.213 */ +uint8_t pucchResourceSet[MAX_PUCCH_RES_SET_IDX][4] = { +{ 0, 12, 2, 0 }, /* index 0 */ +{ 0, 12, 2, 0 }, /* index 1 */ +{ 0, 12, 2, 3 }, /* index 2 */ +{ 1, 10, 4, 0 }, /* index 3 */ +{ 1, 10, 4, 0 }, /* index 4 */ +{ 1, 10, 4, 2 }, /* index 5 */ +{ 1, 10, 4, 4 }, /* index 6 */ +{ 1, 4, 10, 0 }, /* index 7 */ +{ 1, 4, 10, 0 }, /* index 8 */ +{ 1, 4, 10, 2 }, /* index 9 */ +{ 1, 4, 10, 4 }, /* index 10 */ +{ 1, 0, 14, 0 }, /* index 11 */ +{ 1, 0, 14, 0 }, /* index 12 */ +{ 1, 0, 14, 2 }, /* index 13 */ +{ 1, 0, 14, 4 }, /* index 14 */ +{ 1, 0, 14, 0 }, /* index 15 */ +}; + /** * @brief frequency domain allocation function. * @@ -534,7 +563,6 @@ uint16_t schCalcNumPrb(uint16_t tbSize, uint16_t mcs, uint8_t numSymbols) uint8_t qm = mcsTable[mcs][1]; uint16_t rValue = mcsTable[mcs][2]; uint8_t numLayer = 1; /* v value */ - uint8_t numDmrsSymbols = 12; /* considering whole of one symbols with 12 SCs for DMRS */ /* formula used for calculation of rbSize, 38.213 section 5.1.3.2 * * Ninfo = Nre . R . Qm . v * @@ -543,7 +571,7 @@ uint16_t schCalcNumPrb(uint16_t tbSize, uint16_t mcs, uint8_t numSymbols) nre = ceil( (float)tbSize * 1024 / (qm * rValue * numLayer)); - nreDash = ceil( (12 * numSymbols) - numDmrsSymbols - 0); + nreDash = ceil( (12 * numSymbols) - NUM_DMRS_SYMBOLS - 0); if (nreDash > 156) nre = 156;