Commit Graph
100 Commits
Author SHA1 Message Date
Thomas Schlichter aa555f9125 NR_UE: fix calculation of RA_contention_resolution_target_frame when SFN wraps 2023-12-01 16:02:17 +01:00
Thomas Schlichter 6ef5d27c08 NR_UE: fix usage of PUSCH new_data_indicator and cleanup 2023-12-01 16:02:17 +01:00
Thomas Schlichter f1a095057e fix limited UL data throughput in do-ra mode
In case of noS1-mode, we initialize the 'logicalChannelBearer_exist' array element for the pre-configured DRB0 in function 'nr_l2_init_ue()'.
That array is indexed with the LCID.
For DRB0, the LCID is 4.
Unfortunately, the code incorrectly used the array at index 0.
Therefore, the UE sent neither scheduling requests nor buffer status reports, what resulted in extremely poor UL throughput.
2023-07-28 15:42:47 +02:00
Thomas Schlichter 17b191a01d use OpenGL for LLR and IQ Plots and fix UE LLR Plot
Using OpenGL for IQ and LLR Plots improves plotting time significantly!
Also use the correct length for UE CIR and UE LLR Plots.
2023-07-28 13:49:52 +02:00
Thomas Schlichter d41147f411 fix introduced segfault in old scope 2023-07-26 13:53:55 +02:00
Thomas Schlichter c36d81a093 replace std::set<> for active plots with PlotUpdater emitting queued signals 2023-07-26 13:02:36 +02:00
Thomas Schlichter 3d1d468705 changes from review and updated indentation with clang-format 2023-07-26 10:16:56 +02:00
Thomas Schlichter c01359215d NR_UE: improve NFAPI_NR_DMRS_TYPE1_linear_interp()
The DL filter was shifted relative to the contributing DM-RS pilots.
This is fixed by using the UL filter from gNB.
2023-07-26 09:31:42 +02:00
Thomas Schlichter 5bc77ad169 fix typo in nr_slot_fep_init_sync()
This function is used during initial synchronization, only.
This typo leads to wrong computation of the OFDM symbol start within a slot, after PBCH decoding.
The result is a time offset and therefore a rotation in frequency domain for the initial PDCCH and PDSCH (SIB1) reception.
2023-07-21 13:34:49 +02:00
Thomas Schlichter b3b53506a1 improve memory alignment of some arrays in nr_pusch_channel_estimation() 2023-03-15 14:03:21 +01:00
Thomas Schlichter 96c1cadf2b fix typo in idft() function
In case of unaligned input array, a DFT of wrong size was executed instead of a correct IDFT.
2023-03-15 14:00:12 +01:00
Thomas Schlichter 6cee30ba79 review comments and further transform precoding cleanup 2023-03-15 11:01:47 +01:00
Thomas Schlichter 0d9268ec10 Update NR RRC to version 17.3.0 2023-03-10 10:54:43 +01:00
Thomas Schlichter 670cc4de09 fix build warnings 2023-03-09 10:50:26 +01:00
Thomas Schlichter f83f5f1a52 NR_UE: fix noise measurement if SSB crosses the center 2023-02-23 17:46:27 +01:00
Thomas Schlichter 9eb1d24504 fix size of arrays n0_subband_power and n0_subband_power_dB 2022-11-11 10:50:09 +01:00
Thomas Schlichter b257959dd4 fix display of UL signal energy and PUCCH signal energy 2022-11-11 10:48:16 +01:00
Thomas Schlichter 5aa75cb689 fix noise calculation also for odd number of PRBs 2022-11-11 10:43:25 +01:00
Thomas Schlichter 0e520e9456 fix in NR PUCCH scheduler when the list is larger than a frame
based on a patch from Francesco Mani <email@francescomani.it>
2022-11-07 15:33:20 +01:00
Thomas Schlichter 21721e967b workaround issue of N310 with UHD >= 4.2.0 when changing the BW
UHD issue was reported here:
https://github.com/EttusResearch/uhd/issues/644
2022-11-04 18:18:35 +01:00
Thomas Schlichter 5063957a16 fix merge artefact in nr_dl_channel_estimation.c 2022-11-03 09:43:03 +01:00
Thomas Schlichter c5e68e146c NR_UE: increase the accuracy of the filtered peak position value 2022-11-03 09:42:57 +01:00
Thomas Schlichter 39fe985681 NR_UE: slightly improve timing synchronization by minimizing the adjustment of the filtered peak position value 2022-11-03 09:42:47 +01:00
Thomas Schlichter a7d9f94ef3 NR_UE scope: show complete CIR 2022-11-03 09:42:41 +01:00
Thomas Schlichter cd8122d24d NR_UE: fix frequency offset estimation/compensation if SSB is in the second captured frame 2022-11-03 09:42:27 +01:00
Thomas Schlichter f73fcd94ee NR_UE: fix/add some debugging in nr_adjust_synch_ue.c and nr_dl_channel_estimation.c 2022-11-03 09:41:51 +01:00
Thomas Schlichter a2c6ad42e4 NR_UE: minor improvements in nr_initial_sync() 2022-11-03 09:41:14 +01:00
Thomas Schlichter b94d6b5b33 remove unsupported "thread_pool_size" parameter from conf files 2022-11-03 09:37:41 +01:00
Thomas Schlichter 9ae6095a78 nr_ulsim: fix calculation of statistics 2022-11-03 09:37:28 +01:00
Thomas Schlichter 54b7fde0aa NR_UE: fix noise in PDCCH scope 2022-11-03 09:31:57 +01:00
Thomas Schlichter 4e024e1f11 remove unnecessary (void*) casts from files nr_dlsch_demodulation.c and nr_ulsch_ue.c 2022-09-20 11:03:40 +02:00
Thomas Schlichter 18500674df improve nr_dlsch_decoding 2022-09-01 12:14:19 +02:00
Thomas Schlichter 1440807e23 increase prach_dtx_threshold to 20 dB to avoid fake PRACH detections 2022-08-30 11:17:34 +02:00
Thomas Schlichter 59cb602161 review changes 2022-08-29 12:43:50 +02:00
Thomas Schlichter 11693b1672 5G NR: remove hardcoded modulation order 2022-08-25 14:40:36 +02:00
Thomas Schlichter e5fad77f47 5G NR DCI improvements 2022-08-25 14:40:36 +02:00
Thomas Schlichter 8f6d084c80 small cleanup in get_type0_PDCCH_CSS_config_parameters() 2022-08-25 14:40:36 +02:00
Thomas Schlichter 7129830555 fix Msg2 scheduling
scheduling when frame number wraps was not handled correctly
2022-08-25 14:40:36 +02:00
Thomas Schlichter ef46fe8ba8 Add and harmonize configuration files for 5, 10, 40 MHz FDD with USRP X300 2022-08-25 14:40:36 +02:00
Thomas Schlichter c42304a797 nr_dlsim: also dump rxdataF_ext in case of debugging 2022-08-25 14:40:36 +02:00
Thomas Schlichter ae2e8060ea update band 66 configuration files for USRP X300 and N300 2022-08-25 14:40:36 +02:00
Thomas Schlichter 9e1edf2957 nr_phy_scope: improve x-axis scaling of channel impulse response and PUSCH LLR 2022-08-25 14:40:36 +02:00
Thomas Schlichter ea085b5fc1 harmonize initialization of symbol- and timeshift-rotation 2022-08-25 14:40:36 +02:00
Thomas Schlichter 1e36c48cf2 fix application of measured SSS fine frequency offset 2022-08-25 14:40:36 +02:00
Thomas Schlichter f8de623286 NR_UE: use improved version of mult-layer dlsch_extract_rbs(), also correctly handling odd number of PRBs 2022-08-25 12:10:48 +02:00
Thomas Schlichter 421eb65a9a NR_UE: fix ulsch precoding for RB crossing DC (odd number of RB) 2022-08-25 12:10:48 +02:00
Thomas Schlichter 6310606980 fix alignment issues in case of odd number of PRBs 2022-08-25 11:05:48 +02:00
Thomas Schlichter 3c17573f34 apply nr rotation only on used PRBs instead of complete OFDM symbol 2022-08-25 11:05:48 +02:00
Thomas Schlichter 21ea2f2136 pbchsim: apply nr rotation in frequency domain, like in all other places, instead of time domain 2022-08-25 10:17:59 +02:00
Thomas Schlichter e639e79220 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-05-18 10:51:19 +02:00
Thomas Schlichter 3934f2020e slightly increase the target SNR for the nr_dlsim low SNR test to make the test more reliable 2022-05-18 09:54:59 +02:00
Thomas Schlichter 6f8b13c2ad fix nr_ulsim option "-i" has no further parameters 2022-05-18 09:50:37 +02:00
Thomas Schlichter c97d5d04ed fixes from review 2022-05-18 09:35:01 +02:00
Thomas Schlichter 44a98a85c5 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-05-17 17:38:59 +02:00
Thomas Schlichter 7815293443 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-29 10:15:15 +02:00
Thomas Schlichter 795c057d8c nr_dlsim: fix low-SNR performance by using DCI aggregation level 8 2022-04-19 11:32:47 +02:00
Thomas Schlichter 94e5aaff88 Merge remote-tracking branch 'origin/develop' into 5g-nr-low-snr-performance 2022-04-12 09:51:47 +02:00
Thomas Schlichter 4035bdb71d add autotest test case for nr_dlsim low SNR performance
performance is ~1.0dB worse than nr_ulsim because of unexpected bad PDCCH performance...
2022-04-07 12:20:33 +02:00
Thomas Schlichter 298740b06c add autotest test case for nr_ulsim low SNR performance 2022-04-07 12:12:20 +02:00
Thomas Schlichter c7055b2cf9 nr_ulsim: set PUSCH detection threshold to -2.0 dB SNR 2022-04-07 12:08:26 +02:00
Thomas Schlichter 23bdf1e32c remove unused perfect_ce 2022-04-07 11:45:26 +02:00
Thomas Schlichter dd374c7e03 add more detailed statistics to nr_dlsim output 2022-04-07 11:45:26 +02:00
Thomas Schlichter e297ccfa26 Add nr_prachsim test case for 15 kHz SCS 2022-04-07 10:34:37 +02:00
Thomas Schlichter 729cf143e0 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-01 10:28:11 +02:00
Thomas Schlichter 88c0028757 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-03-24 11:39:22 +01:00
Thomas Schlichter 9ef3fdbc49 add autotests for nr_dlsim and nr_ulsim with 15 kHz SCS and 5 MHz BW 2022-03-15 09:45:36 +01:00
Thomas Schlichter 6569ea1a20 fix use of uninitialized memory
found by valdgrind in nr_dlsim
2022-03-14 16:39:17 +01:00
Thomas Schlichter 1616ed7727 gNB: generalize rx_nr_prach_ru() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter 8f632a7c69 NR_UE: generalize generate_nr_prach() and add support for mu==0 2022-03-14 16:39:17 +01:00
Thomas Schlichter 15e82e4811 add support for mu==0 to nr_prachsim 2022-03-14 16:39:17 +01:00
Thomas Schlichter 31cd31826d move get_dft() and get_idft() from pss_nr.c to tools_defs.h 2022-03-14 16:39:17 +01:00
Thomas Schlichter d104ef73b7 gNB: fix memory allocations for PUSCH in phy_init_nr_gNB() 2022-03-14 16:39:17 +01:00
Thomas Schlichter 9e90b8f22c remove unneeded global arrays ul_ch_ptrs_estimates, ul_ch_ptrs_estimates_ext, dl_ch_ptrs_estimates and dl_ch_ptrs_estimates_ext 2022-03-14 16:39:17 +01:00
Thomas Schlichter 4fd78ce1e0 small fixes for 15 kHz SCS 2022-03-14 16:39:17 +01:00
Thomas Schlichter cbf57d7b3c Add configuration file for 15 kHz SCS, 5 MHz BW, band 66, FDD 2022-03-14 16:39:17 +01:00
Thomas Schlichter 47148e3f7d add NO_INTERP to nr_pdsch_channel_estimation() as it is in nr_pusch_channel_estimation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter 4a90091095 fix init_timeshift_rotation() 2022-03-14 16:39:17 +01:00
Thomas Schlichter baa2e92562 add support for 5 MHz (15 kHz SCS) and 10 MHz (30 kHz SCS) to nr_dlsim and nr_ulsim 2022-03-14 16:39:17 +01:00
Thomas Schlichter 7e17f8bd6a make nr_ulsim PASS condition depend on eff_tp_check, just as nr_dlsim already does 2022-03-14 09:45:38 +01:00
Thomas Schlichter a82d897478 Merge remote-tracking branch 'origin/nr-ue-fixes' into support-15-kHz-SCS 2022-03-14 09:36:29 +01:00
Thomas Schlichter 1e5c3c5707 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-14 09:35:17 +01:00
Thomas Schlichter e3901a499b call process_CellGroup() after add_new_nr_ue() in gNB_scheduler_ulsch.c
In case of do-ra mode (NSA) the OAI UE needs this, so the gNB correctly establishes the DRB.
2022-03-07 16:22:50 +01:00
Thomas Schlichter e7500354c1 harmonize RLC and PDCP configurations in nr_DRB_preconfiguration() and fill_default_secondaryCellGroup()
nr_DRB_preconfiguration() is used in phy-test mode by both, OAI UE and gNB, and in all other modes by OAI UE.
Because of inconsistencies, data transfer with OAI UE was only reliably working in phy-test mode.
Ultimately, OAI UE should use nr_DRB_preconfiguration() only in phy-test mode and do proper DRB configuration instead in all other modes!
2022-03-07 16:02:01 +01:00
Thomas Schlichter 05daeb66b4 Merge remote-tracking branch 'origin/develop' into fix_nr_odd_prb 2022-03-07 10:09:51 +01:00
Thomas Schlichter 9378a076ee Merge remote-tracking branch 'origin/develop' into continuous-tx 2022-03-07 09:44:49 +01:00
Thomas Schlichter d09366c503 NR_UE: correctly scale UL frequency offset (relevant for FDD) 2022-03-02 09:27:16 +01:00
Thomas Schlichter bf4429196a NR_UE: fix UL retransmission 2022-03-02 09:27:03 +01:00
Thomas Schlichter cf5dafe74e use only one memcpy() in case "start_re + nb_re == ofdm_symbol_size" in nr_ulsch_demodulation.c and nr_dlsch_demodulation.c 2022-02-28 14:14:01 +01:00
Thomas Schlichter 49196f3c91 NR_UE: fix nr_dlsch_extract_rbs_single() for start_rb > nb_rb_pdsch/2 2022-02-28 14:08:45 +01:00
Thomas Schlichter 34ab52b6c3 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 13:35:50 +01:00
Thomas Schlichter 05d61a0828 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 12:57:17 +01:00
Thomas Schlichter 8cfb8b6a3b Fix correlation calculation in nr_dlsch_channel_compensation() 2022-02-25 12:40:50 +01:00
Thomas Schlichter 2655748b69 NR_UE: fix nr_pdcch_extract_rbs_single() for odd number od PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter d0beb9796c NR_UE: fix nr_pdcch_channel_estimation() for odd number of PDCCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter c7ca405199 gNB: fix nr_generate_pdsch() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter 4d90aad48f NR_UE: fix nr_dlsch_extract_rbs_single() for odd number of PDSCH RBs 2022-02-25 09:35:44 +01:00
Thomas Schlichter e8278de15c fix for 5G NR UL transform precoding
get_index_for_dmrs_lowpapr_seq() was accessing the array dmrs_ul_allocated_res[] out of bounds.
2022-02-21 13:37:32 +01:00
Thomas Schlichter 76885758aa add support for continuous transmission
In case of TDD we usually disable TX during RX.
Unfortunately some USRPs create self-interference after disabling TX.
To be able to work-around this issue, we add the flag "--continuous-tx".
2022-02-09 08:56:15 +01:00
Thomas Schlichter 055bb6a6c2 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-02-03 10:36:42 +01:00
Thomas Schlichter 7d47e98412 Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-01-25 11:38:49 +01:00