Principios Básicos De Los Filtros En Movimiento


Un filtro digital de introducción Bien abra MicroModeler DSP y seleccione un filtro digital de la barra de herramientas en la parte superior y arrástrelo a nuestra aplicación. Bueno elegir un filtro de media móvil porque es uno de los tipos más simples de filtros. Después de soltar el filtro, las pantallas se actualizarán automáticamente. (Haga clic para lanzar MicroModeler DSP en una nueva ventana) Todos sabemos lo que es un promedio - agregar los números juntos y dividir por cuántos hay. Un filtro de media móvil hace exactamente eso. Almacena un historial de los últimos N números y emite su promedio. Cada vez que entra un nuevo número, el promedio se recalcula efectivamente de las muestras almacenadas y se emite un nuevo número. La respuesta de frecuencia de un filtro En la parte superior derecha, vemos la gráfica de Magnitud vs Frecuencia, o cuántas frecuencias diferentes serán amplificadas o reducidas por el filtro de media móvil. Como es de esperar, el promedio de las últimas muestras de N aplicará algún tipo de suavizado a la señal, reteniendo las frecuencias bajas y eliminando las altas frecuencias. Podemos controlar el número de entradas anteriores, o muestras que se promedian ajustando la longitud del filtro, N. Al ajustar esto, podemos ver que tenemos un control básico sobre el cual las frecuencias pueden pasar y que se descartan. El interior de un filtro Si observamos la vista de estructura, podemos ver cómo puede verse el interior de un filtro de media móvil. El diagrama ha sido anotado para mostrar lo que significan los diferentes símbolos. Los símbolos Z -1 significan un retardo de una muestra de tiempo y los símbolos significan añadir, o combinar las señales. Las flechas significan multiplicar (piense amplificar, reducir o escalar) la señal por la cantidad mostrada a la derecha de la flecha. Para un promedio de 5 muestras, tomamos una quinta parte (0,2) de la muestra más reciente, una quinta parte de la segunda muestra más reciente y así sucesivamente. La cadena de retardos se denomina una línea de retardo con la señal de entrada siendo retrasada por un paso de tiempo adicional a medida que avanza a lo largo de la línea de retardo. Las flechas también se llaman grifos, por lo que casi podría imaginar que como grifos como el de su fregadero de la cocina que son todos un quinto abierto. Se podría imaginar la señal que fluye desde la izquierda y se retrasa progresivamente a medida que se mueve a lo largo de la línea de retardo, y luego se recombinan en diferentes fuerzas a través de los grifos para formar la salida. También debería ser fácil ver que la salida del filtro será: Que es el equivalente a la media de las últimas 5 muestras. En la práctica, el código generado por MicroModeler DSP utilizará trucos para hacer esto de manera más eficiente, de modo que sólo las primeras y últimas muestras deben estar involucradas, pero el diagrama es bueno para propósitos ilustrativos. Si puedes entender esto, entonces puedes tener una idea de lo que es un filtro FIR. Un filtro FIR es idéntico al filtro de media móvil, pero en lugar de que todas las potencias sean iguales, pueden ser diferentes. Aquí tenemos un filtro de media móvil y un filtro FIR. Se puede ver que son estructuralmente los mismos, la única diferencia es la fuerza de los grifos. La siguiente sección le presentará los filtros de respuesta de impulso finito (FIR). Al variar las fortalezas del grifo, podemos crear cerca de cualquier respuesta de frecuencia que queramos. El científico y los ingenieros Guía para el procesamiento de señales digitales Por Steven W. Smith, Ph. D. Capítulo 14: Introducción a los Filtros Digitales Los filtros digitales son una parte muy importante del DSP. De hecho, su extraordinario rendimiento es una de las razones clave por las que DSP se ha vuelto tan popular. Como se mencionó en la introducción, los filtros tienen dos usos: separación de señal y restauración de señal. La separación de señal es necesaria cuando una señal ha sido contaminada con interferencia, ruido u otras señales. Por ejemplo, imagine un dispositivo para medir la actividad eléctrica de un corazón de bebé (EKG) mientras aún está en el útero. La señal cruda probablemente será corrompida por la respiración y los latidos del corazón de la madre. Puede utilizarse un filtro para separar estas señales de modo que puedan analizarse individualmente. La restauración de señal se utiliza cuando una señal ha sido distorsionada de alguna manera. Por ejemplo, una grabación de audio realizada con un equipo deficiente puede filtrarse para representar mejor el sonido tal como ocurrió realmente. Otro ejemplo es el deblurring de una imagen adquirida con una lente enfocada incorrectamente, o una cámara shaky. Estos problemas pueden ser atacados con filtros analógicos o digitales. Lo que es mejor Los filtros analógicos son baratos, rápidos y tienen un amplio rango dinámico en amplitud y frecuencia. Los filtros digitales, en comparación, son muy superiores en el nivel de rendimiento que se puede lograr. Por ejemplo, un filtro digital de paso bajo presentado en el capítulo 16 tiene una ganancia de 1 / - 0,0002 de DC a 1000 hercios y una ganancia de menos de 0,0002 para frecuencias por encima de 1001 hertz. La transición entera ocurre dentro de solamente 1 hertz. No espere esto de un circuito de amplificador operacional Los filtros digitales pueden lograr miles de veces mejor rendimiento que los filtros analógicos. Esto hace una diferencia dramática en cómo se abordan los problemas de filtrado. Con los filtros analógicos, se hace hincapié en las limitaciones de manejo de la electrónica, como la precisión y la estabilidad de las resistencias y condensadores. En comparación, los filtros digitales son tan buenos que el rendimiento del filtro es frecuentemente ignorado. El énfasis cambia a las limitaciones de las señales. Y las cuestiones teóricas relativas a su procesamiento. Es común en DSP decir que las señales de entrada y salida de un filtro están en el dominio del tiempo. Esto se debe a que las señales suelen ser creadas por muestreo a intervalos regulares de tiempo. Pero esta no es la única manera de muestreo puede tener lugar. La segunda forma más común de muestreo es a intervalos iguales en el espacio. Por ejemplo, imagine tomar lecturas simultáneas de una matriz de sensores de deformación montados en incrementos de un centímetro a lo largo de la longitud de un ala de avión. Muchos otros dominios son posibles sin embargo, el tiempo y el espacio son por lejos los más comunes. Cuando vea el término dominio de tiempo en DSP, recuerde que en realidad puede referirse a muestras tomadas en el tiempo, o puede ser una referencia general a cualquier dominio en el que se toman las muestras. 14-1, cada filtro lineal tiene una respuesta de impulso. Una respuesta escalonada y una respuesta en frecuencia. Cada una de estas respuestas contiene información completa sobre el filtro, pero en una forma diferente. Si se especifica uno de los tres, los otros dos son fijos y se pueden calcular directamente. Estas tres representaciones son importantes porque describen cómo el filtro reaccionará bajo diferentes circunstancias. La forma más sencilla de implementar un filtro digital es convolucionar la señal de entrada con la respuesta de impulso de los filtros digitales. De esta manera se pueden hacer todos los filtros lineales posibles. (Esto debería ser obvio. Si no lo es, probablemente no tiene el fondo para entender esta sección sobre el diseño del filtro. Intentar revisar la sección anterior sobre los fundamentos de DSP). Cuando se utiliza la respuesta de impulso de esta manera, los diseñadores de filtros le dan un nombre especial: el núcleo del filtro. También hay otra manera de hacer filtros digitales, llamada recursión. Cuando un filtro se implementa por convolución, cada muestra en la salida se calcula ponderando las muestras en la entrada y agregándolas juntas. Los filtros recursivos son una extensión de esto, usando valores previamente calculados de la salida. Además de los puntos de la entrada. En lugar de utilizar un kernel de filtro, los filtros recursivos se definen mediante un conjunto de coeficientes de recursión. Este método será discutido en detalle en el Capítulo 19. Por ahora, el punto importante es que todos los filtros lineales tienen una respuesta de impulso, incluso si no lo usas para implementar el filtro. Para encontrar la respuesta de impulso de un filtro recursivo, basta con alimentar un impulso, y ver lo que sale. Las respuestas de impulso de los filtros recursivos se componen de sinusoides que decayen exponencialmente en amplitud. En principio, esto hace que sus respuestas al impulso sean infinitamente largas. Sin embargo, la amplitud eventualmente cae por debajo del ruido de redondeo del sistema, y ​​las muestras restantes pueden ser ignoradas. Debido a esta característica, los filtros recursivos también se llaman filtros Infinite Impulse Response o IIR. En comparación, los filtros llevados a cabo por convolución se llaman filtros de Respuesta de Impulso Finito o FIR. Como ustedes saben, la respuesta de impulso es la salida de un sistema cuando la entrada es un impulso. De la misma manera, la respuesta de paso es la salida cuando la entrada es un paso (también llamado borde y una respuesta de borde). Dado que el paso es la integral del impulso, la respuesta escalonada es la integral de la respuesta de impulso. Esto proporciona dos maneras de encontrar la respuesta al paso: (1) alimentar una forma de onda de paso al filtro y ver qué sale, o (2) integrar la respuesta de impulso. (Para ser matemáticamente correcta: la integración se utiliza con señales continuas, mientras que la discreta integración, es decir, una suma de carrera, se utiliza con señales discretas). La respuesta de frecuencia se puede encontrar tomando la DFT (usando el algoritmo FFT) de la respuesta de impulso. Esto será revisado más adelante en este capítulo. La respuesta en frecuencia se puede trazar en un eje vertical lineal, como en (c), o en una escala logarítmica (decibelios), como se muestra en (d). La escala lineal es la mejor para mostrar la ondulación de banda de paso y roll-off, mientras que la escala de decibelios es necesaria para mostrar la atenuación de banda de parada. No recuerdo decibeles Esta es una revisión rápida. Un bel (en honor de Alexander Graham Bell) significa que el poder se cambia por un factor de diez. Por ejemplo, un circuito electrónico que tiene 3 bels de amplificación produce una señal de salida con 10 veces 10 veces 10 1000 veces la potencia de la entrada. Un decibelio (dB) es un décimo de un bel. Por lo tanto, los valores de decibelios de: -20dB, -10dB, 0dB, 10dB amp 20dB, significan las relaciones de potencia: 0.01, 0.1, 1, 10, amp 100, respectivamente. En otras palabras, cada diez decibelios significa que el poder ha cambiado por un factor de diez. Heres la captura: por lo general quiere trabajar con una amplitud de señales. No su poder. Por ejemplo, imagine un amplificador con 20dB de ganancia. Por definición, esto significa que la potencia en la señal ha aumentado en un factor de 100. Dado que la amplitud es proporcional a la raíz cuadrada de potencia, la amplitud de la salida es 10 veces la amplitud de la entrada. Mientras que 20dB significa un factor de 100 en potencia, sólo significa un factor de 10 en amplitud. Cada veinte decibelios significa que la amplitud ha cambiado por un factor de diez. En la forma de la ecuación: Las ecuaciones anteriores usan el logaritmo base 10, sin embargo, muchos lenguajes informáticos sólo proporcionan una función para el logaritmo base e (log natural, log escrito e x o ln x). El registro natural puede utilizarse modificando las ecuaciones anteriores: dB 4.342945 log e (P 2 / P 1) y dB 8.685890 log e (A 2 / A 1). Dado que los decibelios son una manera de expresar la relación entre dos señales, son ideales para describir la ganancia de un sistema, es decir, la relación entre la salida y la señal de entrada. Sin embargo, los ingenieros también usan decibelios para especificar la amplitud (o potencia) de una sola señal, haciendo referencia a alguna norma. Por ejemplo, el término: dBV significa que la señal está siendo referenciada a una señal de 1 voltios rms. Asimismo, dBm indica una señal de referencia que produce 1 mW en una carga de 600 ohmios (aproximadamente 0,78 voltios rms). Si no entiendes nada más acerca de los decibeles, recuerda dos cosas: Primero, -3dB significa que la amplitud se reduce a 0.707 (y la potencia se reduce a 0.5). Segundo, memorice las siguientes conversiones entre decibelios y relaciones de amplitud: Moving Average Filter Description El MovingAverageFilter implementa un filtro de media móvil de paso bajo. MovingAverageFilter es parte de los módulos de preprocesamiento. Un ejemplo de una señal (ruido aleatorio de onda senoidal) filtrado utilizando un filtro de media móvil. La señal roja es el ruido original de la señal, la señal verde es la señal filtrada utilizando un filtro de media móvil con un tamaño de ventana de 5 y la señal azul es la señal filtrada utilizando un filtro de media móvil con un tamaño de ventana de 20. MovingAverageFilterExampleImage1. Jpg Ventajas El MovingAverageFilter es bueno para eliminar una pequeña cantidad de ruido de alta frecuencia de una señal N dimensional. Desventajas La principal desventaja del MovingAverageFilter es que para filtrar el ruido de alta frecuencia, el tamaño de la ventana del filtro debe ser grande. El problema con tener una ventana de filtro grande es que esto inducirá una latencia grande en cualquier señal que pasa a través del filtro, que puede no ser ventajosa para las aplicaciones en tiempo real. Si encuentra que necesita una gran ventana de filtro para filtrar el ruido de alta frecuencia y la latencia inducida por este tamaño de ventana no es adecuada para su aplicación en tiempo real, es posible que desee probar un filtro de promedio móvil doble o filtro de paso bajo en lugar. Ejemplo de código / GRT MovingAverageFilter Ejemplo En este ejemplo se muestra cómo crear y utilizar el módulo de preprocesamiento GRT MovingAverageFilter. El MovingAverageFilter implementa un filtro de promedio móvil de paso bajo. En este ejemplo creamos una instancia de MovingAverageFilter y la usamos para filtrar algunos datos ficticios, generados a partir de un ruido aleatorio de onda senoidal. La señal de prueba y las señales filtradas se guardan en un archivo (por lo que puede trazar los resultados en Matlab, Excel, etc. si es necesario). Este ejemplo le muestra cómo: - Crear una nueva instancia de MovingAverageFilter con un tamaño de ventana específico para una señal de 1 dimensión - Filtrar algunos datos utilizando el MovingAverageFilter - Guardar la configuración de MovingAverageFilter en un archivo - Cargar la configuración de MovingAverageFilter de un archivo / include quotGRT. Hquot utilizando el espacio de nombres GRT int main 40 int argc. Const char argv 91 93 41 123 // Crear una nueva instancia de un filtro de media móvil con un tamaño de ventana de 5 para una señal de 1 dimensión Filtro MovingAverageFilter 40 5. 1 41 // Crear y abrir un archivo para guardar el archivo fstream de datos . Abrir 40 quotMovingAverageFilterData. txtquot. Fstream Out 41 // Generar algunos datos (ruido de onda senoidal) y filtrarlo doble x 0 const UINT M 1000 Aleatorio aleatorio para 40 UINT i 0 i lt M i 41 123 doble señal sin 40 x 41 aleatorio. GetRandomNumberUniform 40 - 0.2. 0,2 41 filtrado de filtro doble. Filtro 40 señal 41 archivo ltlt señal ltlt quot ttlt ltlt filterValue ltlt endl x TWOPI / doble 40 M 41 10 125 // Cierra el archivo. Close 40 41 // Guarda la configuración del filtro en un filtro de archivos. SaveSettingsToFile 40 quotMovingAverageFilterSettings. txtquot 41 // A continuación, podemos cargar la configuración más tarde si es necesario filtro. LoadSettingsFromFile 40 quotMovingAverageFilterSettings. txtquot 41 return EXITSUCCESS 125 El MovingAverageFilter también funciona con cualquier señal N dimensional: // Crea una nueva instancia del MovingAverageFilter con un tamaño de ventana de 10 para una señal tridimensional MovingAverageFilter filter 40 10. 3 41 // El valor Desea filtrar vector lt doble datos gt 40 3 41 datos 91 0 93 0 //. Obtener valor de los datos del sensor 91 1 93 0 //. Obtener valor de los datos del sensor 91 2 93 0 //. Obtener valor del sensor // Filtrar el vector de señal lt doble filtro filterValue. Filtro 40 datos 41 Amplificador de código Recursos

Comments

Popular posts from this blog

Estrategias De Entrada En La Negociación De Tendencias

Pola 21 Forex

Forex Estrategias De Scalping Foro