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 :

Corrélation laggé (xcorr)


Sujet :

Signal

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Points : 37
    Points
    37
    Par défaut Corrélation laggé (xcorr)
    Bonjour,

    Je cherche à déterminer le temps de retard entre deux signaux a et b. Pour cela j'ai donc voulu calculé différentes corrélations laggées, afin de trouver celle avec le plus haut score, correspondant logiquement au temps de retard. Par conséquent j'ai employé la fonction xcorr de la manière suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [c ] = xcorr(a,b,'coeff');
    [d,e] = max(c);
    timelag = (length(e) - f) * 1
    Or j'ai testé ces quelques lignes avec b identique à a, mais translaté de 100 pas de temps bien sur, et pourtant je trouve une valeur timelag éqale à 0.
    A partir de là deux possibilités, soit j'utilise la mauvaise fonction pour faire un calcul de retard, soit je l'utilise mal.
    Merci d'avance pour toute suggestion.

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

    As-tu regardé cette discussion?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Maintenant oui mais pour le moi décalage mesuré dans ce sujet est juste la différence de taille entre les 2 signaux et qui dans ton exemple, est également le décalage entre les deux signaux. Mais dans le cas présent (cf pièce jointe), cela ne fonctionnera pas puisque ce sont deux choses différentes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    a=load('temp.txt');
    a=calc.tair; b = [a(100:end) a(1:99)]; 
    subplot(311);
    plot(a);
    subplot(312);
    plot(b);
    [c lags] = xcorr(a,b,'coeff');
    [d,f] = max(c);
    timelag = (length(a) - f) * 1
    subplot(313);
    plot(c),hold on
    plot(f,c(f),'r*')
    N = length(c);
    plot(round([N/2 N/2]),ylim,'r:')
    On obtient un décalage à 0 pour deux signaux identiques mais translatés.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Corrélation entre deux signaux (xcorr)
    Par johnnybgood1602 dans le forum Signal
    Réponses: 3
    Dernier message: 22/07/2014, 18h45
  2. Coefficient de corrélation
    Par oceanediana dans le forum Access
    Réponses: 7
    Dernier message: 26/07/2006, 07h03
  3. UPDATE avec corrélation?
    Par JFDelges dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2006, 15h01
  4. tri par corrélation entre chaînes de caractères
    Par petitmic dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/09/2005, 15h15
  5. corrélation
    Par sole dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 08/09/2005, 14h12

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