Vous êtes sur la page 1sur 2

Université de Bordj Bou Arréridj Année Universitaire 2020/2021

Faculté ST
Département d’Electronique
Tp-03-01 CN L3-Télécommunications Pr. Khaled ROUABAH

Modulation OOK
% Ce programme permet de moduler et de démoduler un signal informatif par une
modulation OOK (Tout ou rien)

clc;
clear all;
close all;

% Génération d’une séquence binaire


x=randint(1,20) ;
% Durée du bit :
bp=.0000001;
% Mise en forme
% Codage RZ unipolaire
Sig=[];
% Nombre d’échantillons par bit :
N_1=100 ;
for n=1:length(x)
if x(n)==1;
se=ones(1,N_1);
else x(n)==0;
se=zeros(1,N_1);
end
Sig=[Sig se];
end
% Génération du vecteur temps.
t1=(0:N_1*length(x)-1)*bp/N_1;
figure
% Représentation de l'information binaire codé
subplot(3,1,1);
plot(t1,Sig,'lineWidth',2.5);grid on;
ylabel('amplitude(volt)');
xlabel(' Temps(sec)');
title('Signal émis');

%XXXXXXXXXXXXXXXXXXXXXXX modulation OOK XXXXXXXXXXXXXXXXXXXXXXXXX%


% Amplitude de la porteuse pour le bit ‘1’ :
A1=10;
% Amplitude de la porteuse pour le bit ‘0’ :
A2=0;
% Taux de bit :
br=1/bp;
% Fréquence de la porteuse :
% Cette fréquence est 5 fois le taux de bit.
f=br*5;
% Vecteur temps du signal modulé
t2=(0:N_1-1)*bp/N_1;
ss=length(t2);
m=[];
for (i=1:1:length(x))

Page 1 sur 2
Université de Bordj Bou Arréridj Année Universitaire 2020/2021
Faculté ST
Département d’Electronique
Tp-03-01 CN L3-Télécommunications Pr. Khaled ROUABAH

Modulation OOK
if (x(i)==1)
y=A1*cos(2*pi*f*t2);
else
y=A2*cos(2*pi*f*t2);
end
m=[m y];
end

% Représentation du signal modulé


subplot(3,1,2);
plot(t1,m);
xlabel('Temps(sec)');
ylabel('Amplitude(volt)');
title('Signal modulé');

%XXXXXXXXXXXXXXXXXXXX Démodulation OOK XXXXXXXXXXXXXXXXXXXXXXXXXXXXX


mn=[];
% Une boucle sur la taille du signal modulé
% Dans cette boucle, on réalise la démodulation et
% le décodage NRZ.
for n=N_1:N_1:length(m)
% Génération de la Porteuse locale
y=cos(2*pi*f*t2);
% Multiplication du signal modulé par la porteuse locale
mm=y.*m((n-(N_1-1)):n);
% intregation
z=trapz(t2,mm);
zz=round((2*z/bp));
% Seuil de décision = (A1+A2)/2=7.5
if(zz>7.5)
a=1;
else
a=0;
end
mn=[mn a];
end

% Représentation de la séquence binaire

subplot(3,1,3)
stem(1:length (mn),mn,'LineWidth',2.5);grid on;
xlabel('Indice du bit');
ylabel('Niveau Logique');
title('Séquence binaire obtenue après démodulation');

Page 2 sur 2

Vous aimerez peut-être aussi