begin process at 2010 02 09 20:11:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > TRANSFORMÉE DE FOURIER CLASSIQUE

TRANSFORMÉE DE FOURIER CLASSIQUE


 Description

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

Source

  • 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;
  • }
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;
}



 Sources du même auteur

Source avec Zip COMMUNIQUER AVEC UN GPS (MFC)
COMMUNICATION SUR RS232 AVEC UN MICROCONTROLEUR
Source avec Zip UNE ONDELETTE POUR LE TRAITEMENT DU SIGNAL NUMÉRIQUE
Source avec Zip UN TUTORIAL POUR LA CRÉATION DE DLL SOUS VISUAL C++ 6.0
TESTER SI UN TABLEAU EST UNE PUISSANCE DE 2

 Sources de la même categorie

Source avec Zip OPERATION SUR LES MATRICES CARREES AVEC CLASSE GENERIQUE par chouhad
Source avec une capture OPÉRATIONS SUR MATRICES C++ par Minilogus
[DEV-C++] CALCUL DE LA RACINE CARRÉE D'UN RÉEL par Jhep
PROGRAMME QUI CALCUL LE PPCM ET LE PGCD par AnoSantino
EVALUER UNE EXPRESSION MATHÉMATIQUE par begueradj

Commentaires et avis

Commentaire de LordBob le 29/03/2004 18:37:45

tu n'avais pas deja deposé une source dans le meme style?

Commentaire de lpikachu58 le 30/03/2004 09:29:20

si mais cette transformée là est la décomposition classique en sinus cosinus et non la FFT avec l'algorithme du papillon

Commentaire de perig le 06/06/2004 11:43:37

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?

Commentaire de perig le 07/06/2004 07:37:58

je crois avoir pigé,
dir c'est pour faire l'inverse ifft
c'est bien ca?

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,756 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales