transmettre deux séquences binaire
L’objectif de ce TP est transmettre deux séquences binaire de deux utilisateurs multiplexées dans le code et de récupérer à la réception la séquence désirée en utilisant le code approprié.
Application :
- L’émission :
- La simulation et la visualisation de 2 séquence binaire U1 ,U2 de 7 bits en format NRZ :
te=0.01;
tb=0.8;
eb=2;
fc=1/tb;
%1- la simulation des sequence binnaire %
u1=[0 1 0 0 1 1 1];
u2=[1 0 1 0 0 1 0];
% transformer en cod NRZ %
u11=2*u1-1
u22=2*u2-1
% Visualisation des 2 signiaux %
t=te:te:tb;
a=rectpulse(u11,80)
b=rectpulse(u22,80)
%—— Affichage ——%
%—- visualisation de u1 u2%
figure (1)
subplot(1,2,1)
plot(a)
subplot(1,2,2)
plot(b)
- exécution
- Modulation BPSK :
% representation de signal s(t) en modulation bpsk%
s1=[];
s2=[];
for i=1:7
for t=te:te:tb;
bia=u11(i);
bib=u22(i);
s1=[s1,(sqrt(2*eb))*bia*cos(2*pi*fc*t)];
s2=[s2,(sqrt(2*eb))*bib*cos(2*pi*fc*t)];
end;
end;
% —- affichage signale BPSK %
figure (2)
subplot(1,2,1)
plot(s1)
subplot(1,2,2)
plot(s2)
- Execution:
- Codage en utilisant la matrice de WALSH HADAMARD 8*8:
%—la matrice HADAMARD—– %
h=hadamard(8)
h2=h(2,:);
h3=h(3,:);
c=rectpulse(h22,10)
d=rectpulse(h33,10)
h22=[];
h33=[];
for i=1:7
h22=[h22,c]
h33=[h33,d]
end;
% codage%
co1=s1.*h22;
co2=s2.*h33;
% affichage du signale codé pour chaque utilisateur %
figure (3)
subplot(1,2,1)
plot(co1)
subplot(1,2,2)
plot(co2)
- Execution:
- La transmission du signal codé :
On doit d’abord multiplexer les signaux des deux utilisateurs
- Multiplexage :
%mux%
S=co1+co2;
- Addition du signal blanc gaussien additive :
% le bruit %
snr=0;
sb=awgn(S,snr);
Affichage du multipléxage et l’addition du signal+ bruit respectivement :
% mux%
figure (4)
plot(S)
% bruit %
figure (5)
plot(sb)
Exécution :
- La reception:
Dans la réception la restitution du signal se fait dans le sens inverse de la transmission c’est à dire le décodage, la démodulation
%decodage%
dec1=sb.*h22;
dec2=sb.*h33;
%6- demodulationn%
p1=[];
for i=1:7
for t=te:te:tb
p=(sqrt(2*eb))*cos(2*pi*fc*t);
p1=[p1,p];
end;
end;
dem1=dec1.*p1;
dem2=dec2.*p1;
Affichage
% decodage %
figure (6)
subplot(1,2,1)
plot(dec1)
subplot(1,2,2)
plot(dec2)
Execution:
% nbr dechantillons%
sum1 =zeros(1,7);
sum2 =zeros(1,7);
for i=1:1:7
for j=(((i-1)*80)+1):1:(i*80)
sum1(i)=sum1(i)+dem1(j);
sum2(i)=sum2(i)+dem2(j);
end;
end;
ri1=[];
ri2=[];
for i=1:7
for j=(i-1)*80+1:i*80
if sum1(i)>0
ri1(i)=1
else
ri1(i)=0
end;
if sum2(i)>0;
ri2(i)=1;
else
ri2(i)=0
end;
end;
end;
r1=rectpulse(ri1,80);
r2=rectpulse(ri2,80);
Affichage
%l’affichage de la sortie %
figure (7)
subplot(1,2,1)
plot(r1)
subplot(1,2,2)
plot(r2)
execution: