Vous êtes sur la page 1sur 18

Digital Communication

Laboratories

P. Bakowski

bako@ieee.org
P. Bakowski 1
DigiCom Labs
Il y a 5 laboratoires liés à la communication numérique

1. Etude des paramètres de câbles métalliques, y compris: de l'impédance


caractéristique, l'atténuation et de débit de base de données

2. Étude d'un système de transmission numérique avec détection d'erreur et de


correction

3. Étude des codes en ligne avec la bande de base (partie 1) et modulation


analogique (partie 2)

4. Etude d'un système de modulation QPSK et de communication basée sur le


modèle SIMULINK

5. Étude du code CRC et du système de communication basé sur le modèle


SIMULINK

P. Bakowski 2
L5: étude du code CRC
Le code CRC (Cyclic Redundancy Check) est utilisé pour la
détection des erreurs dans des longues séquences binaires.
Un CRC est une courte séquence binaire de taille fixe,
connue comme valeur de test. Elle est ajoutée à la fin
d'une séquence de données. L'ensemble donne un
codeword.

A la réception d'un codeword, on effectue le calcul de CRC


sur le codeword et on compare le resulat avec une
constante.

Si on trouve une correspondance la transmission est sans


erreur (?).

P. Bakowski 3
L5: étude du code CRC
Typiquement, un code CRC sur n bits appliqué sur un bloc
de données de taille quelconque va détecter toutes les
suites d'erreurs plus courtes que n.

Il va détecter la fraction 1−2−n des suites d'erreurs plus


longues.

n bits
erreurs

P. Bakowski 4
L5: étude du code CRC
La création du code CRC implique l'utilisation d'un code:
generateur polynomial.

Ce polynomial est un diviseur et les données (message) sont


le dividende, le reste de la division et le résulat.

La longueur du reste est inférieure à la longueur du


générateur; elle détermine la longueur du résultat.

Le plus simple CRC sur un bit est généré par x+1 .

P. Bakowski 5
L5: calcul du code CRC
Le message à encoder:

11010011101100

Ce message doit être completé par n zéros où n est le


longueur code CRC (ici 3 bits). Ci dessous le premier pas
de calcul avec le polynomial: x3+x +1 :

11010011101100 000 <- décalage de 3 bits


1011 <- diviseur (4 bits)
------------------
01100011101100 000 <- résultat

P. Bakowski 6
L5: calcul du code CRC
11010011101100 000 <--- décalage de 3 bits à gauche
1011 <--- diviseur
01100011101100 000 <--- résultat
1011 <--- diviseur ...
00111011101100 000
1011
00010111101100 000
1011
00000001101100 000
1011
00000000110100 000 code CRC à ajouter au
1011 message
00000000011000 000
1011
00000000001110 000
1011
00000000000101 000
101 1
-----------------
00000000000000 100 <--- reste (3 bits)
P. Bakowski 7
L5: calcul du code CRC
La validité du message en réception peut être
facilement vérifiée par le même calcul avec les
derniers bits complétés par le code CRC.

Pour une transmission sans erreur le reste de la


division doit être égale à zéro.

P. Bakowski 8
L5: Exemple de calcul du code CRC
Nous allons calculer un CRC à 8 bits pour un message
de 8 bits fait à partir d'un caractère ASCII - "W", en
décimal 87 ou héxadecimal 0x57.

Pour illustration, nous prénons le code polynomial CRC-


8-ATM (HEC): x8 + x2 + x + 1.

Ce code correspond à la suite de 9 bits: "100000111".

P. Bakowski 9
L5: Exemple de calcul du code CRC
Le generateur est un registre à décalage avec portes
xor placées selon les puissances dans le générateur
polynomial. Le message peut être de taille quelconque.
Après le décalage du message complet avec 8 zéros
ajoutés , le résultat dans le registre est le CRC.

P. Bakowski 10
L5: Exemple de calcul du code CRC
Le message reçu est décalé par le même registre avec
le code CRC attaché au message (à la place de zéros).
Les données correctement réçues fournissent le résulat
de zéro (00000000). La présence d'une erreur de
transmission donne un résultat différent de zéro.

P. Bakowski 11
L5: modèle SIMULINK

x3 + x +1
message+CRC

message
0s ajoutés
P. Bakowski 12
L5: modèle SIMULINK

P. Bakowski 13
L5: modèle SIMULINK

result must be
zero (remainder)
P. Bakowski 14
L5: modèle SIMULINKl - simulation
Tb=1, n=7, k=3
er=0.001

motinfo (4 bits): 0110


motinfo+CRC : 0110001

erreurs sur ligne


Message réçu+CRC

erreurs détectées
P. Bakowski 15
L5: modèle SIMULINK - simulation
Tb=1, n=7, k=3
er=0.1

motinfo (4 bits): 0110


motinfo+CRC : 0110001

erreurs sur ligne


message réçu+CRC

erreurs détectées
P. Bakowski 16
L5: nouvel générateur CRC

temps de
simulation: 14*Tb

Tb=1, n=7, k=3

P. Bakowski 17
L5: générateur pséudo-aléatoire
Utilisez le circuit suivant pour la génération du
signal d'entrée:

Attention: Q1, Q2 doivent être initalisés à 1


P. Bakowski 18

Vous aimerez peut-être aussi