Bonjour j'ai un projet sur les algorithmes d'estimation de canal je veux faire la simulation de LS et LMMSE mais les résultats obtenus ne permettent par de faire l'analyse de la performance de ces algorithmes . Si quelque peut me debloquer je lui serai reconnaissant merci
voici mon code matlab
clc
clear all
set(gcf,'color','w');
L = 5;
cp = 32;
EsN0dB = 0:5:40;
snr = 10.^(EsN0dB/10);
nombrePaquet = 200:100:1000;
beta = 17/9;
cFFT = 128; % sequence binaire de cFFT à envoyer
NT = cFFT + cp;
hModulator = comm.BPSKModulator('PhaseOffset',pi/2);
hDemod = comm.BPSKDemodulator('PhaseOffset',pi/2);
F = dftmtx(cFFT)/sqrt(cFFT);
%tableTER_LS = zeros(M,1);
tableTER_LS1 = zeros(length(EsN0dB),1);
bitError_LS = 0;
tableTER_LS = zeros(nombrePaquet(compteur),1);
tableTER_LMMSE = zeros(nombrePaquet(compteur),1);
for index = 1: nombrePaquet(compteur)
% géneration de la matrice de canal
h = randn(L,1)+1i*randn(L,1);
h = h/norm(h); % Normalisation
%H = fft(h,cFFT);
channel = canal(h,NT);
H = fft(channel,cFFT);
%génération de la cFFT de 256 bits
x1 = randi([0 1],cFFT,1);
xd = step(hModulator,x1);
x = F'*xd;
xout = [x(cFFT-cp+1:cFFT);x];
y = conv2(xout,channel,'same');
nt = randn(cFFT+cp,1)+1i*randn(cFFT+cp,1);
% y = recu(1:cFFT);
No = 10^(-EsN0dB(compteur)/10);
y = y + sqrt(No/2)*nt;
y = y(cp+1:cp+cFFT);
y = F*y;
y_LS = y./xd;
% demodulation de xx estimé
y_LSb = step(hDemod,y_LS);
Rhh = H*H';
w = Rhh/(Rhh+(beta/snr(compteur))*eye(cFFT));
HhatMMSE = w*y_LS;
yEstimeDem = step(hDemod,HhatMMSE);
% Calcul des erreurs binaires lors de la transmission
hError1 = comm.ErrorRate;
end
tableTER_LS1(compteur) = mean(tableTER_LS);
tableTER_LMMSE1(compteur) = mean(tableTER_LMMSE);
toc;
end
% Taux d'erreur bianire
disp('Algorithme LS');
disp('Bits erronées: '); disp(bitError_LS);
disp('Taux erreur binaire') ;disp(mean(tableTER_LS)*100);
semilogy(EsN0dB,tableTER_LS1,'r-s','LineWidth',2);
title('Comparaison des performances de LS et LMMSE en terme de TER');
hold on; grid on; xlabel('Es/NO (dB)'); ylabel('TER');
disp('Algorithme LMMSE');
disp('Bits erronées: '); disp(bitError_LMMSE);
disp('Taux erreur binaire') ;disp(mean(tableTER_LMMSE)*100);
semilogy(EsN0dB,tableTER_LMMSE1,'k-o','LineWidth',2);
title('Comparaison des performances de LS et LMMSE en terme de TER cFFT = 128');
legend('LS','LMMSE');%,'Theory-LS','Theory-LMMSE');