Giter Club home page Giter Club logo

tp_tim's Introduction

Codage et Transmission en bande de base

Ce TP vise à découvrir et comprendre les différentes méthodes de codage de source et à leur transmission en bande passante. Tout ceci sera effectué à l'aide du logiciel Scilab.

Partie 1 : Génération d'une séquence pseudo-aléatoire et codage en ligne

On génère un vecteur rempli aléatoirement de 0 et de 1 qui ferra office de message à transmettre.

graph vecteur pas bo

Pour que la modulation soit plus propre, on a besoin de convertir ce vecteur en une représentation d'un signal carré (étendre chaque bit sur une période).

Message codé


Codage NRZ bipolaire

On fait correspondre

Un bit à 0 -> -5V

Un bit à 1 -> +5V

NRZ

Codage Manchester

On implémente un codage Manchester pour la transmission du signal, ce codage transforme un bit du signal en une période du nouveau signal et en faisant correspondre

Un bit à 0 -> un front montant

Un bit à 1 -> un front descendant

Manchester


FFT

L'utilisation du codage Manchester amène un premier zéro 2 foix plus éloigné qu'en bande de base de par la substitution d'un bit en bande de base par une période de signal au lieu d'une demi en bande de base. Le lobe du codage Manchester est donc deux fois plus grand que celui en bande de base.

Partie 2 : Adjonction d'un bruit gaussien, représentation temporelle et prise de décision

Filtrage

Pour simuler l'action d'un canal de transmission, on va filtrer le signal afin de ne transmettre que le premier lobe de la FFT. Pour cela on annule le signal à partir du premier echantillon au dessous de 0.

Inclusion de bruit

Pour simuler l'effet d'un canal de propagation on ajoute au signal filtré un bruit gaussien d'écart type paramètrable.

On va ensuite utiliser le niveau moyen du signal sur une période pour discriminer un bit 1 d'un bit 0 et comparer les signaux en entrée et en sortie du canal. On compte le nombre de bit faux sur le nombre de bit total pour obtenir le rapport signal sur bruit.

Par nos essais, nous avons pu determiner que pour obtenir un TEB inférieur à 1/100, il faut un rapport signal sur bruit inférieur à 0.157 et qu'un TEB inférieur à 1/1000 n'est pas atteignable dans notre simulation.

Conclusion

Dans ce TP nous avons pu voir les différentes méthodes de codages pour une transmission en bande de base. Nous avons pu constater et comparer les avantages et inconvénients de codages comme le codage Manchester et NRZ bipolaire. Ce TP nous aura aussi permis de découvrir comment peuvent se calculer des signaux numériques à l’aide de code informatique.

Chaine De Transmission RF

Pour ce TP, nous allons réaliser le montage schématisé ci-dessous :

Le but du montage est de simuler une chaîne de transmission modulée QPSK comprenant l’émission et la réception d’un signal numérique.

Modulation du signal

Pour réaliser une modulation QPSK, nous allons utiliser un modulateur IQ qui permet une modulation de phase en fonction de ses entrées I et Q. Un bit sur deux est envoyé dans la voie I et l’autre partie dans la voie Q. Ainsi, on obtient en sortie différents états de phase correspondant aux états possibles de I et Q. Ainsi cela permet de doubler le débit d’informations que l’on envoie tout en gardant la même bande passante, ce qui permet une meilleure efficacité spectrale.

On utilise le génerateur de signal aléatoire pour générer les composantes I et Q du signal à transmettre. Notre modulateur fonctionne à 70 MHz, on doit donc génerer une porteuse à 70 MHz par un premier VCO, on s'assure de la fréquence à l'aide de l'analyseur de spectre :

Ce qui nous donne un message modulé autour des 70 MHz :

Notre démodulateur lui fonctionne à 870 MHz, il faut donc remoduler notre signal pour le transposer à 870 MHz grâce à un multiplieur et un second VCO à 800 MHz. On s'assure également de la fréquence du second VCO à l'analyseur de spectre :

Nous avons donc en sortie du multiplieur notre signal avec la porteuse autour de 870 MHz :

Démodulation du signal

Pour démoduler le signal à la sortie, on a besoin de récuperer la porteuse dans le signal, traditionnelement à l'aide d'une PLL. Dans notre cas on n'as pas de PLL à notre disposition, on va donc récuperer la porteuse directement en sortie du second VCO.

Nous avons donc un montage final comme ci-dessous :

Constellation QPSK

Pour observer la constellation QPSK on observe le signal transmis à l'oscilloscope en mode XY :

Le diagramme que l'on obtient est tourné par rapport à ce que l'on aurait dû obtenir. Cela vient du déphasage entre la porteuse génerée par le VCO et celle qui a été mélangée au signal.

En effet la référence du diagramme (l'horizontale) est définie par l'entrée "porteuse" du démodulateur.

Conclusion

Nous avons réalisé un système d’émission / réception à l’aide d’une modulation 4 - QPSK. Pour ce faire, nous avons donc utilisé un modulateur IQ. Pour atteindre les 70 MHz de ce modulateur, nous avons mélanger le signal avec une porteuse de 70 MHz à l'aide d'un VCO. Puis nous avons de nouveau mélanger ce signal de 70 MHz à une deuxième porteuse de 800 MHz afin de pouvoir s'aligner sur la fréquence du démodulateur côté réception. La démodulation du signal reçu s'effectue avec un signal de référence de même fréquence et ayant pour phase celle de l’oscillateur local de l’émission. En temps normal il faudrait utiliser une PLL pour obtenir cette référence, mais nous avons préféré utiliser directement le signal de l’oscillateur local car c’est une solution plus simple ici. En observant le diagramme de constellation de l’information récupéré, on remarque que cette dernière n’est pas parfaitement récupérée.

tp_tim's People

Contributors

mlauren30 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.