Implementation of 5G NR PUCCH formats 0 and 1 on Arm Cortex-M4
Kivijakola, Juho (2024-06-20)
Kivijakola, Juho
J. Kivijakola
20.06.2024
© 2024 Juho Kivijakola. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202406204797
https://urn.fi/URN:NBN:fi:oulu-202406204797
Tiivistelmä
In this thesis, the physical uplink control channel (PUCCH) formats 0 and 1 for the 5G New Radio (5G NR) are studied, implemented in software, and optimised. These formats contain a short length of control data to be transmitted, usually as a response to a downlink data transmission by the physical downlink shared channel (PDSCH). One emerging user equipment (UE) type of the 5G NR is Reduced Capability (RedCap), which is studied in this thesis.
The thesis first reviews the required background theory, mainly focusing on the physical layer and the processing chains of both formats. The implementation is done with software. MATLAB and Python are used for reference models, and C for the final implementation. The verification is done utilising combinatorial testing. The implementation is optimised, e.g., by using modular arithmetic in the calculation of pseudorandom sequences, using lookup tables (LUT), optimising the arithmetical operations for the target platform, and utilising total phase tracking during the low peak-to-average power ratio (LPAPR) sequence generation to avoid intermediate complex calculations. In addition to
manual optimisations, the effect of compiler options is studied.
The worst-case execution times (WCET) are studied, and compared to the minimum available processing time defined by the specifications. After optimisations presented in this thesis, generating the PUCCH format 0 uses 5.5% of the minimum available processing time, while the PUCCH format 1 uses 12.8%. These results leave enough processing time for the PDSCH.
The thesis first reviews the required background theory, mainly focusing on the physical layer and the processing chains of both formats. The implementation is done with software. MATLAB and Python are used for reference models, and C for the final implementation. The verification is done utilising combinatorial testing. The implementation is optimised, e.g., by using modular arithmetic in the calculation of pseudorandom sequences, using lookup tables (LUT), optimising the arithmetical operations for the target platform, and utilising total phase tracking during the low peak-to-average power ratio (LPAPR) sequence generation to avoid intermediate complex calculations. In addition to
manual optimisations, the effect of compiler options is studied.
The worst-case execution times (WCET) are studied, and compared to the minimum available processing time defined by the specifications. After optimisations presented in this thesis, generating the PUCCH format 0 uses 5.5% of the minimum available processing time, while the PUCCH format 1 uses 12.8%. These results leave enough processing time for the PDSCH.
Kokoelmat
- Avoin saatavuus [34568]