Commit Graph
72 Commits
Author SHA1 Message Date
Robert Schmidt 9c1a8733c1 nr_pusch_dmrs_rx(): const input 2024-07-26 12:15:36 +02:00
Robert Schmidt fc5258962f nr_gen_ref_conj_symbols()/nr_ptrs_cpe_estimation(): const input 2024-07-26 12:14:59 +02:00
Robert Schmidt 46ca521042 nr_pdc/sch_dmrs_rx(): make non-changing input parameter const ptr 2024-07-26 12:14:29 +02:00
Sakthivel Velumani 043da0c440 NR UE scan for SSB within current bandwidth
Till this commit, the UE gets the position of SSB in frequency from
command line and does the syncronization by locating the SSB in time. It
does this by generating a PSS time signal during initialization with the
SSB offset given via command line. Then PSS detection is done by
correlation.

In this commit, the UE computes a list of GSCN in the current NR band
that falls within the current bandwidth for the set center frequency.
For each GSCN in the list, the UE starts a thread and performs the
following:
1. Generate PSS time signal with SSB offset for current GSCN.
2. Detect PSS, SSS and decode PBCH (this step remains the same).
After all threads finishes, the results are collected.

For now, only the first detected PBCH is used to proceed further. So
this PBCH is indicated to MAC and UE exits initial sync.

Future work: The cell search can be standalone feature where the UE
could scan for SSB in the entire NR band. This would require changing
radio's frequency on the fly as the UE's bandwidth would not cover an
entire NR band. The cell detection can futher be imporved by looking
for SIB1 for each decoded PBCH.
2024-05-30 10:20:45 -04:00
Robert Schmidt ebeb26528a Merge remote-tracking branch 'origin/NR_PSBCH_MERGE1' into integration_2024_w15 2024-04-15 14:34:36 +02:00
Robert Schmidt 9a2e080f77 Apply clang-format 2024-04-13 08:54:15 +02:00
Raghavendra Dinavahi 94b23d1eb0 PSBCH RX TX and SLSS search procedures
- RX/TX Phy processing accg to 38.211, 38.212 Rel16
	- PSBCH simulator used to validate TX/RX phy processing
	- PSBCH SLSS Search procedures
	- PSBCH SIM also tests SLSS SEARCH
2024-04-12 16:07:00 +02:00
francescomani 3f1dd8d7ba syntaxError 2024-04-09 16:53:12 +02:00
Laurent THOMAS 9a4294ebab for_review_then_squash 2024-03-26 20:58:44 +01:00
Laurent THOMAS 88fb3c3598 change type to c16_t around dmrs computation pieces of code 2024-03-26 20:57:31 +01:00
Laurent THOMAS 39400a458e change partially pbch detection to c16_t instead of hidden complex in int16_t and int32_t 2024-03-26 20:57:31 +01:00
Robert Schmidt 132949c226 Merge remote-tracking branch 'origin/NR_DMRS_rx_improved_comments' into integration_2024_w10 2024-03-08 07:19:47 +01:00
francescomani 284d07c5ae nfapi_nr_interface cleanup 2024-03-06 11:38:26 +01:00
francescomani c464c27f63 adding comments to clarify that DMRS samples generated for channel estimation at reception already takes into account complex conjugate needed for said estimation 2024-02-29 18:59:48 +01:00
Laurent THOMAS bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
laurent b339460666 cleanup only 2023-04-28 16:25:24 +02:00
luis_pereira87 76eaed3bf8 Address review comments by correctly re-formatting a piece of code using clang-format 2022-09-06 10:19:38 +01:00
luis_pereira87 5a32092dc6 Address review comments by re-formatting a piece of code using clang-format 2022-09-05 17:56:33 +01:00
francescomani 7a3dea3197 fix at UE for DMRS when there is a bwp start offset 2022-09-05 13:48:42 +01:00
Roberto Louro Magueta 724e155a3a Move UL delta computation for a function 2022-04-28 23:57:19 +01:00
Roberto Louro Magueta 927e219553 UL channel estimation with a formulation closer to 3GPP, because this will be useful next 2022-04-28 21:04:41 +01:00
Thomas Schlichter 4db9c78450 fix PDSCH DMRS configuration type 2 2021-05-06 20:27:56 +02:00
rmagueta 76b974508b Merge branch 'develop' into develop-sib1-update-ue
# Conflicts:
#	cmake_targets/CMakeLists.txt
2021-02-02 12:10:12 +00:00
luis_pereira87 7700e61861 Fix Tables 7.4.1.1.2-1/2 from 38.211 2021-02-01 21:04:14 +00: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
Khodr Saaifan 1de69e8e27 PHY: link dmrs_config to higher layers 2020-11-05 03:22:30 +01: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 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 2b976aa711 Merge branch 'NR_RRC_PRACH_procedures' into NR_RRC_harq_hacks 2020-06-12 19:14:25 +02:00
Francesco Mani 88e5203dfa bugfix in dci1_1 size 2020-05-08 17:19:31 +02:00
Raymond Knopp afa7ef9afe Merge branch 'NR_RRC_harq_hacks' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_RRC_harq_hacks 2020-05-08 10:17:18 +02:00
Raymond Knopp 70dff719e2 pusch dmrs rx fix, added comp file dump to ulsim 2020-05-08 10:16:30 +02:00
Francesco Mani d4929cc21e bugfix in dmrs offset for pusch 2020-05-07 09:52:48 +02:00
Francesco Mani 014e045ba6 bugfix in dmrs offset for pusch 2020-05-07 09:44:07 +02:00
Raymond Knopp 2f9bf0d84c added file reading for ulsim 2020-05-04 08:19:48 +02:00
Francesco Mani 86bc794518 bugfix in dmrs reception for pusch 2020-04-29 14:00:32 +02:00
Francesco Mani 817afd999b fixing reference point for k in pusch dmrs 2020-03-24 16:00:52 +01:00
Francesco Mani ab39b74ca1 bugfix in pusch dmrs reception 2020-03-13 10:19:24 +01:00
Francesco Mani 98714f3138 using SCF fapi structure for PUSCH and initialization of pusch dmrs sequences at nr_init 2020-03-06 18:05:12 +01:00
Khalid Ahmed 23ade3ada6 PUSCH Rx channel estimation supporting DMRS type 2
- nr_ulsim supports multiple DMRS configurations
2019-12-18 11:05:37 +01:00
Florian Kaltenberger f26373c52b Merge remote-tracking branch 'origin/develop-nr_cppcheck' into integration_develop-nr_2019w42
Conflicts:
	executables/nr-gnb.c
	openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
	openair1/SIMULATION/NR_PHY/ulsim.c
2019-10-14 13:34:14 +02:00
Ahmed Hussein 3a8bf560da channel estimation, compensation, etc ..
Added the following folder:
- ../openair1/PHY/NR_ESTIMATION/

Added the following file to CMakelists.txt:
- ../openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c

Added the following functions:
- nr_pusch_dmrs_rx
- nr_gold_pusch
- nr_ulsch_channel_level
- nr_ulsch_channel_compensation
- nr_ulsch_scale_channel is commented out (I think only used for downlink)

Changes from Khalid Ahmed Mahmoud Mohamed:
- nr_pusch_channel_estimation is used
- nr_ulsch_scale_channel is used
- nr_ulsch_channel_level is used
- nr_ulsch_channel_compensation is used
- multiple logging options for channel and signal magnitude
2019-10-08 09:30:14 +02:00
yilmazt aec1263e71 initial cppcheck fixes 2019-09-10 16:37:06 +02:00
Guy De Souza 6377d5a73a PDCCH procedure debugs 2019-02-07 14:18:21 +01:00
Raymond Knopp cb9321c65d Merge remote-tracking branch 'origin/nr_pdsch' into nr-polar-encoder-optimizations
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/CODING/TESTBENCH/ldpctest.c
	openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c
	openair1/PHY/CODING/nrLDPC_encoder/ldpc_generate_coefficient.c
	openair1/PHY/CODING/nr_compute_tbs.c
	openair1/PHY/CODING/nr_segmentation.c
	openair1/PHY/MODULATION/slot_fep_nr.c
	openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
	openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
	openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
	openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
	openair1/SCHED_NR/fapi_nr_l1.c
	openair1/SCHED_NR/nr_ru_procedures.c
	openair1/SCHED_NR/phy_procedures_nr_common.c
	openair1/SCHED_NR/phy_procedures_nr_gNB.c
	openair1/SCHED_NR_UE/defs.h
	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
	targets/RT/USER/nr-gnb.c
	targets/RT/USER/nr-ru.c
	targets/RT/USER/nr-ue.c
2019-01-04 16:46:50 +01:00
Raymond Knopp 94b0a687a8 default logging turned off 2018-12-07 11:06:03 +01:00
Raymond Knopp ee1c5cbdbd pdcch channel estimation in UE is ok (273 PRBs) 2018-12-05 11:44:44 +01:00
hongzhi wang 6d760fe41d fix nr ue pdsch 2018-11-08 16:22:52 +01:00
Guy De Souza fea11c173e Merge with develop-nr 2018-11-06 14:46:16 +01:00
Florian Kaltenberger 4bc8c6aaa0 Merge branch 'nr_pbchsim' into develop-nr-merge2 2018-10-26 11:59:35 -07:00