b288eafd1ec5afb85643e6f236f6774ca1be5456
FEATURE STATEMENT: - Introduce linear phase error noise model in Uplink at UE - Perform common phase error (CPE) estimation and compensation at gNB SOLUTION: - A linear phase shift model is introduced in simulation. - PTRS symbols are used to perform estimation of CPE from DMRS compensated signal - The estimated values are interpolated in time domain and signal is compensated for the CPE. - PTRS processing is done in Frequency Domain for each symbol in a slot and LLR's are calculated for each symbol accordingly. IMPLEMENTATION: * sim.h/channle_sim.c - Linear Phase Noise Generation model definition. * nr_ul_channel_estimation.c/nr_ul_estimation.h - CPE estimation from PTRS and DMRS compensated signal. * nr_dmrs_rx.c/nr_refsig.h - Regenerate PTRS symbols at gNB. * nr_ulsch_demodulation.c - Removed old PTRS processing code and move to a common PTRS processing function * defs_gNB.h/init.c - New PTRS variables definition and initialization * nr_ulsch_ue.c - Corrected PTRS parameter to get new PTRS symbols for each OFDM symbol TESTING * ulsim.c - Added Phase noise, Enable PTRS signal and verified the output. VERIFICATION - The LLR are rotated back with estimated CPE and no error is observed in scrambling/decoding
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%