j'ai donc 16 à 32 échantillons de 10 bits:
extraction de la valeur absolu du signal, bon la c'est simple, je test si la valeur est inférieur a 512 (courant négatif), si oui : échantillon= 512-échantillon, sinon : échantillon= échantillon-512, après traitement, il me reste donc dans chaque échantillons, la valeur absolue du courant sur 9 bits.
il me faut maintenant élever touts les échantillon au carré donc sur 18 bits, additionner tous les échantillons donc 22 à 23 bits (en fonction du nombre d'échantillons) , et extraire la racine carré de la somme, donc retour en 12 bits.
Avez vous des algorithmes à me proposer, pour un 08m2, pour élever au carré un nombre coder sur 9 bits ?
Avez vous des algorithmes à me proposer, pour un 08m2, pour additionner des nombres coder sur 23 bits ?
Avez vous des algorithmes à me proposer, pour un 08m2, pour calculer la racine carré d'un nombre coder sur 23 bits ?
Le raisonnement n'est pas bon.
le nombre de bits à prendre en compte pour le résultat et pour les opérations intermédiaires ne dépends pas de la nature des opérations mais uniquement de la précision (nombre de chiffres significatifs) du résultat attendu.
Bien évidement la précision du résultat ne peut être meilleure que celle des données.
Avec 32 échantillons sur 10 bits, et compte tenu de la loi de composition des erreurs, vous ne pouvez pas espérer mieux que 12 bits.
La loi de composition des erreurs ne permet de gagner des bits en multipliant les mesures que si le signal à mesurer est constant (ou de forme parfaitement connue), ce qui n'est pas votre cas.
Donc, vous ne pouvez pas espérer mieux que 10 bits, et même 9 puisque le bit de signe est supprimé.
Donc les calculs intermédiaires sur 23 bits ne sont pas indispensables.
Qui plus est, pour de petits courants, par exemple exprimés sur 4 bits, le résultat final ne peut être exprimé sur plus que 4bits.
5 ou 6 bits.
Donc vous pouvez vous contenter des 16 bits les plus significatifs dans chaque calcul.
Pour le calcul de la racine carrée, il y a
ici plusieurs propositions.
La méthode de Héron d'Alexandrie est ma préférée.
Vous trouverez
ici
des implémentations sur différents Picaxes.
Notez en bas de page la méthode de Héron d'Alexandrie, qui après 20 siècles montre toujours sa redoutable efficacité !
Le problème essentiel demeure la division sur plus que 8 bits qui n'est pas native sur un Picaxe.
Cest un ampèremètre a affichage instantané de précision moyenne que je souhaite réaliser (2%<précision<5%),...
Avec 6 bits, vous avez déjà une précision meilleure que 2%
Dans ce cas, le calcul de la racine sur 8 bits est très largement suffisant.