Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > Autres
Autres Vos questions sur les autres bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/02/2013, 21h07   #1
bobby4078
Invité de passage
 
Inscription : février 2013
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2013
Messages : 3
Points : 0
Points : 0
Par défaut [FFTW3] - FFT Inverse

Bonjour,

J'apprends à utiliser la librairie FFTW3 pour réaliser des transformées de Fourier, et je bloque sur la transformée inverse.

J'apprends sur un exemple simple, où je ne donne en entrée qu'un signal continue. J'obtiens correctement la FFT avec en sortie une seule composante en f = 0. A partir de se signal fréquentiel, je souhaiterais retrouvé mon signal continue de départ, mais je n'y arrive pas. Voici mon code :

Code :
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
 
fftw_complex* imgIn;
    fftw_complex* imgIn2;
    fftw_complex* imgOut;
    fftw_plan plan;
 
    int taille = 100;
    int i;
 
	 //Allocation des entrées et sorties
    imgIn = fftw_malloc(sizeof(fftw_complex)*taille);
    imgIn2 = fftw_malloc(sizeof(fftw_complex)*taille);
    imgOut = fftw_malloc(sizeof(fftw_complex)*taille);
 
    //Remplissage des données d'entrées pour le calcul de la FFT
    for(i = 0 ; i < taille ; i++){
    	imgIn[i][0] = 1.0;
    	imgIn[i][1] = 0.0;
    }
 
    //Plan d'execution
    plan = fftw_plan_dft_2d(taille/10, taille/10, imgIn, imgOut, FFTW_FORWARD, FFTW_ESTIMATE);
 
	//Execute la FFT
	fftw_execute(plan);
 
	//Inverse
    plan = fftw_plan_dft_2d(taille/10, taille/10, imgOut, imgIn2, FFTW_BACKWARD, FFTW_ESTIMATE);
 
	for(i = 0 ; i < taille ; i++){
		printf("%d : %g\n%d : %g\n", i, imgIn2[i][0], i, imgIn2[i][1]);
	}
Mon tableau imgIn2 n'est composé que de 0... quelqu'un pour m'aider ?

Merci
bobby4078 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h15.


 
 
 
 
Partenaires

Hébergement Web