ENSIL Troisième Année ELT



Documents pareils
Communications numériques

Transmission d informations sur le réseau électrique

Expérience 3 Formats de signalisation binaire

TELEVISION NUMERIQUE

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Transmission des signaux numériques

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Transmission de données. A) Principaux éléments intervenant dans la transmission

Représentation d un entier en base b

ISO/CEI NORME INTERNATIONALE

Interception des signaux issus de communications MIMO

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

VIII- Circuits séquentiels. Mémoires

Chapitre 2 : communications numériques.

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Université de La Rochelle. Réseaux TD n 6

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

Systèmes de transmission

V- Manipulations de nombres en binaire

La couche physique de l ADSL (voie descendante)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Conversion d un entier. Méthode par soustraction

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Théorie et codage de l information

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Systèmes de communications numériques 2

Quantification Scalaire et Prédictive

Chapitre I La fonction transmission

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

I. TRANSMISSION DE DONNEES

TD1 Signaux, énergie et puissance, signaux aléatoires

GPA770 Microélectronique appliquée Exercices série A

BASES DE TRANSMISSIONS NUMERIQUES Les modulations numériques

Chapitre 13 Numérisation de l information

Intérêt du découpage en sous-bandes pour l analyse spectrale

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Licence Sciences et Technologies Examen janvier 2010

IV- Comment fonctionne un ordinateur?

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

ELP 304 : Électronique Numérique. Cours 1 Introduction

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

TD 1 - Transmission en bande de passe

Représentation des Nombres

Présentation du langage et premières fonctions

Les techniques de multiplexage

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

TRANSMISSION NUMERIQUE

Telecommunication modulation numérique

TP Modulation Démodulation BPSK

Telecommunication modulation numérique


Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

Acquisition et conditionnement de l information Les capteurs

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Travaux pratique (TP2) : simulation du canal radio sous ADS. Module FIP RT321 : Architectures des émetteurs-récepteurs radio

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

TP : Gestion d une image au format PGM

ASR1 TD7 : Un microprocesseur RISC 16 bits

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Introduction aux Communications Numériques

Transmissions série et parallèle

Chaine de transmission

Initiation au binaire

Simulation de variables aléatoires

Introduction à MATLAB R

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Architecture des ordinateurs

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

ÉPREUVE COMMUNE DE TIPE Partie D


Signalisation, codage, contrôle d'erreurs

NON-LINEARITE ET RESEAUX NEURONAUX

Initiation à la programmation en Python

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Chapitre 2 : Techniques de transmission

Température corporelle d un castor (une petite introduction aux séries temporelles)

Chap17 - CORRECTİON DES EXERCİCES

Cours d Électronique du Tronc Commun S3. Le filtrage optimisé du signal numérique en bande de base. Notion de BRUIT en télécommunication.

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Le concept cellulaire

SYSTEMES LINEAIRES DU PREMIER ORDRE

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Détection en environnement non-gaussien Cas du fouillis de mer et extension aux milieux

Algorithmique des Systèmes Répartis Protocoles de Communications

Cours d initiation à la programmation en C++ Johann Cuenin

Mesures en réception télévision

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Transcription:

IFORMATIQUE APPLIQUEE TD1 Dans le cadre de ces TD, nous procédons à la simulation d'un système de télécommunication numérique. Cette opération va nous permettre d'étudier la performance du système sous test. Le critère le plus important pour décrire la performance d'un système de transmission numérique est celui du taux d'erreur binaire (TEB). Le système présenté ci-dessous est un exemple typique d'une chaîne de communication. La source binaire fournit des symboles binaires indépendants. Le modulateur transforme un nombre défini de bits (M pour une modulation M-aire) en un symbole. Ce symbole est choisi dans un ensemble qui forme une constellation sur le plan complexe. Par exemple, pour le cas M4, nous utilisons souvent une constellation MDP4. Le canal de transmission peut varier suivant l'application réelle à simuler. Un canal additif gaussien est un modèle réaliste pour une liaison mono-trajet (communication par satellite par exemple). Côté récepteur, le démodulateur effectue l'opération inverse faite dans le modulateur pour fournir les bits les plus vraisemblables à partir des symboles reçus. Et à la fin, on comptabilise le nombre d'erreurs commises pour quantifier la performance du système global et ensuite le comparer avec d'autres systèmes éventuellement proposés. Supposons que nous allons simuler le système présenté ci-dessous. Source binaire Modulateur Canal AWG Démodulateur Calcul de TEB Simulation flux continu La première méthode est une simulation temporelle. Les bits se produisent au fur et à mesure. Dès qu il y a deux bits disponibles, le modulateur les code en MDP4, qui est en fait une valeur complexe. Le canal va ajouter à cette valeur, un bruit blanc gaussien. La sortie du canal sera démodulée pour donner deux bits détectés. Ces derniers sont comparés avec les deux bits envoyés et on compte le nombre d erreurs éventuelles dans cette transaction. En répétant cette procédure pour un grand nombre de bits, le taux d'erreur obtenu s'approche à la probabilité d'erreur du système. Traitement par paquet Autre façon de faire, est de générer une séquence de symboles et appeler les fonctions C++ pour traiter la séquence complète. Cette méthode est très souvent bien plus rapide que la méthode précédente car à chaque appel à une fonction, un paquet de données est traité. 27-28 1

Travail demandé ous allons écrire des fonctions pour des tâches souvent utilisées dans une chaîne de communication numérique. 1- Pour générer une séquence binaire aléatoire, nous utiliserons la fonction "FillRandomBit( )" déjà développée. Ainsi, la ligne suivante va remplir le vecteur "bit" par des données binaires et aléatoires. DVector bit(1); bit.fillrandombit(); 2- Ecrire une fonction qui retourne une vecteur complexe qui est le résultat d'une modulation MDP4 suivant le codage de Gray. ZVector sym; sym bit._mod(); 1 Im Re Remarque1 : utilisez la loi Gray pour coder les bits en symbole comme présentée sur la constellation. Remarque2 : la taille du vecteur "sym" est la moitié de la taille du vecteur "bit". 11 1 3- On s'occupe maintenant au canal AWG (Additive White Gaussian oise). Vous trouverez à l'annexe un programme en C qui génère une variable aléatoire gaussienne. Utiliser ce programme pour écrire une fonction qui remplira un vecteur complexe par des données gaussiennes avec la moyenne et la variance données en argument. Ainsi, les lignes ci-dessous devront fonctionner correctement. ZVector bruit(5); Bruit.FillGaussien(moyenne (de type complexe), variance(de type double)); Remarque : La variance de chaque partie réelle ou imaginaire est la variance passée en argument divisée par deux. Remarque : Pour obtenir des information sur la fonction de génération du bruit gaussien, allez visiter le site http://www.library.cornell.edu/nr/bookcpdf.html où vous trouverez des infos au paragraphe 7-2 de cette page. 4- Additionner le bruit complexe au signal modulé en MDP4 : ZVector sig_rec(5); sig_rec bruit + sym; 5- Ecrire une fonction pour démoduler la séquence des symboles MDP4 reçue et retourner une séquence binaire. Utiliser le codage de Gray pour démoduler les symboles reçus. Bit_hat sig_rec._demod(); 6- Ecrire une fonction pour comparer deux vecteurs et retourner le nombre de fois où les deux séquences sont différente. int error compare(bit, bit_hat); 27-28 2

7- Ecrire le programme principal pour simuler le système ci-dessus et calculer le taux d erreur binaire. On effectue la simulation pour 1 paquet de taille 1 bits. ous fixons, moyennant des constantes, les valeurs suivantes : le rapport énergie binaire sur la densité spectrale monolatérale de bruit égal à 3 db (E b / 3dB) Lancer la simulation pour calculer le taux d erreur binaire pour plusieurs valeurs de E b / allant de db à 6 db. Remarque : La courbe théorique est la suivante : AEXE Programme générant une variable aléatoire gaussienne. double n_gaussien( double moy, double var ) // LOI GAUSSIEE // retourne un evenement suivant une loi gaussienne de moyenne moy // et de variance var { static long iset; static double gset; double fac,rsq,v1,v2; const double RAD_MAX_22./RAD_MAX; } if (iset){ do{ v1rand()*rad_max_2-1.; v2rand()*rad_max_2-1.; rsqv1*v1+v2*v2; } while (rsq > 1. rsq.); facsqrt(-2.*log(rsq)/rsq); gsetv1*fac; iset1; return v2*fac*sqrt(var)+moy; } else { iset; return gset*sqrt(var)+moy; } 27-28 3

IFORMATIQUE APPLIQUEE TD2 ous allons utiliser un code cyclique pour protéger les informations. Le diagramme en bloc du système est présenté sur la figure suivante. Source binaire Codeur cyclique Entrelaceur modulateur Canal AWG Calcul de TEB Décodeur cyclique Désentrelaceur Démodulateur Le circuit d un codeur cyclique est donné ci-dessous : porte g g 1 g 2 g 3 g m-1 D D D D D b n c k Le polynôme générateur d un codeur en bloc g(x) x m + g n-1 x m-1 + + g 1 x + g. Si les coefficients g i sont connus, le codeur est parfaitement identifié et le circuit ci-dessus est donc connu. Le message est un paquet de k bits qui entre dans le circuit à raison de 1 bits par cycle d horloge. La porte à ce moment là laisse passer les bits vers les registres. En même temps, l interrupteur est en état haut, ce qui veut dire que les données sortent en même temps en sortie pour construire la partie systématique. Une fois k bits sont arrivés, l interrupteur se bascule en bas et la porte se ferme (zéro en sortie). Le circuit se transforme alors en un registre à décalage et les contenus des registres sortent un par un en sortie. Ce qui veut dire que m bits de parité s ajoutent à la fin de k bits d information. ous avons donc une séquence de nk+m bits en sortie pour une séquence de k bits en entrée. Travail demandé 1. Faire une fonction pour coder un vecteur de bits d information et retourner un vecteur de bits codés. On suppose les données suivantes : k4, n7 et le polynôme générateur g(x)x 3 +x+1 (13 en octal). DVector DVector::cod_cyc_13() ; Remarque : la taille du vecteur bits est un multiple de 4, disons 4m. La taille du vecteur retourné est donc 7m. 27-28 4

2. Faire une fonction pour entrelacer un vecteur et retourner le même vecteur mais dans désordres. Pour cette opération, elle écrit les données dans une matrice ligne par ligne et elle les sort colonne par colonne. On donne en argument le nombre de lignes et de colonnes. DVector DVector::entrelaceur(int ligne ; int col) ; 3. Faire une fonction de décodage pour décoder un vecteur de bits codés reçu et retourner le vecteur corrigé. On suppose les mêmes caractéristiques que le codeur. DVector DVector::decod_cyc_13() ; 4. Effectuer une simulation pour 4. de bits et tracer la courbe de taux d erreur binaire en fonction de E b / allant de à 6 db. Y a-t-il une amélioration? Remarque : Dans le calcul de E b il faut tenir compte du fait que pour chaque bit d'information, n/k bits codés sont envoyés. E (inf) Eb ( code) * 7 / 4 Es / 2 * 7/ 4 1/ 2 * 7 / 4 b 7/8 2 On en déduit donc la variance de bruit à ajouter au signal : var σ 7 Eb / 1 Si E b / est donné en db (Eb) : var 1 8 7/8 E / 5. Faites afficher le taux d erreur sur les bits d information et sur les bits codés. Qu est que vous en déduisez? b 27-28 5