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 :

Enlever bruit donnée


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut Enlever bruit donnée
    Bonjour bonjour,

    je tiens à solliciter votre aide encore fois ! voilà, je voudrais filtrer des données afin d'obtenir des résultats qu'on pourrait utiliser parce qu'avec ce que je travail y a trop de bruits et ce n'est pas l'idéale si on veut les interpréter

    donc je vous montre vite fais. ça c'est les positions en x y z , vous voyez que le Z n'arrête pas de faire des pics en bas. Nom : capt1.PNG
Affichages : 453
Taille : 16,9 Ko

    ce qui nous donne un résultat un peu médiocre :
    Nom : capt2.PNG
Affichages : 428
Taille : 10,0 Ko

    ce que j'ai essayé de faire est simple : comparer les valeur Z(i+1) et Z(i) si Z(i+1) est grand 2 fois Z(i) alors on affecte Z(i) à Z(i+1) sinon rien et on réitère jusqu'à length(z)-1 comme ça ça sera plus linéaire, m'enfin je crois que c'est l'idée ... ^^ je vous montre 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function [ DP ] = Func_delta_Pos(value_marker)
     
    %Crée des variables dynamiques pour les X,Y,Z =>Position & calcul distance
    for i = 1:1:10   %Avec 10 marqueurs_
        X(:,(i) )= value_marker.(['Marker' num2str(i, '%02d')]).value(:,1);
        Y(:,(i)) = value_marker.(['Marker' num2str(i, '%02d')]).value(:,2);
        Z(:,(i)) = value_marker.(['Marker' num2str(i, '%02d')]).value(:,3);
    end
     
     
    %%reconstruire les données (++100 --100)
    limit = 100;
    X=X(limit:1:length(X)-limit,:);
    Y=Y(limit:1:length(Y)-limit,:);
    Z=Z(limit:1:length(Z)-limit,:);    
     
     
    for k=1:1:10
        for i = 2:(length(X)-1)
            delta_z(i,k)=Z(i,k)-Z(i-1,k);
            if i > 1
                if  delta_z(i,k) > 2*(delta_z(i-1,k))
                    Z(i,k)=Z(i-1,k);
                    Y(i,k)=Y(i-1,k);
                    X(i,k)=X(i-1,k);
                end          
            end   
        end
    end
     
    DP.delta_z=delta_z;
    DP.X=X;
    DP.Y=Y;
    DP.Z=Z;
    end
    voilà c'est ça en gros, mais en fait j'ai pas eu ce que je voulais, c'est devenu juste un peu carré ... :/ si quelqu'un me propose une amélioration ou si y a une meilleur idée ça serait magique

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut Enlever bruit donnée
    Bonjour,
    Peux-tu nous donner un échantillon de z ?
    Merci

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    Bonjour,

    comment je fais pour vous envoyer l'échantillon ? apparemment je peux pas joindre des fichiers .mat et si je copie ici ça va être très très long :p (24000 donnée). Entre temps j'ai vu que les pics correspondait plus à des valeurs nuls, je les ai enlever (NaN) , ça donnait des trous ce qui est normal mais pas interprétable, donc bon je cherche encore ^^

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut Enlever bruit donnée
    Bonjour,
    Tu peux n'envoyer que le début du signal.
    Voilà un exemple pour éliminer les zéros et faire une prédiction avec le filtre de Kalman stationnaire d'ordre 3 simplifié :

    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
    30
    31
    32
    33
    34
    clear
    Te = 0.01;% Période d'échantillonnage du signal
    f=0.5;% Fréquence du signal
    N=200;
    i=1:N;
    z=sin(2*pi*f*i*Te);% Signal
    z(10:11)=0;z(20:25)=0;z(27:30)=0;% Mise à zéro de la mesure
    K1 = 0.6; K2 = 5; K3 = 5;% Gains stationnaires de kalman
    for i = 1:N
        if i==1 %Initialisation
            Z(i)=z(i);VZ=0;AZ=0;
        else
            %Prédiction
            Z(i)=Z(i-1)+VZ*Te+0.5*AZ*Te*Te;
            VZ=VZ+AZ*Te;
            AZ=0.5*AZ;
            %Innovation
            if z(i)==0 % Test mesure = 0 force la prédiction
                Er=0;
            else
                Er=z(i)-Z(i);
            end
            %Estimation 6 Filtrage
            Z(i)=Z(i)+K1*Er;
            VZ=VZ+K2*Er;
            AZ=AZ+K3*Er;
        end
    end
    %Tracé
    figure
    plot(Z,'r')
    hold
    plot(z,'b')
    grid

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2017
    Messages : 33
    Par défaut
    Voilà un petit échantillon de Z;

    [1601,03820800781 1602,15576171875 1603,76831054688 1605,50781250000 1607,07861328125 1608,92004394531 1610,43688964844 1612,08911132813 1614,66699218750 1616,42932128906 1618,32910156250 1620,24877929688 1621,31164550781 1623,26232910156 1627,03442382813 1628,49047851563 1628,70471191406 1633,47644042969 1634,01684570313 1637,86267089844 1638,27770996094 1642,30969238281 1644,58630371094 1646,64526367188 1648,91394042969 1651,32055664063 1653,86657714844 1656,21594238281 1657,16564941406 1661,17492675781 1663,71679687500 1665,90722656250 1668,06347656250 1671,95727539063 1673,96984863281 1673,24353027344 1676,62500000000 1678,66723632813 1682,12402343750 1683,99877929688 1682,95678710938 1687,71472167969 1689,53149414063 1691,10412597656 0 1693,87048339844 0 0 0 0 1699,97119140625 1701,28027343750 0 1702,95361328125 0 1705,04174804688 1705,89270019531 0 0 0 0 0 0 0 0 0 0 0 0 1716,97570800781 0 0 0 0 0 0 0 1721,04467773438 0
    0 0 0 0 0 0 1729,49621582031 0 1730,65991210938 0 0 0 1735,77783203125 1736,49011230469 1738,10156250000 0 1740,01245117188 1740,66027832031 0 1742,59997558594 1743,63867187500 1744,63024902344 1745,18518066406 1746,22619628906 1747,18762207031 1748,34619140625 1749,02770996094 1749,76794433594 1750,90673828125 0 0 1753,85742187500 0 1755,72180175781 0 1757,82702636719 1758,72290039063 0 1760,78210449219 1760,85668945313 1762,58276367188 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1782,05615234375 0 0 0 0 0 0 0 0 0 0 1787,37744140625 0 0 0 ]
    sinon j'ai pas bien compris comment utiliser le filtre de Kalman, j'avoue que le traitement de signal n'est pas vraiment mon domaine ..^^

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut Enlever bruit données
    Bonjour,
    Quelle est la période d'échantillonnage ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/03/2014, 05h39
  2. Enlever le message presse-papier mais conserver les données
    Par astorix dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/02/2009, 10h00
  3. Réponses: 1
    Dernier message: 17/01/2008, 16h46
  4. Enlever les données identiques dans une table
    Par DubeiserTM dans le forum Langage SQL
    Réponses: 15
    Dernier message: 31/01/2007, 21h14
  5. Enlever les données identiques dans une table
    Par DubeiserTM dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/01/2007, 18h27

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