Transformée de fourier

Signaler
Messages postés
2
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
20 mai 2003
-
Messages postés
4
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
24 mars 2005
-
:-p
bonjour a tous je voudrais un coup de main pour un projet informatique d' ecole d ingenieur!
l' algorithme de la transformée de fourier(systeme de fourier) en langage c!!!!
merci d avance

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Alors comme d'hab:
google "transformée de fourier" = 9920 reponses limitee french, sinon...
BruNews, ciao...
Messages postés
252
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
1 mai 2005

y'a meme une source sur le site qui fait ca tres bien ... cherche avec FFT, ca devrait marcher ...
Messages postés
4
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
24 mars 2005

salut je suis dans la meme galere que toi alors si tu trouve envoi moi les réponse par e-mail stp muzamfr@hotmail.com

zamzam
Messages postés
2
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
6 juin 2005

moi aussi !!

Si vs trouvez .... jujubilation@hotmail.com

Merci ...
Messages postés
4
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
24 mars 2005

/* *************************** TFD ****************************
CETTE FONCTION REMPLI LA VARIABLE POINTEE PAR SIGNAL (UN TABLEAU)
PAR LE RESULTAT DE LA TRANSFORMEE DE FOURIER DISCRETE */



#define pi 3.141592654


void TFD(float *signal,int N,float pas){


/* DECLARATION DES VARIABLES */
char nomfichier[]="TFD.dat";
int i,j,x=0,u;
float *S;
float *y;
float *z;
FILE *f2;

/* ALLOCATION DE LA MEMOIRE */
if((S=(float *)calloc(N,sizeof(float)))!=NULL);
else{
printf("Erreur d'allocation de la mémoire");
exit(0);
}
if((y=(float *)calloc(N,sizeof(float)))!=NULL);
else{
printf("Erreur d'allocation de la mémoire");
exit(0);
}
if((z=(float *)calloc(N,sizeof(float)))!=NULL);
else{
printf("Erreur d'allocation de la mémoire");
exit(0);
}

/* CREATION ET OUVERTURE DU FICHIER EN MODE ECRITURE */
f2=fopen(nomfichier, "w+");
fmanip(f2,nomfichier); /* fmanip TEST LA BONNE OUVERTURE DU FICHIER */

/* CALCULE DE LA TFD */
for (i=0;i<N;i++){
y[i]=0; /* PARTIE REELLE */
z[i]=0; /* PARTIE IMAGINAIRE */
for(j=0;j<N;j++){
y[i]=signal[j]*cos(j*i*pi/N)+y[i];
z[i]=signal[j]*sin(j*i*pi/N)+z[i];
}
S[i]=sqrt((y[i]*y[i])+(z[i]*z[i])); /* RESULTAT DE LA TFD */
}

/* REMPLISSAGE DU FICHIER "TFD.dat" */
for (i=0;i<2*N;i++){
if(i<N){
fprintf(f2,"%f\t\t%f\t\n",(i/(pas*N))/2,S[i]*pas);}
/* SYMETRIE DES RESULTATS DE LA TFD ET PLACEMENT DANS FICHIERS */
else{
u=i-x;
fprintf(f2,"%f\t\t%f\t\n",(i/(pas*N))/2,S[u]*pas);
x=(x+2);}
}

/* FERMETURE DU FICHIER "TFD.dat" */
fclose(f2);

return; /* CETTE FONCTION NE RENVOI RIEN */
}

zamzam
Messages postés
4
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
24 mars 2005

c fait mon pote ta plus qu'a comprendre la TFD

zamzam