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

Calcul scientifique Python Discussion :

Hautes et Basses frequences FFT


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut Hautes et Basses frequences FFT
    Bonjour ,

    Question qui peut paraitre toute bete ....

    J'essaie de filtrer des hautes fréquences sur une courbe ... Pour cela , j'éffectue une transformée de fourrier et je met a zero toutes les fréquences au dela d'un seuil.

    Mon filtre marche tres bien , mais une étape reste mystérieuse ... J'ai réussi a appliquer le filtre par erreur en mettant un "<" a la place d'un ">" . En effet , c'est la que mon érreur magique est survenue , les fréquences suppérieures a mon seuil , donc les fréquences les plus hautes sont conservées , et les fréquences en dessous sont supprimées. Donc je devrais avoir conservé que les fortes oscillations , et avoir supprimé les mouvement globaux . Mais ce n'est pas le cas

    Voici le code :
    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
     
    def filterSignal(data,nb,cutoff) :
            signal = fft(data)
            tmpDat = []
            for i in signal :
                    if abs(real(i)) > cutoff : # !!! Je conserve que les HAUTES fréquences
                            tmpDat.append(i)
                    else :
                            tmpDat.append(complex(0,0)) # j'anihile les basses fréquences
            print tmpDat
            signal = array(tmpDat)
            smoothed = ifft(signal)
            result = []
            for i in smoothed :
                    result.append(real(i))
            print "----------------"*5
            plot (result[:-nb])
            show()   # ----------> Courbe bien smoothée
            return result
    Quelqu'un pourrait m'aider SVP ?

    J'essaierai de faire un ptit article sur le filtrage FFT une fois que tout ca sera mis au point

    MERCI D'AVANCE !!!

  2. #2
    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
    Avec des images du signal original, filtré + des FFT associées, ça irait mieux (tu peux les mettre sur imageshack par exemple)

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Voici mes deux courbes



    Courbe non filtrée :


    Courbe filtrée :

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Nouvelle question...

    Lorsque je fais une FFT , j'ai un tableau de complexes. Apparement, ca code l'amplitude et la phase. Une forte fréquence est elle codée par une faible amplitude ? Ce qui pourrait expliquer pourquoi mon filtre marche.

    Merci

  5. #5
    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
    Faut vraiment que tu te mettes à un court de TS...

    Tu as les courbes de ton signal non filtré et filtré dans le domaine spectral ?

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Ba si tu veux , je suis en thèse sur la dynamique moléculaire , donc le traitement du signal normalement j'en ai pas vraiment besoin, je fais ca pour éviter de faire une moyenne flottante, et j'ai pas mal de choses a faire à coté . En gros ce filtrage , c'est un détail sur mon projet qui au final me prend énormément de temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/04/2019, 09h28
  2. [WM18] Android - Zone répétée - affichage dans rupture haute ou basse
    Par fdelepine dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 25/08/2013, 20h46
  3. [XL-2007] Macro - bordure haute et basse
    Par guigol dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2013, 15h53
  4. Réunir 2 conditions val Haut et basse ?
    Par Jimy6000 dans le forum Excel
    Réponses: 51
    Dernier message: 23/02/2008, 08h38
  5. Division : partie haute et partie basse
    Par nitteo dans le forum Assembleur
    Réponses: 13
    Dernier message: 08/05/2006, 23h21

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