¿Podemos tener un filtro Digital Anti Aliasing?

12

Estoy trabajando en una placa que no tiene filtro antialisaing en la entrada del ADC. Tengo la opción de implementar mi propio filtro usando el circuito RC + Opamp. ¿Pero también es posible implementar el filtro Anti Aliasing después del muestreo por ADC y el procesamiento en el dominio digital: un filtro digital Anti Aliasing?

gpuguy
fuente

Respuestas:

11

Solo para apoyar la respuesta de Matt y proporcionar algunos detalles más:

La mayoría de los ADC modernos realizan la mayor parte del duro trabajo de antialiasing en el dominio digital. La razón es que los filtros digitales tienden a producir menos subproductos por un costo mucho menor. La cadena real es:

  • Entrada analogica.
  • Filtro antisolapamiento analógico.
  • Sobremuestreo (p. Ej., A 8x).
  • Filtro digital antisolapamiento.
  • Diezmando (reducción a 1x).
  • Salida digital.

La siguiente ilustración, considere lo siguiente:

  • El audio se muestrea a 44100Hz.
  • Esto proporciona una frecuencia Nyquist de 22050 Hz.
  • Cualquier frecuencia superior a 24100 Hz volverá alias al rango audible (inferior a 20 kHz).
  • 20000Hz a 24100 es aproximadamente un cuarto de octava.
  • Incluso con un filtro empinado de 80dB / 8ve, solo reducirá las frecuencias de alias en 20dB.

Pero con 8x sobremuestreo:

  • El audio se muestrea a 352.8kHz (44.1kHz x 8).
  • Nyquist es 176.4 kHz.
  • Solo las frecuencias superiores a 332.8kHz se reflejarán en el rango audible.
  • Eso es alrededor de 4 octavas.
  • Por lo tanto, puede aplicar un filtro analógico de 24dB / 8ve para reducir las frecuencias de alias en 96dB.
  • Luego sobremuestreo.
  • Luego aplique un filtro digital de fase lineal entre 20kHz y 24.1kHz

El siguiente libro es un recurso excelente y claro para este tipo de cosas.

Izhaki
fuente
1
Lo que usted dice es cierto para las aplicaciones de audio (en las que los chips de códec integrados listos para usar reemplazaron a ADC / DAC hace mucho tiempo), pero hay muchos campos de ingeniería en los que la adquisición aún se realiza mediante ADC de vainilla SAR (como independiente chips o integrados en microcontroladores), ¡y con estos tienes que hacer el trabajo duro!
pichenettes
Ese es un gran comentario. Sin embargo, creo que la respuesta sigue en pie: si puede permitírselo, los filtros antisolapamiento digitales brindan muchos beneficios.
Izhaki
solo quería saber si esta es la manera de asegurarse de que los filtros analógicos tengan una geometría y un peso pequeños.
gpuguy
1
Si entiendo la pregunta correctamente, entonces sí: el uso de un filtro digital significará un valor analógico mucho más simple (particularmente si la calidad es responsable).
Izhaki
¿Quiere decir "diezmar" en el penúltimo paso del flujo de trabajo de sobremuestreo?
Nick T
15

No, esto no tiene sentido. Digamos que su frecuencia de muestreo de ADC es de 1 kHz. Una onda sinusoidal de 100 Hz y una onda sinusoidal de 900 Hz producirán exactamente la misma secuencia de muestras digitales una vez alimentadas a su ADC, pero usted desea pasar la primera y atenuar la última. ¿Cómo espera que su filtro digital produzca diferentes salidas cuando recibe la misma entrada?

Lo único que podría funcionar sería muestrear la señal de entrada tan rápido como lo permita su ADC, y luego reducirla en el dominio digital a su frecuencia de muestreo objetivo, pero a menos que tenga que desperdiciar ciclos de CPU, será mejor que use un análogo filtrar aguas arriba.

pichenettes
fuente
1
"Una onda sinusoidal de 100 Hz y una onda sinusoidal de 900 Hz producirán exactamente la misma secuencia de muestras digitales". En general, esto no es cierto (aunque entiendo lo que quieres decir).
niaren
3
Bien, esto requiere una condición particular en sus fases para funcionar, ¡pero este no es el punto! El punto es que sus muestras digitales pueden parecer que provienen de una onda sinusoidal de 100 Hz, mientras que la misma secuencia de datos podría haber sido generada por una onda sinusoidal de 900 Hz.
pichenettes
¿Puedes decir cuál es esa condición (exactamente para mantener)?
niaren
1
Hay una diferencia de fase de entre los dos. π
pichenettes
Hay un error en su respuesta. 100Hz y 900 Hz no tienen la misma salida muestreada. En realidad es [100 +/- k * 1000] que dará las mismas muestras. Entonces, -900, 1100, 2100 etc. son las frecuencias con alias correspondientes a 100Hz. En realidad, 900Hz será negativo de la onda de tamaño de 100Hz.
15

Estoy de acuerdo con la respuesta de pichenettes, pero me gustaría agregar que es una práctica bastante común usar un filtro anti-aliasing de bajo orden simple y económico, y hacer el resto del filtrado anti-aliasing en el dominio digital. Esto implica, por supuesto, que no procesa a la velocidad de muestreo máxima, sino que disminuye la muestra después del filtro digital antisolapamiento. Resumiendo:

  1. Por supuesto, necesita un filtro antisolapamiento analógico.

  2. El filtro analógico se puede mantener muy simple si puede reducir la resolución de su señal. En este caso, puede eliminar más los alias en el dominio digital (antes de reducir la resolución).

Matt L.
fuente