## Description
Fixes issue #6 In the rate matching function, the starting position of bit selection `k0` is calculated in the way instructed by 3GPP TS 38.212 and then used to copy the selected part of the encoder output. But, this `k0` is the starting position of bit selection in the encoder output **including the filler bits**. While bits are selected from a buffer `in_bits` **where filler bits were previously removed**. The result is that if `k0` falls within or after the filler bits then bits selection starts at the wrong position which introduces an offset in the bit selection output with regard to the expected output. This commit fixes this behavior in the library at `src/UpperPHY/LDPC/arm_ldpc_rate_matching.cpp` but also in the reference implementation at `test/UpperPHY/LDPC/RateMatching/main.cpp`. The fix is to test where k0 falls relatively to the filler bits and reduce it accordingly before proceeding with bit selection. ## Checklist * [x] [Contribution meets RAL's licence terms](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-licensing-information) * [x] [New functions adhere to RAL's naming scheme](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-function-naming) * [x] [Contribution conforms to RAL's directory structure](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-directory-structure) * [] [Documentation updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-documentation) -> not relevant * [x] ["Unreleased" section of the Changelog updated](https://gitlab.arm.com/networking/ral/-/blob/main/CHANGELOG.md#unreleased) * [x] [`clang-format` and `clang-tidy` run and changes included (C/C++ code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cc-code-style) * [] [`flake8` run and changes included (Python code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-python-code-style) -> no python code, only c * [x] [`cmake-format` run and changes included (CMake code)](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-cmake-code-style) -> no CMake code, only c * [x] [Tests added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-tests) * [x] [Tests pass when run with AddressSanitizer](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md?ref_type=heads#user-content-testing-with-addresssanitizer) * [] [Benchmarks added or updated](https://gitlab.arm.com/networking/ral/-/blob/main/CONTRIBUTING.md#user-content-writing-benchmarks) -> not relevant
parent
29a76358
Loading
Loading
Pipeline
#26317
failed
with stage
in
14 minutes and 23 seconds
Loading
Please register or sign in to comment