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

Traitement du signal Discussion :

Détection des structures cycliques dans un signal


Sujet :

Traitement du signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Par défaut Détection des structures cycliques dans un signal
    Bonjour;
    J'ai un vecteur de nombre réels (données ECG) que je veux analyser et détecter les cycles qu'il contient. Mais, il n'est pas parfaitement régulier . Voir sa représentation sous Matlab jointe au message.
    Pouvez vous m'aider à trouver un algorithme pouvant extraire les cycles de mon signal?
    Merci pour vos aides.
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    est ce que le problème est bien posé ?
    Il me semble que dans un ECG, il faut regarder l'onde T. Elle suit les pics. Donc est ce que retrouver tous les pics positifs et/ou négatifs puis le "mini" pic suivant ne suffirait pas ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Par défaut
    Merci ToTo pour ta réponse.
    En fait, lorsque j'ai un signal bien régulier, je procède par détection du complex QRS : un pic maximum très apparant par rapport aux autres ondes. Puis, une fois le signal ECG est décomposé en morceaux commenceant pas onde R, je fais translater pour que ca commence par l'onde P.
    Mon programme de décomposition en cycle est le suivant :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    clear all;
    [xn,fs]=wavread('300-0-598-0--sig0.wav');
    m=max(xn);
    tres=0.7*m;
    peaks=[];
    % detection des pics dans le signal ecg
    for i=1:length(xn)
        if xn(i)>tres
            peaks=[peaks i];
        end
    end
    %elimination des valeurs répétées dans peaks et calcul du cycle length
    distance=[];
    peaks2=[];
    for j=1:length(peaks)-1
        % la longueur d'un cycle est sup à 200
        if (peaks(j+1)-peaks(j))>200
            distance = [distance peaks(j+1)-peaks(j)];
            peaks2=[peaks2 peaks(j)];
        end
    end
    cycle_len=fix(mean(distance));
    % reconstruction du signal
    xs=[];
    for i=1:length(peaks2)-1
            cyc = xn(peaks2(i):peaks2(i+1));
            xs=[xs ; cyc];
    end
    plot(xs);
    Mais avec le signal joint (qui n'est pas régulier), cet algorithme ne me donne pas de bon résultats.
    Merci pour toute aide.

  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 : 84
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Le nom scientifique de ton type de problème est série temporelle ou série chronologique, en anglais time serie. Il y a une masse de publications sur ce sujet.
    Jean-Marc Blanc

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Par défaut
    Salut;
    Oui c'est vrai ca s'appelle "times series data" en anglais.
    stp, tu peux me fournir des liens ou je pourrais trouver de l'aide?
    Merci.

    Bonjour;
    SVP, est ce que vous pouvez me conseiller d'autres forums et/ou sites ou je pourrais trouver une solution pour mon pb?
    Merci à tous.

  6. #6
    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 : 84
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Tu peux commencer par regarder dans Wikipedia en français et en anglais. Ce n'est en effet pas du tout mon domaine d'activité, mais tu dois apprendre à chercher l'information.
    Jean-Marc Blanc

  7. #7
    Invité de passage
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut vous pouver m'envoyer le programme de la détection de l'onde T d'un signal ECG
    Citation Envoyé par Contact2012 Voir le message
    Merci ToTo pour ta réponse.
    En fait, lorsque j'ai un signal bien régulier, je procède par détection du complex QRS : un pic maximum très apparant par rapport aux autres ondes. Puis, une fois le signal ECG est décomposé en morceaux commenceant pas onde R, je fais translater pour que ca commence par l'onde P.
    Mon programme de décomposition en cycle est le suivant :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    clear all;
    [xn,fs]=wavread('300-0-598-0--sig0.wav');
    m=max(xn);
    tres=0.7*m;
    peaks=[];
    % detection des pics dans le signal ecg
    for i=1:length(xn)
        if xn(i)>tres
            peaks=[peaks i];
        end
    end
    %elimination des valeurs répétées dans peaks et calcul du cycle length
    distance=[];
    peaks2=[];
    for j=1:length(peaks)-1
        % la longueur d'un cycle est sup à 200
        if (peaks(j+1)-peaks(j))>200
            distance = [distance peaks(j+1)-peaks(j)];
            peaks2=[peaks2 peaks(j)];
        end
    end
    cycle_len=fix(mean(distance));
    % reconstruction du signal
    xs=[];
    for i=1:length(peaks2)-1
            cyc = xn(peaks2(i):peaks2(i+1));
            xs=[xs ; cyc];
    end
    plot(xs);
    Mais avec le signal joint (qui n'est pas régulier), cet algorithme ne me donne pas de bon résultats.
    Merci pour toute aide.

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Par défaut
    le programme est déjà donné dans un post précédent (voir la discussion)

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/12/2010, 19h39
  2. Détection des éléments implantés dans un pc
    Par petitcoucou31 dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 06/10/2007, 19h24
  3. Réponses: 1
    Dernier message: 13/03/2007, 09h52
  4. Comment trouver des structures incluses dans d'autres
    Par Vulcanos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/10/2006, 23h59
  5. Pas de détections des disques durs dans le bios
    Par rub091 dans le forum Composants
    Réponses: 10
    Dernier message: 13/06/2006, 17h59

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