Tuesday 17 October 2017

Filtro De Media Móvil De Primer Orden


Supongamos que el primer orden IIR Filtro: yn alfa xn (1 - alfa) yn - 1 ¿Cómo puedo elegir el parámetro alfa s. t. La IIR se aproxima lo mejor posible a la FIR que es la media aritmética de las últimas k muestras: Donde n en k, infty), lo que significa que la entrada para la IIR podría ser más larga que k, y sin embargo Id quisiera tener la mejor aproximación de la Media de las últimas entradas k. Sé que la IIR tiene respuesta de impulso infinita, por lo tanto estoy buscando la mejor aproximación. Id ser feliz para la solución analítica si es para o. ¿Cómo se pueden solucionar estos problemas de optimización dados sólo IIR de primer orden. ¿Se tiene que seguir yn alfa xn (1 - alpha) yn - 1 precisamente ndash Phonon Oct 6 11 at 13:32 Esto está destinado a convertirse en una muy mala aproximación. No puedes permitirte nada más que un ndash IIR de primer orden hacia la izquierda alrededor del 6 de octubre a las 13:42. Tal vez quieras editar tu pregunta para que no uses yn para significar dos cosas diferentes, p. La segunda ecuación mostrada podría leer zn frac xn cdots frac xn-k1, y tal vez quiera decir cuál es exactamente su criterio de cuotas tan bueno como sea posible, por ejemplo. ¿Quiere que vert yn - znvert sea lo más pequeño posible para todo n, o que vert yn - znvert2 sea lo más pequeño posible para todo n. Ndash Dilip Sarwate 6 de octubre a las 13:45 niaren Sé que este es un viejo post por lo que si usted puede recordar: ¿cómo es su función 39f39 derivados I39ve codificado una cosa similar, pero utilizando las complejas funciones de transferencia para FIR (H1) e IIR (H2 ) Y luego haciendo la suma (abs (H1 - H2) 2). He comparado esto con su suma (fj), pero obtengo resultados resultantes diferentes. Pensé que pediría antes de arar a través de las matemáticas. Ndash Dom Jun 7 13 at 13:47 OK, vamos a tratar de obtener lo mejor: begin yn ampamp alpha xn (1 - alpha) yn - 1 ampamp alfa xn (1 - alfa) alfa xn - 1 (1 - alfa) 2 yn - 2 extremo alfa xn (1-alfa) alfa xn-1 (1-alfa) 2 alfa xn-2 (1-alfa) 3 yn-3 de manera que el coeficiente de xn-m sea alfa (1-alfa) m . El siguiente paso es tomar derivados e igualar a cero. Al mirar un diagrama del derivado J para K 1000 y alfa de 0 a 1, parece que el problema (como Ive configurarlo) está mal planteado, porque la mejor respuesta es alfa 0. Creo que hay un error aquí. La forma en que debe ser de acuerdo a mis cálculos es: El uso del siguiente código en MATLAB produce algo equivalente, aunque diferente: De todas formas, esas funciones tienen mínimo. Así que vamos a suponer que realmente sólo se preocupan por la aproximación sobre el soporte (longitud) del filtro FIR. En este caso, el problema de optimización es: J2 (alfa) suma (alfa (1-alfa) m-frac) 2 Trazar J2 (alfa) para varios valores de K frente alfa da como resultado la fecha en los gráficos y la tabla a continuación. Para K 8. alfa 0,1533333 Para K 16. alfa 0,08 Para K 24 alfa 0,0533333 Para K 32. alfa 0,04 Para K 40. alfa 0,0333333 Para K 48. alfa 0,0266667 Para K 56. alfa 0,0233333 Para K 64. alfa 0,02 Para K 72. alfa 0.0166667 Las líneas de puntos rojos son 1 / K y las líneas verdes son alfa, el valor de alfa que minimiza J2 (alfa) (elegido entre tt alfa 0: .01: 1/3). Theres una discusión agradable de este problema en el procesamiento de señal incorporado con la arquitectura micro de la señal. Aproximadamente entre las páginas 63 y 69. En la página 63, incluye una derivación del filtro de media móvil recursiva exacta (que niaren dio en su respuesta). Por conveniencia con respecto a la siguiente discusión, corresponde a la siguiente ecuación de diferencia: La aproximación Que pone el filtro en la forma que ha especificado requiere asumir que x aproximadamente y, porque (y cito de la página 68) y es el promedio de xn muestras. Esta aproximación nos permite simplificar la ecuación de diferencia precedente de la siguiente manera: Al establecer alfa, llegamos a su forma original, y alfa xn (1-alfa) y, que muestra que el coeficiente que desea (con respecto a esta aproximación) es exactamente 1over (Donde N es el número de muestras). Es esta aproximación el mejor en cierto sentido su ciertamente elegante. Así, como la respuesta de Peters sugiere, la aproximación de un filtro FIR con un filtro recursivo puede ser problemática bajo una norma de mínimos cuadrados. Una extensa discusión sobre cómo resolver este problema en general se puede encontrar en la tesis de JOS, Técnicas para el diseño de filtros digitales y la identificación del sistema con aplicación al violín. Defiende el uso de la Norma de Hankel, pero en los casos en que la respuesta de fase no importa, también cubre el Método Kopecs, que podría funcionar bien en este caso (y usa una norma L2). Se puede encontrar una amplia visión general de las técnicas de la tesis. Filtros FEI, filtros IIR y la ecuación de diferencia de coeficiente constante lineal Filtros de Promedio Movente Causal (FIR) Hemos discutido sistemas en los que cada muestra de la salida es una suma ponderada de (cierta de las) muestras De la entrada. Tomemos un sistema de suma ponderada causal, donde causal significa que una muestra de salida dada depende solamente de la muestra de entrada actual y de otros insumos más temprano en la secuencia. Ni los sistemas lineales en general, ni los sistemas finitos de respuesta al impulso en particular, necesitan ser causales. Sin embargo, la causalidad es conveniente para una especie de análisis que se va a explorar en breve. Si simbolizamos las entradas como valores de un vector x. Y las salidas como valores correspondientes de un vector y. Entonces tal sistema se puede escribir como cuando los valores de b son pesos aplicados a las muestras de entrada actuales y anteriores para obtener la muestra de salida actual. Podemos pensar en la expresión como una ecuación, con el signo de igual signo que es igual, o como una instrucción de procedimiento, con el signo de igual signo de asignación. Permite escribir la expresión para cada muestra de salida como un bucle MATLAB de sentencias de asignación, donde x es un vector N-length de muestras de entrada, yb es un vector M-length de pesos. Para tratar el caso especial al principio, incorporaremos x en un vector más largo xhat cuyas primeras muestras M-1 son cero. Escribiremos la suma ponderada para cada y (n) como un producto interno, y haremos algunas manipulaciones de las entradas (como invertir b) para este fin. Este tipo de sistema es a menudo llamado un filtro de media móvil, por razones obvias. De nuestras discusiones anteriores, debe ser obvio que tal sistema es lineal y invariable del turno. Por supuesto, sería mucho más rápido usar la función de convolución de MATLAB conv () en lugar de nuestro mafilt (). En lugar de considerar las primeras muestras M-1 de la entrada como cero, podríamos considerarlas como las mismas que las muestras M-1 pasadas. Esto es lo mismo que tratar la entrada como periódica. Utilice bien cmafilt () como el nombre de la función, una pequeña modificación de la función mafilt () anterior. En la determinación de la respuesta de impulso de un sistema, generalmente no hay diferencia entre estos dos, ya que todas las muestras no iniciales de la entrada son cero: Dado que un sistema de este tipo es lineal y invariante por turnos, sabemos que su efecto en cualquier Sinusoid será sólo a escala y cambiarlo. Aquí es importante que utilicemos la versión circular. La versión circularmente convoluida se desplaza y se escala un poco, mientras que la versión con convolución ordinaria se distorsiona al principio. Vamos a ver cuál es el escalado y desplazamiento exactos usando fft: Tanto la entrada como la salida tienen amplitud sólo en las frecuencias 1 y -1, que es como debería ser, dado que la entrada era una sinusoide y el sistema era lineal. Los valores de salida son mayores en una relación de 10.6251 / 8 1.3281. Esta es la ganancia del sistema. ¿Qué pasa con la fase? Sólo necesitamos mirar donde la amplitud es distinta de cero: La entrada tiene una fase de pi / 2, como pedimos. La fase de salida se desplaza por 1,0594 adicionales (con signo opuesto para la frecuencia negativa), o alrededor de 1/6 de un ciclo a la derecha, como podemos ver en el gráfico. Ahora vamos a intentar una sinusoide con la misma frecuencia (1), pero en lugar de la amplitud 1 y fase pi / 2, vamos a intentar la amplitud 1,5 y la fase 0. Sabemos que sólo la frecuencia 1 y -1 tendrá una amplitud no nula, Basta con mirarlos: de nuevo la relación de amplitud (15.9377 / 12.0000) es 1.3281 - y en cuanto a la fase se desplaza nuevamente hacia 1.0594. Si estos ejemplos son típicos, podemos predecir el efecto de nuestro sistema (respuesta al impulso .1.2 .3 .4 .5) en cualquier sinusoide con frecuencia 1 - la amplitud se incrementará en un factor de 1,3281 y la fase (frecuencia positiva) se desplazará en 1,0594. Podríamos pasar a calcular el efecto de este sistema sobre sinusoides de otras frecuencias por los mismos métodos. Pero hay una manera mucho más simple, y una que establece el punto general. Dado que la convolución (circular) en el dominio del tiempo significa la multiplicación en el dominio de la frecuencia, de ello se deduce que, en otras palabras, la DFT de la respuesta de impulso es la relación de la DFT de la salida a la DFT de la entrada. En esta relación los coeficientes de DFT son números complejos. Desde abs (c1 / c2) abs (c1) / abs (c2) para todos los números complejos c1, c2, esta ecuación nos dice que el espectro de amplitud de la respuesta de impulso siempre será la relación entre el espectro de amplitud de la salida a la De la entrada. En el caso del espectro de fase, ángulo (c1 / c2) ángulo (c1) - ángulo (c2) para todos c1, c2 (con la condición de que las fases que se diferencian por n2pi se consideran iguales). Por lo tanto, el espectro de fase de la respuesta de impulso siempre será la diferencia entre los espectros de fase de la salida y la entrada (con las correcciones de 2pi que sean necesarias para mantener el resultado entre - pi y pi). Podemos ver los efectos de fase más claramente si desempolvamos la representación de fase, es decir, si añadimos varios múltiplos de 2pi como sea necesario para minimizar los saltos que son producidos por la naturaleza periódica de la función angle (). Aunque la amplitud y la fase se usan generalmente para la presentación gráfica e incluso tabular, ya que son una manera intuitiva de pensar sobre los efectos de un sistema en los diversos componentes de frecuencia de su entrada, los complejos coeficientes de Fourier son más útiles algebraicamente, ya que permiten La expresión simple de la relación El enfoque general que acabamos de ver funcionará con filtros arbitrarios del tipo esbozado, en los que cada muestra de salida es una suma ponderada de algún conjunto de muestras de entrada. Como se mencionó anteriormente, a menudo se les llama filtros de Respuesta de Impulso Finito, ya que la respuesta de impulso es de tamaño finito, oa veces filtros de Promedio Móvil. Podemos determinar las características de respuesta de frecuencia de dicho filtro a partir de la FFT de su respuesta de impulso, y también podemos diseñar nuevos filtros con características deseadas por IFFT a partir de una especificación de la respuesta de frecuencia. Filtros Autoregresivos (IIR) No tendría mucho sentido tener nombres para los filtros FIR a menos que hubiera algún otro tipo de distinción, por lo que aquellos que han estudiado la pragmática no se sorprenderán al saber que hay de hecho otro tipo principal Del filtro lineal tiempo-invariante. Estos filtros a veces se llaman recursivos porque el valor de salidas anteriores (así como entradas anteriores) importa, aunque los algoritmos generalmente se escriben usando construcciones iterativas. También se les llama Filtros de Respuesta a Impulsos Infinitos (IIR), porque en general su respuesta a un impulso permanece para siempre. También a veces se les llama filtros auto-regresivos, porque los coeficientes pueden considerarse como el resultado de hacer una regresión lineal para expresar valores de señal en función de valores de señal anteriores. La relación de los filtros FIR y IIR se puede ver claramente en una ecuación de diferencia de coeficiente constante lineal, es decir, establecer una suma ponderada de salidas igual a una suma ponderada de entradas. Esto es como la ecuación que dimos anteriormente para el filtro FIR causal, excepto que además de la suma ponderada de entradas, también tenemos una suma ponderada de salidas. Si queremos pensar en esto como un procedimiento para generar muestras de salida, necesitamos reorganizar la ecuación para obtener una expresión para la muestra de salida actual y (n), Adoptando la convención de que a (1) 1 (por ejemplo, escalando otra como Y bs), podemos deshacernos del término 1 / a (1): y (n) b (1) x (n) b (2) x (n-1). B (Nb _ {1}) _ {x} (n - nb) - a (2) y (n - 1) -. - a (Na1) y (n-na) Si todos los a (n) distintos de a (1) son cero, esto reduce a nuestro viejo amigo el filtro FIR causal. Este es el caso general de un filtro (causal) LTI, y es implementado por el filtro de función MATLAB. Veamos el caso en que los coeficientes b distintos de b (1) son cero (en lugar del caso FIR, donde a (n) son cero): En este caso, la muestra de salida corriente y (n) se calcula como (N-1), y (n-2), etc. Para tener una idea de lo que sucede con estos filtros, comencemos con el caso en el que: Es decir, la muestra de salida actual es la suma de la muestra de entrada actual y la mitad de la muestra de salida anterior. Bueno, tome un impulso de entrada a través de unos pasos de tiempo, uno a la vez. Debe quedar claro en este punto que podemos escribir fácilmente una expresión para el valor de la muestra n-ésima salida: es justo (si MATLAB contado desde 0, esto sería simplemente .5n). Puesto que lo que estamos calculando es la respuesta de impulso del sistema, hemos demostrado por ejemplo que la respuesta de impulso puede de hecho tener infinitas muestras no cero. Para implementar este filtro trivial de primer orden en MATLAB, podríamos usar filtro. La llamada se verá así: y el resultado es: ¿Es este negocio realmente todavía lineal? Podemos ver esto empíricamente: Para un enfoque más general, considere el valor de una muestra de salida y (n). Por sustitución sucesiva podríamos escribir esto como Esto es como nuestro viejo amigo la forma convolución-suma de un filtro FIR, con la respuesta impulsiva proporcionada por la expresión .5k. Y la longitud de la respuesta de impulso es infinita. Así, los mismos argumentos que utilizamos para demostrar que los filtros FIR eran lineales ahora se aplicarán aquí. Hasta ahora esto puede parecer un montón de alboroto sobre no mucho. ¿Qué es toda esta línea de investigación para bien responder a esta pregunta en etapas, a partir de un ejemplo. No es una gran sorpresa que podamos calcular un exponencial muestreado por multiplicación recursiva. Veamos un filtro recursivo que hace algo menos obvio. Esta vez también lo convierten en un filtro de segundo orden, de modo que la llamada al filtro será de la forma. Permite establecer el segundo coeficiente de salida a2 a -2cos (2pi / 40) y el tercer coeficiente de salida a3 a 1, y mirar La respuesta al impulso. No muy útil como filtro, en realidad, pero genera una onda sinusoidal muestreada (de un impulso) con tres multiplicaciones por muestra. Para entender cómo y por qué lo hace, y cómo los filtros recursivos pueden ser diseñados y analizados en El caso más general, tenemos que dar un paso atrás y echar un vistazo a algunas otras propiedades de los números complejos, en el camino a la comprensión de la transformación z. Exponential Filter Esta página describe el filtro exponencial, el filtro más simple y más popular. Esto forma parte de la sección Filtrado que forma parte de Guía de detección y diagnóstico de fallas. Resumen, constante de tiempo y equivalente analógico El filtro más simple es el filtro exponencial. Tiene sólo un parámetro de sintonización (distinto del intervalo de muestreo). Requiere el almacenaje de solamente una variable - la salida anterior. Es un filtro IIR (autorregresivo) - los efectos de un cambio de entrada decaen exponencialmente hasta que los límites de las pantallas o la aritmética computarizada lo oculten. En varias disciplinas, el uso de este filtro se conoce también como suavizado 8220exponencial8221. En algunas disciplinas, como el análisis de inversiones, el filtro exponencial se denomina 8220Valor móvil exponencialmente ponderado8221 (EWMA), o simplemente 8220Valor móvil exponencial8221 (EMA). Esto abusa de la terminología ARMA 8220moving media8221 tradicional de análisis de series de tiempo, ya que no hay historial de entrada que se utiliza - sólo la entrada actual. Es el equivalente en tiempo discreto del lag8221 de primer orden utilizado comúnmente en el modelado analógico de sistemas de control de tiempo continuo. En circuitos eléctricos, un filtro RC (filtro con una resistencia y un condensador) es un retraso de primer orden. Al enfatizar la analogía con los circuitos analógicos, el parámetro de ajuste único es la constante de tiempo 82208221, usualmente escrita como la letra griega Tau (). De hecho, los valores en los tiempos de muestra discretos coinciden exactamente con el retardo de tiempo continuo equivalente con la misma constante de tiempo. La relación entre la implementación digital y la constante de tiempo se muestra en las ecuaciones siguientes. Ecuaciones de filtro exponencial e inicialización El filtro exponencial es una combinación ponderada de la estimación anterior (salida) con los datos de entrada más recientes, con la suma de los pesos igual a 1 para que la salida coincida con la entrada en estado estacionario. Siguiendo la notación de filtro ya introducida: y (k) ay (k-1) (1-a) x (k) donde x (k) es la entrada cruda en el paso de tiempo ky (k) es la salida filtrada en el paso de tiempo ka Es una constante entre 0 y 1, normalmente entre 0,8 y 0,99. (A-1) o a se denomina a veces la constante de suavizado 82208221. Para sistemas con un paso de tiempo fijo T entre muestras, la constante 8220a8221 se calcula y se almacena por conveniencia sólo cuando el desarrollador de aplicaciones especifica un nuevo valor de la constante de tiempo deseada. Para los sistemas con muestreo de datos a intervalos irregulares, se debe utilizar la función exponencial anterior con cada paso de tiempo, donde T es el tiempo transcurrido desde la muestra anterior. Normalmente, la salida del filtro se inicializa para que coincida con la primera entrada. A medida que la constante de tiempo se aproxima a 0, a pasa a cero, por lo que no hay filtrado 8211 la salida es igual a la nueva entrada. A medida que la constante de tiempo se vuelve muy grande, se aproxima a 1, de modo que la nueva entrada es casi ignorada 8211 filtración muy pesada. La ecuación de filtro anterior puede ser reordenada en el siguiente equivalente predictor-corrector: Esta forma hace más evidente que la estimación de la variable (salida del filtro) se predice como sin cambios desde la estimación anterior y (k-1) más un término de corrección basado en En la inesperada 8220innovación 8221 - la diferencia entre la nueva entrada x (k) y la predicción y (k-1). Esta forma es también el resultado de derivar el filtro exponencial como un simple caso especial de un filtro de Kalman. Que es la solución óptima a un problema de estimación con un conjunto particular de suposiciones. Paso de respuesta Una forma de visualizar el funcionamiento del filtro exponencial es trazar su respuesta en el tiempo a una entrada escalonada. Es decir, comenzando con la entrada y salida del filtro a 0, el valor de entrada cambia repentinamente a 1. Los valores resultantes se representan a continuación: En la gráfica anterior, el tiempo se divide por la constante de tiempo del filtro tau para que pueda predecir más fácilmente Los resultados para cualquier período de tiempo, para cualquier valor de la constante de tiempo del filtro. Después de un tiempo igual a la constante de tiempo, la salida del filtro aumenta a 63,21 de su valor final. Después de un tiempo igual a 2 constantes de tiempo, el valor sube a 86,47 de su valor final. Las salidas después de tiempos iguales a 3,4 y 5 constantes de tiempo son 95,02, 98,17 y 99,33 del valor final, respectivamente. Dado que el filtro es lineal, esto significa que estos porcentajes pueden usarse para cualquier magnitud del cambio de paso, no sólo para el valor de 1 usado aquí. Aunque la respuesta de paso en teoría toma un tiempo infinito, desde un punto de vista práctico, piense en el filtro exponencial como 98 a 99 8220done8221 respondiendo después de un tiempo igual a 4 a 5 constantes de tiempo de filtro. Variaciones en el filtro exponencial Existe una variación del filtro exponencial llamado filtro exponencial no lineal que pretende filtrar fuertemente el ruido dentro de una amplitud determinada, pero luego responder más rápidamente a cambios más grandes. Copyright 2010 - 2013, Greg Stanley Compartir esta página:

No comments:

Post a Comment