Laurent THOMAS
bb766be0c3
Reformatting and cleanup
2024-07-30 14:57:17 +02:00
Laurent THOMAS
8e92df78de
Use gold cache in PUCCH decoding
2024-07-30 14:57:10 +02:00
Laurent THOMAS
803b0289a6
Use gold cache in code word (un)scrambling
2024-07-30 14:57:06 +02:00
Laurent THOMAS
f207ac12be
Use gold cache in UCI
2024-07-30 14:57:01 +02:00
Laurent THOMAS
00cb43bac3
Use gold cache for PRS decoding
2024-07-30 14:55:35 +02:00
Laurent THOMAS
e445ba2d1a
Use gold cache PUSCH decoding
...
Harmonize nr_gold_pusch() and nr_gold_pdsch(), as the gold sequence
calculation for PUSCH and PDSCH is the same.
2024-07-30 14:52:06 +02:00
Laurent THOMAS
745ea1c1dd
Use gold cache for PDSCH decoding
2024-07-30 14:50:57 +02:00
Laurent THOMAS
99c8dd420a
Use gold cache for PDCCH decoding, scrambling, unscrambling
2024-07-30 14:49:46 +02:00
Laurent THOMAS
0316431e27
Use gold cache for PBCH encoding&decoding
2024-07-30 14:48:36 +02:00
Laurent THOMAS
59086151e0
Add generic usage-based gold cache
...
Add gold sequence cache with dynamic size, private to each thread. It
periodically reorders by call rate. To free the gold sequences after end
of life time of a thread, use the pthread API.
2024-07-26 16:39:28 +02:00
Laurent THOMAS
9aaa7f100a
Inversion in flags name
2024-06-19 13:49:00 +02:00
Laurent THOMAS
37e6e7e944
add test physical cell id in 5G range
2024-06-10 10:51:16 +02:00
Laurent THOMAS
45d4cec2a6
fix regressions for large physical cell id values
2024-06-10 10:51:08 +02:00
Laurent THOMAS
f23c91cc5a
remove rb_mask_ul from permanent storage for stack local usage
2024-06-04 19:08:47 +02:00
Laurent THOMAS
b461fe5e6b
fix-dci11-type0-bitmap-setting
2024-05-23 10:26:28 +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
4bca825053
remove wrong trace when packet is not decoded
2024-05-23 08:03:12 +02:00
Laurent THOMAS
819427a6a0
bug fix ue UL payload filling randomly done in retransmissions (pointer
...
not set)
2024-05-23 08:03:12 +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
f2213bf792
fix a error that was created by over complexity in setting a pointer to null for a wrong later assert verification
2024-05-20 20:57:46 +02:00
Laurent THOMAS
e217980249
simplify and make better performance the mutual exclusion of processSlotTX() function
2024-05-16 14:06:24 +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
Laurent THOMAS
00d78f048a
remove a unused global storage of slot number
...
This has no meaning at a global level, we run several slots: one tx,
several rx at same time. Some minor cleaning of C style
2024-05-03 18:32:26 +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
Laurent THOMAS
bb66056b75
fix nr-ru.c external declarations in .c file
...
The external declarations were incorrect, leading to mismatching
prototypes of config_ru and config_rru (true bug in OAI lte!).
2024-05-03 18:31:17 +02:00
Laurent THOMAS
445aac11b9
put dci search in trace level trace, so the trace level debug prints the decoded DCIs
2024-04-29 16:03:43 +02:00
Laurent THOMAS
309d5cacc9
remove sleep() in UE NAS that have no good purpose
2024-04-26 10:19:59 +02:00
Laurent THOMAS
d67383bd42
segv on missing if() clause
2024-04-26 10:19:59 +02:00
Laurent THOMAS
a07461813d
NR UE: Implement DCI format 11 type0 for contiguous allocations
2024-04-26 10:07:23 +02:00
Laurent THOMAS
ab2b868b75
improve polar init and polar readability
2024-04-24 15:26:21 +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
Laurent THOMAS
0d0e111135
remove asserts on min RX/TX, set the RX/TX shift as 2 in the UE
2024-04-17 09:50:23 +02:00
Laurent Thomas
be3452a10e
Reduce stack memory size for layer mapping
...
Delete small pieces of dead code
2024-04-12 11:14:08 +02:00
Laurent THOMAS
df86214067
Add a generic function for tx write out of order (timestamps not increasing)
...
Add an API to allow out-of-order writes to a radio interface, unlike the
current interface.
this function is called in UE in this commit, even if the tx might
still be in order.
Later, i plan to improve UE pulti-threading, that will lead to out of
order tx. also, the gNB will benefit of this new function to replace
several specific pieces of code that reorder tx with over complex and
slow systems
2024-04-04 08:19:52 +02:00
Laurent THOMAS
effe4f1c81
replace transient malloc by stack allocation, add defense code on block size
2024-04-03 10:31:34 +02:00
Laurent THOMAS
7106f3c15c
fix sleeping UE when PSS detection is wrapping over frame buffer
2024-04-03 09:44:50 +02:00
Laurent THOMAS
a3f472a58b
remove stored G in UE DL, not needed and creating issues with DCI format 11/type0
2024-04-03 09:42:46 +02:00
Laurent THOMAS
6b4710d36d
add error code for pdu session reject in the ue
2024-03-27 13:12:35 +01:00
Laurent THOMAS
86ebebf3f5
fix merge conflicts
2024-03-27 10:06:33 +01:00
Laurent THOMAS
9a4294ebab
for_review_then_squash
2024-03-26 20:58:44 +01:00
Laurent THOMAS
a95dffc80e
delete dead files
2024-03-26 20:57:31 +01:00
Laurent THOMAS
80d4d600f3
print the mib when decoded
2024-03-26 20:57:31 +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
99e1bb1a00
fix ug on pilot 2 in nr_pbch_dmrs_correlation() that is lacking signal processing, make the code in pbch simpler and faster
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
Laurent THOMAS
34f260769b
make better log text for ue synchronization, make better sync code, no functional change
2024-03-26 20:57:29 +01:00
Laurent THOMAS
b97c70fd87
remove 5G dependency on 4G mac.h include, separate RA state enums between 4G/5G and UE/gNB
...
add RA stat trace by enum name instead of integer printing
fix minor a few minor typos
2024-03-15 10:55:11 +01:00
Laurent THOMAS
77d749ba87
improve function that map ro to ssb in the UE: make dynamic smaller memory allocation than array[max][max][.... Saves about 100MB of memory and avoid real time glitch of milli seconds of memset(110MB)
2024-03-12 09:53:02 +01:00
Laurent THOMAS
1ab3b8dd8e
add version signature in core files to be able to compare with the ELF one
2024-03-08 16:29:54 +01:00
Laurent THOMAS
782a850159
tx_timestamp computation doesnt count slots from rx timestamp, and a small simplification just after
2024-03-08 16:29:54 +01:00
Laurent THOMAS
c5e4bea6b9
make explicit return of the clock drift to shift the corresponding number of samples
...
remove corresponding global variables
2024-03-07 15:28:22 +01:00
Laurent THOMAS
4245dd9be9
Remove useless declarations
2024-03-07 09:57:31 +01:00
Laurent THOMAS
c5c883f71d
small-bug-from-cdb18d38bfa6aee288a68d9e8881615a48addd83-and-one-gcc-warning
2024-03-06 15:44:56 +01:00
Laurent THOMAS
24d30ae78a
log module improvement: remove redundant declarations y using C macro, remove unused variables, remove unused log components, move information to smaller visibility
2024-03-06 09:03:20 +01:00
Laurent THOMAS
bc6d1ad48d
reduce the hot memory for LOG_x decision from 1.2MB to less than one mem page (4KB)
2024-03-06 08:52:34 +01:00
Laurent THOMAS
d1002cc729
move declarations out from log.h to a better place
2024-03-06 08:51:24 +01:00
Laurent THOMAS
2129ee3c9c
remove global visibility of log variables, remove circular .h dependancy
2024-03-06 08:51:24 +01:00
Laurent THOMAS
2962340a8b
Add variable pointer to catch the rx gain between redundant strct members rfdevice and ifdevice
2024-03-04 10:48:13 +01:00
Laurent THOMAS
50d4d489f7
fix timing advance from msg2/rar
2024-03-04 10:07:07 +01:00
Laurent THOMAS
c92cbe67b5
fix b210 usrp tx sample error compemsation
2024-03-04 10:07:07 +01:00
Laurent THOMAS
7466297568
move command line sample offset and 3/4 sampling option at top level, as it is common option for 4G,5G xNB and UE
2024-03-04 10:07:07 +01:00
Laurent THOMAS
bedc5bea4c
remove a gcc warning while making the code a bit simpler
2024-03-04 10:07:07 +01:00
Laurent THOMAS
d26f0b9196
add LOG_DDUMP() to dump a buffer in the regular tracing filter system (like PHY, MAC, ...), use it and do simple cleaning (better format)
2024-03-04 10:07:07 +01:00
Laurent THOMAS
56c4a6ec07
change trace to new NR_MAC_DCI and NR_PHY_DCI for DCI processing
2024-03-01 12:20:32 +01:00
Laurent THOMAS
8666b084d5
improve code of dci decoding and add tracing for all dci fields
2024-02-28 10:17:11 +01:00
Laurent THOMAS
948188b200
basic C cleaning of dci decoding
2024-02-27 10:04:45 +01:00
Laurent THOMAS
8e24272a03
Fix multiple errors in nr_dlsch_channel_level_median() and nr_dlsch_channel_level()
...
UBsan fails with errors without this commit. The commit changes:
- avoid two possible integer overflows in nr_dlsch_channel_level() and nr_dlsch_channel_level_median()
- nr_dlsch_channel_level_median() is simplified
- use MAX_ANT in avg to handle more than 4x4 config
2024-02-22 15:55:10 +01:00
Laurent THOMAS
eac30839c6
rework the ul_config_request data structure: put the mutex in correct place and encapsulate the struct management in access API, remove internal storage visibility
2024-01-24 16:14:49 +01:00
Laurent THOMAS
3e9274eed6
simplify and make more efficient the tx data pdu attach to the pusch configuration
2024-01-24 14:18:59 +01:00
Laurent THOMAS
cc436a2074
split nr_ue_dl_indication in two different functions, that have little interaction: nr_ue_dl_processing and nr_ue_dl_scheduler. the call remain nr_ue_dl_indication
2024-01-24 12:29:57 +01:00
Laurent THOMAS
7fce30f331
split nr_ue_scheduled_response in nr_ue_scheduled_response_ul and nr_ue_scheduled_response_dl. Make these functions code more readable
2024-01-24 12:24:26 +01:00
Laurent THOMAS
7e244b3da3
make return in ul_config case correct, replace asserts by LOG_E()and return error
2024-01-24 11:41:01 +01:00
Laurent THOMAS
84ade524e4
Simplify interface by removing dcireq_t struct that was only calling one function and remove fill_scheduled_response that also fills only a struct in a complex way
2024-01-23 18:38:11 +01:00
Laurent THOMAS
99815be715
make frame/slot in ul_config dl_config instead of upper structures value, fix modulo computation of frame
2024-01-23 18:04:08 +01:00
Laurent THOMAS
44fd6e4edf
simple code cleaning
2024-01-23 16:31:50 +01:00
Laurent THOMAS
58450dff19
add a cpu measurement macro for test purpose
2024-01-23 16:27:34 +01:00
Laurent THOMAS
f24cff929e
make better version of nr_get_msg3_payload()
2024-01-12 17:56:36 +01:00
Laurent THOMAS
4958f8b6d7
segv on null pointer
2024-01-12 17:55:50 +01:00
Laurent THOMAS
b5e169ec07
add const or other simple C code improvement
2024-01-09 16:15:14 +01:00
Laurent THOMAS
4c7b185d92
merge two reduntant and incoherent enums for rnti_type_t, make a macro to stringify properly instead of hardcoded side strings array
2024-01-09 16:15:14 +01:00
Laurent THOMAS
18919576b7
rework PUCCH codec with c16_t type, rewrite large parts of functions to make readable code. Not fixed parts that are using SIMD. No change, the code is still same block by block (variable visibility narrowed, declaration can be shifted)
2024-01-04 10:21:15 +01:00
Laurent THOMAS
63b64d4fce
move common code file in common directory
...
remove several unused files
remove mem_block_t that is never used in a different way than a simple heap buffer
move up IP address type and remove duplications of the same struct declaration
2023-12-19 10:37:10 +01:00
Laurent THOMAS
99413989c9
remove some gibberish C in pdsch encoding
2023-12-12 15:23:55 +01:00
Laurent THOMAS
0875037497
fix a useless computation done in case we activate LOG_D(PHY,...
2023-12-12 14:13:57 +01:00
Laurent THOMAS
175e835d05
update the polar codec function that creates the internal LUTs
...
to use faster code
- replaced hundreds mallocs by either local arrays or by the OAI multi-dimensionalarray (G_N_tab array)
- made in SIMD a one bit per byte packing function to packed (ordinary) bits in bytes
2023-12-08 17:11:16 +01:00
Laurent THOMAS
99ca87a1c1
Refactor LDPC API to make common API with various implementations
2023-11-28 09:37:37 +01:00
Laurent THOMAS
18951bad4d
remove-cblas-oai-5g
2023-11-14 11:47:38 +01:00
Laurent THOMAS
dd059343d9
ue-rrc-coarse-cleaning
2023-11-10 17:43:59 +01:00
Laurent THOMAS
f50d5f5a9b
make multiple config instead of one implicit global
2023-11-10 10:23:11 +01:00
Laurent THOMAS
a198239084
Introduce no-thread mode in ITTI
...
Introduce a --no-itti-threads command line option to disable threading
in ITTI, and call message handlers in the current thread. This is being
introduced in order to increase repeatability when testing the nrUE with
the IQPlayer. Without this feature, runs with the IQPlayer will end up
differently, depending on the timing of ITTI threads, mostly when
sending messages to RRC and NAS.
2023-10-27 13:02:36 +02:00
Laurent THOMAS
724c8c014c
Simplify ITTI task definition
2023-10-27 13:02:33 +02:00
Laurent THOMAS
75cc625fe9
Use recursive mutex in PDCP to prevent deadlocks
2023-10-27 13:02:31 +02:00
Laurent THOMAS
1fb68160b0
config: harmonize number array parameters
2023-10-27 13:02:28 +02:00
Laurent THOMAS
b257734c6f
Fix tPool calls: symmetric to pushing messages
...
Messages are pushed using pushNotifiedFIFO(), so we pullNotifiedFIFO()
2023-10-27 13:02:24 +02:00
Laurent THOMAS
bba9aac079
fix most of doxygen warnings and errors
2023-10-26 16:47:19 +02:00
Laurent THOMAS
4a52b17386
fix-doxygen
2023-10-25 18:10:40 +02:00
Laurent THOMAS
3b57e3ba51
hot-fix-ue-dci-format-11
2023-10-24 13:53:50 +02:00
Laurent THOMAS
6b56b46811
Break UE DCI processing function in smaller pieces
2023-10-12 07:46:45 +02:00
Laurent THOMAS
838b284aa4
remove-global-rx_spatial_power_in_gnb
2023-10-10 15:45:21 +02:00