J'ai un programme basé sur un filtre, où un filtre reçoit des données toutes les ~ 200ms. Lorsqu'un nouvel échantillon est reçu, un événement correspondant est déclenché. Je traite les données via un filtre de Kalman. Ensuite, j'envoie les données traitées au filtre suivant. Maintenant, je veux générer des données du côté de la sortie (données d'entrée filtrées de Kalman) avec un cycle plus court (~ 30ms). Ma question est, quel est un bon moyen d'y parvenir.Envoi de données en continu via le filtre de Kalman dans un système basé sur les événements
Mon idée est d'avoir un fil séparé avec une minuterie de cycle (30ms). Lorsqu'un nouvel échantillon est reçu, il est ajouté à une file d'attente. À chaque événement de minuteur, je vérifie s'il y a des échantillons dans la file d'attente. Si c'est le cas, j'utilise cette valeur comme entrée de mesure pour le filtre de Kalman. Sinon, j'utilise la capacité de prédiction du Kalman en utilisant le temps de cycle.
Est-ce la voie à suivre ou existe-t-il une meilleure solution?