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

Algorithmes et structures de données Discussion :

éliminer les valeurs de gravité de données d'accélération brutes


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut éliminer les valeurs de gravité de données d'accélération brutes
    Bonsoir à tous,

    j'ai des données issues d'un accéléromètre 3D (x,y,z) . en fait, l’accéléromètre mesure l'accélération dynamique (due au mouvement du l'objet) et l'accélération statique ( due à la gravité (g)). mon but c'est de filtrer ces données afin d'éliminer la gravité sur chaque axe.
    aprés une recherche sur le net, la majorité des internautes ont utilisé "Filtre passe haut " pour filtrer les données , ainsi j'ai trouvé un code qui utilise un filtre passe bas en premier lieu puis un filtre passe haut. donc ma question c'est: Est-il vrai que le filtre passe haut peut me servir afin de supprimer la gravité?

    existe t-il des fonctions pré-définies en Matlab pour utiliser ce filtre?
    voilà 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
    #define kFilteringFactor 0.1
     
    - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
     // Use a basic low-pass filter to keep only the gravity component of each axis.
     
       accelX = (acceleration.x * kFilteringFactor) + (accelX * (1.0 - kFilteringFactor));
     
       accelY = (acceleration.y * kFilteringFactor) + (accelY * (1.0 - kFilteringFactor))
       accelZ = (acceleration.z * kFilteringFactor) + (accelZ * (1.0 - kFilteringFactor));
      // Use the acceleration data.
    }
     
    If you are using accelerometer data to detect just the instant motion of a device, you need to be able to isolate sudden changes in movement from the constant effect of gravity. You can do that with a high-pass filter.
    Listing 2 shows a simplified high-pass filter computation. The acceleration values from the previous event are stored in the accelX, accelY, and accelZ member variables of the class. This example computes the low-pass filter value and then subtracts it from the current value to obtain just the instantaneous component of motion.
    Listing 2  Getting the instantaneous portion of movement from accelerometer data
    #define kFilteringFactor 0.1
     
    - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
       // Subtract the low-pass value from the current value to get a simplified high-pass filter
       accelX = acceleration.x - ( (acceleration.x * kFilteringFactor) + (accelX * (1.0 - kFilteringFactor)) );
     
       accelY = acceleration.y - ( (acceleration.y * kFilteringFactor) + (accelY * (1.0 - kFilteringFactor)) );
     
       accelZ = acceleration.z - ( (acceleration.z * kFilteringFactor) + (accelZ * (1.0 - kFilteringFactor)) );
     
      // Use the acceleration data.
    }
    Si quelqu'un peut m'aider à ce sujet je lui en serais très reconnaissante.
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    Pour moi, ne connaissant pas l'inclinaison de ton acceléromètre a chaque mesure ca va etre compliqué de supprimer la composante de gravité.

    Vous pouvez appliquer n'importe quel type de filtre, si vous n'avez pas l'inclinaison vous n'obtiendrez pas grand chose.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par black_hole Voir le message
    Bonjour,

    Pour moi, ne connaissant pas l'inclinaison de ton acceléromètre a chaque mesure ca va etre compliqué de supprimer la composante de gravité.

    Vous pouvez appliquer n'importe quel type de filtre, si vous n'avez pas l'inclinaison vous n'obtiendrez pas grand chose.
    Merci bien pour votre réponse.
    tout à fait d'accord, pour cela je m'en recours ainsi à utiliser un gyroscope qui pourrait m'indiquer la rotation , cela peut me servir?

    Merci d'avance

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut
    Voici un document qui pourrait vous intéresser:

    http://www.pololu.com/file/0J587/AN-...lerometers.pdf

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2014
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par black_hole Voir le message
    Voici un document qui pourrait vous intéresser:

    http://www.pololu.com/file/0J587/AN-...lerometers.pdf
    Merci infiniment

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/04/2008, 12h42
  2. Réponses: 2
    Dernier message: 27/02/2008, 18h45
  3. Réponses: 8
    Dernier message: 18/09/2007, 11h25
  4. Réponses: 4
    Dernier message: 23/04/2007, 12h01
  5. Réponses: 1
    Dernier message: 24/10/2006, 15h59

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