Transformée de fourier classique

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 658 fois - Téléchargée 32 fois

Contenu du snippet

Décomposotion en sinus et cosinus pour le traitement du signal (/!\ ce n'est pas la FFT)

Source / Exemple :


bool CxImage::DFT(int dir,long m,double *x1,double *y1,double *x2,double *y2)
{
   long i,k;
   double arg;
   double cosarg,sinarg;
   
   for (i=0;i<m;i++) {
      x2[i] = 0;
      y2[i] = 0;
      arg = - dir * 2.0 * 3.14159265358f * i / (double)m;
      for (k=0;k<m;k++) {
         cosarg = cos(k * arg);
         sinarg = sin(k * arg);
         x2[i] += (x1[k] * cosarg - y1[k] * sinarg);
         y2[i] += (x1[k] * sinarg + y1[k] * cosarg);
      }
   }
   
   /* Copy the data back */
   if (dir == 1) {
      for (i=0;i<m;i++) {
         x1[i] = x2[i] / m;
         y1[i] = y2[i] / m;
      }
   } else {
      for (i=0;i<m;i++) {
         x1[i] = x2[i];
         y1[i] = y2[i];
      }
   }
   
   return true;
}

A voir également

Ajouter un commentaire Commentaires
perig
Messages postés
358
Date d'inscription
vendredi 1 novembre 2002
Statut
Membre
Dernière intervention
5 septembre 2006

7 juin 2004 à 07:37
je crois avoir pigé,
dir c'est pour faire l'inverse ifft
c'est bien ca?
perig
Messages postés
358
Date d'inscription
vendredi 1 novembre 2002
Statut
Membre
Dernière intervention
5 septembre 2006

6 juin 2004 à 11:43
Merci pour ce source mais
pour le prototype,
"bool CxImage::DFT(int dir,long m,double *x1,double *y1,double *x2,double *y2)"

m c'est le nb d'échantillons
x1 c'est le tab des x
y1 le tab des y

mais
C’est quoi dir ?
Et a quoi correspond x2 et y2 a la fin du prog?
lpikachu58
Messages postés
351
Date d'inscription
samedi 2 février 2002
Statut
Membre
Dernière intervention
6 mai 2004
2
30 mars 2004 à 09:29
si mais cette transformée là est la décomposition classique en sinus cosinus et non la FFT avec l'algorithme du papillon
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
29 mars 2004 à 18:37
tu n'avais pas deja deposé une source dans le meme style?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.