Il s'agit d'une collection de routines pour effectuer l'analyse mathématique des tableaux de nombres. Prise en charge des fonctions courantes: toutes les fonctions sont entièrement surchargées pour prendre en charge les types de données suivants: À l'exception de stddev (), elles renvoient toutes le même type de données que le tableau. Un tableau de valeurs int renvoie un seul int. Stddev () renvoie toujours un flotteur. Toutes les fonctions sauf rollingAverage () prennent deux arguments. Le premier est le tableau à travailler. Le second est le nombre d'entrées dans le tableau. RollingAverage () prend un troisième argument - la nouvelle entrée à ajouter au tableau. Rolling average Format: average rollingAverage (historyarray, slicecount, value) Ajoute de la valeur au tableau historyarray en déplaçant toutes les valeurs vers le bas d'un emplacement. La moyenne moyenne est alors retournée. Format: average mean (array, slicecount) Calcule la moyenne des valeurs dans le tableau. Slicecount est le nombre d'entrées dans le tableau. Format: mode moyen (array, slicecount) Recherche le nombre le plus courant dans le tableau. Format: max maximum (array, slicecount) Détermine la valeur la plus grande dans le tableau. Format: min minimum (array, slicecount) Recherche la plus petite valeur dans le tableau. Écart-type Format: déviation stddev (tableau, slicecount) L'écart-type est la racine carrée de la moyenne de la somme des carrés de la différence entre chaque point de données et la moyenne moyenne du tableau. C'est la seule fonction qui ne retourne pas le même type de données que le tableau. L'écart-type est toujours retourné comme un flotteur. Je travaille sur un robot mobile contrôlé via une liaison sans fil de 2,4 GHz. Le récepteur est connecté à l'Arduino Uno qui sert à bord comme le contrôleur principal. Le canal d'entrée le plus critique (et principal) provenant du récepteur produit un signal très bruyant, ce qui entraîne de nombreux changements mineurs dans la sortie des actionneurs, même si ceux-ci ne sont pas nécessaires. Je recherche des bibliothèques qui peuvent effectuer un lissage efficace. Existe-t-il des bibliothèques de lissage de signal disponibles pour l'Arduino (Uno) demandé Feb 16 14 at 13:57 Je pense que je vois beaucoup de pointes de bruit d'un seul échantillon dans votre signal bruyant. Le filtre médian fait mieux pour se débarrasser des pics de bruit d'un seul échantillon que n'importe quel filtre linéaire. (Il est meilleur que n'importe quel filtre passe-bas, moyenne mobile, moyenne mobile pondérée, etc. en termes de temps de réponse et sa capacité à ignorer ces outliers de pic de bruit à un seul échantillon). Il existe, en fait, de nombreuses bibliothèques de lissage de signal pour l'Arduino, dont beaucoup comportent un filtre médian. Bibliothèques de lissage de signal à arduino. cc: bibliothèques de lissage de signal à github: ce serait quelque chose comme ça dans votre robot (La médiane-de-3 nécessite très peu de puissance CPU, et donc rapide): Vous pouvez filtrer ce numérique en utilisant un faible Pass: Changez le 0.99 pour changer la fréquence de coupure (plus proche de 1.0 est la fréquence plus basse). L'expression réelle de cette valeur est exp (-2pif fs) où f est la fréquence de coupure que vous voulez et fs la fréquence à laquelle les données sont échantillonnées. Un autre type de filtre numérique est un filtre d'événement. Il fonctionne bien sur les données qui ont des valeurs aberrantes, p. 9,9,8,10,9,25,9. Un filtre d'événements retourne la valeur la plus fréquente. Statistiquement, c'est le mode. Les moyennes statistiques telles que Moyenne, Mode etc. peuvent être calculées à l'aide de la bibliothèque moyenne Arduino. Un exemple tiré de la page de la bibliothèque Arduino renvoyée à:
No comments:
Post a Comment