Académique Documents
Professionnel Documents
Culture Documents
Laboratories
P. Bakowski
bako@ieee.org
P. Bakowski 1
DigiCom Labs
Il y a 5 laboratoires liés à la communication numérique
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.
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.
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.
P. Bakowski 5
L5: calcul du code CRC
Le message à encoder:
11010011101100
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.
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.
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
erreurs détectées
P. Bakowski 15
L5: modèle SIMULINK - simulation
Tb=1, n=7, k=3
er=0.1
erreurs détectées
P. Bakowski 16
L5: nouvel générateur CRC
temps de
simulation: 14*Tb
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: