¿Recomendación para el filtrado de ruido ADC?

5

Estoy usando un ADC (adc081c021) con una entrada bastante ruidosa:

Tambiénhayunvideode5segundosaquí: enlace

El objetivo es detectar los dos picos. ¿Cómo podría suavizar esta entrada para tener mejores lecturas de ADC? ¿Hay una mejor opción que un filtro LC? ¿Algún valor recomendado?

    
pregunta gregoiregentil

3 respuestas

10

Como tiene un ejemplo de la señal en su alcance, lo mejor que puede hacer es capturar los datos y transferirlos a una PC. Luego use una herramienta como Matlab o Octave para simular el efecto de diferentes filtros.

Está buscando un filtro, recién definido en términos de polos (y tal vez ceros) que minimiza el ruido, sin alterar las características deseadas de la señal.

Cuando tienes una definición de filtro, entonces preocupate por cómo construirla.

Si un filtro de un solo polo es adecuado, un simple circuito RC resuelve su problema.

Para un filtro de dos polos, se conoce el circuito de amplificación por tener una tolerancia relativamente buena para los cambios en los valores de los componentes. También es posible una combinación de LC.

Para los filtros de orden superior (que dudo que necesites), es preferible una cascada de filtros Sallen-Key a una escalera de etapas LC, porque el op-amp proporciona un búfer que evita que los cambios de valor de los componentes en una etapa afecten la Características de otras etapas.

Editar En respuesta a tu comentario, no soy un tipo de DSP, pero así es como trabajaría el filtro de tiempo continuo equivalente:

Su función de filtro en tiempo discreto es

\ $ y_n = a x_n + (1-a) y_ {n-1} \ $

Dada una entrada de impulso, la constante de tiempo es el tiempo que lleva decaer a \ $ e ^ {- 1} \ $ del valor de \ $ y_0 \ $.

Esto está dado por

\ $ (1-0.025) ^ n = e ^ {- 1} \ $

Resolviendo esto, n son aproximadamente 39 muestras, o 156 nosotros.

Así que quieres elegir R lo suficientemente bajo para que la impedancia de entrada del ADC no afecte mucho el rendimiento del filtro, luego elige C para darnos RC = 156.

    
3

Una opción rápida y simple de investigar es promediar los valores de ADC sobre un número dado de mediciones, lo que resulta en un filtro de paso bajo simple. La mejor opción sería un búfer de anillo de un tamaño determinado en el que usted presiona el valor más reciente al final y promedia todos los valores en él. Este método viene con un retraso máximo de la duración del búfer de anillo por la frecuencia de muestreo.

    
respondido por el jippie
0

Lo que haría sería utilizar solo la entrada de ADC si el valor fuera mayor que x. Puedes hacer esto usando un comparador para verificar si el valor está por encima de x y luego leer el ADC si está.

    
respondido por el haneefmubarak

Lea otras preguntas en las etiquetas