¿Necesito filtrar antes de enviar la señal a un ADC?

Tengo un ADC que es capaz de una frecuencia de muestreo de 25 kHz y tengo un sensor cuyo ancho de banda es de 200 kHz al que me gustaría conectarlo. Este es un sensor de corriente. Nyquist me dice que necesito limitar el ancho de banda del sensor a 12,5 kHz para poder reconstruir una señal (y evitar el alias). Sin embargo, me pregunto si esto es lo correcto. En cierto sentido, no quiero limitar el ancho de banda del sensor para aplicaciones como un detector de picos donde quiero medir los valores pico del sensor y podría perder picos si los filtro.

¿Puedo ejecutar la señal de 200 kHz directamente en el ADC? ¿En qué casos no se debe seguir el criterio de Nyquist?

Gracias

¿Qué contenido en su entrada ADC hay para ser alias?
Nunca podrá reconstruir la señal original después del DAC a menos que atenúe todo el espectro >= Fs/2 por debajo de la resolución del ADC. Cualquier señal residual >=Fs/2 reduce su SNR. por ejemplo, las señales a 25k, 50k, 75k....200k se convierten en errores de CC. etc. Una solución práctica es un filtro Bessel de octavo orden en Fs/3 si desea un error < 0,1%. Si el espectro de HF es tan importante, debe utilizar otra técnica. como medir pico como CC y RMS o promedio

Respuestas (3)

Nyquist me dice que necesito limitar el ancho de banda del sensor a 12,5 kHz para poder reconstruir una señal (y evitar el alias).

Nyquist no te dice eso. Lo que establece el teorema de muestreo de Nyquist-Shannon es:

si tiene una señal que está perfectamente limitada en banda a un ancho de banda de f0, puede recopilar toda la información que hay en esa señal muestreándola en momentos discretos, siempre que su frecuencia de muestreo sea mayor que 2f0

La pieza clave que casi todo el mundo pasa por alto es la banda perfectamente limitada . Este es un filtro acausal y se puede realizar cuando se procesan datos posteriormente y se aplica un pulso de sincronización que tiene la misma longitud que sus datos.
Esto no se puede hacer en tiempo real, pero se puede aproximar (deficientemente) a través de un filtro de peine integral en cascada, pero aún no está perfectamente limitado por banda.

El teorema de Nyquist no dice muestrear a 100 Hz porque está interesado en 50 Hz principal. Si toma muestras al doble de la frecuencia de interés, es posible que tenga cierta información de que existe un componente, pero no podrá reconstruirlo.

ingrese la descripción de la imagen aquí

Una regla general razonable es adquirir 10 veces la frecuencia que realmente le interesa. Esto dará como resultado ~ 99.5% de la amplitud y un cambio de fase de 5 grados (cuantificación aparte por ahora...). La clave es determinar la frecuencia máxima sobre la que está interesado en actuar.

en tu ejemplo

Sensor (200kHz) -> ADC (25kHz). Esto me dice que realmente no está interesado en señales por encima de 2.5kHz y por interesado quiero decir realmente hacer uso de (controlar, reaccionar, etc.). Si eso es aceptable, que así sea. por lo que un filtro anti-aliasing de alrededor de 12,5 kHz estaría bien

Pero, ¿qué pasa con los alias? si alimenta un sensor con un ancho de banda de 200 kHz en un muestreo ADC a 25 kHz, obtendrá señales no deseadas, ya que podría producirse un aliasing. Es recomendable tener un LPF delante del ADC para que actúe como un filtro Anti-Alias, ahora que la salida de los sensores está limitada en banda podría haber servido para este propósito SI su ADC estaba siendo muestreado a, digamos, 400 kHz, pero ese no es el caso. . Sería recomendable si coloca un LPF delante del ADC para eliminar cualquier componente que pueda ser alias por el ADC.

  1. http://www.ni.com/white-paper/2709/en/
  2. http://www.wescottdesign.com/articles/Sampling/sampling.pdf
  3. http://www.ti.com/lit/an/slyt626/slyt626.pdf

Es una situación de uno u otro: aplique el filtro anti-aliasing adecuado para medir correctamente el contenido de la señal en la banda base de 12,5 kHz o no aplique un filtro anti-aliasing y mida los valores máximos pero no tenga la capacidad simultánea de dar sentido a la señal de banda base. Siempre que no quiera hacer ambas cosas juntas, puede implementar un filtro que se puede activar/desactivar y tal vez controlado por una línea IO desde su CPU.

No filtrar tampoco GARANTIZA que captará todos los picos. La mejor respuesta, por supuesto, es muestrear lo suficientemente rápido para capturar los eventos que necesita capturar y filtrar adecuadamente.
O use un detector de picos separado que pueda muestrear periódicamente, si no tiene que reaccionar a los picos en tiempo real.

Quiero medir los valores máximos del sensor y es posible que me los pierda si los filtro

Creo que es imposible no perder picos incluso en caso de que no haya LPF. Si el pico es lo suficientemente angosto (es posible debido al alto ancho de banda del sensor), entonces no es probable que ese momento de muestreo ocurra exactamente en el pico. Pero si ocurrirá antes o después del pico, obtendrá una amplitud de "pico" incorrecta.

Por lo tanto, la señal analógica debe ser 'distorsionada' (de manera bien controlada) por LPF para que ADC pueda capturar toda la información que queda en la señal filtrada, o será distorsionada (de manera incontrolada) por una frecuencia de muestreo inapropiada.