Ue pdsch pusch parallel
The UE code for now is unfit to process more than 1 slot in parallel. This is why the PUCCH signal is not transmitted most of the time. Hence, the following changes are made
- Process only one slot at a time. Previously it was 2 slots in parallel.
- Now we do parallelization with the slot i.e., PUSCH and PDSCH are processed in parallel.
In short, this branch resolves the PUCCH issue we have been facing for a long time. Yet we still need to identify and solve the race condition in the code so that we can again process multiple slots in parallel.
Another feature added in this branch is the option for the UE to go back to sync mode instead of stopping if it loses sync with gNB. Command line parameter --non-stop enables it.
New feature: Included a mechanism to detect false DCIs. This is done by comparing the received bits before decoding; and re-encoded bits after decoding. The threshold for mismatched number of bits is set according the the past statistics of mismatched bits.
The UE runs much more stable. Before, there were assertions and segmentation faults because of false DCIs which were not completely addressed by the sanity checks.
- When UE experiences sudden drops in SNR, the DCIs might be dropped for a short period.
- Additional computation load but it doesn't seem to cause issues at the moment. Of needed this could be parallelized in future.