Intégration discrète en temps réél

ttibot
Intégration discrète en temps réél

Bonjour tout le monde,

Devinette :
On lit en boucle une valeur dans un buffer, on la passe dans une variable que nous noterons X.
Toutes les dT millisecondes on relève la valeur de X.
On obtient une suite de valeurs Xi : X1...Xn. On ne stoque que Xn, Xn-1 et dT.

On veut maintenant intégrer cette variable. Comment faire?

Solution :
On applique la formule des trapèzes : soit Y la valeur de Intégrale(X,t).
Yn = Yn-1 + dt*(Xn-Xn-1)

Ok maintenant on prend un cas où cette valeur échantillonée est soumise à de fortes perturbations, où la précision est critique et où les programmeurs ramment...

Solution :

On télécharge une librairie qui gère les intégrations en temps réél correctement.

Oui mais où?

Aidez nous!!!!!!!!!!!! Lol. Ca existe au moins? Ca fait deux jours qu'on cherche et rien de concluant.

Merci beaucoup.

PS : pour ceux que ça intéresse c'est pour commander une caméra embarquée sur un avion radioguidé en pilotant les mouvements de ladite caméra grace a une wiimote (manette de wii) scotchée sur la tête. Si si c'est très sérieux c'est un sujet de mécanique et on est noté en plus. La prog était censé être une partie annecdotique mais en fait... Lol.
PS2 : on travail en VB.NET

fredericmazue

Quote:
On lit en boucle une valeur dans un buffer

Suspect ça...
Pourquoi ne pas lire une valeur quand elle arrive seulement.
A moins que ça ne soit ce que tu as voulu dire ?

Quote:
Ok maintenant on prend un cas où cette valeur échantillonée est soumise à de fortes perturbations,

Qu'est-ce que ça veut dire ça, concrètement ? Que dans dt le nombre de valeurs lues est variable ? Qu'il y a de grands écart entre les valeurs lues ? Et puis il y a ça que je ne comprends pas non plus
Quote:
On ne stoque que Xn, Xn-1 et dT.

Pourquoi alors lire "en boucle" n-2 valeurs pour rien ?

Quote:
On télécharge une librairie qui gère les intégrations en temps réél correctement.
Oui mais où?
Aidez nous!!!!!!!!!!!! Lol. Ca existe au moins?

Sincèrement, je ne sais pas si ça existe faute de bien comprendre le problème. Mais d'un autre côté, je ne suis pas sûr que vous abordez ce problème comme il le faudrait.
Quote:
La prog était censé être une partie annecdotique mais en fait

Ah çà l'infomatique... :lol: Ne jamais sous estimer les difficultés que va poser l'informatique :lol:
Mais le sujet est intéressant, pour sûr.

Quote:
PS2 : on travail en VB.NET

Alors deux choses:

- il faut poster dans le forum .Net et non dans le forum Visual Basic 6.0 qui n'a rien à voir avec VB .Net

- puis je suggérer que le choix du langage me semble malheureux ? Et que peut être c'est simplement à cause de ce choix que vous "lisez en boucle" et surtout qu'il y a des perturbations. Je veux dure que je subordore un problème dans la capture des valeurs elle même.
Le temps réel ça se programme en C, en C++, en Ada (liste non limitative)

fredericmazue

juste après avoir répondu ci-dessus, je viens de voir la même question posée sur vbfrance, mais en plus détaillée et expliquée.
Serait ce que l'on ne mérite pas de belles et bonnes explications à Programmez! ? ;) :lol: