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

Signal Discussion :

Transformée de Fourier FFT et stockage des valeurs dans un tableau


Sujet :

Signal

  1. #1
    Invité
    Invité(e)
    Par défaut Transformée de Fourier FFT et stockage des valeurs dans un tableau
    Bonsoir à tous,


    je suis nouveau ici, je suis étudiant et j'ai besoin d'utiliser Matlab pour un projet.

    Je rencontre une difficulté, et j'aimerai savoir si vous pourriez m'aider :

    J'ai un fichier de données que je charge sous Matlab, il s'agit d'un simple signal temporel.
    Je souhaite détecter la présence d'oscillations régulières dans ce signal, j'ai donc besoin de faire une transformée de Fourier.

    J'ai trouvé des algorithmes permettant de tracer une transformée de Fourier d'un signal, mais je ne souhaite pas un résultat graphique :
    Je souhaiterai savoir si il serait possible, au lieu d'obtenir une courbe, d'avoir les résultats dans un tableau ?

    Ce tableau aurait pour indice la fréquence et contiendrait l'amplitude du signal de la transformée.

    En effet je souhaite pouvoir traiter ces données pour détecter des oscillations, et un tableau de valeurs me serait très utile pour pouvoir analyser les données dans des boucles...

    Je sais pas si vous comprenez ce que je veux dire, mais si jamais vous avez des solutions ou des algos je suis preneur !!

    Merci beaucoup d'avance

  2. #2
    Membre habitué
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Points : 196
    Points
    196
    Par défaut
    Il me semble que la fonction fft fait ce dont tu as besoin...

    Matersss

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur Photonique
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Photonique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 126
    Points
    126
    Par défaut
    Salut,

    je travaille également sur les transformées de Fourier, le code que j'utilise généralement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    % Soit At la trace temporelle à transformer et Aw sa transformée de Fourier
    Aw = fft(fftshift(fft(At))).*dt     % "*dt" pour la conservation d'énergie
     
    % Transformée de Fourier inverse pour revenir à At
    At = ifft(ifftshift(ifft(Aw))).*dw
    At et Aw étant des vecteurs tu as directement ton tableau.
    Pour une étude précise je te conseille tout de même une étape visuelle intermédiaire pour régler la résolution fréquentielle de Aw.
    Si ta plage temporelle est trop large, ta résolution temporelle sera diminuée mais ta résolution fréquentielle sera grande (et réciproquement).
    Cela est à considérer si tu as des événements ponctuels subtiles à traiter.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup à vous deux. J'ai encore quelques réglages à faire pour obtenir ce que je veux du coup je passerai peut être vous demander quelques conseils, mais je pense tenir le bon bout. Bonne continuation !

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur Photonique
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Photonique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 126
    Points
    126
    Par défaut
    Je tiens à m'excuser j'ai écris ma réponse un peu vite.
    J'ai inversé certaines fonctions !

    la vraie réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    % Transformée de Fourier
    Aw = ifftshift(ifft(ifftshift(At)));
     
    % Transformée de Fourier inverse
    At = fftshift(fft(fftshift(Aw)));
    Ca m'apprendra à répondre trop vite

Discussions similaires

  1. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 12h32
  2. Réponses: 6
    Dernier message: 27/05/2008, 11h03
  3. ecrire des valeurs dans un tableau via formulaire
    Par kenny49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/07/2006, 11h23
  4. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 14h41
  5. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 17h01

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