Commit Graph
85 Commits
Author SHA1 Message Date
Raymond Knopp de7d35007c temporary revert to 1 estimate per PRB for performance evaluation 2021-05-22 16:26:00 +02:00
Sakthivel Velumani 3ac2343ad9 Fixed start & end PRB 2021-05-10 11:15:51 +02:00
Sakthivel Velumani 7948949604 Smoothing the frequency response 2021-05-10 00:09:18 +02:00
Thomas Schlichter 942037beb3 5G NR: move CIR peak to 0
The rotation compensating the shifted OFDM position _before_ the channel estimation makes the CIR peak move back to 0.
We have to take this into account on gNB side when calculating the timing advance command, and on UE side in the time adjustment.
2021-04-26 14:58:01 +02:00
Sakthivel Velumani 215f263a69 Making sample offset as cmd line parameter
for gNB its in L1 section of config file
for UE its a cmd line paramenter
2021-04-26 03:09:17 +02:00
Sakthivel Velumani 1991c2f9cd Revert "HACK: cut PUSCH and PDSCH OFDM symbol after complete CP"
This reverts commit 87b53883b2.
2021-04-23 15:42:16 +02:00
Thomas Schlichter 87b53883b2 HACK: cut PUSCH and PDSCH OFDM symbol after complete CP
Currently we cute the PUSCH and PDSCH OFDM symbols starting within the last 1/8th of the CP to avoid ISI.
This time shift leads to a rotation in frequency domain.
The current PRB based channel estimation does not compensate for the rotation _within_ a PRB, leading to bad performance.

This commit should _not_ make it into develop branch, it is just for testing!
Instead, we should do some compensating rotation before channel estimation.
2021-04-21 13:45:22 +02:00
Thomas Schlichter fd70cd3e44 gNB: fix possible overflow in PRB based PUSCH channel estimation 2021-04-21 13:45:22 +02:00
Sakthivel Velumani b546e6445d Merge remote-tracking branch 'origin/develop' into prb_based_dl_channel_estimation 2021-04-19 10:18:05 +02:00
Sakthivel Velumani a96501177e Code cleanup as per reiview comments 2021-04-17 21:47:01 +02:00
Sakthivel Velumani 3c17c29a1d Merge branch 'develop' into prb_based_dl_channel_estimation 2021-04-07 14:02:40 +02:00
rmagueta 1175463c7e Merge remote-tracking branch 'origin/develop' into develop-SA-CBRA 2021-03-31 15:33:48 +01:00
hardy 1214836e75 Merge remote-tracking branch 'origin/nr_power_measurement_fixes' into integration_2021_wk13_c 2021-03-30 16:40:41 +02:00
rmagueta b43c054f02 Merge remote-tracking branch 'origin/develop' into develop-SA-CBRA
# Conflicts:
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-03-29 15:51:37 +01:00
Sakthivel Velumani 1d2e5cabd8 Closing review comments
MR 1081
2021-03-26 14:41:56 +01:00
Sakthivel Velumani 03ba68d42e Merge branch 'develop' into prb_based_dl_channel_estimation 2021-03-22 16:25:19 +01:00
rmagueta d37552db4c Merge remote-tracking branch 'origin/develop' into develop-SA-CBRA
# Conflicts:
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2021-03-19 15:07:08 +00:00
francescomani d76c50e34a Merge remote-tracking branch 'origin/develop' into nr_power_measurement_fixes 2021-03-19 11:22:18 +01:00
Thomas Schlichter dade64ea43 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-19 11:18:02 +01:00
rmagueta 9456542678 Merge remote-tracking branch 'origin/develop' into develop-SA-CBRA
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
2021-03-16 16:04:23 +00:00
Thomas Schlichter b7ef903cb4 Merge remote-tracking branch 'develop' into NR_10MHz 2021-03-16 16:13:17 +01:00
Thomas Schlichter 3152df445e Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-16 13:37:07 +01:00
Thomas Schlichter f032830465 gNB: don't use gNB->RU_list in nr_measurements_gNB.c
this list is not initialized in phy-simulators
2021-03-10 13:15:03 +01:00
luis_pereira87 982a054631 Add support for PUSCH DMRS sequence generation when BWPStart>0 2021-03-10 10:42:11 +00:00
Thomas Schlichter 367241ef47 fix compile warnings 2021-03-10 11:34:00 +01:00
Thomas Schlichter 5d50553c29 Merge remote-tracking branch 'develop' into nr_power_measurement_fixes 2021-03-09 14:09:53 +01:00
cig a2e2968244 Fix after review MR 1039
- use LOG_D for debug logging
2021-03-09 10:06:33 +01:00
cig 5d8d478ffb NR gNB UL power measurements
- new function has been introduced for the computation of UL SNR
- minor bugfix to noise power computation
- FAPI data type for referenceSignalPower has been updated to reflect the
  range of values for the SSB power
2021-03-08 15:25:45 +01:00
Sakthivel Velumani 3fe2628df0 fixing build errors 2021-03-05 16:51:09 +01:00
Thomas Schlichter eab6379bff gNB: cut OFDM symbol for PUSCH reception within 1/8th of CP to avoid ISI 2021-03-05 14:06:09 +01:00
Sakthivel Velumani d4a53d522f Merge branch 'develop' into prb_based_dl_channel_estimation 2021-03-05 13:25:35 +01:00
Sakthivel Velumani 0fb6934fed Cmd line parameter for UE 2021-03-05 12:11:46 +01:00
Sakthivel Velumani 8d07eacd9e Added averaging channel est to PUSCH
Included command line option to select interpolation method
2021-03-05 11:44:31 +01:00
Thomas Schlichter 7a6f789aed Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-03-03 17:59:17 +01:00
cig f2bc1012be Minor cleanup UE
- removed commented out code
- improved logging in UL channel estimation
- minor fixes according to OAI coding guidelines
- moving fetching TDD configuration parameters in nr-ue.c only in TDD case
2021-03-03 17:58:07 +01:00
Saankhya 37a2ce7d3d following coding guideline
fixing the RE offset for each Rx antenna in pusch channel estimation
2021-02-24 12:01:58 +05:30
Khodr Saaifan e72d0483b4 Add PDSCH precoder functions, fix pusch_rx for 2 rx antennas, fix nr_dlsim for 2x1 MIMO simulation 2021-02-01 10:06:08 +01:00
dir a17f00784c NR_SC_FDMA changes
- CDM groups used, multiple DMRS locations tested
- REMOVED compiler define NR_SC_FDMA
- enabled -Z option in ulsim for testing NR SC-FDMA
- Gnb UL Processing of LLRS even if last symbol allocated has no data
- transform precoding Enumerations used
2020-12-21 14:01:59 +02:00
Parminder Singh 4fe5986845 Corrected conditional statement wrt OAI Formatting Rules 2020-11-12 19:29:10 +01:00
Parminder Singh b0ee3bb206 Correction for first OFDM symbol estimation and compensation
- Direct multiply with the conjugate of the estimation for compensation
2020-11-09 17:25:00 +01:00
Parminder Singh 910c1860f0 DMRS estimation default value is moved outside slot processing
- in PTRS processing the default value for DMRS is set outside slot
   processing.
2020-11-06 14:26:25 +01:00
Parminder Singh c9523b88a7 Updated UL ptrs processing wrt DL
- Most DL code is reused for Ul also to reduce code duplication
- Common CPE calculation function is used for error estimation
- Common slot processing function is used for inter/extrapolation
- Removed old implementation dedicated to UL
2020-11-05 14:00:01 +01:00
Parminder Singh 209785551a Review Comments are updated
- updated return function value to -1
- removed static variable for dmrs symbol selection for channel
- Updated sin cos quadrant check conditions
- removed casting from PTRS slope and related calculations
2020-11-04 11:29:35 +01: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
Parminder Singh 88a14fc4cc Set the previous PTRS estimates to 0 for each slot
- The memory shall be reset for each slot to avoid interpolation error.
2020-09-02 10:10:10 +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
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
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
Francesco Mani 7989afbb78 bugfix in measurements 2020-08-07 17:05:58 +02:00