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 :

Utilisation de xcorr / Test de ressemblance


Sujet :

Signal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utilisation de xcorr / Test de ressemblance
    Bonjour à tous !

    Je m'adresse à vous concernant un petit programme Matlab que je rédige en ce moment.

    Je n'ai pas très bien compris la méthode de calcul des coefficients de corrélation de la fonction xcross ("cross correlation sequence" dans l'aide de MathWorks). Si quelqu'un avait quelques détails, je suis preneurs !

    J'utilise cette fonction pour effectuer un test de ressemblance entre deux signaux audio. Mon objectif est, à partir d'une base de donnée de signaux audio (des mots), de pouvoir comparer un autre mot à cette base pour savoir quel est le mot correspondant en utilisant la valeur du coefficient de corrélation maximum.

    Le problème c'est qu'en utilisant xcorr, j'obtiens des données brutes (je ne peux pas utiliser l'option coeff qui est réservée à l'autocorrélation). Au final, lorsque je compare deux mots identiques, le coefficient de correlation maximum varie de 0.5 à 3.5, et en comparant deux mots différents, cela varie entre 0.03 et 1.3. C'est le recoupement entre les deux intervalles qui m'embete pour pouvoir distinguer correctement mes signaux.


    Donc ma question c'est est-ce qu'il existe une normalisation ou toute autre solution pour palier à ce problème ?

    PS : j'ai conscience que cet méthode pour faire correspondre deux signaux est peut-être un peu dépassée, mais mon objectif réel est de coder cet algorithme proprement en C par la suite, pas d'avoir une solution qui marche à tous les coups.

    PS2 : Je vous remercie de m'avoir lu !

  2. #2
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Je pense que c'est mieux d'utiliser la fonction :
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  3. #3
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut Zeikh,
    comment gères tu la synchronisation entre les 2 mots testés?
    -> est ce que, dans le cas du test entre 2 mots identiques, une mauvaise note pourrait être du au fait que temporellement les 2 mots ne sont pas prononcés au même instant?
    -> ne serait il pas plus efficace de chercher le pic de corrélation en faisant glisser les signaux (c'est à dire le maximum du produit de convolution des 2 signaux) ?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonsoir !

    Merci à vous deux pour vos réponses, et désolé du délai, j'avais pas activé les notifications.

    Alors...

    Citation Envoyé par FLB Voir le message
    -> est ce que, dans le cas du test entre 2 mots identiques, une mauvaise note pourrait être du au fait que temporellement les 2 mots ne sont pas prononcés au même instant?
    En fait je voudrai pouvoir reconnaître des mots, dans mon cas prononcés de la même manière et par la même personne. J'aimerais que même si deux signaux du même mot commencent à un moment différent, je puisse les matcher !

    Citation Envoyé par FLB Voir le message
    -> ne serait il pas plus efficace de chercher le pic de corrélation en faisant glisser les signaux (c'est à dire le maximum du produit de convolution des 2 signaux) ?
    Il me semblait justement que c'est ce que faisait la fonction xcorr dans matlab (dis moi si je me trompe !). Le problème en utilisant cette fonction c'est que je n'ai pas moyen de normaliser les coefficients. Je ne peux donc pas définir de seuil pour dire si oui ou non deux signaux décrivent le même mot vu qu'ils prennent des valeurs complétement différentes. J'en revient toujours à mon problème de normalisation au final, j'aimerais avoir des coefficients compris entre 0 et 1.

    En ce qui concerne la fonction corrcoef que tu m'as proposé Soft001, elle propose bien des coefficients normalisés mais en revanche elle n'effectue pas de balayage comme la fonction xcorr. Donc là pour le coup, si les signaux ne démarrent pas au même moment, je n'ai pas de bons résultats.

    Je continue mes recherches, si vous avez des idées, n'hésitez pas !

    Encore Merci !

Discussions similaires

  1. Utilisation Outil de tests Jubula
    Par aldagon72 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 14/10/2012, 20h27
  2. probleme d'utilisation d'un test t
    Par le.nono dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 10/04/2012, 10h27
  3. [staf/stax] comment utiliser staf / stax por creer des test
    Par Mokhtar BEN MESSAOUD dans le forum Outils
    Réponses: 1
    Dernier message: 17/03/2006, 14h39
  4. Test profil utilisateur en cours d'utilisation.
    Par Guillaumea29 dans le forum Windows
    Réponses: 1
    Dernier message: 09/01/2006, 10h54

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