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