Vous êtes sur la page 1sur 3

Routine_1) Réalisez une chaine émission/réception sans CP avec un canal BBAG (bruit blanc

additif gaussien) qui calculera le taux d’erreurs symboles. Vous comparerez en travail pratique
avec les performances théoriques de la QAM16.

**********************************************************************
**********************************************************************
clear all
close all
clc

% Nombre d'�tats de la QAM.


M = 16;
% Nombre de porteuses dans le symbole OFDM
Nb = 64;
%Nombre de symboles OFDM dans la simulation
NbSym = 2000;
% Tirage al�atoire d'entiers allant de 0 � M-1
R = randint(Nb*NbSym,1,M);
% Mise en constellation QAM.
X = qammod(R,M);

%mean(abs(X).^2)

% Cr�ation signal OFDM


x = zeros(size(X));

for index = 1:NbSym


% calcul i�me symbole OFDM
symbole=ifft(X((index-1)*Nb+1:index*Nb));
% sauvegarde du symbole i dans x
x((index-1)*Nb+1:index*Nb) = symbole;
end

x= x*sqrt(Nb); % normalisation IFFT

for (EbNo=1:14)
sigma=sqrt(10)*sqrt(0.125/(10^(EbNo/10))); % bruit No/2 par
dimension + normalisation QAM16

bruit = sigma*(randn(size(x)) + j*randn(size(x)));


xb = x + bruit;
xb= xb/sqrt(Nb); % normalisation FFT

for i = 1:NbSym
% d�codage du symbole i
y=fft(xb((i-1)*Nb+1:i*Nb));
% sauvegarde du i�me symbole d�cod�
Xdec((i-1)*Nb+1:i*Nb) = y;
end

% d�codage des symboles d�cod�s


Rdec=qamdemod(Xdec,M);

% Calcul du taux d'erreurs symbole


cnt_err = 0;

for i=1:Nb*NbSym
if Rdec(i) ~= R(i)
cnt_err = cnt_err+1;
end
end

TES(EbNo) = cnt_err / (Nb*NbSym)

end
% Calcul du taux d'erreurs symbole th�orique
for EbNo=1:14
EbNolin=10^(0.1*EbNo);
sous_racine= (3/(2*(M-1)))*log2(M)*EbNolin;
tess(EbNo)=1-(1-(1- 1/sqrt(M))*erfc(sqrt(sous_racine)))^2;
end
semilogy(tess,'r+')
hold on
semilogy(TES,'b+')

*****************************************************************************
*****************************************************************************

Routine_2) Réalisez une chaine émission/réception sans CP (16 symboles) pour un canal multi-
trajets [1 0.2].

*****************************************************************************
**
clear all
close all

% Nombre d'�tats de la QAM.


M = 16;
% Nombre de porteuses dans le symbole OFDM
Nb = 64;
%Nombre de symboles OFDM dans la simulation
NbSym = 1;

X = ones(Nb,1)*(1+j);

% Cr�ation signal OFDM


x = zeros(size(X));

for i = 1:NbSym
% calcul i�me symbole OFDM
symbole=ifft(X((i-1)*Nb+1:i*Nb));
% sauvegarde du symbole i dans x
x((i-1)*Nb+1:i*Nb) = symbole;
end

cmt = [1 0.2];
xrec = conv(cmt,x);

for index = 1:NbSym


% d�codage du symbole i
y=fft(xrec((index-1)*Nb+1:index*Nb));
% sauvegarde du i�me symbole d�cod�
Xdec((index-1)*Nb+1:index*Nb) = y;
end

freqz(cmt,1,1024,1); % r�ponse canal


repfreq=fft(cmt,64)
plot(abs(repfreq))

Xeq=Xdec./repfreq

Vous aimerez peut-être aussi