Je travaille sur un projet où nous mesurons la soudabilité des composants. Le signal mesuré est bruyant. Nous devons traiter le signal en temps réel afin de pouvoir reconnaître le changement qui commence au moment de 5000 millisecondes.
Mon système prend un échantillon de valeur réelle toutes les 10 millisecondes - mais il peut être ajusté pour un échantillonnage plus lent.
- Comment détecter cette baisse à 5000 millisecondes?
- Que pensez-vous du rapport signal / bruit? Faut-il se concentrer et essayer d'obtenir un meilleur signal?
- Il y a un problème que chaque mesure a des résultats différents, et parfois la baisse est encore plus petite que cet exemple.
Lien vers les fichiers de données (ils ne sont pas identiques à ceux utilisés pour les tracés, mais ils affichent le dernier état du système)
- https://docs.google.com/open?id=0B3wRYK5WB4afV0NEMlZNRHJzVkk
- https://docs.google.com/open?id=0B3wRYK5WB4afZ3lIVzhubl9iV0E
- https://docs.google.com/open?id=0B3wRYK5WB4afUktnMmxfNHJsQmc
- https://docs.google.com/open?id=0B3wRYK5WB4afRmxVYjItQ09PbE0
- https://docs.google.com/open?id=0B3wRYK5WB4afU3RhYUxBQzNzVDQ
Réponses:
La référence classique pour ce problème est la détection des changements brusques - théorie et application par Basseville et Nikiforov. Le livre entier est disponible en téléchargement PDF .
Ma recommandation est que vous lisiez le chapitre 2.2 sur l' algorithme CUSUM (somme cumulée).
la source
J'encadre généralement ce problème comme un problème de détection de pente. Si vous calculez une régression linéaire sur une fenêtre en mouvement, la goutte illustrée sera visible comme un changement significatif du signe et / ou de l'amplitude de la pente. Cette approche offre un certain nombre de facteurs qui nécessiteront un "réglage": par exemple, la fréquence d'échantillonnage, la taille de la fenêtre, etc., affecteront la robustesse (résistance au bruit) du détecteur de signe de pente. C'est là que certains des commentaires ci-dessus peuvent être appliqués. Tout filtrage ou suppression de bruit pouvant être appliqué avant l'ajustement de ligne améliorera vos résultats.
la source
J'ai fait ce genre de chose en calculant une statistique T de la moyenne de la partie gauche des données par rapport à la partie droite des données. Cela suppose que vous savez où se trouve le point de transition, ce qui bien sûr n'est pas le cas.
Donc, ce que vous faites est d'essayer plusieurs centaines de points de partition le long de l'axe du temps et de trouver celui avec la statistique T la plus significative.
Vous pouvez le faire comme quelque chose comme une recherche binaire. Essayez 10 points de données, trouvez les deux plus grands, puis essayez 10 points entre ceux-ci, etc. De cette façon, vous pourriez obtenir un point de transition assez précis. Je ne revendique pas l'exactitude. :-)
Tiens nous au courant de comment ça se passe!
PS Vous pouvez calculer la moyenne et le sd comme des sommes en cours d'exécution, ce qui réduit la complexité du calcul de cette fonction de partition pour chaque possibilité de N ^ 2 à N. En faisant cela, vous pouvez probablement vous permettre de calculer simplement la statistique T à chaque point de partition possible.
la source