Code d'un ofdm avec matlab

ramroum -  
 lyes -
Bonjour,
svp j'ai besoin d'un code ofdm sous matlab , je veut un code clasique et simple aide mois svp
Configuration: Windows XP / Opera 9.80

1 réponse

  1. r@seng@n
     
    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
    1. rzali_27
       
      j'ai besoin du programe qui fait la synchronisation d'un signal OFDM à la
      0
    2. algérie
       
      merci bcp sur le programme
      0