IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

comment marche fftw???


Sujet :

Bibliothèques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1
    Points : 2
    Points
    2
    Par défaut comment marche fftw???
    je cherche un moyen de faire marcher un logiciel qui est censé me calculer une fft de une ou plusieurs dimensions...or je ne comprend pas comment il marche.
    je travaille sous visual C++, mais de ce que j'ai compris, ca ne fonctionnerais pas avec visual...comment dois-je faire?
    http://www.fftw.org/
    j'ai essayé d'aller de partout sur ce site, récupérer le plus d'info possible, mais je ne trouve pas...

    j'ai aussi quelques lacunes en anglais, ce qui m'aide pas bien....
    si quelqu'un peut s'attarder sur mon probleme et m'aider un peu, merci d'avance

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Tu t'es surment trompé de forum, soit le forum C++ soit le forum visual C++ sont plus appropriés.

    Quoiqu'il en est, fftw n'est pas si compliqué que ça à utiliser, voici ce que j'avais utiliser pour tester si ça fonctionnait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    #include <fftw3.h>
    #include <stdlib.h>
     
    #define N 1024
    #define DEMI_PER 16
    #define AMPLITUDE 5
     
    void show_signal(double * in, unsigned long size)
    {
      unsigned long i;
     
      for( i = 0 ; i < size ; i++ )
        {
          fprintf(stdout," %f \n",in[i] );
        }
    }
     
    void show_fftw_complex(fftw_complex * in, unsigned long size)
    {
      unsigned long i;
     
      for( i = 0 ; i < size ; i++ )
        {
          fprintf(stdout,"%f \n",in[i][0]);
        }
    }
     
    int main ( int argc, char **argv)
    {
      double *in;
      unsigned long i,j = 0;
      fftw_complex * out;
      fftw_plan p;
     
      in = malloc( N * sizeof(double));
      out = fftw_malloc( N * sizeof(fftw_complex));
     
      /* Initialisation du plan de calcul pour la fft */
      p = fftw_plan_dft_r2c_1d(N,in,out,FFTW_ESTIMATE);
     
      /* Création d'un signal pseudo rectangle */
      for( i = 0 ; i < N ; i++)
        {
          if( i % DEMI_PER == 0 )
    	{
    	  if ( j == AMPLITUDE )
    	    j = 0;
    	  else
    	    j = AMPLITUDE;
    	}
          in[i] = j;
        }
     
      /* Affiche le signal d'entrée */
      show_signal(in,N);
     
      /* Calcule la fft */
      fftw_execute(p);
     
      /* Affiche la TF du signal d'entrée */
      show_fftw_complex(out,N/2);
     
      fftw_destroy_plan(p);
      free(in);
      fftw_free(out);
     
      return EXIT_SUCCESS;
     
    }
    D'un point de vue programmation ce n'est pas hyper propre mais ça permet de tester.

  3. #3
    Membre actif Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Points : 233
    Points
    233
    Par défaut
    Bonjour,

    j'essaye egalement d'ulitiser fftw. Dans mon cas c'est pour obtenir la transformée d'une image. J'ai lu les deux tutoriels de millie (enfin celui sur la transformé j'ai un peu eu du mal). Néanmoins, il doit me manquer une étape dans mon code, puisque j'obtiens des images avec des raies noires et blanches verticales.




    Cordialement
    trax

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Je pourrais voir ton code au niveau de la transformée ?
    Je ne répondrai à aucune question technique en privé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. wxWidget comment marche les scrollbar
    Par jonny_the_dog dans le forum wxWidgets
    Réponses: 1
    Dernier message: 16/10/2006, 09h25
  2. Comment marche les Skybox?
    Par wystan dans le forum OpenGL
    Réponses: 6
    Dernier message: 17/07/2006, 13h40
  3. Comment marche une ancre ?
    Par philippe du web dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 08/06/2006, 08h23
  4. Comment marche un union ?
    Par Fredri dans le forum Access
    Réponses: 4
    Dernier message: 10/01/2006, 17h46
  5. Comment marche GlutSwapBuffers() ?
    Par Sloughidog dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/09/2002, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo