TP-telecommunications/TP1/TP1_1.m
2023-06-20 21:23:24 +02:00

48 lines
938 B
Matlab

clear;
close all;
Fe = 24000;
Te = 1/Fe;
Rb = 6000;
M = 2^1;
Ts = log2(M)/Rb;
Ns = floor(Ts/Te);
N = 20;
bits = randi([0, 1], 1, N);
T = (0:N*Ns/log2(M)-1) * Te;
X_m = 2 * bits - 1; % mapping
X_k = kron(X_m, [1 zeros(1, Ns-1)]); % Suréchantillonnage
h = ones(1, Ns); % réponse impulsionnelle rectangulaire
X_f = filter(h, 1, X_k); % produit de convolution (filtrage)
figure;
plot(T, X_f);
title("Signal transmis via le modulateur 1");
xlabel("Secondes (s)");
ylabel("Amplitude");
ylim([ -1.1 1.1 ]);
F = linspace(0, Fe/2, N);
DSP_theorique = sinc(Ts*F).^2;
DSP_numerique = pwelch(X_f);
F_num = linspace(0, Fe/2, length(DSP_numerique));
figure;
plot(F_num, DSP_numerique/max(smoothdata(DSP_numerique)));
hold;
plot(F, DSP_theorique);
title("DSP du signal transmis via le modulateur 1 et son équivalent théorique");
xlabel("Fréquence (Hz)");
ylabel("Amplitude");
ylim([ 0 2 ]);
legend("DSP numérique", "DSP théorique");