Packages must have a name, a version, a section, an architecture, a maintainer, a description (long and summary), dependencies
Shared libraries must be stripped, have soversion, version (debug symbols are found in separate packages), since MODULE is used instead of SHARED it works as a plugin library which is opened using dlopen-like functionality, see: https://cmake.org/cmake/help/latest/command/add_library.html
Packages must have postin and postun scripts
Since it is not recommended to modify CMAKE_EXE_LINKER_FLAGS, cmake's path variables are used : https://discourse.cmake.org/t/how-do-i-replace-the-compiler-options-for-one-target/7815/5
Introduce CMakePresests.json which is a simple way to perform incremental build using cmake
New configure resets were added:
- default: Configure compilation with default options
- tests: Same as above but ENABLE_TESTS and SANITIZE_ADDRESS is ON
New build presets were added:
- 5gdefault: Build the software for NR rfsimulator test
- default: same as 5gdefault
- 4gdefault: Build the software for LTE rfsimulator test
- tests: build all unit tests
To configure using configuration preset:
`cmake --preset <preset_name>`
To build using a build preset:
`cmake --build --preset <preset_name>`
Problem STATEMENT:
- When enabling PTRS flag in ulsim, there are multiple scrambling and decoding errors
are observed even with high SNR values
SNR 60dB errors_scrambling 5546/13800
Channel BLER 1.000000e+00, Channel BER 4.018841e-01
ANALYSIS:
- While extracting PTRS RE's, the PUSCH RE count was not updated accordingly for PTRS symbols.
- This results in 0 value LLR's on same positions which cause offset issue in later processing.
IMPLEMENTATION:
* nr_ulsch_demodulation.c
- In case of PTRS symbol, respective total number of PTRS RE's are subtracted from available
PUSCH RE's in each PUSCH Symbol processing.
TESTING
* ulsim.c
- PTRS are enabled for testing and are not enabled by default by this commit.
- Available bit count is adjusted if PTRS is enabled.
VERIFICATION
- Total Scrambling errors after gNb processing shall be only 250 bits (in K=2)
which were replaced with PTRS at UE side while transmission.
SNR 60.000000 errors_scrambling 250/13800
Channel BLER 0.000000e+00, Channel BER 1.811594e-02
- After adjusting available bits in ulsim.c for error calculation
SNR 60.000000: n_errors errors_scrambling 0/13550
Channel BLER 0.000000e+00, Channel BER 0.000000e+00
EXTRA
- Removed white-spaces from all above mentioned files
- Added Global/vim tags to .gitignore file