Sunday, February 19, 2017

Filtre Moyenne Mobile De Premier Ordre

Supposons le premier ordre IIR Filtre: yn alpha xn (1 - alpha) yn - 1 Comment puis - je choisir le paramètre alpha s. t. L'IIR se rapproche aussi bien que possible du FIR qui est la moyenne arithmétique des derniers k échantillons: Où n dans k, infty), ce qui signifie que l'entrée pour l'IIR pourrait être plus longue que k et pourtant Id aimerait avoir la meilleure approximation de la Moyenne des dernières k entrées. Je sais que l'IIR a une réponse impulsionnelle infinie, donc je cherche la meilleure approximation. Id être heureux pour la solution analytique si elle est pour ou. Comment résoudre ces problèmes d'optimisation étant donné que le premier ordre IIR. A demandé Oct 6 11 at 13:15 Doit-il suivre yn alpha xn (1 - alpha) yn - 1 précisément ndash Phonon Oct 6 11 at 13:32 Ceci est lié à devenir une très mauvaise approximation. Peut-être pouvez-vous vous permettre quelque chose de plus qu'un ndash d'IIR de premier ordre à gauche vers le 6 octobre à 13h42 Vous voudrez peut-être modifier votre question pour ne pas utiliser yn pour signifier deux choses différentes, p. La deuxième équation affichée pourrait lire zn frac xn cdots frac xn-k1, et vous voudrez peut-être dire quel est exactement votre critère de quotas aussi bon que possible par exemple. Voulez - vous que vert yn - znvert soit aussi petit que possible pour tout n, ou que vert yn - znvert2 soit aussi petit que possible pour tout n. Ndash Dilip Sarwate Oct 6 11 at 13:45 niaren Je sais que c'est un ancien post si vous vous souvenez: comment est votre fonction 39f39 dérivé I39ve codé une chose similaire, mais en utilisant les fonctions de transfert complexes pour FIR (H1) et IIR (H2 ) Et en faisant la somme (abs (H1 - H2) 2). Je l'ai comparé à votre somme (fj), mais obtenez des résultats différents. Je pensais que je demanderais avant de labourer les maths. Ndash Dom Jun 7 13 at 13:47 OK, essayons de tirer le meilleur: begin yn ampamp alpha xn (1 - alpha) yn - 1 ampoule alpha xn (1 - alpha) alpha xn - 1 (1 - alpha) 2 yn - 2 alpha - xn (1 - alpha) alpha - xn - 1 (1 - alpha) 2 alpha - xn - 2 (1 - alpha) 3 - 3 - fini de sorte que le coefficient de xn - m soit alpha (1 - alpha) m . L'étape suivante consiste à prendre des dérivés et à égaler à zéro. En regardant un tracé du J dérivé pour K 1000 et l'alpha de 0 à 1, il semble que le problème (comme je l'ai mis en place) est mal posé, parce que la meilleure réponse est alpha 0. Je pense qu'il ya une erreur ici. La façon dont il devrait être selon mes calculs est: L'utilisation du code suivant sur MATLAB donne quelque chose d'équivalent, mais différent: Quoi qu'il en soit, ces fonctions ont un minimum. Supposons donc que nous nous soucions vraiment de l'approximation sur le support (longueur) du filtre FIR. Dans ce cas, le problème d'optimisation est juste: J2 (alpha) somme (alpha (1-alpha) m - frac) 2 Tracer J2 (alpha) pour diverses valeurs de K par rapport à alpha donne la date dans les parcelles et le tableau ci-dessous. Pour K 8. alpha 0.1533333 Pour K 16. alpha 0.08 Pour K 24. alpha 0.0533333 Pour K 32. alpha 0.04 Pour K 40. alpha 0.0333333 Pour K 48. alpha 0.0266667 Pour K 56. alpha 0.0233333 Pour K 64. alpha 0.02 Pour K 72. alpha 0.0166667 Les lignes en tirets rouges sont 1K et les lignes vertes sont alpha, la valeur de alpha qui minimise J2 (alpha) (choisie parmi tt alpha 0: .01: 13). Theres une discussion agréable de ce problème dans Embedded Signal Processing avec le Micro Signal Architecture. Approximativement entre les pages 63 et 69. A la page 63, elle comprend une dérivation du filtre de la moyenne mobile récursive exacte (que niaren a donné dans sa réponse). Pour plus de commodité par rapport à la discussion suivante, elle correspond à l'équation de différence suivante: Qui met le filtre dans la forme que vous avez spécifié suppose que x approximativement y, parce que (et je cite de la page 68) y est la moyenne des xn échantillons. Cette approximation nous permet de simplifier l'équation de différence précédente comme suit: Réglage alpha, nous arrivons à votre forme originale, y alpha xn (1-alpha) y, ce qui montre que le coefficient que vous voulez (par rapport à cette approximation) est exactement 1over (Où N est le nombre d'échantillons). Est-ce approximation le meilleur à un certain point son certainement élégant. Voici comment la réponse de magnitude se compare à 44.1kHz pour N 3 et comme N augmente à 10 (approximation en bleu): Comme la réponse de Peters suggère, l'approximation d'un filtre FIR avec un filtre récursif peut être problématique sous une norme de moindres carrés. Une discussion approfondie sur la façon de résoudre ce problème en général peut être trouvée dans la thèse JOS, Techniques pour la conception de filtre numérique et l'identification du système avec application au violon. Il préconise l'utilisation de la Norme de Hankel, mais dans les cas où la réponse de phase ne compte pas, il couvre également la méthode de Kopecs, qui pourrait fonctionner bien dans ce cas (et utilise une norme L2). Un aperçu général des techniques de la thèse peut être trouvé ici. Ils peuvent donner d'autres approximations intéressantes. Traitement des signaux Filtres numériques Les filtres numériques sont par essence des systèmes échantillonnés. Les signaux d'entrée et de sortie sont représentés par des échantillons avec une distance de temps égale. Les filtres de réponse à implants finis (FIR) sont caractérisés par une réponse temporelle dépendant uniquement d'un nombre donné des derniers échantillons du signal d'entrée. En d'autres termes: une fois que le signal d'entrée est tombé à zéro, la sortie du filtre fera de même après un nombre donné de périodes d'échantillonnage. La sortie y (k) est donnée par une combinaison linéaire des derniers échantillons d'entrée x (k i). Les coefficients b (i) donnent le poids pour la combinaison. Ils correspondent également aux coefficients du numérateur de la fonction de transfert de filtres du z-domaine. La figure suivante montre un filtre FIR d'ordre N 1: Pour les filtres linéaires de phase, les valeurs des coefficients sont symétriques autour du milieu et la ligne à retard peut être repliée autour de ce point central afin de réduire le nombre de multiplications. La fonction de transfert des filtres FIR n'effectue que le numérateur. Cela correspond à un filtre à zéro. Les filtres FIR nécessitent généralement des commandes élevées, d'une amplitude de plusieurs centaines. Ainsi, le choix de ce type de filtres aura besoin d'une grande quantité de matériel ou de processeur. Malgré cela, une raison de choisir une implémentation de filtre FIR est la capacité à obtenir une réponse en phase linéaire, ce qui peut être une exigence dans certains cas. Néanmoins, le concepteur principal a la possibilité de choisir des filtres IIR avec une bonne linéarité de phase dans la bande passante, comme les filtres Bessel. Ou pour concevoir un filtre passe-haut pour corriger la réponse en phase d'un filtre IIR standard. Les modèles de moyenne mobile (MA) Les modèles de moyenne mobile (MA) sont des modèles de processus sous la forme: MA processus est une représentation alternative des filtres FIR. Filtre moyen Modifier Un filtre calculant la moyenne des N derniers échantillons d'un signal C'est la forme la plus simple d'un filtre FIR, tous les coefficients étant égaux. La fonction de transfert d'un filtre moyen est donnée par: La fonction de transfert d'un filtre moyen a N zéros également espacés le long de l'axe de fréquence. Cependant, le zéro en DC est masqué par le pôle du filtre. Par conséquent, il existe un lobe plus grand un DC qui tient compte de la bande passante du filtre. Filtre intégrateur-peigne en cascade (CIC) Modifier Un filtre intégrateur-peigne en cascade (CIC) est une technique spéciale pour la mise en œuvre de filtres moyens placés en série. Le placement en série des filtres moyens améliore le premier lobe à DC par rapport à tous les autres lobes. Un filtre CIC implémente la fonction de transfert de N filtres moyens, chacun calculant la moyenne des échantillons R M. Sa fonction de transfert est ainsi donnée par: Les filtres CIC sont utilisés pour décimer le nombre d'échantillons d'un signal par un facteur de R ou, en d'autres termes, pour ré-échantillonner un signal à une fréquence inférieure, rejetant des échantillons R 1 sur R. Le facteur M indique la quantité du premier lobe utilisé par le signal. Le nombre d'étages moyens de filtrage, N. Indique à quel point d'autres bandes de fréquence sont amorties, au détriment d'une fonction de transfert moins plate autour de DC. La structure de CIC permet d'implémenter l'ensemble du système avec seulement des additionneurs et des registres, sans utiliser de multiplicateurs qui sont gourmands en termes de matériel. Le rééchantillonnage par un facteur R permet d'augmenter la résolution du signal par des bits log 2 (R) (R). Filtres canoniques Modifier Les filtres canoniques implémentent une fonction de transfert de filtre avec un nombre d'éléments de retard égal à l'ordre du filtre, un multiplicateur par coefficient de numérateur, un coefficient multiplicateur par dénominateur et une série d'additionneurs. De même que pour les filtres actifs, les structures canoniques ont montré que ces types de circuits étaient très sensibles aux valeurs des éléments: une petite variation des coefficients avait un effet important sur la fonction de transfert. Ici aussi, la conception des filtres actifs est passée des filtres canoniques à d'autres structures telles que des chaînes de sections de second ordre ou des filtres de sauts. Chaîne de Sections de Deuxième Ordre Modifier Une section de deuxième ordre. Souvent appelé biquad. Implémente une fonction de transfert de second ordre. La fonction de transfert d'un filtre peut être divisée en un produit de fonctions de transfert associées chacune à une paire de pôles et éventuellement une paire de zéros. Si l'ordre des fonctions de transfert est impair, une section de premier ordre doit être ajoutée à la chaîne. Cette section est associée au pôle réel et au zéro réel s'il en existe un. Direct-form 1 direct-form 2 direct-form 1 transposé direct-form 2 transposé La forme directe 2 transposée de la figure suivante est particulièrement intéressante en termes de matériel requis ainsi que le signal et le coefficient de quantification. Digital Leapfrog Filters Modifier la structure du filtre Modifier Leapfrog numérique base de filtres sur la simulation de filtres analogiques actifs leapfrog. L'incitation à ce choix est d'hériter des excellentes propriétés de sensibilité à la bande passante du circuit d'échelle d'origine. Le filtre passe-bas passe-tout bipolaire 4ème ordre suivant peut être implémenté en tant que circuit numérique en remplaçant les intégrateurs analogiques par des accumulateurs. Remplacer les intégrateurs analogiques par des accumulateurs correspond à simplifier la transformation Z à z 1 s T. Qui sont les deux premiers termes de la série de Taylor de z e x p (s T). Cette approximation est assez bonne pour les filtres où la fréquence d'échantillonnage est beaucoup plus élevée que la bande passante du signal. Transformation de la fonction de transfert La représentation de l'espace d'état du filtre précédent peut être écrite comme: A partir de ce jeu d'équations, on peut écrire les matrices A, B, C, D comme: A partir de cette représentation, des outils de traitement de signal comme Octave ou Matlab permettent de tracer La réponse en fréquence des filtres ou pour examiner ses zéros et ses pôles. Dans le filtre numérique «leapfrog», les valeurs relatives des coefficients définissent la forme de la fonction de transfert (Butterworth, Chebyshev.), Alors que leurs amplitudes fixent la fréquence de coupure. En divisant tous les coefficients par un facteur de deux, la fréquence de coupure diminue d'une octave (également un facteur de deux). Un cas particulier est le filtre Buterworth 3 ème ordre qui a des constantes de temps avec des valeurs relatives de 1, 12 et 1. Grâce à cela, ce filtre peut être implémenté en matériel sans multiplicateur, mais en utilisant des changements à la place. Les modèles autorégressifs (AR) sont des modèles de processus sous la forme: où u (n) est la sortie du modèle, x (n) est l'entrée du modèle et u (n - m) sont les précédents Échantillons de la valeur de sortie du modèle. Ces filtres sont appelés autorégressifs car les valeurs de sortie sont calculées sur la base de régressions des valeurs de sortie précédentes. Les processus AR peuvent être représentés par un filtre multipolaire. Filtres ARMA Modifier Les filtres ARMA (Autonomie moyenne mobile) sont des combinaisons de filtres AR et MA. La sortie du filtre est donnée comme une combinaison linéaire à la fois de l'entrée pondérée et des échantillons de sortie pondérés: les processus ARMA peuvent être considérés comme un filtre IIR numérique, avec les deux pôles et les zéros. Les filtres AR sont préférés dans de nombreux cas parce qu'ils peuvent être analysés en utilisant les équations de Yule-Walker. Les processus MA et ARMA, d'autre part, peuvent être analysés par des équations non linéaires compliquées, difficiles à étudier et à modéliser. Si nous avons un processus AR avec des coefficients de pondération a (a vecteur de a (n), a (n - 1).) Une entrée de x (n). Et une sortie de y (n). Nous pouvons utiliser les équations yule-walker. On dit que x 2 est la variance du signal d'entrée. Nous traitons le signal de données d'entrée comme un signal aléatoire, même si c'est un signal déterministe, parce que nous ne savons pas ce que la valeur sera jusqu'à ce que nous le recevons. Nous pouvons exprimer les équations de Yule-Walker comme: Où R est la matrice de corrélation croisée de la sortie du processus Et r est la matrice d'autocorrélation de la sortie du processus: Variance Edit On peut montrer que: On peut exprimer la variance du signal d'entrée comme: , En élargissant et en remplaçant par r (0). Nous pouvons relier la variance de sortie du processus à la variance d'entrée: Filtre exponentiel Cette page décrit le filtrage exponentiel, le filtre le plus simple et le plus populaire. Cela fait partie de la section Filtrage qui fait partie de A Guide to Fault Detection and Diagnostic .. Vue d'ensemble, constante de temps et équivalent analogique Le filtre le plus simple est le filtre exponentiel. Elle n'a qu'un seul paramètre d'accord (autre que l'intervalle d'échantillonnage). Elle nécessite le stockage d'une seule variable - la sortie précédente. Il s'agit d'un filtre IIR (autorégressif) - les effets d'un changement d'entrée décroissent exponentiellement jusqu'à ce que les limites d'affichage ou l'arithmétique informatique le masquent. Dans diverses disciplines, l'utilisation de ce filtre est également appelée lissage 8220exponentiel8221. Dans certaines disciplines telles que l'analyse d'investissement, le filtre exponentiel est appelé 8220 Moyenne mobile pondérée exponentiellement8221 (EWMA), ou juste 8220 Moyenne mobile exponentielle8221 (EMA). Cela empiète sur la terminologie traditionnelle ARMA 8220moving average8221 de l'analyse des séries temporelles, car il n'y a pas d'historique d'entrée utilisé - juste l'entrée courante. Il s'agit de l'équivalent temps discret du lag8221 de premier ordre 8220 couramment utilisé dans la modélisation analogique de systèmes de contrôle en temps continu. Dans les circuits électriques, un filtre RC (filtre avec une résistance et un condensateur) est un décalage de premier ordre. En mettant l'accent sur l'analogie avec les circuits analogiques, le paramètre d'accord unique est la constante de temps 82208221, généralement écrite sous la forme de la lettre minuscule grecque Tau (). En fait, les valeurs aux temps d'échantillonnage discrets correspondent exactement au décalage de temps continu équivalent avec la même constante de temps. La relation entre l'implémentation numérique et la constante de temps est représentée dans les équations ci-dessous. Equations du filtre exponentiel et initialisation Le filtre exponentiel est une combinaison pondérée de l'estimation précédente (sortie) avec les données d'entrée les plus récentes, la somme des poids égaux à 1 pour que la sortie corresponde à l'entrée à l'état stationnaire. Après la notation de filtre déjà introduite: y (k) ay (k-1) (1-a) x (k) où x (k) est l'entrée brute au temps ky (k) est la sortie filtrée au temps ka Est une constante entre 0 et 1, normalement comprise entre 0,8 et 0,99. (A-1) ou a est parfois appelée la constante de lissage 82208221. Pour des systèmes avec un intervalle de temps T fixe entre des échantillons, la constante 8220a8221 est calculée et stockée pour des raisons de commodité seulement lorsque le développeur d'application spécifie une nouvelle valeur de la constante de temps souhaitée. Pour les systèmes avec échantillonnage de données à des intervalles irréguliers, la fonction exponentielle ci-dessus doit être utilisée à chaque pas de temps, où T est le temps écoulé depuis l'échantillon précédent. La sortie du filtre est généralement initialisée pour correspondre à la première entrée. Lorsque la constante de temps approche 0, a passe à zéro, donc il n'y a pas de filtrage 8211 la sortie est égale à la nouvelle entrée. Comme la constante de temps devient très grande, une approches 1, de sorte que la nouvelle entrée est presque ignorée 8211 très lourd de filtrage. L'équation de filtre ci-dessus peut être réarrangée dans l'équivalent prédicteur-correcteur suivant: Cette forme rend plus évident que l'estimation variable (sortie du filtre) est prédite comme étant inchangée par rapport à l'estimation précédente y (k-1) plus un terme de correction basé Sur l'inattendue 8220innovation8221 - la différence entre la nouvelle entrée x (k) et la prédiction y (k-1). Cette forme est également le résultat de la dérivation du filtre exponentiel comme un simple cas particulier d'un filtre de Kalman. Qui est la solution optimale à un problème d'estimation avec un ensemble particulier d'hypothèses. Etape réponse Une façon de visualiser le fonctionnement du filtre exponentiel est de tracer sa réponse dans le temps à une entrée pas à pas. C'est-à-dire, en commençant par l'entrée et la sortie du filtre à 0, la valeur d'entrée est soudainement changée à 1. Les valeurs résultantes sont tracées ci-dessous: Dans le graphique ci-dessus, le temps est divisé par la constante de temps tau du filtre, Les résultats pour toute période de temps, pour toute valeur de la constante de temps du filtre. Après un temps égal à la constante de temps, la sortie du filtre s'élève à 63,21 de sa valeur finale. Après un temps égal à 2 constantes de temps, la valeur s'élève à 86,47 de sa valeur finale. Les sorties après des temps égaux à 3,4 et 5 constantes de temps sont respectivement 95,02, 98,17 et 99,33 de la valeur finale. Etant donné que le filtre est linéaire, cela signifie que ces pourcentages peuvent être utilisés pour n'importe quelle grandeur du changement de pas, pas seulement pour la valeur de 1 utilisée ici. Bien que la réponse d'échelon prenne en théorie un temps infini, d'un point de vue pratique, pensez au filtre exponentiel comme 98 à 99 8220done8221 répondant après un temps égal à 4 à 5 constantes de temps de filtrage. Variations sur le filtre exponentiel Il existe une variation du filtre exponentiel appelé filtre exponentiel non linéaire, qui vise à filtrer fortement le bruit dans une certaine amplitude 8220typical8221, mais qui réagit plus rapidement à des changements plus importants. Copyright 2010 - 2013, Greg Stanley Partager cette page:


No comments:

Post a Comment