Η παρούσα διπλωματική εργασία εξετάζει την υλοποίηση ενός πομποδέκτη κινητών επικοινωνιών 5ης γενιάς (5G) χρησιμοποιώντας λογισμικό Python. Ξεκινά με μια εισαγωγή στις τεχνολογίες 5G και τονίζει τη σημασία της προτυποποίησης από την 3GPP, που αποτελεί τον ακρογωνιαίο λίθο της ανάπτυξης του 5G NR.
Στη συνέχεια, η εργασία εμβαθύνει στη δομή του Physical Layer του 5G, εξηγώντας τις βασικές τεχνολογίες και τις τεχνικές που το συνθέτουν, όπως η ορθογώνια διαίρεση συχνότητας (OFDM), η διαμόρφωση (modulation) και η ευέλικτη αριθμολογία (flexible numerology). Ακολουθεί μια αναλυτική παρουσίαση του Physical Uplink Shared Channel (PUSCH), περιγράφοντας τη λειτουργία του και τη σημασία του στη μετάδοση δεδομένων.
Το επόμενο κεφάλαιο επικεντρώνεται στη διαδικασία μετάδοσης του PUSCH, αναλύοντας την προσθήκη CRC, τους κώδικες διόρθωσης σφαλμάτων (Forward Error Correction Codes), και τις διαδικασίες scrambling, διαμόρφωσης και χαρτογράφησης των δεδομένων.
Τέλος, η εργασία περιλαμβάνει την πρακτική υλοποίηση του πομποδέκτη σε Python, παρουσιάζοντας τις βιβλιοθήκες και τα εργαλεία που χρησιμοποιήθηκαν, καθώς και τα αποτελέσματα από την εφαρμογή του κώδικα. Η εργασία καταλήγει με τα συμπεράσματα και τις προτάσεις για μελλοντική εργασία, υπογραμμίζοντας την ανάγκη για συνεχή βελτίωση και επέκταση των δυνατοτήτων του 5G.
(EL)
This thesis focuses on the software implementation of a 5th generation (5G) mobile communications transceiver using Python. It begins with an introduction to 5G technologies, emphasizing the importance of standardization by the 3GPP, which is the cornerstone of the development of 5G NR (New Radio).
The thesis then delves into the structure of the Physical Layer of 5G, explaining relevant fundamental technologies and techniques, such as Orthogonal Frequency Division Multiplexing (OFDM), Modulation, and flexible numerology. Following this, there is a detailed presentation of the Physical Uplink Shared Channel (PUSCH), describing its function and significance in data transmission.
Chapter 5 focuses on the PUSCH transmission process, analyzing CRC (Cyclic Redunduncy Check) attachment, Forward Error Correction Codes, and the processes of scrambling, modulation, and data mapping.
Finally, the thesis describes the software implementation of a 5G transceiver in Python, presenting the libraries and tools used, as well as the results produced. The work concludes with findings and suggestions for future work, highlighting the need for continuous improvement and expansion of 5G capabilities.
(EN)