1. 27 Aug, 2020 1 commit
    • Parminder Singh's avatar
      Common Phase error estimation and compensation in uplink. · b288eafd
      Parminder Singh authored
      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
      b288eafd
  2. 14 Aug, 2020 1 commit
    • Parminder Singh's avatar
      Bug-fix in Up-link with respect to PUSCH RE calculation when PTRS is enabled. · f4631f21
      Parminder Singh authored
      Problem STATEMENT:
      - When enabling PTRS flag in ulsim, there are multiple scrambling and decoding errors
        are observed even with high SNR values
        SNR 60dB   errors_scrambling 5546/13800
        Channel BLER 1.000000e+00, Channel BER 4.018841e-01
      
      ANALYSIS:
      - While extracting PTRS RE's, the PUSCH RE count was not updated accordingly for PTRS symbols.
      - This results in 0 value LLR's on same positions which cause offset issue in later processing.
      
      IMPLEMENTATION:
      * nr_ulsch_demodulation.c
      - In case of PTRS symbol, respective total number of PTRS RE's are subtracted from available
        PUSCH RE's in each PUSCH Symbol processing.
      
      TESTING
      * ulsim.c
      - PTRS are enabled for testing and are not enabled by default by this commit.
      - Available bit count is adjusted if PTRS is enabled.
      
      VERIFICATION
      - Total Scrambling errors after gNb processing shall be only 250 bits (in K=2)
        which were replaced with PTRS at UE side while transmission.
        SNR 60.000000 errors_scrambling 250/13800
        Channel BLER 0.000000e+00, Channel BER 1.811594e-02
      - After adjusting available bits in ulsim.c for error calculation
        SNR 60.000000: n_errors errors_scrambling 0/13550
        Channel BLER 0.000000e+00, Channel BER 0.000000e+00
      
      EXTRA
      - Removed white-spaces from all above mentioned files
      - Added Global/vim tags to .gitignore file
      f4631f21
  3. 29 Jul, 2020 1 commit
  4. 27 Jul, 2020 4 commits
  5. 23 Jul, 2020 1 commit
  6. 22 Jul, 2020 3 commits
  7. 21 Jul, 2020 1 commit
  8. 20 Jul, 2020 28 commits