Filtro digital dedicado

3

He construido un DDS (0-80MHz) con un FPGA (XC3S400) que puedo programarlo para hacer casi cualquier forma de onda (frecuencia limitada por la complejidad de la forma de onda). Después de semanas de luchar para hacer un filtro de paso bajo adecuado para él, me di cuenta de que es casi impráctico construir un filtro analógico casi perfecto que pueda eliminar todas las imágenes de alta frecuencia ( Nyquist) + todos los alias de baja frecuencia (fotos de los resultados aquí ; obstáculos creados por bajo alias de frecuencia en DDS, figura-1 aquí ).

Ahora quiero convertirme en un filtro digital de paso bajo (o preferiblemente paso de banda sintonizable) pero realmente no tengo tiempo para aprender DSP desde cero. Busqué en algunas de las principales compañías (Analog Devices, Texas Instruments, ...) un producto de filtro digital dedicado, pero mi búsqueda siempre redirige a los productos DSP.

Quiero saber si hay filtros digitales dedicados con una interfaz simple (por ejemplo, ¿selección de frecuencia por una interfaz de microcontrolador o algo así?). Por ejemplo, enviar el comportamiento de filtro deseado a través de una palabra serial / paralela al dispositivo y funciona con eso.

Edición:

Por la respuesta a continuación, me di cuenta de que puedo usar el FPGA actual para mi propósito. Intenté 2 enfoques: 1- DDS > DAC > ADC > FIR (FPGA) > Dac Esto hace de nuevo alias relacionados con el DAC. 2- DDS > FIR (sin ADC externo) > Dac Esto no es malo, pero el problema con los alias se mantiene hasta cierto punto. Estoy buscando un buen recurso / método para pensar este problema (¡quizás el más fácil!)

    
pregunta Aug

2 respuestas

3

Estos productos definitivamente existen, pero será difícil para usted encontrar un producto que se ajuste exactamente a los requisitos de su proyecto. Para los filtros digitales de frecuencia de audio, puede consultar QuickFilterTech . Para frecuencias de radio más altas (> 1GHz) Hittite viene a la mente.

Sin embargo, si necesita operar en el rango más pequeño de 10s de MHz, probablemente tendrá que hacer lo que hace la mayoría de las personas: consiga un DSP o FPGA más pequeño y use las herramientas suministradas por el proveedor para generar un filtro de firmware tener esos; diseño paramétrico con asistentes de GUI e imágenes compatibles).

De hecho, el mejor enfoque contemporáneo (y el que se usa con más frecuencia) para un diseño integrado de un solo chip puede ser precisamente esto: FPGA que implementa tanto el MCU como el filtro digital en el mismo firmware.

Actualizar

Acabo de notar que ya tienes un FPGA espartano en tu proyecto. Puede usar el compilador Xilinx FIR para generar un filtro fijo fuera de la caja (y usar el modificador de frecuencia para hacer la afinación) o puede investigar algunos de los enfoques para la implementación de filtros ajustables en el FPGA (algunos no son muy difíciles, muchas publicaciones) alrededor).

    
respondido por el oakad
2

El filtrado digital suena como la única forma de lograr lo que quieres y mi pareja no es mucho, pero aquí va.

Hay filtros digitales básicos de segundo orden que son buenos y razonablemente simples, pero se basan en un poco de sobremuestreo para lograr anchos de banda que estén cerca de la frecuencia de muestreo básica. Se puede lograr un sobremuestreo tomando dos muestras básicas consecutivas y creando muestras intermedias. Lo digo porque estos son los únicos filtros digitales que conozco (en mi capacidad limitada en este tema) que podrían funcionar.

Este es uno que se basa en el muestreo de 1kHz y menciona la creación de muestras en exceso para lograr una estabilidad más allá del límite de 300Hz sin muestreo en exceso. Si ya tiene muestras a una velocidad de 1 GHz, este tipo de filtro funcionaría hasta 200 MHz: -

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas