Common Phase error estimation and compensation in uplink.
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
This commit is contained in:
@@ -2303,6 +2303,7 @@ add_library(LFDS7
|
||||
add_library(SIMU_COMMON
|
||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/random_channel.c
|
||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/rangen_double.c
|
||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/phase_noise.c
|
||||
)
|
||||
|
||||
# Simulation library
|
||||
|
||||
@@ -209,7 +209,7 @@ function main() {
|
||||
GDB=0
|
||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||
echo_info "Will Compile with gdb symbols"
|
||||
CMAKE_CMD="$CMAKE_CMD -DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
CMAKE_CMD="$CMAKE_CMD -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1"
|
||||
shift
|
||||
;;
|
||||
"MinSizeRel")
|
||||
|
||||
Reference in New Issue
Block a user