Retardo de tiempo: filtro de paso bajo digital VS filtro de paso bajo analógico

Soy nuevo en el filtro digital, espero poder obtener algunas ideas intuitivas aquí. Así que aquí está la cuestión:

Se va a diseñar un filtro de paso bajo con una frecuencia de corte de 5 Hz. Las señales presentadas tienen una frecuencia máxima de 1kHz. Por lo tanto, una frecuencia de muestreo de 1 MHz satisfará plenamente la teoría de muestreo de Naquist para la parte del filtro digital.

Filtro analógico:

Digamos que quiero implementar un filtro de paso bajo analógico de 5 Hz, necesito esperar al menos 0,2 s, o incluso 10 veces más, para obtener datos precisos, debido al tiempo de carga de los circuitos RC.

Filtro digital:

¿Son las mismas cosas para los filtros digitales? Digamos que quiero implementar un filtro de paso bajo de 10 toques (longitud de datos) con una frecuencia de corte de 5 Hz. La frecuencia de muestreo es de 1 MHz. ¿Puedo obtener datos válidos dentro de 1/(1MHz/10) = 10us tiempo? Eso no me parece muy razonable....

Comentarios necesarios:

En esta aplicación, se diseñarán dos filtros.

En ambos filtros solo queremos saber la DC. La señal de CC está enterrada en grandes ruidos. Se elige una frecuencia de corte de 5 Hz, ya que queremos tener lecturas válidas a 5 Hz. Y una frecuencia de corte más baja significa ruidos más pequeños, pero también se necesita más tiempo para obtener una lectura adecuada.

Un filtro tiene un ancho de banda de 6kHz (no 1MHz, que fue solo un ejemplo). Y estamos planeando sobremuestrearlo con una frecuencia de muestreo de 36kHz. El otro filtro tiene un ancho de banda de 60 Hz y estamos planeando sobremuestrearlo a 1 kHz.

Como se puede observar en la descripción del filtro, queremos ruidos más bajos, lo más bajo posible. Por lo tanto, se espera que los filtros digitales tengan un borde nítido a 5 Hz. Y todos los demás parámetros, como "fase lineal, ondulación pequeña... y etc." no son importantes para nosotros, ya que solo nos preocupamos por las lecturas de CC.

Y estoy bastante confundido por los enormes tipos de filtros digitales. ¿Cómo elegirlos? Digamos, ¿entre FIR e IIR?

Su concepto de "esperar" por un filtro analógico parece equivocado. Puedo ver esto en términos de una respuesta de paso, necesitaría "esperar" para obtener el valor de estado estable, pero fuera de ese contexto, no entiendo su pregunta.
¿Con qué frecuencia desea una salida del filtro? ¿Cuánto tiempo puedes esperar a que se asiente?
@ScottSeidman Sí, eso es exactamente lo que quiero decir... Una lectura estable. Como quiero medir CC, y la CC cambia muy lentamente, necesito lecturas estables.
@akellyirl Las medidas tienen una frecuencia de 5 Hz, es decir, 0,2 s por lectura
@richiequanle: depende de CÓMO se desvíe su línea de base. Si varía como un paso (lo cual es bastante raro), sí, debe "esperar" una lectura estable. Si se desplaza con una constante de tiempo prolongada, simplemente puede tomar una lectura.

Respuestas (3)

Existe una gran flexibilidad en el diseño de un filtro digital. Puede diseñar filtros digitales que se comporten de manera muy similar a los filtros analógicos (como lo describió Andy). También puede construir filtros digitales que pueden ser difíciles de reproducir en analógico, como un filtro de fase lineal o un filtro de media banda. O filtros digitales no lineales como los filtros Median que no tienen equivalencia analógica en los sistemas LTI.

Para sus requisitos de "un filtro de paso bajo nítido", sugeriría un IIR simple de la forma:

salida = (1-a) entrada + salida

cuanto más cerca esté 'a' de 1, menor será la frecuencia de corte de su filtro.

Es posible que tenga un problema con la frecuencia de muestreo de 1 MHz y el corte de 5 Hz porque: a = exp(-2*pi*f/fs) donde f es la frecuencia de corte y fs es la frecuencia de muestreo. Así que para tu ejemplo:

a= exp(-2*pi*5/1E6) = 0.99997

Si realmente necesita una frecuencia de muestreo de 1 MHz (porque sus datos deben ser muestreados por un ADC de 1 MSPS, por ejemplo), entonces un filtro de frecuencia múltiple de 3 etapas es más apropiado. Para esto harías:

  1. Promedio de 32 valores a 1 MHz y salida de una muestra de 32 a 1 MHz/32
  2. Promedio de 32 valores a 1MHz/32 y salida de una muestra de 32 a 1MHz/32^2 (1MHz/1024)
  3. Implemente un LPF como el anterior con una frecuencia de muestreo de 1MHz/1024.

ACTUALIZACIÓN BASADA EN NUEVA INFORMACIÓN DE OP: Basado en su información que:

  1. Solo te interesa DC
  2. No está seguro acerca de la frecuencia de corte porque menciona un ancho de banda de 60 Hz y 6 kHz, pero también "Una frecuencia de corte de 5 Hz"
  3. Necesita flexibilidad en la frecuencia de muestreo

Creo que su mejor opción es un CIC Decimator .

ingrese la descripción de la imagen aquí

Básicamente, es un filtro digital MA (FIR), compuesto por

  1. un integrador en la entrada cronometrado a la frecuencia de muestreo del ADC (se muestra 36kHz),
  2. un diferenciador en la salida cronometrada a la tasa de salida.

    Puede controlar la cantidad de filtrado que obtiene cambiando la tasa de salida.

Por ejemplo, con una tasa de entrada de 36 kHz y una tasa de salida de 5 Hz, esto le da un promedio móvil de 36000/5 = 7200 puntos. En realidad, le gustaría mantener las tasas como proporciones binarias, por lo que M = 13 da 36 kHz de entrada 36 kHz/2 ^ 13 de salida y la longitud de MA es 2 ^ M = 8192

El retardo de grupo de esto será 2^(M-1)/Fin o 113ms para el ejemplo anterior. Esa es una de las desventajas de un circuito tan simple, pero no sería un problema en un sistema cuyo valor de CC varía lentamente.

Muchas gracias. He actualizado la descripción del sistema con más detalle. ¿Le importaría echar un vistazo?
@richieqianle Eché un vistazo y agregué mis pensamientos.
Gracias por su respuesta. ¿Podría agregar un poco sobre mis especificaciones? 1. En realidad, se diseñarán dos filtros. 2. La señal de entrada de un filtro tiene un ancho de banda de 6kHz. Y la frecuencia de corte del filtro es de 5 Hz. 3. La señal de entrada de la otra señal es de 60 Hz y la frecuencia de corte también es de 5 Hz. Por lo tanto, la flexibilidad no es muy importante en esta aplicación...

Hay muchos tipos de filtros, y la respuesta transitoria (dominio del tiempo) está directamente relacionada con la respuesta del dominio de la frecuencia.

Pero no importa si la implementación es analógica o digital; cualquier filtro con una respuesta de frecuencia dada tendrá la misma respuesta transitoria.

Usted elige un diseño de filtro en función de los aspectos de su rendimiento que son más importantes en su aplicación. Algunas arquitecturas tienen bandas de paso de dominio de frecuencia especialmente planas, otras tienen bandas de transición particularmente pronunciadas y algunas están optimizadas específicamente para su respuesta de dominio de tiempo (por ejemplo, sin "timbre"). Es un tema que es demasiado amplio para tratar aquí.

Gracias Dave He actualizado la descripción del sistema en la sección "Comentarios necesarios". ¿Podría tener su opinión al respecto? Muy apreciado.

Pasar de un filtro de paso bajo RC simple a un filtro IIR digital de paso bajo es bastante fácil: -

ingrese la descripción de la imagen aquí

Esta es una demostración de 4 pasos de que no existe una diferencia fundamental en el rendimiento entre un filtro analógico y un filtro IIR digital.

Con respecto a su frecuencia de muestreo de 1 MHz y el corte deseado de 5 Hz, esto hace que el factor (T/CR) sea muy, muy pequeño. Por ejemplo, CR para un filtro LP analógico de 5 Hz será: -

CR = 1 5 × 2 × π = 0,03183.

Si tiene en cuenta un paso de tiempo de 1us, T/CR se convierte en 3.183E-8. Sin embargo, puede diezmar sensiblemente sus datos en al menos 10 000:1 y trabajar con una frecuencia de muestreo de 100 Hz. Esto hace que los números sean más fáciles, por supuesto.

Si desea conectar en cascada estos filtros para obtener un orden superior, escribí un documento que podría ayudarlo a comenzar. esta aqui _

Gracias por su respuesta. He leído su documento, que es muy útil. ¿Quiere decir que "el tiempo de muestreo óptimo del ADC depende realmente del RC?" ¿Eso significa que todavía necesito esperar al menos 0,2 segundos * k (k> 1) para que un filtro de paso bajo digital de 5 Hz obtenga un resultado decente?
¿Podría tener sus comentarios sobre la elección de los filtros? He actualizado la descripción del sistema en "Comentarios necesarios". Muy apreciado.
El tiempo de muestreo de ADC es realmente alto, lo que significa que tiene que lidiar con números de punto flotante de alta precisión porque cada muestra se multiplica por un número muy bajo y necesita mantener la precisión numéricamente. Se puede lograr un muestreo bajo a través de la decimación (realizada correctamente), entonces los números con los que está tratando no son realmente minuciosos como 3 x 10 8 . El RC equivalente del filtro dicta el tiempo de asentamiento del filtro y no tiene nada que ver con la tasa de muestreo. Usaría varios filtros IIR en cascada como se muestra en mi respuesta PERO, no soy un experto reconocido en filtrado digital.