Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

FFT avec complexe - réel



  1. #1
    keul
    Bonjour

    J'ai une fonction en PHP qui permet de calculer la FFT sur des echantiloons de signaux, mais les echantllons sont en complexe (1 + 2i) or, mon signal est un signal carré (les echantillons ont donc la valeur 0 ou 1) et je ne sais pas comment faire por passer de l'un à l'autre
    si je met i=0, le resultat voulu n'est pas obtenu
    (le script PHP est sur http://www.mathewbinkley.org/fft.php pour ceux que ca interesse)

    sinon, si vous savez coment faire une FFT sur des echantillon (1024 ou 4096) binaires sans utiliser des intégrales (juste avec sinus, consinus et boufles for... )?

    -----

  2. #2
    azt
    Il y a la méthode de Tukey et Cooley pour effectuer des FFT.
    Voilà un bout de programme montrant une application de cet algorithme :
    [code:1:6fcc86d63f]void fft ( int n, complex<long double> X[], complex<long double> RES[])
    // n est une puissance de 2
    { complex<long double> * pair, *impair, *U, *V ;
    int i, i1;
    long double alphai, alpha;
    if(n == 1) RES[0] = X[0];
    else{
    pair = new complex<long double> [n/2];
    impair = new complex<long double> [n/2];
    U = new complex<long double> [n/2];
    V = new complex<long double> [n/2];
    for( i = 0; i<n/2 ; ++i){
    pair[i] = X[2*i];i
    impair[i] = X[2*i+1];
    }
    fft( n/2, pair, U);
    fft( n/2, impair, V);
    alpha = 2*pi/n;
    for( i= 0;i<= n-1; ++i){
    alphai = alpha*i;
    i1 = i % ( n/2 );
    complex<long double>tau (cosl(alphai), sinl(alphai));
    RES[i]= U[i1] + tau * V[i1];
    }
    delete pair;
    delete impair;
    delete U;
    delete V;
    }
    }
    [/code:1:6fcc86d63f]

    Il n'est pas de moi, je vais rechercher le site d'ou il vient. Le temps que je retourne tous mes fichiers...

  3. #3
    azt
    J'ai retrouvé rapidement, voilà le site interessant :
    http://brassens.upmf-grenoble.fr/IMS...r/Fourier.html

    si vous savez coment faire une FFT sur des echantillon (1024 ou 4096) binaires sans utiliser des intégrales (juste avec sinus, consinus et boufles for... )?
    Ben la FFT c'est sans intégrale, c'est pour cela qu'elle est rapide, il n'y a que des additions et des multiplications.

  4. #4
    keul
    Wah kooool

    merci BEAUCOUP

Sur le même thème :

Discussions similaires

  1. complexe: réel, imaginaire pur, nul
    Par zaza05479 dans le forum Mathématiques du collège et du lycée
    Réponses: 10
    Dernier message: 13/06/2010, 11h45
  2. nombre réel avec CC5X
    Par chris_69 dans le forum Électronique
    Réponses: 16
    Dernier message: 02/11/2007, 23h16
  3. Complexe réel
    Par aNyFuTuRe- dans le forum Mathématiques du supérieur
    Réponses: 12
    Dernier message: 09/09/2007, 23h40
  4. quelle puissance pour passer de complexe à réel ?
    Par YABON dans le forum Mathématiques du collège et du lycée
    Réponses: 13
    Dernier message: 16/03/2007, 21h13
  5. indice de refraction: complexe ou reel
    Par L'entropathe fou dans le forum Physique
    Réponses: 2
    Dernier message: 05/05/2005, 21h50