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

Android Discussion :

Capter des impulsions de l'accéléromètre


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 17
    Points
    17
    Par défaut Capter des impulsions de l'accéléromètre
    Bonjour à tous

    Cela fait maintenant plusieurs jours que je cherche une solution pour détecter des impulsions sur les données reçues de l'accéléromètre. J'ai fais plusieurs recherches sur ce forum et sur Google mais je trouve aucune solution qui pourrait m'aider à résoudre mon problème...

    Voici ce que je récupère sur l'accélération Z de mon téléphone (LG G2).

    Nom : Screenshot_2014-05-12-09-47-05.png
Affichages : 156
Taille : 71,5 Ko

    J'ai mis un petit trait rouge sur les impulsions à détecter, mon problème est que je ne peux pas mettre de valeurs "fixes" disant que "si Z est supérieur à X ou inférieur à -X alors détection" car la valeur moyenne peut être à -0.2 (comme sur l'exemple) mais peut aussi être supérieur ou inférieur.. De plus lorsque j'essaye de détecter une impulsion, il incrémente plusieurs fois la variable car pour une seule impulsion, il y a plusieurs points supérieurs à la valeur X.

    Si vous avez une idée pour résoudre mon problème, je suis preneur

    Merci d'avance !

    Danck

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 141
    Points : 177
    Points
    177
    Par défaut
    Bonjour,

    Selon ce que tu veux faire tu as 2 options :

    - Traitement du signal.

    ou

    - Si c'est pour mesure des pas utiliser les types introduit dans l'API 19 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sensor.TYPE_STEP_DETECTOR
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sensor.TYPE_STEP_COUNTER

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Plusieurs propositions :

    • pour résoudre le problème des multi-impulsions : faire un filtrage passe-bas,
    • pour résoudre le problème des impulsions négatives, prendre la valeur absolue du signal,
    • pour résoudre le problème de l'amplitude, il faut décréter à partir de quelle amplitude on délare le signal comme étant une impulsion.



    Cordialement.

    Pierre,

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Merci pour vos réponse

    J'étais parti pour un traitement du signal, le soucis est que je ne vois pas comment implémenter le filtre passe bas sur ma fonction.. J'en ai fais en cours d'électronique mais impossible de trouver une solution pour l'implémenter dans du code (c'est plus facile avec une résistance et un condensateur ^^).

    Danck

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    (MAJ - Désolé pour le double post..)

    J'ai réussi à implémenter le filtre passe bas sur les valeurs absolues, on voit beaucoup mieux les impulsions

    Merci pour vos idées qui m'ont permis de résoudre mon soucis

  6. #6
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Voici un filtre passe-bas numérique du premier ordre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    float acc; // valeur de l'accélération issue du capteur
    float accFiltree; // valeur de l'accélération filtrée
    float S1, S2; // variables intermédiaires
    float T; // constante de temps du filtre
    float dt; // incrément de temps entre deux valeurs de l'accélération
     
    	S1 = acc-S2/T;
    	S2 = S2+S1*dt*f;
    	accFiltree = S2/T;
    C'est le filtre de base, mais il n'est pas forcément efficace. Je pencherais plutôt pour un filtre du second ordre. En cherchant sur le net filtre numérique passe-bas, tu devrais trouver ton bonheur.

    Cordialement.

    Pierre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/07/2009, 17h44
  2. lire et capter des frames a partir d'une video
    Par jad777 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/01/2009, 11h34
  3. générer des impulsions
    Par Invité dans le forum Windows
    Réponses: 5
    Dernier message: 04/12/2008, 09h03
  4. Fonction : générer des impulsions.
    Par banban56 dans le forum C
    Réponses: 8
    Dernier message: 24/03/2007, 16h35
  5. [TCP/IP] Capter des trames TCP/IP
    Par au_record dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 16/01/2006, 10h53

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