IV. 2. SIMULATION D'UN EXEMPLE DE TRANSMISSION DES
DONNÉES
IV.2.1. Exemple de transmission d'une phrase
Dans ce paragraphe, nous allons simuler le transfert de la phrase
suivante : « j'ai lu le livre. Magnifique! ». Le tableau ci-dessous
va aider à mieux expliciter cette simulation.
Dans le codage, chaque caractère de la phrase est
codé suivant le code ASCII. Ainsi sous forme de tableau,
représentons le code de chaque caractère à la source de
transfert. Nous avons la situation suivante :
~ 53 ~
Caractère
|
Code en
binaire
|
Equivalent en
décimal
|
Raccourci clavier
|
Alt+code décimal
|
J
|
01001010
|
74
|
Alt + 74
|
J
|
'
|
00100111
|
39
|
Alt + 39
|
'
|
a
|
01100001
|
97
|
Alt + 97
|
a
|
i
|
01101001
|
105
|
Alt + 105
|
i
|
|
00100000
|
32
|
Alt + 32
|
|
l
|
01101100
|
108
|
Alt +108
|
l
|
u
|
01110101
|
117
|
Alt + 117
|
u
|
|
00100000
|
32
|
Alt + 32
|
|
l
|
01101100
|
108
|
Alt +108
|
l
|
e
|
01100101
|
101
|
Alt + 101
|
e
|
|
00100000
|
32
|
Alt + 32
|
|
l
|
01101100
|
108
|
Alt +108
|
l
|
i
|
01101001
|
105
|
Alt + 105
|
i
|
v
|
01110110
|
118
|
Alt + 118
|
v
|
r
|
01110010
|
114
|
Alt + 114
|
r
|
e
|
01100101
|
101
|
Alt + 101
|
e
|
.
|
00101110
|
46
|
Alt + 46
|
.
|
|
00100000
|
32
|
Alt + 32
|
|
M
|
01001101
|
77
|
Alt + 77
|
M
|
a
|
01100001
|
97
|
Alt + 97
|
a
|
g
|
01100111
|
103
|
Alt + 103
|
g
|
n
|
01101110
|
110
|
Alt + 110
|
n
|
i
|
01101001
|
105
|
Alt + 105
|
i
|
f
|
01100110
|
102
|
Alt + 102
|
f
|
i
|
01101001
|
105
|
Alt + 105
|
i
|
q
|
01110001
|
113
|
Alt + 113
|
q
|
u
|
01110101
|
117
|
Alt + 117
|
u
|
e
|
01100101
|
101
|
Alt + 101
|
e
|
|
00100000
|
32
|
Alt + 32
|
|
!
|
00100001
|
33
|
Alt + 33
|
!
|
~ 54 ~
Chaque caractère codé à la source de
transfert est envoyé dans le réseau. Notons que dans le cas d'un
réseau téléphonique, l'application immédiate de ce
que nous expliquons ci-haut est le transfert d'un sms ou l'envoi d'un sms d'un
correspond à un autre dans le réseau ou en dehors du
réseau.
IV.2.2. Simulation de la transmission en Matlab
La simulation de ce programme exige la donnée de la
valeur de certains paramètres : m et le message à transmettre en
binaire. P étant une constante dont la valeur est 2, n est fonction de m
et k est fonction de n et de m.
Le programme écrit en Matlab est le suivant :
function encodedmsg=hamc(m,msg)
% m est un entier positif, msg= message en binaire de
longueur ((2^m-1)-m)
% code de hamming, encodage
p=2; n=2^(m)-1; k=n-m;
% polynôme générateur
if ( (p == 2) & (m <= 24) )
switch m
case 1 pol = [1 1];
1 1];
|
|
|
|
1 0
|
1];
|
|
|
|
1 0
|
0 1];
|
|
|
0 1
|
0 0
|
1];
|
|
|
1 0
|
0 0
|
0 1];
|
|
0 0
|
1 0
|
0 0
|
1];
|
|
0 1
|
1 1
|
0 0
|
0 1];
|
0 0
|
0 1
|
0 0
|
0 0
|
1];
|
0 0
|
1 0
|
0 0
|
0 0
|
0 1];
|
0 1
|
0 0
|
0 0
|
0 0
|
0 0 1];
|
1 0
|
0 1
|
0 1
|
0 0
|
0 0 0 1];
|
1 0
|
1 1
|
0 0
|
0 0
|
0 0 0 0 1];
|
1 0
|
0 0
|
0 1
|
0 0
|
0 1 0 0 0 1];
|
1 0
|
0 0
|
0 0
|
0 0
|
0 0 0 0 0 0 1];
|
1 0
|
1 0
|
0 0
|
0 0
|
0 0 0 1 0 0 0 1];
|
case 2 pol = [1
case 3 pol = [1
case 4 pol = [1
case 5 pol = [1
case 6 pol = [1
case 7 pol = [1
case 8 pol = [1
case 9 pol = [1
case 10 pol = [1
case 11 pol = [1
case 12 pol = [1
case 13 pol = [1
case 14 pol = [1
case 15 pol = [1
case 16 pol = [1
end
end
~ 55 ~
% implémentation du circuit de
codage;
b=zeros (1, m);
g= pol ;
c=b;
for i=length(msg):-1:1
u1=xor(msg(i),c(m-1)); c(1)=xor(b(1),g(2)*u1); b(1)=u1;
for j=2:m-1
c(j)=xor(b(j),g(j+1)*u1); b(j)=c(j-1);
end
c(m)=b(m); b(m)=c(m-1); end
encodedmsg=[b msg];
Simulation
Choisir m=3. Soit à transférer la lettre a dans un
réseau. Nous connaissons le code binaire de la lettre a, c'est
01100001.
Etape à suivre :
1. ouvrir MATLAB.
2. ouvrir le fichier hamc(m, msg) où m est 3 et msg est
le code de la lettre a.
3. Exécuter le fichier hamc (m,msg)
4. La lettre a est transmise sans erreur. >> hamc
(2,01100001)
ans = 1 1 1100001 >> hamc (3,01100001)
ans = 1 1 0 1100001 >> hamc (4,01100001)
ans = 1 1 0 0 1100001 >> hamc (5,01100001)
ans = 1 0 1 0 0 1100001 >> hamc (6,01100001)
ans = 1 1 0 0 0 0 1100001 >> hamc (7,01100001)
ans = 1 0 0 1 0 0 0 1100001
~ 56 ~
|