Filtros de frecuencia extremadamente baja


13

Tengo una placa de adquisición de datos (A / D + Digital Signal Processor) y quiero verificar si un filtro digital de paso alto (implementado en DSP) a una frecuencia de corte extremadamente baja (0.05Hz) está funcionando realmente.

Si esta fuera una frecuencia que podría generar con un generador de señal, sería fácil de verificar, pero 0.05Hz es demasiado bajo y no puedo generarlo. ¿Cómo verifican los ingenieros este tipo de filtros?


3
¡Esta pregunta me sorprende y son respuestas! Nunca he considerado filtrar esta baja frecuencia :)
bitsmack

66
@bitsmack He visto un paso alto de 50 miliHz en un instrumento de electrogastrografía (EGG).
Nick Alexeev

Algunos generadores de señal tienen tanto el botón MHz como el botón mHz.
AndrejaKo

¿Se puede alimentar una señal de prueba en forma digital en el DSP? Es fácil generar cualquier frecuencia en forma digital. --- El inconveniente es que no probará la parte analógica y A / D de la placa.
pabouk

1
@bitsmack Significa que tendrías que esperar mucho tiempo antes de que las cosas se arreglen y el "barrido" debe ser muy lento (horas y horas), pero es bueno probar el rendimiento real en tiempo real al menos una vez antes de confiar en que funcionará ralentizado (después de probarlo se aceleró). Cosas como el alias pueden volver la cabeza.
Spehro Pefhany

Respuestas:


18

Supongo que depende de varios factores, entre otros, el orden del filtro, pero tiene algunas posibilidades:

  1. Encuentra un generador de señal que llegue allí. Estos son bastante baratos hoy en día.
  2. Confía en las matemáticas. Este es un filtro digital y, como tal, se escala con la frecuencia de muestreo. Si puede aumentar la frecuencia de muestreo en dos órdenes de magnitud, tendría un filtro con un corte de 5Hz, mucho más fácil de medir. Del mismo modo, si el factor limitante se convierte en el ADC, puede aislarlo del filtro y alimentar algunos datos digitales artificiales.
  3. Use una respuesta escalonada (serían suficientes muchas señales de banda ancha). Calcule la respuesta escalonada de su filtro deseado y compárelo con el resultado. O, alternativamente, calcule la respuesta de frecuencia por medio de la FFT de la respuesta escalonada.

Utilizamos una variación de la alternativa 3 en algunas de nuestras configuraciones de prueba, no porque no podamos generar las formas de onda lentas requeridas, sino porque el corte <0.01Hz de nuestros filtros analógicos tomaría demasiado tiempo para caracterizarse si intentamos incluso un barrido de frecuencia aproximado . Esto redujo el tiempo de prueba de más de una hora a meros minutos.


10

μμ

Desafortunadamente, no puede obtener ese nivel bajo con módulos DDS baratos (por ejemplo, AD9850) porque la palabra de ajuste es de solo 32 bits y el reloj es típicamente de 125MHz, por lo que es una resolución de 0.03Hz. Supongo que le daría algunos puntos de datos (0.0291 / 0.0582 / 0.0873 Hz)

También puede alimentarlo un paso y ver la respuesta del dominio del tiempo.


2
Si su módulo DDS puede tomar una señal de reloj externa, ¡simplemente hágalo en el reloj! Un DDS es realmente una división elegante por N en el fondo ...
ThreePhaseEel

1
@ThreePhaseEel Puede hacerlo, pero en general no será una salida muy agradable a menos que rediseñe el filtro de paso bajo de salida, que generalmente es algo así como un filtro elíptico LC de 5 polos. En el caso de OP, dado que la frecuencia máxima es muy baja, él o ella probablemente podría simplemente agregar un filtro RC de paso bajo de 1Hz a la salida y obtener una buena señal.
Spehro Pefhany

Estuvo de acuerdo en que necesitaría un filtro posterior: los AD9850 tienen un reloj mínimo de 1MHz por cierto, lo cual es un poco limitante, pero aún lo suficiente como para obtener los resultados que quiere el OP
ThreePhaseEel

@ThreePhaseEel Claro, incluso 8 o 10 MHz produciría una resolución de 0.002 o 0.0024Hz.
Spehro Pefhany

6

Opción 1: prueba en la PC.

Si su código DSP está escrito en C, puede configurar un arnés de prueba en GCC o Visual Studio. Usted conoce la frecuencia de muestreo para su código DSP, así que use Excel para generar un archivo CSV de entrada de prueba y haga que su arnés de prueba descargue una salida de archivo CSV que puede verificar.

Opción 2: prueba en el DSP con una interfaz de PC.

Si su código DSP tiene que ejecutarse en el DSP, aún puede usar la PC para probarlo. Configure un arnés de prueba en el DSP que recibe un valor de la PC, ejecuta un paso del filtro DSP y luego informa la salida del filtro de ese paso a la PC (usando USB, RS-232 o TCP / IP dependiendo de cómo te estás conectando al DSP). También necesitará un arnés de prueba del lado de la PC para enviar y recibir esos valores. Nuevamente, puede configurar un archivo CSV de entrada de prueba en la PC, pasar muestras sucesivas al código de filtro y volcar un archivo CSV que puede verificar.

Para ambos...

Si está filtrando a 0.05Hz, es probable que su frecuencia de muestreo también sea bastante lenta. El uso de un arnés de prueba le permitirá ejecutar estas pruebas más rápido que en tiempo real, lo que hará que su proceso de prueba sea más eficiente.


5

Si también tiene un convertidor D / A en su sistema DSP, podría generar esta señal de frecuencia extremadamente baja en el software y enviarla a su entrada A / D. Alternativamente, podría usar una tarjeta D / A o un adaptador USB para generar la señal. Un ejemplo de tales dispositivos sería LabJack, pero hay muchos más con diferentes precios / capacidades disponibles. Otra posibilidad sería usar un microcontrolador barato + DAC como Raspberry Pi o Arduino


2

Si esta fuera una frecuencia que podría generar con un generador de señal, sería fácil de verificar, pero 0.05Hz es demasiado bajo y no puedo generarlo. ¿Cómo verifican los ingenieros este tipo de filtros?

Hay tres buenas maneras de verificar la respuesta del filtro, una es una función dirac delta (una función de impulso o pulso corto), la otra es una entrada de paso y la última es un barrido de frecuencia.

Con los instrumentos que uso, los experimentos pueden durar de semanas a meses, algunos de nuestros sistemas físicos tienen una respuesta en el rango de días. La mejor manera de verificar estos sistemas \ filtros es usar una entrada escalonada y luego medir la constante de tiempo. Si recuerda que la constante de tiempo para una entrada de voltaje es:

V(t)=V0 0(1-mi-t/ /τ)

τ=RC

ingrese la descripción de la imagen aquí
Fuente: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html

(la imagen tiene una fuente de corriente con una resistencia paralela que es equivalente a una fuente de voltaje con una resistencia en serie)


0

Probablemente podría generar una señal de 50 mHz tolerablemente suave a mano utilizando un potenciómetro y un reloj de pulsera.

Alternativamente, calcule la respuesta de paso esperada de su filtro. Dale a tu hardware una entrada de paso presionando un interruptor. Grafique la salida durante un minuto más o menos (si la base de tiempo de su osciloscopio no funciona tan lentamente, grabe en video un multímetro y transcriba las lecturas cada segundo). Compare la respuesta del paso medido con lo que predijo. Si coinciden (lo suficientemente cerca, teniendo en cuenta las inexactitudes de ADC / DAC / sincronización), entonces su filtro está funcionando según lo diseñado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.