Commit Graph
100 Commits
Author SHA1 Message Date
Thomas Schlichter 94bc375f82 NR_UE: enable timing synchronization logging 2021-10-27 17:30:05 +02:00
Thomas Schlichter 209d5f1131 NR_UE: reset max_pos_fil in timing synchronization whenever we add/remove a sample 2021-10-27 17:30:05 +02:00
Thomas Schlichter 2c2ba26553 NR_UE: fix bug in timing adjustment 2021-10-27 17:30:05 +02:00
Thomas Schlichter 107f20ad29 fix rounding in TA calculation 2021-10-27 17:30:05 +02:00
Thomas Schlichter 7b54ee312e Another review fix 2021-10-18 09:46:00 +00:00
Thomas Schlichter 0141ae6137 review improvement 2021-10-18 08:51:35 +00:00
Thomas Schlichter 054c1e53b7 Fix for vrb_map occupation loop 2021-08-25 13:49:30 +00:00
Thomas Schlichter b4a20d062d Fix in rbSize loop 2021-08-25 12:21:18 +00:00
Thomas Schlichter b5fb1dc05f Merge remote-tracking branch 'origin/develop' into nr_ue_mac_pdu_fixes 2021-08-12 11:35:27 +02:00
Thomas Schlichter 6c227f4d6b NR_UE: Assure correct padding in nr_ue_get_sdu()
In case no MAC CE needs to be transmitted and we filled the buffer with SDUs from RLC, we missed to add padding for the last 3 bytes.
2021-08-05 12:33:09 +02:00
Thomas Schlichter 9f070b74ae NR_UE: use correct HARQ PID when setting the HARQ status to ACTIVE in nr_ue_scheduled_response() 2021-07-13 20:47:05 +02:00
Thomas Schlichter bf50c61e8a NR_UE: fix nr_ue_dlsch_procedures() for sa mode
But that part should be moved to the MAC anyways
2021-07-13 20:45:19 +02:00
Thomas Schlichter 44d57829cc NR_UE: revert changes in nr_ue_procedures.c
I have to revert this to be consistent with the OAI gNB.
But I think it is wrong to take the BWPSize from scc or scc_SIB, and the BWPStart from DLbwp[0].
2021-07-13 20:44:39 +02:00
Thomas Schlichter cdbdb15858 fix 2 layer MIMO in nr_dlsim after last merge with develop 2021-07-12 14:42:03 +02:00
Thomas Schlichter c3482e376d Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-07-05 16:25:26 +02:00
Thomas Schlichter ea72bde160 fix DL channel estimation around DC for DMRS type 1 and muliple antenna ports
bug found and fix proposed by: Francesco Mani
2021-07-05 14:49:39 +02:00
Thomas Schlichter 6f89a63d2c Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-06-23 14:00:07 +02:00
Thomas Schlichter 311b97685e gNB: add nrOfLayers to sched_pdsch 2021-06-17 10:41:30 +02:00
Thomas Schlichter 1c244de782 gNB: add nrOfLayers to sched_pdsch 2021-06-17 08:59:48 +02:00
Thomas Schlichter 1c440be48e NR_UE: in nr_ue_dlsch_procedures() use TimeDomainAllocationList from bwp_Common if there is none in bwp_Dedicated 2021-05-21 18:00:33 +02:00
Thomas Schlichter 97c199dd84 Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-05-21 08:38:14 +02:00
Thomas Schlichter 581c0f062a update FEATURE_SET.md 2021-05-20 19:03:14 +02:00
Thomas Schlichter d62f92c6a7 NR_UE: remove several unused structures from PHY layer 2021-05-20 18:32:51 +02:00
Thomas Schlichter 71a5ae2454 NR_UE: further cleanup of DMRS configuration 2021-05-20 16:24:11 +02:00
Thomas Schlichter 20f8895316 fix nr_dlsim: make dmrs_config_type optional again 2021-05-20 16:11:38 +02:00
Thomas Schlichter ff5eb3e657 Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-05-19 11:42:04 +00:00
Thomas Schlichter 61de3bf995 Merge remote-tracking branch 'origin/develop' into fix_nr_ulsim 2021-05-17 11:52:07 +02:00
Thomas Schlichter 4db9c78450 fix PDSCH DMRS configuration type 2 2021-05-06 20:27:56 +02:00
Thomas Schlichter 985338756a Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-05-06 09:36:43 +02:00
Thomas Schlichter 014280bf13 NR_UE: fix PRACH TX timing for FR2 2021-05-04 16:47:30 +02:00
Thomas Schlichter e04e09e5d4 fix warnings about missing const in polar_encoder_fast() parameter list
make t_nrPolar_params a constant input to all nr polar encoders and nr polar decoders
2021-05-04 13:24:00 +02:00
Thomas Schlichter 0ac5fcbfad Merge remote-tracking branch 'origin/develop' into nr-dmrs-fixes 2021-05-04 11:32:07 +02:00
Thomas Schlichter 221cd2a3a2 gNB: fix memory allocation for multiple layers in new_gNB_dlsch() 2021-05-03 17:44:52 +02:00
Thomas Schlichter 5f6be27f5d fix 2 layer MIMO in nr_dlsim after last merge with develop 2021-04-28 18:06:14 +02:00
Thomas Schlichter 8a7a79374b 5G NR: change PUSCH and PDSCH channel levelling for higher accuracy 2021-04-27 17:08:13 +02:00
Thomas Schlichter da799243d5 Merge remote-tracking branch 'origin/develop' into prb_based_dl_channel_estimation 2021-04-27 16:55:29 +02:00
Thomas Schlichter 2ec2486ae4 shave off some run-time from nr_ulsim test cases 2021-04-27 11:27:14 +02:00
Thomas Schlichter 247637f5ed Merge remote-tracking branch 'origin/develop' into nr-dl-mimo-2layer 2021-04-27 11:26:11 +02:00
Thomas Schlichter 0da9ec9cfb Merge remote-tracking branch 'origin/develop' into nr-dmrs-fixes 2021-04-27 10:27:31 +02:00
Thomas Schlichter b073ca48c3 gNB: improve TA accuracy
The TA calculation takes the CIR peak position error and scales it according to 38.213 section 4.2.
Till now it was simply an integer division "timing_advance_update = sync_pos / bw_scaling".

E.g. in case of bandwidth_scaling == 16, the timing_advance_update was 0 for sync_pos between -15 and +15.
With this change, this range (and thus the UL timing error) will be reduced to -8 and +8.
2021-04-26 18:05:17 +02:00
Thomas Schlichter 5c6865fbc6 5G NR: simplify init_timeshift_rotation()
Only Ncp1 is used, so get rid of the second timeshift_symbol_rotation array.
Also simplify the computation of "t0 * Tc * f".
2021-04-26 16:09:32 +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
Thomas Schlichter 626ab8aa3a NR_UE: adjust some LOG levels 2021-04-26 14:58:01 +02:00
Thomas Schlichter b6a564369f Merge remote-tracking branch 'origin/develop' into nr-dmrs-fixes 2021-04-26 09:42:10 +02:00
Thomas Schlichter bee0721126 Add 4x4 MIMO test cases for nr_dlsim 2021-04-23 17:32:28 +02:00
Thomas Schlichter 1c61be68e6 Add more test cases for nr_dlsim and nr_ulsim 2021-04-23 13:25:41 +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 b110c3622b NR_UE: fix possible overflow in PRB based PDSCH 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
Thomas Schlichter 5d6c01de91 nr_ulsim: fix for nb_antennas_tx != nb_antennas_rx
use nb_antennas_tx instead of nb_antennas_rx when copying data from UE->common_vars.txdata to s_re and s_im
2021-04-21 13:23:27 +02:00
Thomas Schlichter d2752d0dc5 NR_UE: fix allocation of txdataF_layers
Each element is sizeof(int32_t), not sizeof(int32_t *).
2021-04-21 13:20:24 +02:00
Thomas Schlichter 650645f883 NR_UE: send tick to RLC and PDCP every ms 2021-04-07 14:21:00 +00:00
Thomas Schlichter ca963e68ff gNB: fix allocation of RC.gNB[] array
If the array of pointers is allocated using malloc(), it is not guaranteed that the pointers are NULL, so the actual PHY_VARS_gNB might nit be allocated correctly!
Also replace a malloc() + memset() combination by just a calloc().
2021-03-30 14:05:40 +02:00
Thomas Schlichter 9916076fbd gNB: fix pucch indexing in fill_ul_rb_mask() 2021-03-30 10:45:03 +02:00
Thomas Schlichter 7848e2575c add missing pusch_AntennaPorts to conf files 2021-03-30 10:44:15 +02:00
Thomas Schlichter 104aa7eed5 gNB: fix precoding matrix related compile error 2021-03-29 14:59:58 +02:00
Thomas Schlichter fe191c7d0a gNB: fix corruption of RBs not used by PDSCH in nr_generate_pdsch()
A memcpy() introduced to optimize for the case of no precoding corrupted RBs which are not allocated to PDSCH in the common txdataF array.
So instead fall back to memcpy() for each PDSCH RB.
2021-03-29 10:10:08 +02:00
Thomas Schlichter f9410f7a69 gNB: update ssPBCH_BlockPower to -25 dBm/RE in all USRP conf files 2021-03-25 09:20:08 +01:00
Thomas Schlichter 7b76f3f2e1 Merge remote-tracking branch 'origin/develop' into nr_power_measurement_fixes 2021-03-25 09:10:55 +01:00
Thomas Schlichter bc041092c8 NR_UE: always break out of MAC PDU processing after pdu_len Bytes
In case of false positive PDSCH CRC check, a random MAC PDU is processed.
Currently pdu_len is unsigned 16 Bit, so we did break out of the processing loop only if we _exactly_ hit a residual pdu_len of 0, or we hit a LCID of DL_SCH_LCID_PADDING.
If we didn't hit either of these, pdu_len wrapped to a very positive value, and we continued processing the PDU even beyond its bounds!
This behavior was observed with SNR 1 dB and MCS 9.

So better make pdu_len signed and break out of the loop after processing at max. pdu_len Bytes!
2021-03-19 17:45:14 +01:00
Thomas Schlichter 14f3d6a77a gNB: fix memory allocations in fix_scc() and prepare_scd()
issues found by valgrind
2021-03-19 11:40:21 +01:00
Thomas Schlichter dade64ea43 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-19 11:18:02 +01:00
Thomas Schlichter ccee372aa5 NR: don't enable PRINT_CRC_CHECK by default in nr_ulsch_decoding.c 2021-03-18 14:06:51 +01:00
Thomas Schlichter 2a73b2d0c4 NR_UE: fix typo in nr_dlsch_decoding() 2021-03-18 14:02:22 +01:00
Thomas Schlichter 58af72a640 fix nr_dlsim for CI: use AWGN instead of Rayleigh1 channel by default 2021-03-18 13:27:56 +01:00
Thomas Schlichter 62a1cf49ab NR: initialize t_nrLDPC_time_stats structure 2021-03-18 13:25:18 +01:00
Thomas Schlichter d7f89ae686 NR: allocate memory for 2 slots of OFDM symbols in txdataF_precoding 2021-03-18 13:23:37 +01:00
Thomas Schlichter 5d6863ddd2 NR_UE: fix memory allocations in phy_init_nr_ue__PDSCH() 2021-03-17 17:01:42 +01:00
Thomas Schlichter b7ef903cb4 Merge remote-tracking branch 'develop' into NR_10MHz 2021-03-16 16:13:17 +01:00
Thomas Schlichter 8768deaf74 Merge remote-tracking branch 'develop' into ptrs_rrc_config 2021-03-16 14:01:32 +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
Thomas Schlichter 367241ef47 fix compile warnings 2021-03-10 11:34:00 +01:00
Thomas Schlichter 4e87bc3c96 add missing parameter 'pusch_proc_threads' to configuration files
also harmonize configuration files some more
2021-03-10 10:45:31 +01:00
Thomas Schlichter 5d50553c29 Merge remote-tracking branch 'develop' into nr_power_measurement_fixes 2021-03-09 14:09:53 +01:00
Thomas Schlichter 82cd7c44da nr_ulsim: whitespace cleanup 2021-03-09 13:11:16 +01:00
Thomas Schlichter 2cf4daefa8 NR: move nr_bandtable from nr_mac_common.c to nr_common.c so PHY can use it, too 2021-03-09 11:56:06 +01:00
Thomas Schlichter 681c03667d NR: fix init_symbol_rotation() for UL 2021-03-08 16:23:20 +01:00
Thomas Schlichter 606fa3c3aa fix nr_prachsim: 3.5 GHz is _not_ a valid DL frequency for 30 kHz SCS, so change it to 3.6 GHz 2021-03-08 10:59:43 +01:00
Thomas Schlichter 2411743f44 gNB: move get_band() to its only user in nr_init.c 2021-03-05 17:27:45 +01:00
Thomas Schlichter 2266d4611a NR_UE: move OFDM symbol cut position handling to nr_slot_fep()
this slightly cleans up nr_initial_sync() and UE_thread()
2021-03-05 15:02:18 +01:00
Thomas Schlichter dd275d0148 improve nr_slot_fep() and variants 2021-03-05 15:01:19 +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
Thomas Schlichter 62612feebf change get_band() to take the duplex spacing into account 2021-03-03 18:02:10 +01:00
Thomas Schlichter 7a6f789aed Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-03-03 17:59:17 +01:00
Thomas Schlichter 01645168f0 NR_UE: handle initial TA the same way as TA updates, independent of the UE_mode
In FDD mode, the UE_mode switches to PUSCH mode before the initial TA value was applied.
Because of this, the ta_command was misinterpreted.
Fix this by adding 31 to the initial TA comamnd and handle it the same as TA updates.
2021-03-03 17:58:07 +01:00
Thomas Schlichter d3982e5809 Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-02-12 16:39:58 +01:00
Thomas Schlichter d2f353acf6 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-02-12 15:33:51 +01:00
Thomas Schlichter 82804981bd fix timing advance command scaling
scaling with 2^mu is already part of 'bw_scaling', so don't do it twice!
Also simplify the computation in get_bw_scaling() by using a one-line computation instead of a switch-case table.
2021-02-11 18:00:30 +01:00
Thomas Schlichter f59a9360f5 Apply 2 suggestion(s) to 1 file(s) 2021-02-10 13:43:35 +01:00
Thomas Schlichter 13086925c9 Add tests for 80 and 100 MHz SC-FDMA to nr_ulsim autotests for CI 2021-02-10 11:21:40 +01:00
Thomas Schlichter 97801299dc some whitespace fixes in openair1/PHY/MODULATION/nr_modulation.c 2021-02-10 09:10:22 +01:00
Thomas Schlichter 75cd4c79d9 update tx_sample_advance for 40 MHz and USRP X300 (3/4 sampling)
Testing RA with OAI gNB and UE both using X300 via PCIe link indicated a value of 15 was way too small.
The correct value for this setup seems to be 65.
2021-02-09 18:09:11 +01:00
Thomas Schlichter b9e99f1e64 update tx_sample_advance for 10 MHz and USRP X300
Tests with our USRP X300, connected via PCIe, show that tx_sample_advance of 45 is slightly too much.
Unfortunately, transmitting the PRACH preamble too early is very bad, slightly too late is no problem.
So change this value from 45 to 40. This helps receiving the PRACH preamble reliably.
2021-02-09 17:51:33 +01:00
Thomas Schlichter 28f739bb70 add 10 MHz configuration file for USRP X300 2021-02-09 17:50:32 +01:00
Thomas Schlichter 14e84f8782 Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-02-09 10:02:54 +01:00
Thomas Schlichter 2db2112aee Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-02-08 18:06:29 +01:00
Thomas Schlichter adc24a797e NR_UE: Add PRACH generation for 10 to 30 MHz (30 kHz SCS) 2021-02-08 14:21:30 +01:00
Thomas Schlichter c5734aa110 NR_UE: slightly cleanup PRACH generation 2021-02-08 14:21:30 +01:00
Thomas Schlichter 92e654c6fc gNB: Add PRACH reception support for 10 to 30 MHz (30 kHz SCS) 2021-02-08 14:21:30 +01:00