Quency Lin
797f8cec80
Refactor: Make qam64_qam64 more compact
...
Use local arrays and for-loop to replace duplicated statements.
For reference, here is the table of index v.s. old local variable
qam64 qam64
psi_r_, psi_i_, a_r_, a_i_, psi_a_, a_sq_, bit_met_
0 p7_p7 16 p3_p7 32 m1_p7 48 m5_p7
1 p7_p5 17 p3_p5 33 m1_p5 49 m5_p5
2 p7_p3 18 p3_p3 34 m1_p3 50 m5_p3
3 p7_p1 19 p3_p1 35 m1_p1 51 m5_p1
4 p7_m1 20 p3_m1 36 m1_m1 52 m5_m1
5 p7_m3 21 p3_m3 37 m1_m3 53 m5_m3
6 p7_m5 22 p3_m5 38 m1_m5 54 m5_m5
7 p7_m7 23 p3_m7 39 m1_m7 55 m5_m7
8 p5_p7 24 p1_p7 40 m3_p7 56 m7_p7
9 p5_p5 25 p1_p5 41 m3_p5 57 m7_p5
10 p5_p3 26 p1_p3 42 m3_p3 58 m7_p3
11 p5_p1 27 p1_p1 43 m3_p1 59 m7_p1
12 p5_m1 28 p1_m1 44 m3_m1 60 m7_m1
13 p5_m3 29 p1_m3 45 m3_m3 61 m7_m3
14 p5_m5 30 p1_m5 46 m3_m5 62 m7_m5
15 p5_m7 31 p1_m7 47 m3_m7 63 m7_m7
y0
0 y0_p_7_7 16 y0_p_3_7
1 y0_p_7_5 17 y0_p_3_5
2 y0_p_7_3 18 y0_p_3_3
3 y0_p_7_1 19 y0_p_3_1
4 y0_m_7_1 20 y0_m_3_1
5 y0_m_7_3 21 y0_m_3_3
6 y0_m_7_5 22 y0_m_3_5
7 y0_m_7_7 23 y0_m_3_7
8 y0_p_5_7 24 y0_p_1_7
9 y0_p_5_5 25 y0_p_1_5
10 y0_p_5_3 26 y0_p_1_3
11 y0_p_5_1 27 y0_p_1_1
12 y0_m_5_1 28 y0_m_1_1
13 y0_m_5_3 29 y0_m_1_3
14 y0_m_5_5 30 y0_m_1_5
15 y0_m_5_7 31 y0_m_1_7
rho_r
0 pi_7_7 16 pi_3_7
1 pi_7_5 17 pi_3_5
2 pi_7_3 18 pi_3_3
3 pi_7_1 19 pi_3_1
4 mi_7_1 20 mi_3_1
5 mi_7_3 21 mi_3_3
6 mi_7_5 22 mi_3_5
7 mi_7_7 23 mi_3_7
8 pi_5_7 24 pi_1_7
9 pi_5_5 25 pi_1_5
10 pi_5_3 26 pi_1_3
11 pi_5_1 27 pi_1_1
12 mi_5_1 28 mi_1_1
13 mi_5_3 29 mi_1_3
14 mi_5_5 30 mi_1_5
15 mi_5_7 31 mi_1_7
2023-10-03 22:03:40 +02:00
Quency Lin
465fc55e20
Refactor: Make qam16_qam16 more compact
...
Use local arrays and for-loop to replace duplicated statements.
For reference, here is the table of index v.s. old local variable
suffix.
0 p1_p1 0 rpi_1_1
1 p1_p3 1 rpi_1_3
2 p3_p1 2 rpi_3_1
3 p3_p3 3 rpi_3_3
4 p1_m1 4 rmi_1_1
5 p1_m3 5 rmi_1_3
6 p3_m1 6 rmi_3_1
7 p3_m3 7 rmi_3_3
8 m1_p1
9 m1_p3
10 m3_p1
11 m3_p3
12 m1_m1
13 m1_m3
14 m3_m1
15 m3_m3
2023-10-03 22:03:40 +02:00
Tsung-Yu Chan
526363dfad
fix / add the static for max_epi16
2023-10-03 22:03:40 +02:00
Quency
e241edf287
feat / SISO: Use 128/256 SIMDe for ARM64/x86
2023-10-03 22:03:40 +02:00
Quency
b46479889d
misc / Reorder inlines and add architecture guard
2023-10-03 21:32:55 +02:00
Quency
3ce1f6517d
fix / warnings in nr_ulsch_llr_computation.c
2023-10-03 21:32:55 +02:00
Quency
7e9968451f
feat / Turn #define into static inline functions
2023-10-03 21:32:55 +02:00
Quency
a7af689d50
feat / MIMO: Use 128/256 SIMDe for ARM64/x86
2023-10-03 21:32:55 +02:00
Robert Schmidt
280c987938
Merge remote-tracking branch 'origin/one-step-cleaning-gNB-ulsch-decoding' into integration_2023_w39
2023-10-03 09:35:18 +02:00
Laurent THOMAS
d448b5e549
remove 'B' from persisted data, replace 3824 hardcoded by it's existing define
2023-09-29 10:23:54 +02:00
Robert Schmidt
728d8027de
Merge remote-tracking branch 'origin/684-sigsegv-in-nr-softmodem-100mhz-on-usrp' into integration_2023_w39
2023-09-28 20:15:05 +02:00
Robert Schmidt
91c5bccc05
Merge remote-tracking branch 'origin/bugfix-uci-bit-extraction' into integration_2023_w39
2023-09-28 20:14:56 +02:00
luis_pereira87
debd35a877
Apply function with better performance to reverse bits for polar encoder/decoder in PBCH
2023-09-27 08:30:06 +01:00
luis_pereira87
2360925e29
Reverse bits in UCI message when using polar encoder/decoder
2023-09-27 08:30:06 +01:00
luis_pereira87
58f6cb2af9
Implement function for reversing bits with better performance
2023-09-27 08:30:06 +01:00
Laurent THOMAS
7cb8988372
one-step-cleaning-gNB-ulsch-decoding
2023-09-25 15:22:08 +02:00
Tsung Yu Chan
fc2432e93b
chore / simplify the code and add the comment
...
- simplify the buffer alignment
- add the comment for llr
- clean unused variable
2023-09-25 12:48:28 +02:00
Tsung Yu Chan
0263b4a807
chore / remove the unused variable
2023-09-25 12:48:28 +02:00
Tsung Yu Chan
5231a3ab74
fix / fix the transfrom precoding error when qpsk
...
- avoid the nr_freq_equalization when qpsk
- do the stop_meas when use the lepc offload
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
62ad185df9
fix / fix the length of ce estimation buffer
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
f4beb879cc
fix / unscrambling runtime error
...
- fix the unscrambling runtime error
- avoid to many variables pass by function
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
9db99b2fd2
feat / add ptrs module
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
39e7e09152
fix / set the output shift to correct value
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
090ac4870d
fix / init the variable
...
init the PUSCH symbols per thread to avoid for stucking
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
e54d4a98b6
fix / fix the log2_maxh for llr
...
- init the variable for simde_m256i avoid error in ubuntu
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
428af852a0
fix / clean the unused variable
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
e51d8a9bc9
feat / compact the code
...
- merge the inner_rx
- rewrite the ulsch channel compensation
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
04073b03e4
feat / add the MMSE and precoding
...
- avoid the finction duplication
- add the transform predoding to the nr_rx_pusch_tp
- add the MMSE for 2 layer which modulation greater than 16 qam
- can support to 256 qam for 1 layer and 2 layer
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan
1a42fa5326
feat / parallelize LLR by symbol
2023-09-25 12:48:27 +02:00
Robert Schmidt
3ad4c8502a
Merge remote-tracking branch 'origin/NR_UE_PBCH_fix' into integration_2023_w38
2023-09-22 08:38:41 +02:00
ajit
a6baa6d6f1
Changed max ofdm symbol size to 8192 for 100MHzi USRP
2023-09-20 05:50:08 +05:30
francescomani
f820d74605
fix for scrambling dci and renaming ss_type field
2023-09-19 12:51:42 +02:00
francescomani
38c5faba9b
fix for PBCH decoding with cell ID != 0
2023-09-17 16:37:48 +02:00
Raphael Defosseux
0f25438316
Merge remote-tracking branch 'origin/ULSCH-TB-CRC' into integration_2023_w37
2023-09-15 10:53:12 +02:00
Raphael Defosseux
cc57fea7b3
Merge remote-tracking branch 'origin/NR_UE_DL_channel_estimation_fix' into integration_2023_w37
2023-09-15 10:52:52 +02:00
Tsung-Yu Chan
1f2098fcce
feat / work with cross-compile
...
can compile the target ldpc_generators and generate_T with cross-compiler
2023-09-13 17:20:08 +02:00
Tsung-Yu Chan
73bc34b278
fix / compile on ARM
2023-09-13 17:20:08 +02:00
Laurent THOMAS
5c7c51089b
remove useless macro, the SIMD instruction is used in other places
2023-09-13 17:20:08 +02:00
Quency Lin
cb562c2769
Remove partial 256 SIMDe dependence for ARM
2023-09-13 17:20:08 +02:00
Raymond Knopp
47e150fbb8
fixes radix-2 butterfly for NEON, dft size 512 works properly now
2023-09-13 17:20:08 +02:00
Laurent THOMAS
fa73c14df6
Reintroduce unscrambling C implemantation, use SIMDE for Intel and ARM
2023-09-13 17:20:08 +02:00
Laurent THOMAS
a62641f9f3
remove race condition on norm128 global
2023-09-13 17:20:04 +02:00
Raymond Knopp
a7bc282302
First-level of support for new aarch64 machines
...
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.
- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
optimizations for 128-bit to improve performance of LDPC encode/decode
on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00
francescomani
07850586f5
fix for dl channel estimation
2023-09-13 08:34:22 +02:00
Robert Schmidt
48dd9bb31f
Merge remote-tracking branch 'origin/remove-small-races-in-ue' into integration_2023_w36
2023-09-11 14:10:26 +02:00
Robert Schmidt
60f99e510e
Merge remote-tracking branch 'origin/HeapAllocIssue' into integration_2023_w36
2023-09-08 17:25:04 +02:00
Robert Schmidt
bb7174997b
Merge remote-tracking branch 'origin/NR_UE_MCS_improvements' into integration_2023_w36
2023-09-08 15:09:19 +02:00
rmagueta
bc295b3ba5
Check ULSCH transport block CRC
2023-09-07 08:31:22 +01:00
rmagueta
a629feec29
Remove duplicated nr_est_delay_pdsch()/nr_est_timing_advance_pusch() functions and just create the function nr_est_delay()
2023-09-04 17:09:35 +01:00
rmagueta
9f7b159039
Remove duplicated function freq2time()
2023-09-04 17:09:35 +01:00