Commit Graph
1194 Commits
Author SHA1 Message Date
Thomas Schlichter 8f58d1ec7f Fix nr_ulsim to transmit actual random data instead of uninitialized PDU 2020-09-09 16:50:32 +02:00
Parminder Singh 2281436b66 Fix - Issue with uninitialized structure in ULSIM
- Changed malloc to calloc to set all values to zero to remove the
  valgrind issue with uninitialized structure values in RC.gNB structure
2020-09-09 11:11:24 +02:00
Thomas Schlichter 73f5851690 Merge remote-tracking branch 'develop'
Conflicts:
	openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
	openair1/SIMULATION/NR_PHY/ulsim.c
2020-09-08 12:01:37 +02:00
Raphael Defosseux 9675f34854 CPPCHECK: few fixes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-04 12:37:15 +02:00
Raphael Defosseux 8b77c68f28 fix nr_dlsim build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-04 11:59:24 +02:00
Thomas Schlichter db77516652 fix some compile warnings for nr_dlsim and nr_ulsim 2020-09-04 11:16:21 +02:00
Raphael Defosseux a05f7e1448 Merge remote-tracking branch 'origin/nr_ue_txdata_cleanup' into develop_integration_2020_w36 2020-09-03 16:41:25 +02:00
Raymond Knopp 37dcdeb338 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-09-02 22:11:44 +02:00
Raymond Knopp 142249d84b added ulsch statistics 2020-09-02 22:11:04 +02:00
Francesco Mani 1025fd850c trying to fix some cppcheck errors 2020-09-02 16:44:40 +02:00
Raymond Knopp 73c7bee040 added basic analytics for PDSCH measurements 2020-09-02 16:12:16 +02:00
Parminder Singh b6792b3487 Fixed Warning issue due to wrong data type in ULSIM 2020-09-02 10:59:28 +02:00
Parminder Singh 6ce38ac960 Fix Phase noise addition in ULSIM
- moved the noise function gNB variable
2020-09-02 09:53:45 +02:00
Parminder Singh f7ed592ef5 Fixed available_bits calculation for PTRS in -n option in ulsim 2020-09-02 09:51:04 +02:00
Parminder Singh 92fc259592 Merge remote-tracking branch 'origin/develop' into fhg_shp_phase_noise_est 2020-09-01 12:55:50 +02:00
Parminder Singh 8cf32ed2ad Modify DMRS configuration with command line in ULSIM
- To modify DMRS use -U flag followed by 3 integers
- Example: ./nr_ulsim -U 2 1 0
- 1st Value is the list of arguments     -> e.g. 2
- 2nd Value is for TYPE{0=A,1=B}         -> e.g. 1
- 3rd Value is for ADD_POS{0,1,2,3}      -> e.g. 0
2020-09-01 12:22:12 +02:00
Parminder Singh 14096886e8 Enable PTRS with command line in ULSIM
- To enable PTRS use -T flag followed by 3 integers
- Example: ./nr_ulsim -T 2 0 2
- 1st Value is the list of arguments -> e.g. 2
- 2nd Value is for L_PTRS{0,1,2}     -> e.g. 0
- 3rd Value is for K_PTRS{2,4}       -> e.g. 2
2020-08-31 17:51:56 +02:00
Raymond Knopp d443d9e915 added multi-antenna support for gNB RX (tested in ulsim) 2020-08-31 13:43:16 +02:00
Raymond Knopp 99774b2afb bugfix in nr_dlsch_decoding.c 2020-08-28 17:34:47 +02:00
Parminder Singh ec0aea2374 Removed separate LLR calculation for PTRS
- New Data Structure to store PTRS RE's is removed
- LLR's are calculated at the end symbol for whole slot
2020-08-28 12:14:13 +02:00
Parminder Singh b288eafd1e 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
2020-08-27 11:55:06 +02:00
Francesco Mani 4cc5bf586e fix for pucchsim with sr 2020-08-27 10:35:05 +02:00
Raymond Knopp 260a9e58a0 nr_pbchsim modifications for carrier phase rotation procedure 2020-08-27 05:49:46 +02:00
Thomas Schlichter a8fc7ebd38 Merge remote-tracking branch 'develop' into nr_ue_txdata_cleanup 2020-08-26 16:45:48 +02:00
Francesco Mani 28b280a657 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-26 13:49:30 +02:00
Francesco Mani d219341905 to make simulators compile 2020-08-25 19:02:13 +02:00
Raymond Knopp 632803289c fixed initialization of rotation for symbol 0 2020-08-25 15:02:41 +02:00
Raymond Knopp 2124343889 Merge branch 'NR_UL_scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UL_scheduling 2020-08-25 01:50:43 +02:00
Raymond Knopp cc0ff7422e implementation of missing symbol-based rotation for NR modulation/demodulation (Section 5.3 38.211). Tested with unitary simulators (ulsim/dlsim).
To be tested with gNB testbench and rfsimlator
2020-08-25 01:48:55 +02:00
Raymond Knopp e471d8b898 Merge remote-tracking branch 'origin/NR_RRC_PDCP' into NR_UL_scheduling 2020-08-24 11:19:42 +02:00
Thomas Schlichter b0903e2079 change timing advance to only affect the TX timestamp, not the position in the "txdata" buffer 2020-08-22 10:21:36 +02:00
Raphael Defosseux a8ea336cfd Merge remote-tracking branch 'origin/improve_nr_modulation' into develop_integration_2020_w34 2020-08-21 16:13:27 +02:00
Raphael Defosseux 34a2945abf Merge remote-tracking branch 'origin/fembms-enb-ue' into develop_integration_2020_w34 2020-08-21 16:13:08 +02:00
Francesco Mani 09344667c3 fix for unresolved conflict 2020-08-21 15:08:26 +02:00
Francesco Mani fd003dd786 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-20 12:37:21 +02:00
Sakthivel Velumani f42291a4f7 Merge branch 'develop' into improve_nr_modulation 2020-08-18 17:20:46 +02:00
Francesco Mani edf903f776 pucch power control and handling of missed reception using confidence level 2020-08-18 15:47:48 +02:00
Francesco Mani ffae55f62c n0 measurement in pucchsim 2020-08-17 12:30:36 +02:00
Raymond Knopp fc21364fa0 optimization of ldpc deinterleaving and llr computation 2020-08-16 15:04:27 +02:00
Raymond Knopp b16b2f7d99 optimization of NR ULSCH unscrambling 2020-08-15 09:42:05 +02:00
Parminder Singh f4631f2186 Bug-fix in Up-link with respect to PUSCH RE calculation when PTRS is enabled.
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
2020-08-14 10:20:36 +02:00
Raymond Knopp 9b138dec72 LLR scaling adjustment (log2_maxh computation) for NR ULSCH receiver. 2020-08-14 08:12:18 +02:00
Raphael Defosseux 4ff959fe34 Merge remote-tracking branch 'origin/nrue_msg2_reception' into develop_integration_2020_w33 2020-08-13 22:06:25 +02:00
Raymond Knopp 49a14c4f9f fixes for TDL channel models in nr_ulsim 2020-08-13 09:43:50 +02:00
Raymond Knopp 13d1be0782 added TDL channel models and use them in nr_ulsim 2020-08-12 16:23:14 +02:00
matzakos e0e0ed0cf9 Merge remote-tracking branch 'origin/NR_UL_scheduling' into NR_RRC_PDCP 2020-08-12 14:27:05 +02:00
Thomas Schlichter a75d6088ea fix dlschsim by correctly setting dmrsConfigType 2020-08-10 20:05:40 +02:00
Sakthivel Velumani 82df0e51b9 updated tables and 64qam mod 2020-08-10 15:19:53 +02:00
Francesco Mani d8d2739c2b bugfixes 2020-08-06 17:46:16 +02:00
matzakos 5ab8e0079b Merge remote-tracking branch 'origin/NR_UL_scheduling' into NR_RRC_PDCP 2020-08-06 14:27:54 +02:00