Commit Graph
6584 Commits
Author SHA1 Message Date
francescomani 830b8a208a handling reception of CSI command for aperiodic CSI reporting 2024-06-05 19:07:31 +02:00
Robert Schmidt 9465ae778b Merge remote-tracking branch 'origin/softmodem-caps' into integration_2024_w22 2024-06-03 21:37:35 +02:00
Robert Schmidt 5b53f4ee0f Merge remote-tracking branch 'origin/NR_UE_cell_search' into integration_2024_w22 2024-06-03 21:35:51 +02:00
Robert Schmidt 6b37d183ce Remove set_latency_target(), add lock_memory_to_ram()
set_latency_target() attempts to set keep "low latency" by
- writing a specific latency to /dev/cpu_dma_latency
- setting manually the minimum CPU processor frequency to be the maximum

There is no functionality to undo this after stopping the softmodem(s),
and most users are probably not even aware that OAI does this. It is
generally preferable to set this beforehand using a governor or by
disabling sleep states (as outlined in the tutorial, and in a follow-up
commit in the performance tuning docs).

The previous mlockall() call, to lock memory to RAM, is retained in a
new function. There were additional mlockall() calls, which have been
replaced with lock_memory_to_ram(), where necessary.
2024-06-03 13:59:41 +02:00
Robert Schmidt 006b68fa3f NR L1: demote log to info 2024-06-03 12:37:33 +02:00
Sakthivel Velumani 7c146154f5 Prevent compiler warning
A particular GCC version (v13?) used by CI machines potentially has a
bug that issues a mismatch bound warning on function array arguments.
This commit should prevent it from happening.
2024-05-30 10:20:55 -04:00
Sakthivel Velumani ca93e68410 Use command line option for sell search
There is already a command line option called 'ue-scan-carrier' which
seemed to blindly look for SSB by changing the center frequency by
+/-100Hz if the previous attempt failed. This is probably copied from
LTE and is not suitable for NR. This commit uses this option to either
1. Perform initial sync on one GSCN if the SSB position if known
2. Or scan the all GSCN (if the SSB postion is unknown)

Also, the following is done for re-synchronization
1. Scan all GSCN when UE comes back from IDLE state
2. Scan one GSCN when UE does re-estabishment

Removed dependency of lte-softmodem.h in nr-softmodem.c.
CONFIG_HLP_UESCAN is declared also in lte-softmodem.h.
2024-05-30 10:20:55 -04:00
Sakthivel Velumani 26aa7c2e33 Suppressing PSS & SSS detection logs
Changed Info to Debug because the logs are too much if large number of
GSCN scans run concurrently. Print PSS correlation peak and average
power of detected cells.
2024-05-30 10:20:55 -04: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 02ee2a9726 Merge remote-tracking branch 'origin/remove-rms-magic-number' into integration_2024_w22 2024-05-30 13:01:14 +02:00
Guido Casati 8cf8a44e8e Handle division by 0 assert gracefully in average channel level calculation
* nb_re_pdsch is directly linked to nb_rb_pdsch, if the latter is 0 the
  former is also 0
* compute average channel level only when number of RE for PDSCH is not 0
  the average channel level will be set to 0 otherwise
* Added a log message to handle this special case, which is consequence
  of other issues in the RX chain
* with this commit, the inconsistency in the RX chain will be handled
  in later in nr_ue_pdsch_procedures with a demodulation failure

other minor changes:

* Improved clarity by using NR_NB_SC_PER_RB instead of hard-coded value 12 in nb of RBs calculation
* cleaned up unused variable and outdated comments
2024-05-29 15:11:37 +02:00
Bartosz Podrygajlo 4622d33e3b Demystifying 10log10(2^30) in signal energy calculations. 2024-05-28 16:12:36 +02:00
Robert Schmidt 5686b2a26d Merge remote-tracking branch 'origin/phr_handling_for_develop' into integration_2024_w21c 2024-05-24 17:53:50 +02:00
Robert Schmidt 8820a57547 Merge remote-tracking branch 'origin/fix-ue-ul-retransmissions-payload-copy' into integration_2024_w21c 2024-05-24 11:53:16 +02:00
Robert Schmidt d268378f2b Merge remote-tracking branch 'origin/fix_phy_simulators_configmodule' into integration_2024_w21c 2024-05-24 11:50:11 +02:00
Robert Schmidt 1465fed81c Merge remote-tracking branch 'origin/better-polar' into integration_2024_w21c 2024-05-24 11:50:04 +02:00
Raymond Knopp e3aff6c37b fix in nr_modulation.c: avoid fail for 64QAM and G < 192 bits
Adds a check for these short payloads and handle correctly
2024-05-24 09:25:44 +02:00
Robert Schmidt 295f221a9b Merge remote-tracking branch 'origin/simpler-parallel-exclusion-ue-tx' into integration_2024_w21b 2024-05-24 08:13:41 +02:00
Robert Schmidt 58335443b1 Revert "remove asserts on min RX/TX, set the RX/TX shift as 2 in the UE"
This reverts commit 0d0e111135.  It was
set to UE RX to TX time to 2 as it was deemed that the UE could sustain
this time. However, we noticed a degradation of performance, so reset
the RX to TX time to something higher to ensure proper performance.
2024-05-24 06:54:30 +02:00
Robert Schmidt 7a631ce3a2 Use an enum for stream_status states 2024-05-23 16:41:20 +02:00
Jaroslava Fiedlerova 018ca77aa0 Merge remote-tracking branch 'origin/issue-734' into integration_2024_w21b 2024-05-23 12:42:46 +02:00
Laurent THOMAS 00e883c563 remove a unused struct member 2024-05-23 08:46:12 +02:00
Laurent THOMAS 2f05261f6b reject packets of 0's 2024-05-23 08:41:01 +02:00
Laurent THOMAS 6379350f51 Correct data offset for unscrambling in PUSCH processing
Correctly compute the offset of data to unscramble in PUSCH processing
at the gNB. Rename variables to make them easier to spot (instead of
"s"), and remove a global variable.

Closes: #734
2024-05-22 09:04:33 +02:00
Laurent THOMAS 3e4526a6ad rename persisted ul harq status per pid with a uniq name as this variable is persisted in memory and accessed by multiple threads, a uniq name helps to debug 2024-05-16 14:05:39 +02:00
Romain Beurdouche b51a144d7d fix(phy simulators): fix cmdline configmodule for CODING phy simulators 2024-05-15 14:12:40 +02:00
Sakthivel Velumani 40b52bc8f4 Use existing function for bits reversal 2024-05-10 12:51:50 -04:00
Jaroslava Fiedlerova 944925ff69 Merge remote-tracking branch 'origin/ue-make-rxtx-of-2-slots' into integration_2024_w18 2024-05-06 14:23:49 +02:00
Jaroslava Fiedlerova c73642868a Merge remote-tracking branch 'origin/develop-DL-improvements' into integration_2024_w18 2024-05-06 09:39:20 +02:00
Jaroslava Fiedlerova fece66201c Merge remote-tracking branch 'origin/clean-and-doc-gnb-main-archi' into integration_2024_w18 2024-05-05 23:32:34 +02:00
Jaroslava Fiedlerova 578af2f81f Merge remote-tracking branch 'origin/NR_new_bands' into integration_2024_w18 2024-05-05 20:59:14 +02:00
Laurent THOMAS c02908453a fix order error in ru.common.rxdataF filling lock, use consistently #define for buffer size 2024-05-03 18:31:45 +02:00
rmagueta a5055cacf0 Remove commented code 2024-05-03 15:07:26 +01:00
rmagueta bcbf9287ba Noise power estimation and MMSE computation for DL at UE side 2024-05-03 15:07:26 +01:00
rmagueta f5dccc2a59 Improvements in nr_dlsch_channel_compensation() function 2024-05-03 15:07:26 +01:00
Jaroslava Fiedlerova f49dbf470a Merge remote-tracking branch 'origin/NR_UE_DCI_RX_improvements' into integration_2024_w18 2024-05-03 15:04:18 +02:00
francescomani 1056e53acb mostly formatting 2024-05-01 16:51:40 +02:00
francescomani c719b3f057 adding new nr bands to the tables 2024-05-01 16:13:04 +02:00
francescomani 114fb5dbca bugfix in dci reception, CRC is 24 bits but uint16 was used 2024-04-30 12:36:15 +02:00
francescomani 90f82d19da remove false DCI reception indication 2024-04-29 12:39:44 +02:00
Jaroslava Fiedlerova 55c91e726c Merge remote-tracking branch 'origin/NR_FR2_200MHz' into integration_2024_w17 2024-04-26 23:15:01 +02:00
Jaroslava Fiedlerova cc0ba68082 Merge remote-tracking branch 'origin/NR_harmonize_frequency_range' into integration_2024_w17 2024-04-26 15:56:06 +02:00
Jaroslava Fiedlerova c4b1966fc5 Merge remote-tracking branch 'origin/NR_bw_index_fix' into integration_2024_w17 2024-04-26 15:46:50 +02:00
luis_pereira87 615284c5c8 Add support for USRP X410 to run with 200 MHz bandwidth in FR2 at 120 kHz SCS 2024-04-26 08:23:19 +01:00
Laurent THOMAS ab2b868b75 improve polar init and polar readability 2024-04-24 15:26:21 +02:00
francescomani efeb538490 harmonize usage of frequency range structures 2024-04-23 12:20:42 +02:00
Jaroslava Fiedlerova ea1921809f Merge remote-tracking branch 'origin/clang-run-warning-memsan' into integration_2024_w16 2024-04-19 11:03:37 +02:00
Robert Schmidt 507e08cd39 Memsan uninitialized read: Initialize array to zero 2024-04-18 14:16:09 +02:00
Robert Schmidt 24baf08c87 Load unaligned data for SIMD processing to avoid segv
We access G_N at indexes that are not necessarily 32-byte aligned,
leading to segfaults. Use simde_mm256_loadu_si256() to load from memory
at an unaligned memory address to avoid the segfault.

Discovered using clang; it is unclear why gcc did not encounter the same
segfault.
2024-04-18 14:06:05 +02:00
Laurent THOMAS df9cd171f6 remove a useless copy and specific buffer for all UE UL payload 2024-04-17 10:59:13 +02:00