Optimization and parallelization methods for software-defined radio - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Theses Year : 2020

Optimization and parallelization methods for software-defined radio

Méthodes d’optimisation et de parallélisation pour la radio logicielle

Abstract

A software-defined radio is a radio communication system where components traditionally implemented in hardware are instead implemented by means of software. With the growing number of complex digital communication standards and the general purpose processors increasing power, it becomes interesting to trade the energy efficiency of the dedicated architectures for the flexibility and the reduced time to market on general purpose processors.Even if the resulting implementation of a signal processing is made on an application-specific integrated circuit, the software version of this processing is necessary to evaluate and verify the correct properties of the functionality. This is generally the role of the simulation. Simulations are often expensive in terms of computational time. To evaluate the global performance of a communication system can require from few days to few weeks.In this context, this thesis proposes to study the most time consuming algorithms in today's digital communication chains. These algorithms often are the channel decoders located on the receivers. The role of the channel coding is to improve the error resilience of the system. Indeed, errors can occur at the channel level during the transmission between the transmitter and the receiver. Three main channel coding families are then presented: the LDPC codes, the polar codes and the turbo codes. These three code families are used in most of the current digital communication standards like the Wi-Fi, the Ethernet, the 3G, 4G and 5G mobile networks, the digital television, etc. The resulting decoders offer the best compromise between error resistance and decoding speed known to date. Each of these families comes with specific decoding algorithms. One of the main challenge of this thesis is to propose optimized software implementations for each of them. Specific efficient implementations are proposed as well as more general optimization strategies. The idea is to extract the generic optimization strategies from a representative subset of decoders.The last part of the thesis focuses on the implementation of a complete digital communication system in software. Thanks to the efficient decoding implementations proposed before, a full transceiver, compatible with the DVB-S2 standard, is implemented. This standard is typically used for broadcasting multimedia contents via satellite. To this purpose, an embedded domain specific language targeting the software-defined radio is introduced. The main objective of this language is to take advantage of the parallel architecture of the current general purpose processors. The results show that the system achieves sufficient throughputs to be deployed in real-world conditions.These contributions have been made in a dynamic of openness, sharing and reusability, it results in an open source library named AFF3CT for A Fast Forward Error Correction Toolbox. Thus, all the results proposed in this thesis can easily be reproduced and extended. This philosophy is detailed in a specific chapter of the thesis manuscript.
Une radio logicielle (en anglais Software-Defined Radio ou SDR) est un système de communications numériques reconfigurable utilisant des techniques de traitement du signal sur des architectures numériques programmables. Avec l'émergence de nouveaux standards de communications complexes et la puissance de calcul grandissante des processeurs généralistes, il devient intéressant d'échanger l'efficacité énergétique des architectures dédiées contre la souplesse et la facilité d'implémentation sur processeurs généralistes.Même lorsque l'implémentation d'un traitement numérique est finalement faite sur une puce dédiée, une version logicielle de ce traitement s'avère nécessaire en amont pour s'assurer des bonnes propriétés de la fonctionnalité. Cela est généralement réalisé via la simulation. Les simulations sont cependant souvent coûteuses en temps de calcul. Il n'est pas rare de devoir attendre plusieurs jours voire plusieurs semaines pour évaluer les performances du modèle fonctionnel d'un système.Dans ce contexte, cette thèse propose d'étudier les algorithmes les plus coûteux en temps de calcul dans les chaînes de communication numériques actuelles. Ces algorithmes sont le plus souvent présents dans des décodeurs de codes correcteurs d'erreurs au niveau récepteur. Le rôle du codage canal est d’accroître la robustesse vis à vis des erreurs qui peuvent apparaître lorsque l'information transite au travers d'un canal de transmission. Trois grandes familles de codes correcteurs d'erreurs sont étudiées dans nos travaux, à savoir les codes LDPC, les codes polaires et les turbo codes. Ces trois familles de codes sont présentes dans la plupart des standards de communication actuels comme le Wi-Fi, l’Ethernet, les réseaux mobiles 3G, 4G et 5G, la télévision numérique, etc. Les décodeurs qui en découlent proposent le meilleur compromis entre la résistance aux erreurs et la vitesse de décodage. Chacune de ces familles repose sur des algorithmes de décodage spécifiques. Un des enjeux principal de cette thèse est de proposer des implémentations logicielles optimisées pour chacune des trois familles. Des réponses sont apportées de façon spécifique puis des stratégies d'optimisation plus générales sont discutées. L'idée est d'abstraire des stratégies d'optimisation possibles en étudiant un sous-ensemble représentatif de décodeurs.Enfin, la dernière partie de cette thèse propose la mise en œuvre d'un système de communications numériques complet à l'aide de la radio logicielle. En s’appuyant sur les implémentations rapides de décodeurs proposées, un émetteur et un récepteur compatibles avec le standard DVB-S2 sont implémentés. Ce standard est typiquement utilisé pour la diffusion de contenu multimédia par satellite. À cette occasion, un langage dédié à la radio logicielle est développé pour tirer parti de l'architecture parallèle des processeurs généralistes actuels. Le système atteint des débits suffisants pour être déployé en condition opérationnelle.Les différentes contributions des travaux de thèse ont été faites dans une dynamique d'ouverture, de partage et de réutilisabilité. Il en résulte une bibliothèque à code source ouvert nommée AFF3CT pour A Fast Forward Error Correction Toolbox. Ainsi, tous les résultats proposés dans cette thèse peuvent aisément être reproduits et étendus. Cette philosophie est détaillée dans un chapitre spécifique du manuscrit de thèse.
Fichier principal
Vignette du fichier
CASSAGNE_ADRIEN_2020.pdf (2.14 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)

Dates and versions

tel-03118420 , version 1 (22-01-2021)

Identifiers

  • HAL Id : tel-03118420 , version 1

Cite

Adrien Cassagne. Optimization and parallelization methods for software-defined radio. Networking and Internet Architecture [cs.NI]. Université de Bordeaux, 2020. English. ⟨NNT : 2020BORD0231⟩. ⟨tel-03118420⟩
622 View
1708 Download

Share

Gmail Mastodon Facebook X LinkedIn More