¿Cómo mejorar mi filtro digital para extraer DC de ruidos?

0

Descripción del filtro digital:

  1. La entrada del filtro son datos del sensor y la salida se proporcionará a un controlador PID.

  2. Frecuencia de muestreo: 64kHz

  3. Espectro de ruidos: de DC a 10kHz

  4. Objetivo del filtro: para obtener solo el componente DC y reducir los ruidos tanto como sea posible.

  5. Característica de DC: varía muy lentamente, por ejemplo, a 0.000001Hz.

Más acerca del sistema

  1. La entrada del sistema (referencia o referencia es cero). Y, en realidad, el objetivo del controlador es mantener la salida del sistema en cero.

  2. En este sistema, también hay perturbaciones y ruidos. La perturbación tiene la forma de aproximadamente una rampa, sin embargo, por naturaleza, son más bien eventos aleatorios a muy baja frecuencia

  3. El controlador es un controlador PI simple. Se esfuerza por compensar la influencia de la perturbación mientras se deshace de los ruidos.

  4. Los ruidos son de los sensores y el filtro entre el controlador y el sensor es lo que estoy buscando ayuda aquí.

Miformaactualdediseñodefiltros:

  1. Losdatosentraránenundecimadorparasueliminaciónprimero.Eldecimadoresunfiltrodepromediodetapde320,quepromediacada320datosyexportaunresultadopromedio.Losresultadosserána200Hz.

  2. Losdatospromediadosentraránenundecimadordepromediode20pulsos.Losresultadosserána10Hz.

  3. Porfin,losdatosa10HziránaunIIRo,nuevamente,aunfiltrodepromediomóvil.Elresultadofinaloscilaráentre1Hzy0.2Hz.

Mispreocupaciones:Diseñoinsuficiente

Eldecimadorpromediopuedenoserlosuficientementeagudo,yaquesonbásicamenteFIRconlosmismoscoeficientesde1/320.Dadoquelosfiltrosnosonlosuficientementenítidos,lareducción(reduccióndemuestreo)puedeintroducirunmapeoderuidosdealtafrecuenciaenlosresultadosfiltrados.

Elsiguientediagramaeslarespuestapara1/320promediodefiltro

Puede que no sea malo

Dado que las varias etapas de la decimación son básicamente promediando las señales. Los resultados serán un componente de CC, ya que así es como se define la DC.

Se necesita asesoramiento

¿Cómo mejorar mi diseño actual?

    
pregunta richieqianle

1 respuesta

3

Su primer problema no es un diseño insuficiente, sino una especificación insuficiente. Tenga en cuenta que 'tanto como sea posible' no es una especificación!

En lugar de preguntarse si un filtro en particular es lo suficientemente nítido y puede introducir ruidos de alta frecuencia en los resultados, sería más constructivo especificar cuánta atenuación se requiere a qué frecuencias, y luego diseñar un filtro que proporcione esta atenuación.

Uno de los primeros puntos de especificación es cuál debería ser la frecuencia de muestreo de salida. La tasa más baja que mencionas es 10Hz, pero luego se filtra. ¿Es esa la tasa de salida, o baja? Si su DC varía a 1uHz, ¡incluso a 10Hz se podría considerar como una muestra excesiva!

¿No estoy seguro de cómo llegó a utilizar un filtro de primera etapa de 320 toques?

De todos modos, la reducción profunda como la que estás haciendo aquí normalmente involucrará dos etapas.

Primera etapa: obtenga una gran reducción en la frecuencia de muestreo hasta unas pocas veces su frecuencia final, utilizando un filtro de paso bajo bruto, para tener nulos de rechazo profundos alrededor de su frecuencia de muestreo final, lo suficientemente nulos para acomodar su ancho de banda final. Este filtro se ejecuta con frecuencia, por lo que tendrá que ser corto. Esto podría ser un filtro de CIC, aunque eso requiere una precisión muy alta, puede requerir grandes cantidades para un cambio de tasa grande. Un FIR de decimado de bajo orden es quizás una mejor opción para una implementación de software.

Segunda etapa: diseñe un filtro final que elimine el ruido aliado por el filtro crudo de la primera etapa y reduzca la tasa a la final deseada. Este filtro se ejecuta con poca frecuencia, por lo que puede ser muy largo.

Cuando la tasa de salida sobreexplota su ancho de banda requerido en un factor importante, puede permitirse ser muy ineficiente con el diseño de su filtro. En estos casos, parece que en el caso que usted describe, un filtro IIR iterado de primer orden es una opción razonable.

La belleza de un filtro IIR de primer orden es que la longitud efectiva se ajusta simplemente estableciendo el valor de k en la relación de recurrencia. Puede iterarlo para mejorar la inclinación ligeramente, o simplemente sobreexplotar mucho para permitir que la banda de parada pobre no influya en sus resultados. Existe el problema muy real de que una pequeña k y / o una gran proporción de diezmado pueden provocarle problemas de precisión numérica si no tiene cuidado.

Este puede no ser el filtro más fácil de diseñar por foro. Me complace ayudarlo a reafirmar sus especificaciones y ayudarlo a diseñarlo sin conexión, solo para los usuarios.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas