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 :

FFTW : FFT et FFT inverse


Sujet :

Bibliothèques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 117
    Points : 61
    Points
    61
    Par défaut FFTW : FFT et FFT inverse
    Salut !

    J'ai un petit problème avec FFTW...

    Je souhaite faire une FFT normale des traitements sur les coefficients puis une FFT inverse (en gros pour faire un filtrage fréquenciel). Le problème est que quand je fais ma FFT puis ma FFT inverse sans faire de modifications sur les coefficients je ne retrombe pas sur les valeurs initiales ...

    Voici mon code, est-ce quelqu'un peut m'aider ?

    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
     
    	double* in;
    	fftw_complex *out;
    	fftw_plan fft;
    	fftw_plan fftInverse;
     
    	in = (double*) fftw_malloc(sizeof(double) * nbCol);
    	out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * nbCol);
     
    	fft = fftw_plan_dft_r2c_1d(nbCol, in, out, FFTW_ESTIMATE);
    	for(int j=0; j<nbCol; j++) in[j] = buffer[j];
    	fftw_execute(fft);
     
    	fftInverse = fftw_plan_dft_c2r_1d(nbCol, out, in, FFTW_ESTIMATE);
    	fftw_execute(fftInverse);
    	for(int j=0; j<nbCol; j++) buffer[j] = in[j];
     
    	fftw_destroy_plan(fft);
    	fftw_destroy_plan(fftInverse);
    	fftw_free(in); fftw_free(out);
    Et voilà les résultats que j'obtient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Echantillon initial :
    18.0881 - 25.4002 - 24.0148 - 9.39039 - 1.61638 - 7.31219 - 11.9304 - 7.08128 - 2.0782 - 5.31096 - 11.7765 - 12.8541 - 8.38978 - 5.61884 - 8.62069 - 15.3171 - 17.4723 - 9.62131 - 0.846675
     
    Echantillon final sans traitement après FFT inverse :
    343.673 - 482.605 - 456.281 - 178.417 - 30.7112 - 138.932 - 226.678 - 134.544 - 39.4858 - 100.908 - 223.753 - 244.227 - 159.406 - 106.758 - 163.793 - 291.025 - 331.974 - 182.805 - 16.0868

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Depuis le temps tu as peut être trouvé la réponse, en tout cas je réponds, ça fera pour les autres.

    La réponse au problème est ici :

    http://www.fftw.org/doc/Real_002dto_...ransform-Kinds

    FFTW computes unnormalized transforms: a transform followed by its inverse will result in the original data multiplied by N (or the product of the N's for each dimension, in multi-dimensions).
    a+

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

Discussions similaires

  1. [Débutant] FFT puis FFT inverse d'une gaussienne
    Par noel19 dans le forum Signal
    Réponses: 0
    Dernier message: 29/11/2013, 18h16
  2. FFT avec la bibli fftw
    Par mm2405 dans le forum Traitement d'images
    Réponses: 26
    Dernier message: 02/10/2007, 11h06
  3. FFT inverse
    Par sofiya dans le forum Signal
    Réponses: 9
    Dernier message: 23/05/2007, 15h25
  4. Code source de FFT et FFT inverse pour Delphi
    Par david_chardonnet dans le forum Delphi
    Réponses: 2
    Dernier message: 06/03/2007, 21h46
  5. FFT inverse, algorithme adapté ?
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 09/04/2006, 17h08

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