1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
%Initialisation des variables dans le workspace
Tb =1; %Temps de génération d'un bit
fs = 100; %Frequence d'echantillonnage
L=length(0: (Tb/fs): Tb );
%Generation d'une suite binaire aléatoire (0 et 1)
Sb=rand(1,50); %On génére aléatoirement 50 valeurs
Sb=round(Sb); %On discrétise les valeurs pour obtenir une suite binaire
Sb=round(Sb)*2; %Opération de transposition au code NRZ
Sb=Sb-1; %Opération de transposition au code NRZ
Sb=(Sb+1)/2; %On récupére un signal numérique à deux états: 0 et 1 en amplitude
%Signal numérique représentant le signal binaire à transmettre - Représentation physique de la suite binaire
y=ones(1,L);
nrz=kron(Sb,y);
subplot(2,1,1);
plot(nrz,'r');
axis([0 2000 -0.5 1.5]);
title('Signal numérique');
%Modulation FSK
Tb = 1; %Temps de génération d'un bit
fs = 100; %Frequence d'echantillonnage
fc =[1 10]; %Frequences correspondant aux états haut et bas du signal numérique
%Signal modulé FSK
L=length(0:(Tb/fs):Tb);
signal = ones(1,L);
for k = 1:length(Sb);
f = fc(Sb(k)+1); %Choix de la fréquence d'oscillation en fonction de k et des valeurs de Sb(k) (0 ou 1)
%Si Sb(k)=1, Sb(k)+1=2 => f=10, Si Sb(k)=0, Sb(k)+1=1 => f=1
signal((k-1)*L+1: k*L) = cos(2*pi*f*(0 :(Tb/fs):Tb));
subplot(2,1,2);
plot(signal,'g');
axis([0 2000 -1.5 1.5]);
title('Modulation FSK');
end |
Partager