Code d'un ofdm avec matlab

[Fermé]
Signaler
-
 lyes -
Bonjour,
svp j'ai besoin d'un code ofdm sous matlab , je veut un code clasique et simple aide mois svp

1 réponse

modulateur OFDM:
% 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 = 10;  
% Tirage aléatoire d'entiers allant de 0 à M-1  
R = randint(Nb*NbSym,1,M);  
% Mise en constellation QAM.  
[I Q] = qaskenco(R,M);  
X = I+j*Q; scatterplot(X); figure  
% Création signal OFDM  
x = zeros(size(X));  
for ind = 1:NbSym  
% calcul ième symbole OFDM  
symbole=ifft(X((ind-1)*Nb+1:ind*Nb));  
% sauvegarde du symbole ind dans x  
x((ind-1)*Nb+1:ind*Nb) = symbole;  
end  
subplot(2,1,1); plot(real(x))  
title('partie réelle de x')  
subplot(2,1,2); plot(imag(x))  
title('partie imaginaire de x')


Démodulateur OFDM:
% ajout de bruit complexe 
x = x + 0.06*(randn(size(x)) + j*randn(size(x))); 
for ind = 1:NbSym 
% décodage du symbole ind 
y=fft(x((ind-1)*Nb+1:ind*Nb)); 
% sauvegarde du ième symbole décodé 
Xdec((ind-1)*Nb+1:ind*Nb) = y; 
end 
scatterplot(Xdec) 
% décodage des symboles décodés 
Rdec=qaskdeco(real(Xdec), imag(Xdec), M); 
% Calcul du taux d'erreurs symbole 
cnt_err = 0; 
for ind=1:Nb*NbSym 
if Rdec(ind) ~= R(ind) 
cnt_err = cnt_err+1; 
end 
end 
TES = cnt_err / (Nb*NbSym)




(Source : Modulations Multiporteuses : C. ALEXANDRE/ D. LE RUYET)
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

merci bcp sur le programme
c'est quoi la variable j il m'a signaler que c'est une erreur
j c'est ke nombre complexe
tu essai i au lieu de j
Messages postés
1
Date d'inscription
vendredi 10 avril 2015
Statut
Membre
Dernière intervention
10 avril 2015

Bonjour,
svp j'ai besoin d'un code mimo-ofdm utilisant stbc sous matlab ,aide mois svp
et la porteuse elle est ou f0 dans ton programe ta fait les sous porteuse mais comment modulé la porteuse