Vous êtes sur la page 1sur 11

République Algérienne démocratique et populaire

Ministére de l'enseignement supérieur et de la recherche scientifique

Université Larbi Tebessi-Tébessa

Faculté des Sciences et Technologies

Département d'électronique et de télécommunication

COMMUNICATIONS NUMERIQUES
TP1 : Transmission en Bande de Base

. Réalisé par : . Encadre par :

Toualbia Maroua Mlle Djeddi


Fetni Sarra

Année universitaire :2023/2024


1.Introduction :
Un système de communication numérique transporte de l’information entre un émetteur et un
récepteur à travers un canal de transmission qui représente un lien physique comme l’espace
libre entre deux antennes, un câble coaxial ou une fibre optique. Les signaux véhiculés peuvent
être d’origine numérique comme dans les réseaux de données ou analogique (parole, image...)
convertis sous forme numérique.

Objectif :
Dans ce type de transmission l’information est émise sous sa forme initiale (numérique) avec
une amplification et éventuellement une codification. Elle est surtout utilisée pour les
transmissions courte (Ethernet, série, etc.).

Le principe dans ce type de transmission est de définir un niveau de tension ou une transition
entre deux tensions afin de coder le signal numérique.

générer des signaux modulés en bande de base.

Partie théorique :
1.2 La chaine de transmission numérique :
Le schéma synoptique d’une chaine de transmission numérique est schématisé sur la figure
(1.1). Elle est composée de plusieurs éléments essentiels en partant de la source de message
jusqu’ au destinataire.

1
1. 3 Principe de la transmission numérique :
Pour transmettre un signal numérique (composé de 0 et de 1), il est nécessaire de matérialiser
les niveaux logiques par des motifs. Le signal u(t) obtenu correspondra à une succession de ces
motifs.

1.4 CARACTERISTIQUES DE LA BANDE DE BASE :


Un signal électrique, ou optique est caractérisé par sa densité spectrale de puissance
(encombrement spectral). On peut le transporter dans la bande d'origine avec un éventuel
transcodage (bande de base) ou effectuer une transposition dans une autre bande de fréquence
(modulation). Un signal est dit "bande de base" s'il n'a pas subi de transposition en fréquence.
La transmission en bande de base s'avère particulièrement simple et économique pour les
signaux synchrones et rapides.

2
1.1 Codage :
La transmission directe du message n'est généralement possible que sur de très courtes
distances. Un signal à transmettre subira donc un codage plus ou moins élaboré afin d'adapter
son spectre au support utilisé : réduction ou suppression de la composante continue,
transmission de l'horloge en synchrone ... les codages utilisés peuvent être classés selon le
nombre de niveaux électriques :

- 2 niveaux : NRZ, biphasés, miller...

- 3 niveaux : bipolaires, bipolaires haute densité...

1.2 Débits
1.3 Supports :
- Voie téléphonique : impossible (bande passante, multiplex en fréquence...).

- Câble métalliques : Possible car il n'y a pas de coupure de la bande passante. La portée sera
limitée par l'atténuation (proportionnelle à racine de f), la vitesse et le type de codage.

- Fibre optique : sans difficultés.

Les différents codages en bande de base :


Avant l'injection des informations dans un canal, un codage est nécessaire. Le choix d'un code
est fonction du spectre de ce code, la bande passante disponible du bruit et interférence du
canal, du contrôle de la performance, de la tenue en horloge et la fiabilité de la réalisation.

Le codage à deux niveaux :


A. Le codage NRZ :

La méthode NRZ (Non Return to Zero) représente la technique la plus simple de codage. Dans
cette technique à 2 niveaux, le signal numérique est codé suivant les règles :

Bit de données à 0 -> tension négative

bit de données à 1 -> tension positive

3
Les principales caractéristiques du codage NRZ sont :

Une bonne résistance au bruit.

Un mauvaise adaptation au support (spectre centré sur la fréquence nulle).

Peu de transitions, donc difficulté de synchronisation d'horloge.

Avantage :
♦ Le codage bivalent procure une bonne immunité aux bruits surtout si l’amplitude entre les
deux états est importante.

♦ La réalisation de ce type de codage est très facile à mettre en œuvre.

Inconvénients :
♦ C’est le cas le plus défavorable car le signal transmis est composé d’une grande partie de
signaux BF (plus de 90%); l’affaiblissement est donc très important.

♦ Les longues suites de 0 ou de 1 provoque facilement des pertes d’horloge de synchronisation.

Application : exemples : liaison série (RS232)


- Symétrise les valeurs 0 & 1 par rapport au potentiel zéro électrique.

- Pas de transition si suite longue de mêmes bits.

- Spectre relativement large concentré au voisinage des basses fréquences.

- continue.

4
B. Le codage MANCHESTER :

Une solution permettant de décaler le spectre du signal vers les fréquences plus élevées
consiste à coder les états de base par des transitions et non par des niveaux. C'est la solution
adoptée par le codage Manchester, encore appelé codage biphasé.

Ainsi, le signal est transmis tel que à :

- une donnée à 0 correspond un front descendant de la ligne,

- une donnée à 1 correspond un front montant de la ligne.

Les fronts sont placés en milieu de bit. Il s’agit d’un codage bivalent.

Caractéristiques de ce codage :

Bonne résistance au bruit (2 niveaux)

Bonne adaptation aux supports à bande passante large

Beaucoup de transitions, donc facilité de synchronisation d'horloge

Avantage :
♦ A chaque bit transmis, le signal change d’état et permet donc une synchronisation aisée des
horloges.

♦ La composante continue de ce signal est nulle.

♦ Le spectre de transmission est étalé, avec un étalement vers les hautes fréquences.

Inconvénients :
♦ Le câblage doit être rigoureux, car l’inversion des fils conduit à la réception du message
complémenté.

Application :

5
Ethernet sur câble coaxial.
Remédie à l’absence d’information de synchronisation.

Spectre très large.

Partie Pratique :
Instructions nécessaires :

A. Le codage NRZ :
 Tester le code Matlab et expliquer les instructions nécessaires (écrivez les
commentaires) :

L’explication de l’instruction

Signal original :

1. data = [0 1 0 0 1 1 0 1]; Cette ligne crée un vecteur data contenant les valeurs [0 1 0 0 1 1 0 1].
Ce vecteur représente les données discrètes que vous souhaitez interpoler pour obtenir des
données continues.

2. t_ discrète = 0:length(data)-1; : Cette ligne crée un vecteur t_discrete contenant une


séquence de nombres allant de 0 à la longueur des données data - 1. Ce vecteur est utilisé
comme axe des abscisses pour les données discrètes.

6
3. t_continuous = linspace(0, length(data)-1, 1000); : Cette ligne crée un vecteur t_continuous
contenant 1000 points répartis de manière linéaire entre 0 et la longueur des données data - 1.
Ce vecteur représente l'axe des abscisses pour les données continues interpolées.

4. data_continuous = interp1(t_discrete, data, t_continuous, 'previous'); : Cette ligne utilise la


fonction interp1 pour interpoler les données discrètes data aux points du vecteur t_continuous
en utilisant une méthode d'interpolation 'previous'. Cela signifie que la valeur la plus proche
précédente dans les données discrètes est utilisée pour interpoler les valeurs manquantes.

5. plot(t_continuous, data_continuous, 'b', 'LineWidth', 2); : Cette ligne trace un graphique en


utilisant les points t_continuous sur l'axe des abscisses et les données interpolées
data_continuous sur l'axe des ordonnées. Le graphique est tracé en bleu ('b') avec une épaisseur
de ligne de 2 pixels ('LineWidth', 2).

Coder et décoder :

encoded_data_NRZ = 2*data - 1; : Cette ligne calcule les données encodées en utilisant la


technique de codage Non-Return-to-Zero (NRZ). Les données initiales data sont multipliées par
2 et soustraites de 1 pour obtenir les données encodées. Cette opération permet de
transformer les données binaires (0 et 1) en une séquence de niveaux de tension symétriques
autour de zéro.

2. tt_discrete = 0:length(encoded_data_NRZ)-1; : Cette ligne crée un vecteur tt_discrete


contenant une séquence de nombres allant de 0 à la longueur des données encodées
encoded_data_NRZ - 1. Ce vecteur est utilisé comme axe des abscisses pour les données
encodées.

3. tt_continuous = linspace(0, length(encoded_data_NRZ)-1, 2000); : Cette ligne crée un vecteur


tt_continuous contenant 2000 points répartis de manière linéaire entre 0 et la longueur des
données encodées encoded_data_NRZ - 1. Ce vecteur représente l'axe des abscisses pour les
données encodées interpolées de manière continue.

4. encoded_data_continuous = interp1(tt_discrete, encoded_data_NRZ, tt_continuous,


'previous'); : Cette ligne utilise la fonction interp1 pour interpoler les données encodées
encoded_data_NRZ aux points du vecteur tt_continuous en utilisant une méthode
d'interpolation 'previous'. Cela signifie que la valeur la plus proche précédente dans les données
encodées est utilisée pour interpoler les valeurs manquantes.

5. plot(tt_continuous, encoded_data_continuous, 'r', 'LineWidth', 2); : Cette ligne trace un


graphique en utilisant les points tt_continuous sur l'axe des abscisses et les données encodées

7
interpolées encoded_data_continuous sur l'axe des ordonnées. Le graphique est tracé en rouge
('r') avec une épaisseur de ligne de 2 pixels ('LineWidth', 2).

. decoded_data = encoded_data_continuous >= 0; : Cette ligne effectue un décodage des


données encodées continues. Elle crée un vecteur decoded_data qui contient des valeurs
booléennes (true/false) en comparant les valeurs de encoded_data_continuous avec zéro. Si
une valeur dans encoded_data_continuous est supérieure ou égale à zéro, elle est considérée
comme true (ou 1); sinon, elle est considérée comme false (ou 0). Cela permet de retransformer
les niveaux de tension en données binaires (0 ou 1).

. plot(tt_continuous, decoded_data, 'g', 'LineWidth', 2); : Cette ligne trace un graphique en


utilisant les points tt_continuous sur l'axe des abscisses et les données décodées decoded_data
sur l'axe des ordonnées. Le graphique est tracé en vert ('g') avec une épaisseur de ligne de 2
pixels ('LineWidth', 2).

 Afficher les 3 graph (signal original, coder, décoder dans une seule fenêtre et faire
interprétation des signaux.

remarque : le spectre étant très élevé à zéro, ce signal est peu adapté aux longues distances.

B. Le codage MANCHESTER :
Tester le code Matlab et expliquer les instructions nécessaires (les commentaires)

8
remarques : spectre étalé et double de la fréquence binaire, le repérage des fils est obligatoire .

Explication de code manchester

1. encoded_data_manchester = [ ]; : Initialise un vecteur vide encoded_data_manchester qui


stockera les données encodées selon le schéma de codage Manchester.

2. La boucle for suivante parcourt les éléments du vecteur data :

- if data(i) == 0 : Vérifie si le bit actuel est égal à zéro.

- Si oui, ajoute les valeurs 1 et -1 à encoded_data_manchester. Cela correspond à la


transition de haut en bas pour représenter un zéro.

- else : Si le bit n'est pas égal à zéro.

- Ajoute les valeurs -1 et 1 à encoded_data_manchester. Cela correspond à la transition de


bas en haut pour représenter un un.

3. tt_continuous = linspace(0, length(encoded_data_manchester)-1,


length(encoded_data_manchester)*1000); : Crée un vecteur tt_continuous pour l'axe des

9
abscisses du graphique en interpolant linéairement entre 0 et la longueur de
encoded_data_manchester-1, avec une précision de 1000 points par élément de données.

4. encoded_data_continuous = interp1(0:length(encoded_data_manchester)-1,
encoded_data_manchester, tt_continuous, 'previous'); : Interpole les données encodées
discrètes encoded_data_manchester pour obtenir des données continues à l'aide de la méthode
'previous'. Cela permet d'obtenir une représentation continue du signal encodé.

5. plot(tt_continuous, encoded_data_continuous, 'r', 'LineWidth', 2); : Trace le graphique des


données encodées en utilisant le schéma de codage Manchester. Les données sont affichées en
continu sur l'axe des abscisses tt_continuous, avec une ligne de couleur rouge ('r') et une
épaisseur de ligne de 2 pixels.

Conclusion :
Le choix d’un type de codage apparaît donc clairement difficile. Les caractéristiques du
support, et le débit de transmission voulu restent les deux éléments les plus importants
quant au choix final.

Les signaux numériques sont généralement des informations binaires séquentielles sous la
forme de zéros et des uns. Chacun de ces chiffres binaires est représenté par une certaine
largeur d’impulsion. Cette largeur d'impulsion varie en fonction des exigences de débit de
données de transmission.

10

Vous aimerez peut-être aussi