Tuesday 21 November 2017

Movimiento Promedio Vs Convolución


El promedio móvil como filtro El promedio móvil se utiliza a menudo para suavizar los datos en presencia de ruido. La media móvil simple no siempre se reconoce como el filtro de respuesta de impulso finito (FIR) que es, mientras que es realmente uno de los filtros más comunes en el procesamiento de señales. Tratarlo como un filtro permite compararlo con, por ejemplo, filtros de sinc de ventana (véanse los artículos sobre filtros de paso bajo, paso alto, paso de banda y rechazo de banda para ejemplos de los mismos). La principal diferencia con estos filtros es que el promedio móvil es adecuado para señales para las cuales la información útil está contenida en el dominio del tiempo. De las cuales las mediciones de suavizado por promediado son un excelente ejemplo. Sin embargo, los filtros windowed-sinc son fuertes en el dominio de la frecuencia. Con la ecualización en el procesamiento de audio como un ejemplo típico. Hay una comparación más detallada de ambos tipos de filtros en el dominio del tiempo frente al rendimiento de los dominios de frecuencia de los filtros. Si tiene datos para los que tanto el tiempo como el dominio de frecuencia son importantes, entonces puede que desee echar un vistazo a Variaciones en el promedio móvil. Que presenta una serie de versiones ponderadas de la media móvil que son mejores en eso. El promedio móvil de longitud (N) puede definirse como escrito tal como se implementa típicamente, con la muestra de salida actual como el promedio de las muestras (N) anteriores. Visto como un filtro, el promedio móvil realiza una convolución de la secuencia de entrada (xn) con un pulso rectangular de longitud (N) y altura (1 / N) (para hacer el área del pulso y, por tanto, la ganancia de El filtro, uno). En la práctica, es mejor tomar (N) impar. Aunque un promedio móvil también puede calcularse usando un número par de muestras, usar un valor impar para (N) tiene la ventaja de que el retardo del filtro será un número entero de muestras, ya que el retardo de un filtro con (N) Muestras es exactamente ((N-1) / 2). El promedio móvil puede entonces alinearse exactamente con los datos originales desplazándolo por un número entero de muestras. Dominio de tiempo Dado que el promedio móvil es una convolución con un pulso rectangular, su respuesta de frecuencia es una función sinc. Esto hace que sea algo así como el dual del filtro windowed-sinc, ya que es una convolución con un pulso sinc que da como resultado una respuesta de frecuencia rectangular. Es esta respuesta de frecuencia de sinc que hace que el promedio móvil sea un pobre intérprete en el dominio de la frecuencia. Sin embargo, funciona muy bien en el dominio del tiempo. Por lo tanto, es perfecto para suavizar los datos para eliminar el ruido, mientras que al mismo tiempo sigue manteniendo una respuesta de paso rápido (Figura 1). Para el ruido gaussiano blanco aditivo típico (AWGN) que se asume a menudo, las muestras del promedio (N) tienen el efecto de aumentar el SNR por un factor de (sqrt N). Dado que el ruido para las muestras individuales no está correlacionado, no hay razón para tratar cada muestra de manera diferente. Por lo tanto, el promedio móvil, que da a cada muestra el mismo peso, eliminará la cantidad máxima de ruido para una nitidez de respuesta dada. Implementación Debido a que es un filtro FIR, el promedio móvil puede implementarse a través de la convolución. Entonces tendrá la misma eficiencia (o falta de ella) como cualquier otro filtro FIR. Sin embargo, también se puede implementar recursivamente, de una manera muy eficiente. Se deduce directamente de la definición que esta fórmula es el resultado de las expresiones para (yn) y (yn1), es decir, donde observamos que el cambio entre (yn1) y (yn) es que un término extra (xn1 / N) Aparece al final, mientras que el término (xn-N1 / N) se elimina desde el principio. En aplicaciones prácticas, a menudo es posible omitir la división por (N) para cada término, compensando la ganancia resultante de (N) en otro lugar. Esta implementación recursiva será mucho más rápida que la convolución. Cada nuevo valor de (y) se puede calcular con sólo dos adiciones, en lugar de las (N) adiciones que serían necesarias para una implementación directa de la definición. Una cosa a tener en cuenta con una implementación recursiva es que se acumularán errores de redondeo. Esto puede o no ser un problema para su aplicación, pero también implica que esta implementación recursiva funcionará mejor con una implementación entera que con números de coma flotante. Esto es bastante inusual, ya que una implementación en coma flotante suele ser más simple. La conclusión de todo esto debe ser que usted nunca debe subestimar la utilidad del filtro de media móvil simple en aplicaciones de procesamiento de señales. Herramienta de diseño de filtros Este artículo se complementa con una herramienta de diseño de filtros. Experimente con diferentes valores para (N) y visualice los filtros resultantes. Pruebe ahora29 Septiembre, 2013 Media móvil por convolución ¿Qué es el promedio móvil y para qué sirve? ¿Cómo se realiza el promedio móvil usando convolución? El promedio móvil es una operación sencilla utilizada generalmente para suprimir el ruido de una señal: establecemos el valor de cada punto Al promedio de los valores en su vecindario. Por una fórmula: Aquí x es la entrada yy es la señal de salida, mientras que el tamaño de la ventana es w, se supone que es impar. La fórmula anterior describe una operación simétrica: las muestras se toman de ambos lados del punto real. A continuación se muestra un ejemplo de la vida real. El punto en el que se coloca la ventana es en realidad rojo. Valores fuera de x se supone que son ceros: Para jugar y ver los efectos de la media móvil, echar un vistazo a esta demostración interactiva. Cómo hacerlo por convolución Como puede haber reconocido, calcular el promedio móvil simple es similar a la convolución: en ambos casos se desliza una ventana a lo largo de la señal y se resumen los elementos de la ventana. Por lo tanto, darle un intento de hacer lo mismo mediante la convolución. Utilice los siguientes parámetros: La salida deseada es: Como primera aproximación, intentemos lo que obtenemos convolucionando la señal x con el k kernel siguiente: La salida es exactamente tres veces mayor que la esperada. También puede verse que los valores de salida son el resumen de los tres elementos de la ventana. Es porque durante la convolución la ventana se desliza a lo largo, todos los elementos en él se multiplican por uno y luego se resumen: yk 1 cdot x 1 cdot x 1 cdot x Para obtener los valores deseados de y. La salida será dividida por 3: Por una fórmula que incluye la división: Pero no sería óptimo hacer la división durante la convolución Aquí viene la idea reorganizando la ecuación: Así que usaremos el k kernel siguiente: De esta manera vamos a Obtener la salida deseada: En general: si queremos hacer el promedio móvil por convolución teniendo un tamaño de ventana de w. Usaremos el siguiente núcleo k: Una función simple que hace el promedio móvil es: Un ejemplo de uso es: Usando MATLAB, ¿cómo puedo encontrar el promedio móvil de 3 días de una columna específica de una matriz y añadir el promedio móvil a esa matriz Estoy tratando de calcular el promedio móvil de 3 días de abajo hacia arriba de la matriz. He proporcionado mi código: Dada la siguiente matriz a y máscara: He intentado implementar el comando conv pero estoy recibiendo un error. Aquí está el comando conv que he estado tratando de usar en la segunda columna de la matriz a: La salida que deseo se da en la siguiente matriz: Si usted tiene alguna sugerencia, lo agradecería mucho. Gracias Por la columna 2 de la matriz a, estoy calculando el promedio móvil de 3 días de la siguiente manera y colocando el resultado en la columna 4 de la matriz a (I renombrado matriz a como 39desiredOutput39 sólo por ilustración). El promedio de 3 días de 17, 14, 11 es 14 el promedio de 3 días de 14, 11, 8 es 11 el promedio de 3 días de 11, 8, 5 es 8 y el promedio de 3 días de 8, 5, 2 es 5. No hay valor en las 2 filas inferiores para la cuarta columna porque el cálculo para la media móvil de 3 días comienza en la parte inferior. La salida 39valid39 no se mostrará hasta al menos 17, 14 y 11. Esperamos que esto tiene sentido ndash Aaron Jun 12 13 at 1:28 1 Respuesta En general, sería de ayuda si se muestra el error. En este caso usted está haciendo dos cosas mal: Primero su convolución necesita ser dividido por tres (o la longitud de la media móvil) Segundo, observe el tamaño de c. Usted no puede apenas caber c en a. La forma típica de obtener un promedio móvil sería usar lo mismo: pero eso no se parece a lo que quieres. En su lugar, se ve obligado a utilizar un par de líneas:

No comments:

Post a Comment