5 votos

¿Recomendación para el filtrado de ruido del ADC?

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

También hay un vídeo de 5 segundos aquí: http://tinypic.com/player.php?v=2ue47cm&s=5

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

10voto

RWH Puntos 21

Ya que tienes un ejemplo de la señal en tu osciloscopio, lo mejor es capturar los datos y transferirlos a un PC. A continuación, utiliza una herramienta como Matlab u Octave para simular el efecto de diferentes filtros.

Lo que se busca es un filtro, simplemente definido en términos de polos (y quizás ceros) que minimice el ruido, sin perturbar las características deseadas de la señal.

Cuando tengas una definición de filtro, entonces preocúpate de cómo construirlo.

Si un filtro unipolar es adecuado, un simple circuito RC resuelve su problema.

Para un filtro bipolar, el Sallen-Key El circuito de op-amp es conocido por tener una tolerancia relativamente buena a los cambios en los valores de los componentes. También es posible una combinación 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 amplificador óptico proporciona una amortiguación que evita que los cambios de valor de los componentes en una etapa afecten a las características de otras etapas.

Editar En respuesta a tu comentario, no soy un experto en DSP, pero así es como yo calcularí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}\$

Dado un impulso de entrada, la constante de tiempo es el tiempo que tarda en decaer hasta \$e^{-1}\$ del valor de \$y_0\$ .

Esto viene dado por

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

Resolviendo esto, n es de unas 39 muestras, es decir, 156 us.

Así que quieres elegir R lo suficientemente bajo como para que la impedancia de entrada del ADC no afecte mucho al rendimiento del filtro, y luego elegir C para dar RC = 156 us.

3voto

jason Puntos 147

Una opción rápida y sencilla de investigar es promediar los valores del ADC en un número determinado de mediciones, lo que da lugar a un simple filtro de paso bajo. La mejor opción sería un buffer de anillo de un cierto tamaño en el que se empuja el valor más reciente al final y se promedia a través de todos los valores en él. Este método tiene un retardo máximo de la longitud del buffer de anillo por la frecuencia de muestreo.

0voto

Adrian Puntos 134

Lo que yo haría sería utilizar la entrada del ADC sólo si el valor es superior a x. Puedes hacerlo utilizando un comparador para comprobar si el valor es superior a x y luego leer el ADC si lo es.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X