martes, 31 de marzo de 2009

Filtros digitales... a muchos MHz

Matemáticamente es posible diseñar un filtro con cualquier característica que deseemos. Una vez la señal en formato digital -y con el rango dinámico adecuado- no es difícil diseñar un filtro que supere las características de un Collins

El problema está en hacer los cálculos a la velocidad necesaria. Un filtro FIR, es fácil de configurar para cualquier respuesta deseada pero lo será a cambio de un elevado número de cálculos y de una elevada precisión en los mismos. En en filtro IIR se reduce el número de cálculos, y en ciertas situaciones la precisión de los mismos, a cambio de seleccionar el parámetro principal sobre el que se desea incidir -linealidad en fase, fuerte atenuación...-.

Consideremos un receptor digital que muestrea la señal de antena a 30 MHz de ancho de banda. La velocidad de muestreo -práctica- se situará en el entorno de los 70 MHz -algo más del doble del ancho de banda-. Con el fin de tratar solamente una parte del espectro y al mismo tiempo mejorar el rango dinámico de la señal -esto lo trataré en otro post- es necesario efectuar una operación producto con una portadora en formato complejo centrada en la frecuencia que se quiere extraer, seguida de un filtro paso-bajo. Eso es lo que, por ejemplo, hace en forma analógica el SoftRock40.

Si, por ejemplo, se quiere hacer un filtro paso-bajo con 60 dB de atenuación fuera del paso banda, con un ancho de banda de 3KHz, y parada en 5 KHz, el número de productos por segundo es de ¡5 billones! con una resolución de al menos 64 bits. En la práctica resulta imposible de sintetizar en un circuito. Con un filtro IIR, el mismo resultado, sin considerar la respuesta en fase, precisaría 3200 millones de productos por segundo con una resolución de al menos 128 bits para no perder precisión y mantener la estabilidad -los filtros IIR tienden a oscilar-, y ¡mejor no mirar la respuesta en fase!. Algo más simple, pero tampoco demasiado.

Si el ancho de banda aumenta, el número de operaciones disminuye. Es por ello, que normalmente se emplean filtros en cascada con una reducción de la velocidad de muestreo en la salida. La solución no es "tan buena" en cuanto a respuesta como el uso de un único filtro, pero reduce notablemente el cálculo. Aun así, el número de cálculos puede seguir siendo inabordable. Por ello se emplean, al menos en los primeros pasos, filtros de una estructura denominada CIC. Esta estructura tiene una respuesta peor que las dos anteriores en amplitud, pero es la que menos cálculos requiere. Elegir el orden y tipo de los filtros, frecuencias de muestro y diezmado es una tarea delicada que, como buen problema de ingeniería, depende de demasiados factores y no tiene solución única.

Como ejemplo, el SDR-14 emplea un chip especializado en estas tareas -AD6620-. Este dispositivo tiene en cadena un primer filtro CIC, un segundo filtro CIC y, cuando la velocidad de muestreo es suficientemente baja, un filtro FIR. Los factores de diezmado y ganancia de cada paso, así como los coeficientes y profundidad del filtro. Son necesarios muchos cálculos para obtener la misma respuesta que un filtro mecánico Collins de 11 polos. Eso no significa que una radio de conversión digital no pueda competir con una de conversión analógica en el uso diario.

viernes, 27 de marzo de 2009

¿Llega tarde? o ¡justo a tiempo!


He dedicado mucho tiempo -los últimos cuatro meses- y esfuerzo -tardes, fines de semana y algo de vacaciones- al estudio del procesador OMAP-L137, del que ya he hablado en una entrada anterior.

El esfuerzo ha merecido la pena. Estoy entrando definitivamente -he hecho otros intentos pero siempre con abandono al principio del camino- en el conocimiento del Linux aplicado a sistemas pequeños, y estoy conociendo las posibilidades que ofrecen las diferentes herramientas ofrecidas por Texas Instruments para el trabajo con este procesador.

La información de Texas Instruments está bastante dispersa y a veces resulta difícil hacerse una idea clara de lo que se ofrece y lo que es cada cosa. Hacerme un plano completo me ha costado tiempo. Hace apenas tres semanas que descubrí, por casulidad, que hay un foro dedicado a este procesador y gracias a él logré saber que TI ha editado un libro que se puede solicitar gratuitamente. Lo solicité y hoy por fin me ha llegado. Tras su lectura me parece casi perdido todo el tiempo que he dedicado a esta organización de conceptos, ya que están claramente ordenados y organizados en el libro. Debo felicitar a sus autores, y a quienes decidieron editarlo, ya que es un documento fundamental para quien no haya trabajado antes con procesadores y entornos de desarrollo de TI.

De todos modos, no daré el tiempo invertido por perdido, ya que seguramente he conseguido un conocimiento más sólido, profundo y detallado. Por otra parte debo reconocer que en el libro aparece información que quizá intuía, pero que aún no tenía clara. El aprendizaje está resultando como resolver un puzzle gigante, en el que al principio se dispone de cientos de piezas sin relación alguna, pero que a medida que se va montando permite ver zonas más claras e intuir mejor lo que falta en medio.

Por cierto, si a alguien le interesa, lo puede solicitar en la página: OMAP and DaVinci Software for Dummies.

miércoles, 25 de marzo de 2009

He estado pensando...

Ha transcurrido mucho tiempo desde mi última entrada. Tengo una excusa. He dedicado todo mi tiempo libre al estudio de un nuevo microcontrolador, tan nuevo que aún no está disponible en el mercado salvo para desarrolladores. Es un microcntrolador que parece la respuesta a mis súplicas de los últimos años.

Enlazando con mi entrada anterior, llevo tiempo buscando un sistema de control de SDR -y de rdios en general- que no sea un ordenador personal. En mi mente el concepto se ha presentado como un sistema que sin renunciar a las ventajas de un ordenador personal ofrezca soluciones a sus inconvenientes. Y creo que lo he encontrado.

El OMAP-L137 es un dispositivo de Texas Instruments, que se espera esté disponible en los próximos meses. Se trata de un microcontrolador con dos procesadores: Un ARM-9, de propósito general y un C6747 que es un procesador digital de coma flotante. La idea se basa en diseños anteriores de T.I., diseños que estaban accesibles solamente a grandes fabricantes debido a su orientación para uso en teléfonos móviles. Pero por fin, se podrán adquirir en brebe en pequeñas cantidades.

La ventaja principal que ofrece este dispositivo es que tiene capacidad suficiente para alojar un sistema operativo GNU-Linux. Un sistema libre, gratuito e ideal para experimentar. Al mismo tiempo, su capacidad de proceso de señales no se ve mermada por emplear este sistema operativo, ya que las operaciones de proceso de señales se ejecutan en un procesador dedicado y especializado.

Mi objetivo a corto plazo es el de desarrollar un equipo capaz de manejar las radios digitales más habituales (SDR-14, perseus y FlexRadio) así como otras radios que persisan un ordenador para su uso (IC-PCR1500/2500, Winradio WR-G303e/313e...) e incluso equipos que disponen de su propio panel de control.

El equipo que se pretende desarrollar debe al menos:
  • Ser portátil y disponer de una elevada autonomía (Respecto a un PC portátil)
  • Ser abierto (hardware y software) para facilitar la experimentación
  • Ser modular para facilitar la adaptación a cualquier tipo de radio
  • Ser potente para almacenar cualquier aplicación útil a la radio
  • ...

Dejo abierto este blog y mi correo para atender cualquier sugerencia o comentario.