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

Traitement d'images Discussion :

Transformée de Fourier : comment visualiser le spectre ?


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut Transformée de Fourier : comment visualiser le spectre ?
    Bonjour,

    Je développe actuellement un algo pour calculer une transformée de Fourier, à partir d'un ensemble de valeurs.

    Jusque là, ça marche, sauf qu'après, une fois que j'ai les valeurs des coefficients, je ne sais pas comment tracer le graphe : amplitude en fonction de la fréquence (le spectre quoi). (C'est pas un problème de programmation, c'est juste que je ne connais pas les équations )

    Exemple :
    input : 1,2,3,4
    output : 5, -1+i, -1, -1-i

    OK !
    Mais comment tracer le graphe Amplitude = f( Hz ) ?

    J'ai cherché sur le net des documents, mais j'ai rien trouvé qui me convienne.
    Avez vous des liens svp ? ou des explications ?

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Par défaut
    Déjà, à moins que tu fasse ton graphe en 3D, t'es obligé de prendre le module des coefficients. En gros ce que t'obtiens c'est une discrétisation du spectre. Il y a plein de façon de faire. Tu peux décider de relier deux points par un segment de droite, ou par une courbe du second degré ou... ou simplement faire ca en mode histogramme...

  3. #3
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Attention la FT transforme un tableau de nombres complexes en un autre tableau de nombres complexes.
    Il peut y avoir des conditions non formulées qui déterminent ce que tu dois considérer en sortie. Ainsi la fonction dont tu parles est en fait :
    1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,....
    Ce que tu dois tracer dépend de ton problème physique de départ.
    Celà peut être l'amplitude et la phase de chaque complexe ou partie réelle et partie imaginaire ou densité de puissance (=carré de l'amplitude)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    Merci à vous


    Donc l'amplitude vaut An = sqrt(an² + bn²).
    avec an la partie réelle et bn la partie imaginaire

    Ok, c'est bien ce que j'avais fait.
    De même, la phase est définis par
    tan(Phi) = bn/an <=> Phi = arctan(bn/an)
    et la fréquence
    f = 1/(N * dt)
    où N est le nombre de valeurs (ici, 4) et dt l'intervalle de temps entre 2 mesures.

    On sait que le signal est donné par la somme des harmoniques.
    La n-ième harmonique s'écrit
    An*cos(n*2*Pi*f*t - Phi)

    Pourtant, lorsque je trace :

    Ao + An * cos(2*Pi*f*t - arctan(bn/an)) + An * cos(2*2*Pi*f*t - arctan(bn/an)) + ...

    je ne retrouve pas du tout mon signal d'origine !




    @Nebulix : d'accord. Mais comment savoir ce que je dois choisir ?
    Moi, j'ai un ensemble de valeurs (réelles) et je veux approcher la courbe grâce à fourier, et aussi avoir son spectre (sous forme d'histogramme)

  5. #5
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    La fonction arctan te renvoie une valeur entre -pi/2 et pi/2 alors que la phase de -1-i est -3*pi/4
    Comment savoir ce que tu dois choisir ? Ce là n'a rien avoir avec l'informatique mais avec le problème physique qui t'a amené à ce calcul

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Ce là n'a rien avoir avec l'informatique mais avec le problème physique qui t'a amené à ce calcul
    Oui, je suis d'accord, mais je n'ai justement aucune idée de ce que je dois utiliser comme valeurs

    Mais peut être pourrez-vous me répondre.

    En fait, le signal sur lequel je travaille est un son. Mes valeurs sont donc l'amplitude du son en fonction du temps.
    Et j'ai besoin de fourier pour tracer l'amplitude en fonction de la fréquence.

    Ma question est : comment exploiter les données issues de fourier pour tracer ce graphe (l'amplitude en fonction de la fréquence (sous forme d'histogramme par exemple)).

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Par défaut
    Comme l'as dit Nebulix, c'est à toi de choisir! Tu dois d'abord déterminer ce qui t'intéresse dans le spectre. Pourquoi en a-tu besoin? Par exemple, si tu choisit de ne tracer que le module, tu obtiens des infos sur l'importance que prend une fréquence donnée de façon globale, mais tu perd les informations liées à la phase...

Discussions similaires

  1. Transformée de Fourier : comment visualiser le spectre ?
    Par archive dans le forum Algorithmes et structures de données
    Réponses: 23
    Dernier message: 01/11/2012, 16h13
  2. Transformée de fourier rapide
    Par Aida dans le forum Traitement du signal
    Réponses: 23
    Dernier message: 03/01/2006, 15h14
  3. [SWiSHMax] Comment visualiser un preloader en local
    Par 3psilOn dans le forum Flash
    Réponses: 1
    Dernier message: 22/07/2005, 15h43
  4. transformée de fourier
    Par Mat 74 dans le forum Traitement du signal
    Réponses: 8
    Dernier message: 15/05/2005, 19h26
  5. Transformée de fourier
    Par rstaros dans le forum C
    Réponses: 5
    Dernier message: 09/05/2005, 20h40

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