4a2c0b1eff78fc4ebc1c4f94b6861390b11a3d08
When there is a retransmission, we want to use the same number of RBs. The RBs are allocated by groups (RBGs). In some cases (like a cell with 25 PRBs), the last RBG contains less RBs. So in case of a retransmission, if this last RBG was used before we need to reuse it to have the same number of RBs. If not, we will use more RBs for the retransmission than the previous transmission. In an experiment with two UEs (quectel modules) it was seen that when a retransmission happens with a different number of RBs then the UE is not happy at all, leading to way more NACKs in the harq processes than should happen (actually the first NACK was not a NACK at all, but the eNB did interpret it as a NACK; so the next transmission should simply be discarded by the UE that successfully received the first transmission; instead the UE fails to decode the data and sends a NACK, a real one this time). Maybe it's not the correct solution, but it improve things, there are much less NACKs.
OpenAirInterface License
OpenAirInterface is under OpenAirInterface Software Alliance license.
It is distributed under OAI Public License V1.1.
The license information is distributed under LICENSE file in the same directory.
Please see NOTICE file for third party software that is included in the sources.
Where to Start
RAN repository structure
The OpenAirInterface (OAI) software is composed of the following parts:
openairinterface5g ├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI. ├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files. ├── common : Some common OAI utilities, other tools can be found at openair2/UTILS. ├── doc : Contains an up-to-date feature set list and starting tutorials. ├── executables : Top-level executable source files. ├── LICENSE : License file. ├── maketags : Script to generate emacs tags. ├── nfapi : Contains the NFAPI code. A local Readme file provides more details. ├── openair1 : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details. │ ├── PHY │ ├── SCHED │ ├── SCHED_NBIOT │ ├── SCHED_NR │ ├── SCHED_NR_UE │ ├── SCHED_UE │ └── SIMULATION : PHY RF simulation. ├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP. │ ├── COMMON │ ├── DOCS │ ├── ENB_APP │ ├── F1AP │ ├── GNB_APP │ ├── LAYER2/RLC/ : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0. │ ├── LAYER2/PDCP/PDCP_v10.1.0 │ ├── M2AP │ ├── MCE_APP │ ├── NETWORK_DRIVER │ ├── NR_PHY_INTERFACE │ ├── NR_UE_PHY_INTERFACE │ ├── PHY_INTERFACE │ ├── RRC │ ├── UTIL │ └── X2AP ├── openair3 : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE. │ ├── COMMON │ ├── DOCS │ ├── GTPV1-U │ ├── M3AP │ ├── MME_APP │ ├── NAS │ ├── S1AP │ ├── SCTP │ ├── SECU │ ├── TEST │ ├── UDP │ └── UTILS └── targets : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.
Languages
C
91.8%
CMake
2.9%
C++
1.9%
TeX
1%
Python
1%
Other
1.1%