1 |
Parallelized QC-LDPC Decoder ona GPU : An evaluation targeting LDPC codes adhering to the 5G standard / Paralleliserad QC-LDPC-avkodare på en GPU : En utvärdering av LDPC-koder som följer 5G-standardenHedlund, Olivia January 2024 (has links)
Over the last ten years, there has been an incremental growth of mobile network data traffic. The evolution leading to the development of 5G stands as a testament to the increased demands for high speed networks. Channel coding plays a pivotal role in 5G networks, making it possible to recover messages from errors introduced when sent through the network. Channel decoding is however a time consuming task for a receiver, and making optimization to this process could therefore have a significant impact on receiver processing time. Low-Density Parity-Check (LDPC) codes are one of the channel coding schemes used in the 5G standard. These codes could benefit from parallel processing, making Graphics Processing Units (GPUs) with their parallel computation abilities a possible platform for effective LDPC decoding. In this thesis, our goal is to evaluate a GPU as a platform for 5G LDPC decoding. The LDPC codes adhering to the 5G standard belong to the Quasi-Cyclic LDPC (QC-LDPC) subclass. Optimizations targeting this subclass, as well as other optimization techniques, are implemented in our thesis project to promote fast execution times. A GPU-based decoder is evaluated against a Central Processing Unit (CPU)-based decoder, written with Compute Unified Device Architecture (CUDA) and C++ respectively. The functionally equivalent decoders implement the layered offset Min-Sum Algorithm (MSA) with early termination to decode messages. Execution time for the decoders were measured while varying message size, Signal-to-Noise Ratio (SNR) and maximum iterations. Additionaly, we evaluated the decoders with and without including early termination, and also evaluated the GPU-decoder when it was integrated into a MATLAB 5G channel simulator used by Tietoevry. The results from the experiments showed that the GPU-based decoder experienced up to 4.3 times faster execution than the CPU-based decoder for message sizes ranging from 3000-12000 bits. The GPU-based decoder however experienced a higher baseline execution time, making the CPU-based decoder faster for smaller message sizes. It was also concluded that the benefit of including early termination in the decoder generally outweighs the cost of additional processing time. / Under de senaste tio åren har det skett en gradvis ökning av datatrafik i mobilnät. Utvecklingen som lett till framtagandet av 5G står som ett bevis på de ökade kraven på höghastighetsnätverk. Kanalkodning spelar en avgörande roll i 5G- nätverk, vilket gör det möjligt att återställa meddelanden från fel som uppstår när de skickas genom nätverket. Kanalavkodning är dock en tidskrävande uppgift för en mottagare, och optimering av denna process kan därför ha en betydande inverkan på mottagarens exekveringstider. LDPC-koder är en av de kanalkoder som används i 5G-standarden. Dessa koder kan dra nytta av parallell bearbetning, vilket gör GPUs med deras parallella beräkningsförmåga till en möjlig plattform för effektiv LDPC- avkodning. I denna masteruppsats är vårt mål att utvärdera en GPU som en plattform för 5G LDPC- avkodning. LDPC-koder som följer 5G-standarden tillhör underklassen QC-LDPC. Optimeringar som riktar sig mot denna underklass, samt andra optimeringstekniker, implementeras i vårt avhandlingsprojekt för att främja snabba exekveringstider. En GPU-baserad avkodare utvärderas mot en CPU-baserad avkodare, skrivna med programspråken CUDA respektive C++. De funktionellt likvärdiga avkodarna implementerar den lagrade offset MSA med tidig terminering för att avkoda meddelanden. Exekveringstiden för avkodarna mättes medan meddelandestorlek, SNR och maximalt antal iterationer varierades. Vi utvärderade också avkodarna med och utan att inkludera tidig terminering, samt utvärderade GPU-avkodaren när den integrerats i en MATLAB 5G-kanalsimulator som används av Tietoevry. Resultaten från experimenten visade att den GPU-baserade avkodaren hade upp till 4.3 gånger snabbare exekvering än den CPU-baserade avkodaren för meddelandestorlekar mellan 3000 och 12000 bitar. Den GPU-baserade avkodaren hade dock en högre baslinje för exekveringstiden, vilket gjorde den CPU-baserade avkodaren snabbare för mindre meddelandestorlekar. Det konstaterades också att fördelen med att inkludera tidig terminering i avkodaren i allmänhet överväger kostnaden för ytterligare bearbetningstid.
|
2 |
Code generation and simulation of an automatic, flexible QC-LDPC hardware decoderVon Leipzig, Mirko 03 1900 (has links)
Thesis (MEng)--Stellenbosch University, 2015. / ENGLISH ABSTRACT: Iterative error correcting codes such as LDPC codes have become prominent in modern
forward error correction systems. A particular subclass of LDPC codes known as quasicyclic
LDPC codes has been incorporated in numerous high speed wireless communication
and video broadcasting standards. These standards feature multiple codes with varying
codeword lengths and code rates and require a high throughput. Flexible hardware that is
capable of decoding multiple quasi-cyclic LDPC codes is therefore desirable.
This thesis investigates binary quasi-cyclic LDPC codes and designs a generic, flexible VHDL
decoder. The decoder is further enhanced to automatically select the most likely decoder
based on the initial a posterior probability of the parity-check equation syndromes.
A software system is developed that generates hardware code for such a decoder based on
a small user specification. The system is extended to provide performance simulations for
this generated decoder. / AFRIKAANSE OPSOMMING: Iteratiewe foutkorreksiekodes soos LDPC-kodes word wyd gebruik in moderne voorwaartse
foutkorreksiestelsels. ’n Subklas van LDPC-kodes, bekend as kwasisikliese LDPC-kodes,
word in verskeie hoëspoed-kommunikasie- en video-uitsaaistelselstandaarde gebruik. Hierdie
standaarde inkorporeer verskeie kodes van wisselende lengtes en kodetempos, en vereis
hoë deurset. Buigsame apparatuur, wat die vermoë het om ’n verskeidenheid kwasisikliese
LDPC-kodes te dekodeer, is gevolglik van belang.
Hierdie tesis ondersoek binêre kwasisikliese LDPC-kodes, en ontwerp ’n generiese, buigsame
VHDL-dekodeerder. Die dekodeerder word verder verbeter om outomaties die mees waarskynlike
dekodeerder te selekteer, gebaseer op die aanvanklike a posteriori-waarskynlikheid
van die pariteitstoetsvergelykings se sindrome.
’n Programmatuurstelsel word ontwikkel wat die fermware-kode vir so ’n dekodeerder genereer,
gebaseer op ’n beknopte gebruikerspesifikasie. Die stelsel word uitgebrei om werksverrigting
te simuleer vir die gegenereerde dekodeerder.
|
3 |
Etude et implémentation d'une architecture de décodage générique et flexible pour codes correcteurs d'erreurs avancésDION, Jean 05 November 2013 (has links) (PDF)
Le codage de canal est une opération mathématique qui améliore la qualité des transmissions numériques en corrigeant les bits erronés en réception. Les contraintes des usages comme la qualité de réception, les débits d'utilisation, la latence de calcul, la surface ou encore la consommation électrique favorisent l'usage de différents codes dans la standardisation des protocoles de communication. La tendance industrielle est à la convergence des réseaux de communication pour des usages variés. Ce large choix de codage devient un handicap pour la conception de transmetteurs à bas coûts. Les réseaux médias favorisent des codes correcteurs d'erreurs avancés comme les turbocodes et les codes LDPC pour répondre aux contraintes de qualité de réception. Or ces procédés ont un coût de décodage important sur les récepteurs finaux. Une architecture adaptée à plusieurs types de codes capable d'évoluer en fonction d'une modification du protocole d'accès devient inévitable pour élaborer de nouveaux scénarios d'usages. Ce mémoire présente le principe du codage de canal et la plupart des codes correcteurs d'erreurs avancés sélectionnés dans les standards de communication courants. Les caractéristiques communes des codes QC-LDPC et des turbocodes sont soulignées. Les principaux algorithmes ainsi que certaines architectures de décodage sont présentés. La complexité matérielle des principaux algorithmes de décodage est évaluée. Ils sont comparés pour un même code et à un niveau de correction équivalent pour les codes QC-LDPC. Une étude similaire est réalisée sur les turbocodes. Les algorithmes de décodage sont appliqués sur des codes de tailles et de rendements proches et dimensionnés pour atteindre une correction similaire afin de sélectionner un algorithme de décodage conjoint aux deux familles de code. Les codes QC-LDPC et les turbocodes se structurent à l'aide d'une représentation en treillis commune. La technique de fenêtrage couramment appliquée au décodage des turbocodes est étudiée pour le décodage d'un code QC-LDPC. Enfin, l'entrelacement des codes QC-LDPC est mis en évidence et reconsidéré en fonction des contraintes matérielles. Un coeur de décodage de treillis compatible avec les standards 3GPP LTE et IEEE 802.11n est proposé. Plusieurs structures de décodage sont ensuite introduites incorporant un ou plusieurs de ces coeurs. L'intégration sur cible FPGA est détaillée. Un scénario d'utilisation avec un contexte de décodage évoluant à chaque message reçu est proposé ce qui souligne l'impact de la reconfiguration sur les débits de décodage. La structure multistandard nécessite 4,2 % (respectivement 5,3 %) de ressources matérielles supplémentaires à une structure compatible avec le standard 3GPP LTE (resp. IEEE 802.11n) seul. La dégradation du débit maximal due à la reconfiguration entre le décodage des mots de code est d'au plus 1 %. Une architecture à plusieurs coeurs est également portée sur une cible ASIC de 65 nm. Cette architecture fonctionne à une fréquence de 500 Mhz sur une surface de 2,1 mm2 décodant les mots de code 3GPP LTE et IEEE 802.11n, et acceptant une reconfiguration dynamique entre deux mots de code consécutifs.
|
Page generated in 0.0206 seconds