Radio logicielle

De Wiki de Projets IMA

Introduction

La radio logicielle (Software Defined Radio) est sous forme d'un récepteur câblé (Hardware) qui consiste à numériser le signal d'entrée et à le traiter par logiciel pour avoir les possibilités d'évolution, que ce soit en terme de fréquence qu'en terme de modulation, et pour assurer une vitesse de traitement suffisante en implémentant les algorithmes sur FPGA en VHDL. Dans ce projet, on focalisera l'étude sur les signaux de l'horloge atomique DCF (77,5kHz) en utilisant un convertisseur analogique numérique afin de pouvoir utiliser le FPGA.

Les radios logicielles sont par exemple utilisées dans les réseaux radio-mobiles (GSM, UMTS, etc.) au niveau des stations de base. Elles présentent les avantages suivants : possibilité d'émettre (et de recevoir) des signaux simultanément dans plusieurs canaux, à l'aide d'un unique émetteur/récepteur performances accrues en réception par rapport à des technologies radio traditionnelles possibilité de mettre à jour logiciellement les BTS pour supporter de nouvelles modulations (exemple : migration de la norme GSM à la norme EDGE)

Bilan des séances



1ère et 2ème séance


Dans un premier temps, on a essayé de comprendre le principe du SDR (Radio Logicielle). Puis on a fait un schéma qui illustre et reflète le fonctionnement de ce système et qui contient un convertisseur analogique-numérique, un filtre numérique et un démodulateur analogique. Notre principal objectif est de recevoir un signal et le convertir en numérique pour pouvoir le traiter ( filtrer et démoduler ) à l'aide du VHDL. Pour cela, il faut premièrement choisir le bon filtre et qui peut être adéquat à la bande de fréquences dont on a besoin, c'est à dire choisir les bons coefficients pour pouvoir les introduire dans le VHDL. Dans les prochaines séances, on essayera d'essayer le VHDL du filtre pour voir si ça marche et de passer aux autres blocs du système.


3ème séance


Afin de comprendre ce qui nous était demandé de réaliser, nous avons commencé par discuter avec les professeurs référents Alexandre Boé et Nicolas Defrance qui nous ont expliqué le principe de fonctionnement d'une radio logicielle.


Nous avons donc pu dans un premier temps distinguer deux parties dominantes dans ce projet :


Une partie électrique : réalisation du convertisseur

                                    analogique/numérique.

Une partie informatique : réalisation d'un code en VHDL permettant le

  filtrage à 77,5Khz du signal reçu et la   
  démodulation de ce signal filtré.


Ainsi nous avons établi dans un premier temps un schéma du principe de fonctionnement de ce projet.

Fichier:Adc3.jpg

4ème séance


Afin de comprendre au mieux les différents éléments constituant notre travail, nous nous sommes intéressés au signal d'entrée et au signal recherché. le signal recherché correspond au signal DCF77 qui a pour fréquence porteuse une fréquence de 77,5Khz.


Nous avons donc commencé à chercher une antenne de fréquences d'utilisation pouvant contenir notre signal DCF77.



Après s'être renseigné auprès des professeurs à la recherche d'un telle antenne, Plusieurs antennes étaient disponibles dans l'école et nous avons donc opté pour une antenne radioélectrique captant des ondes électromagnétiques de fréquences allant jusqu'à 1 Mhz et contenant donc notre signal DCF77.

Les champs électriques des ondes électromagnétiques captés pouvant induire une tension aux bornes d'une antenne; nous avons donc effectué quelques tests avec cette antenne afin d'évaluer la plage de tension que pouvais fournir l'antenne.


A l'aide d'un oscilloscope, nous avons mesuré ces tensions et nous sommes rendu compte que notre antenne ne délivrait que des tensions de l'ordre du milli-volt. Nous recevions donc des signaux bruités de -14 mV à 14mV.

5ème séance ---

Dans un premier temps, nous avons cherché une façon de réaliser une carte de conversion Analogique/numérique à base de composants existants.


Nous nous sommes d'abord posé la question du type de convertisseur que l'on pouvait réaliser. Nous nous sommes donc intéressé aux différents types de convertisseurs existants.

Les signaux à convertir étant des signaux audio d'assez hautes fréquences, il était nécessaire de trouver un convertisseur assez rapide capable d'effectuer la conversion.

Parmi les différents types de convertisseurs, ceux de type « convertisseurs à approximations successives » et ceux de type « convertisseurs flash » ou « semi-flash pipeline » convenaient très bien pour notre application étant donné leur grande vitesse de conversion contrairement aux convertisseurs à simple et double rampe qui sont des convertisseurs très précis mais très lents.

Les convertisseurs flash ou semi-flash ont la particularité d'être des convertisseurs très rapides mais très chers, utilisés principalement pour des applications critiques comme la vidéo, alors que les convertisseurs à approximations successives ont des temps de conversions de l'ordre de la dizaine de microsecondes pour des résolutions allant jusqu'à la douzaine de bits et sont moins chers. Ces convertisseurs à approximations successives sont donc plutôt utilisés dans le domaine de l'audio.

Nous avons donc choisit de travailler avec un convertisseur à approximations successives qui représentent les meilleurs rapports vitesse de conversion/prix et vitesse de conversion/précision.


Nous avons ainsi cherché sur différents site de fabricants de circuits intégrés des convertisseurs analogiques/numériques à approximations successives et c'est sur le site de chez Maxim que nous avons trouvé quelques convertisseurs qui nous intéressaient.

Après en avoir demandé conseil auprès des professeurs référents devant la multitudes de composants CAN correspondants à nos critères (convertisseurs 8bits à haute vitesse de conversion) disponibles sur le site de chez Maxim, les professeurs nous ont proposé un convertisseurs déjà disponible dans la salle de TP et tout à fait approprié pour notre projet.

Nous avions donc quelques convertisseurs ADC 0804 à notre disposition.


8ème séance


Le montage électronique qu'on a établit permet de recevoir des signaux de -5V à 5V et de rétrécir cette plage de 0V à 5V (en ajoutant des amplificateurs) afin que le convertisseur puisse fonctionner. Et à la sortie du convertisseur, on arrive à avoir les 8 bits qui représentent le signal d'entrée. Du côté du VHDL, on a crée un bloc dans altium qui représente le filtre numérique et on l'a relié aux composants qui permettront de visualiser le résultat. Néanmoins, il nous reste quelques erreurs à corriger afin de simuler le montage sur le FPGA.

Convertisseur analogique numérique

Fichier:Adc.jpg Afin de convertir le signal reçu en numérique, il nous est demandé de créer une carte analogique-numérique. A l'aide d'un ADC0804LCN 8 bits qui nous à été fourni nous avons donc cherché a fabriquer cette carte. Après quelques recherches, à l'aide de résistances, de condensateurs, d'un potentiomètre, nous nous sommes rendu compte que ce convertisseur ne convertit que les valeurs reçus entre 0V et 5V et nous avons conçu une première carte de conversion. Afin de tester ce convertisseur, nous avons réalisé un premier schéma avec le minimum d'appareils, donc constitué d'un générateur réglé sur 5V, d'un potentiomètre 10kΩ afin de faire varier la tension en entrée Vin(+) entre 0V et 5V, d'un oscilloscope numérique et de résistances et condensateurs. Le générateur nous a ici servi à la fois d'alimentation pour le convertisseur et de signal d'entrée.

Voici le schéma de câblage de ce premier test :

Fichier:Adc1.jpg

Afin de convertir les valeurs du signal qui varient entre -5V et 5V (Antenne), on a décidé de mettre 2 amplificateurs opérationnels (le premier est diviseur, le deuxième inverseur) en aval du convertisseur qui accepte que des valeurs entre 0V à 5V. Du côté du filtre numérique, on a calculé les coefficients qui nous permettront d'avoir un filtre passe bande qui laisse passer la fréquence de 77,5Khz. En outre, on a introduit ces coefficients dans le VHDL et on les a convertit en binaire pour que le FPGA puisse les reconnaître.