Coder la transformée de Fourier Rapide 2D
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Coder la transformée de Fourier Rapide 2D



  1. #1
    Dahodge

    Coder la transformée de Fourier Rapide 2D


    ------

    Bonjour,

    Pour un projet de semestre on nous a demandé de coder la transformée de Fourier normale, rapide 1D et rapide 2D sous Matlab.

    La Fourier normale fonctionne à merveille, tandis que la rapide pas du tout.

    En fait, je suis proche d'un résultat propre mais pas optimal.

    (Voir pièce-jointe. Figure 1 : image de base, figure 2 : TF normale, figure 3 : TFI normale, figure 4 :TFR, figure 5 : TFRI).

    J'ai recopié exactement la formule de mon professeur donnée en TD sans succès, j'aimerai alors comprendre mon erreur malgré moult tentatives de résolutions.

    La transformée 1D :

    Code:
    function FIR = ftr(I, sens)
    
        %sens = 1 --> transformée, sens = autre valeur --> transformée inverse
    
        [n,m] = size(I);
            
        I = double(I);
        
        FIR = zeros (m,1);
        
        for u = 1 : m
            for x = 1 : m/2;
                if (sens == 1)
                    FIR(u) = FIR(u) + I(2*(x))*exp((-2*1i*pi*(u-1)*(x-1))/(m/2)) + exp((-2*1i*pi*u)/m)*I(2*x-1)*exp((-2*1i*pi*(u-1)*(x-1))/(m/2));                 
                else
                     FIR(u) = FIR(u) + (1/m)*I(2*(x))*exp((2*1i*pi*(u-1)*(x-1))/(m/2)) + (1/m)*exp((-2*1i*pi*u)/m)*I(2*x-1)*exp((2*1i*pi*(u-1)*(x-1))/(m/2));                  
                end
            end               
        end
    La transformée 2D :

    Code:
    function temp2 = ftr2d(I, sens)
    
        [m,n] = size(I);
        
        temp1 = zeros(m,n);
        temp2 = zeros(m,n);
        
        
        
        for k = 1 : m
            temp1(k,:) = ftr(I(k,:),sens);
        end
            
         for l = 1 : n
             temp2(:,l) = ftr(transpose(temp1(:,l)),sens);
         end
        
           
    end
    Un conseil ou une idée est la bienvenue, merci

    -----
    Images attachées Images attachées  

Discussions similaires

  1. Transformée fourier rapide
    Par membreComplexe12 dans le forum Physique
    Réponses: 27
    Dernier message: 15/05/2013, 22h35
  2. Passage de la transformée de Fourier , à la transformée de Fourier discrète.
    Par Dony64 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 11/02/2013, 14h54
  3. Différence entre Transformée en cosinus et Transformée de Fourier
    Par fiatlux dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 10/08/2012, 18h12
  4. Stft, tfct (Short-Time Fourier Transform, transformée de Fourier à court terme)
    Par invite4ee6cce0 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 24/08/2011, 12h17
  5. Transformée de Fourier plus, Transformée de Fourier moins.
    Par Romainco dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 29/10/2008, 07h10