% Paramètres
fs = 1000; % Fréquence d'échantillonnage (Hz)
fc = 100; % Fréquence de la porteuse (Hz)
Tb = 1/100; % Durée d'un bit (s)
bits = [1 0 1 1 0 1 0 0]; % Séquence de bits à transmettre
t = 0:1/fs:Tb-1/fs; % Vecteur temps pour un bit
% Modulation DBPSK
phase = 0; % Phase initiale
signal_mod = []; % Signal modulé
for i = 1:length(bits)
if bits(i) == 1
phase = mod(phase + pi, 2*pi); % Changement de phase de 180
degrés
end
signal_mod = [signal_mod, cos(2*pi*fc*t + phase)]; % Signal DBPSK
end
% Affichage du signal modulé
figure;
plot(signal_mod);
title('Signal DBPSK modulé');
xlabel('Temps');
ylabel('Amplitude');
% Démodulation DBPSK
bits_demod = [];
phase_prev = 0;
for i = 1:length(bits)
phase_current = angle(sum(signal_mod((i-1)*length(t)+1:i*length(t)) .*
exp(-1j*2*pi*fc*t)));
delta_phase = mod(phase_current - phase_prev, 2*pi);
if delta_phase > pi/2 && delta_phase < 3*pi/2
bits_demod = [bits_demod, 1];
else
bits_demod = [bits_demod, 0];
end
phase_prev = phase_current;
end
% Affichage des bits démodulés
disp('Bits démodulés :');
disp(bits_demod);