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

C++Builder Discussion :

Transform� de Fourrier


Sujet :

C++Builder

  1. #1
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut Transform� de Fourrier
    Bonjour � tous

    Je cherche � faire une transform� de fourrier sur un tableau de points (FFT en X et en Y).

    J'ai donc fait des recherche sur le forum et j'ai vu qu'il fallait utiliser FFTW.

    J'ai donc r�cup�r� FFTW, cr�� les lib pour Borland C++ builder (implib)

    J'ai coll� les dll dans C:\windows/System32
    les lib dans C:\Program Files\Borland\CBuilder6\lib
    le .h dans C:\Program Files\Borland\CBuilder6\Include

    Le probl�me, c'est que j'ai � la compilation des erreus external sur toute les fonction.

    D'ou peut venir mon pb.

    Merci d'avance pour votre aide

  2. #2
    Membre �clair�
    Inscrit en
    Octobre 2002
    Messages
    343
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par d�faut
    Voil� un source utilisant les s�rie de fourriers. Source. Je ne sais pas si c'est ce dont tu parles (FFTW), car je n'ai pas essay� d'installer.

    Bon courage

  3. #3
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Merci beaucoup, si ca marche tu me sauve car je cherche ca d�sesp�r�ment. Et je n'avais pas pens� � aller regarder dans les sources.

  4. #4
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Je viens de regarder la source et franchement, je patoge.

    Est-ce que quelqu'un l'aurais d�j� utilis� et pourrais m'expliquer comment �a marche.

    Sinon concernant l'utilisation de FFTW, est-ce que quelqu'un l'aurais d�j� utilis� sous C++ builder et pourrais me donner des tuyos pour arriver � l'utiliser.

    J'ai suivit les explications fournis pour l'installation et l'utilisation et j'ai toujours des external error sur toutes les fonctions fftw.

  5. #5
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Salut,
    j'ai trouv� ca, si ca peut t'aider.

  6. #6
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Merci � toi. En fait je l'avais d�j� trouver mais cela me pose un souci avec le type complexe car je ne sais pas quel type utilis� sous borland.

  7. #7
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Il existe la librairie "complex.h"
    il y a un exemple dans l'aide, si ca peut te faire avancer :
    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
    21
    22
    23
    24
     
     #include <iostream>
     #include <complex>
     
    using namespace std;
     int main(void)
     {
        double x = 3.1, y = 4.2;
        complex<double> z(x,y);
        cout << "z = " << z << "\n";
        cout << "  has real part = " << real(z) << "\n";
        cout << "  and imaginary part = " << imag(z) << "\n";
        cout << "z has complex conjugate = " << conj(z) << "\n";
     
        double mag = sqrt(norm(z));
        double ang = arg(z);
        cout << "The polar form of z is:\n";
        cout << "   magnitude = " << mag << "\n";
     
        cout << "   angle (in radians) = " << ang << "\n";
        cout << "Reconstructing z from its polar form gives:\n";
        cout << "   z = " << polar(mag,ang) << "\n";
        return 0;
     }

  8. #8
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Merci � toi Bandy Boy

    J'ai un soucis de traduction dans l'algo, � un endroit il y a :

    Et je ne vois pas comment traduire ca en C++

    Sinon concernant l'utilisation de FFTW sous C++ Builder, je renouvelle mon appel au secours, est-ce quelqu'un l'aurais d�j� utilis� et pourrais m'expliquer comment il a fait car j'ai toujours des externals errors sur chaque fonction.

  9. #9
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Tu as bien inclus les .lib dans ton projet ?

  10. #10
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Oui, je viens de le refaire compl�tement et c'est toujours pareil.

  11. #11
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Normalement, les unsolved extarnals - dont tu ne nous dis m�me pas un mot... - indiquent la biblioth�que qui manquent.
    Sinon, je compte faire un tuto sur la FFT, mais je n'ai pas eu le temps de finaliser la chose

  12. #12
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    J'ai mis dans le r�pertoire de mon appli les dll, les lib que j'ai g�n�r� et le .h
    J'ai inclus le .h dans ma classe ou je veux l'utiliser.
    J'ai ajouter les lib et le .h dans mon projet

    Voil� ma fonction

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    // Méthode qui permet de calculer la FFT
    // Indice Debut et IndiceFin sont des indices pour la portion de ma liste de points que je dois traiter. 
    // TCalculs est un classe qui contient plusieurs liste. 
    void __fastcall TOnglet::FFT(int IndiceDebut, int IndiceFin, TCalculs *LesCalculs)
    {
            // Variables pour le calculs
            double *in;
            fftw_complex *out;
            fftw_plan p;
     
            // Nombre de points
            int N = (IndiceFin - IndiceDebut) + 1;
     
            // On dimensionne le tableau d'entrée
            in = (double*) fftw_malloc(sizeof(double) * N);
     
            // On dimensionne le tableau de sortie
            out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
     
            // On rempli le tableau d'entrée
            for(int i = 0; i < N; i++)
            {
                    // On extrait le point X TPointD est une classe de points avec des coordonnées double
                    TPointD *Point = (TPointD *)(LesCalculs->ListeDesPoints->Items[i]);
     
                    in[i] = Point->x;
            }
     
            p = fftw_plan_dft_r2c_1d(N, in, out, FFTW_ESTIMATE);
     
            fftw_execute(p); /* repeat as needed*/
     
     
            ListeFFT = new TList();
     
            // On rempli le tableau de la FFT
            for(int i = 0; i < N; i++)
            {
                    ListeFFT->Add(out[i]);
            }
     
     
            fftw_destroy_plan(p);
            fftw_free(in); fftw_free(out);
    }
    et voil� les erreurs que j'ai

    [Lieur Erreur] Unresolved external '_fftw_malloc' referenced from C:\DOCUMENTS AND SETTINGS\CSIRANDRE\MES DOCUMENTS\PROGRAMMES\DERNI�RES VERSIONS\CALCULPLATEFORME\LIBRAIRIES\TONGLET3\TONGLET.OBJ
    [Lieur Erreur] Unresolved external '_fftw_plan_dft_r2c_1d' referenced from C:\DOCUMENTS AND SETTINGS\CSIRANDRE\MES DOCUMENTS\PROGRAMMES\DERNI�RES VERSIONS\CALCULPLATEFORME\LIBRAIRIES\TONGLET3\TONGLET.OBJ
    [Lieur Erreur] Unresolved external '_fftw_execute' referenced from C:\DOCUMENTS AND SETTINGS\CSIRANDRE\MES DOCUMENTS\PROGRAMMES\DERNI�RES VERSIONS\CALCULPLATEFORME\LIBRAIRIES\TONGLET3\TONGLET.OBJ
    [Lieur Erreur] Unresolved external '_fftw_destroy_plan' referenced from C:\DOCUMENTS AND SETTINGS\CSIRANDRE\MES DOCUMENTS\PROGRAMMES\DERNI�RES VERSIONS\CALCULPLATEFORME\LIBRAIRIES\TONGLET3\TONGLET.OBJ
    [Lieur Erreur] Unresolved external '_fftw_free' referenced from C:\DOCUMENTS AND SETTINGS\CSIRANDRE\MES DOCUMENTS\PROGRAMMES\DERNI�RES VERSIONS\CALCULPLATEFORME\LIBRAIRIES\TONGLET3\TONGLET.OBJ
    Pour �crire ce code, j'ai suivit un exemple dans un autre post de ce forum ici

  13. #13
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Je ne sais pas comment tu les ajoutes, en tout cas, tu ne lie clairement pas avec ce qu'il faut !
    Tu utilises quelle version de FFTW ? - single ou double precision ? -

  14. #14
    Membre �m�rite
    Avatar de Gouyon
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 138
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 138
    Billets dans le blog
    5
    Par d�faut Fftw
    Citation Envoy� par kurul1
    Je viens de regarder la source et franchement, je patoge.

    Est-ce que quelqu'un l'aurais d�j� utilis� et pourrais m'expliquer comment �a marche.

    Sinon concernant l'utilisation de FFTW, est-ce que quelqu'un l'aurais d�j� utilis� sous C++ builder et pourrais me donner des tuyos pour arriver � l'utiliser.

    J'ai suivit les explications fournis pour l'installation et l'utilisation et j'ai toujours des external error sur toutes les fonctions fftw.
    Salut

    J'ai utilis� FFTW avec visual studio 2005 sans souci (ce qui tient du miracle). Sous CBuilder je n'en ai pas encore eu l'occasion.
    Toute fois lorsque tu as t�l�charg� FFTW v�rifie bien que tu as charg� la bonne version car de m�moire je crois qu'il y a une version Linux.

    Pour ce qui est de la traduction en C de
    IF (i.LT.j)
    Je le traduirais par if(i<J) sau erreur �a resemble � du Fortran

    Enfin fait toujours tes calculs de FFT en double pr�cision il y a trop d'erreur sinon.

    Tu peux aussi allez voir � cette adresse http://www.numerical-recipes.com/nronline_switcher.html
    Il y a de tr�s bonnes explication sur la FFT (bon c'est en anglais)

    A+

    R�mi

  15. #15
    Membre confirm� Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Par d�faut
    Salut,

    je t'ai r�pondu sur ta question sur le forum Algorithme, et justement � propos de numerical recipces qui contient diff�rentes fonctions dont la fft.


    A+

  16. #16
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Je vais regarder ca Larimoise, Merci beaucoup

    Miles, justement je ne sais pas laquelle j'utilise, j'ai coller les trois dll et les trois lib dans mon r�pertoire et les ai ajouter toutes les 3 dans mon projet.

    Peut-tu me dire comment faire pour utiliser la bonne librairie et les bonnes fonctions car l� franchement je rame.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Transform�e de fourrier
    Par latsou dans le forum Algorithmes et structures de donn�es
    R�ponses: 1
    Dernier message: 21/04/2009, 10h06
  2. implementation de la transform� de Fourrier !
    Par The-msx dans le forum Traitement d'images
    R�ponses: 8
    Dernier message: 17/09/2008, 15h15
  3. Calculer une transformer de fourrier un peu sp�ciale
    Par 2click dans le forum Macros et VBA Excel
    R�ponses: 0
    Dernier message: 28/01/2008, 17h28
  4. Detection Audio - Transform�e de Fourrier
    Par Black-Ghost dans le forum C#
    R�ponses: 8
    Dernier message: 03/12/2007, 08h34
  5. [Signal] Transform� de Fourrier
    Par kurul1 dans le forum Algorithmes et structures de donn�es
    R�ponses: 4
    Dernier message: 06/12/2006, 08h30

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