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 :

Décalage signal filtré


Sujet :

Signal

  1. #1
    Membre régulier Avatar de Flaherty Mc Coillean
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Décembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 108
    Points : 75
    Points
    75
    Par défaut Décalage signal filtré
    Bonjour à tous,

    Je travaille sur des données satellites acquises toutes les 15min et par exemple je regarde l'évolution de la radiance d'un pixel au cours du temps, j'obtiens donc un signal 1D plus ou moins sinusoïdal (variation jour/nuit), et plus ou mois bruité par la présence de nuages.

    Ce que je veux c'est filtrer mon signal pour ne garder que les variations journalière, donc les variations de basse fréquences. Bon ça fait des années que je n'avais pas travaillé dans le traitement du signal et j'ai un peu tout oublié...

    Ça ne m'empêche pas d'essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Fe = 1/(15*60); %fréquence d’échantillonnage: 1 images/15min
    N = numel(TEST2); %Nombre de valeurs de mon signal
    t = (0:N-1)/Fe; %durée du signal
    
    XXX = fft(TEST2); %petite transformée de fourier
    
    Wn = 2*(1.2e-5)/(Fe/2); %fréquence de coupure normalisé -> 1 jour: 1/24h*60min*60s -> 1.2e-5Hz
    b = fir1(15,Wn,'low'); 
    
    TEST3 = filter(b, 1, TEST2);
    figure
    plot(TEST3)
    hold on
    plot(TEST2,'r')
    Donc j'essaye d'appliquer un filtre d'ordre 15 avec une fréquence de coupure correspondant à une fréquence de 1 jour, et quand j'applique j'ai un sacré décalage sur mon signal filtré avec des premières valeurs complètement aberrantes. cf petite image pièce jointe en rouge mon signal d'origine et en bleu le signal filtré

    Ce décalage est fonction de l'ordre de mon filtre, un ordre de 1 crée un décalage de 1 valeur et un décalage de 100 est à l'origine d'un décalage.

    Et c'est là que je me rends compte que j'ai oublié pas mal de chose depuis la dernière fois que j'ai du faire du traitement du signal car je ne sais plus de tout à quoi correspond ce décalage et comment s'en débarrasser...

    Si vous pouviez m'éclairer!

    Merci beaucoup

    Flaherty
    Images attachées Images attachées  
    C'est moi où il fait chaud là ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ce décalage correspond à la moitié de l'ordre du filtre.
    Si tu possèdes la Signal Processing Toolbox, tu peux regarder la fonction:

  3. #3
    Futur Membre du Club
    Profil pro
    Ingénieur Traitement de signal/Image
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Traitement de signal/Image

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Retournement de signal
    Salut,

    Si tu n'as pas la toolbox SignalProcessing, voici comment procéder :
    Tu filtres ton signal normalement.
    Le signal filtré a donc un certain retard.
    Tu retournes ton signal et tu filtres ce signal avec le même filtre.
    Le signal obtenu a donc un retard dans l'autre sens ce qui annule le précédent.
    Et voilà :-)

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Pourquoi ne pas utiliser le fait que tu connais la fréquence de ton signal? Tu multiplies ton signal par un sinus et un cosinus de même fréquence et tu ne gardes que la composante continue de ces deux produits.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. Question sur le traitement de signal (filtre)
    Par KenT2004 dans le forum Traitement du signal
    Réponses: 9
    Dernier message: 08/01/2010, 15h37
  2. [Signal] Implémentation filtres Passe-Bas en C
    Par Snark dans le forum Traitement du signal
    Réponses: 24
    Dernier message: 11/02/2009, 15h32
  3. Réponses: 4
    Dernier message: 01/12/2008, 09h03
  4. Réponses: 1
    Dernier message: 26/06/2007, 09h35
  5. [Signal Processing Blockset] Filtre de kalman
    Par totoscill dans le forum Signal
    Réponses: 5
    Dernier message: 11/04/2007, 11h28

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