Catto / Mapa de Temas · Técnicas Digitales III 5to nivel
Técnicas Digitales III · 120 h · Contenido 1 de 3

Procesamiento digital de señales y hardware

Un filtro con ventana de Blackman atenúa 75 dB en punto flotante. Con coeficientes de 12 bits, apenas 57: la precisión del hardware decide qué filtro se puede implementar.

Multiplicar y acumular Arquitectura Harvard Punto fijo Q15 DMA y bloques FFT

01Una operación que se repite millones de veces

Casi todo el procesamiento digital de señales se reduce a sumas de productos. Un filtro FIR de \( N \) coeficientes calcula cada muestra de salida con \( N \) multiplicaciones y \( N \) sumas; una FFT, una correlación o un ecualizador también. La operación básica es multiplicar y acumular (MAC):

\[ y[n] = \sum_{k=0}^{N-1} h[k]\, x[n-k] \] \[ \text{MAC/s} = N\, f_s \] Un FIR de 51 coeficientes a 48 kHz necesita 2,45 millones de MAC por segundo y por canal; un filtro de canal de una radio definida por software, cientos de millones. El presupuesto de ciclos por muestra es \( f_{clk}/f_s \).

Un procesador de propósito general hace una MAC en varias instrucciones: dos lecturas de memoria, una multiplicación, una suma y la actualización de punteros. Un procesador digital de señales (DSP) está diseñado para hacerla en un ciclo.

02El hardware de un DSP

RecursoPara qué sirve
Arquitectura Harvard modificadaBuses separados para instrucciones y datos, y a veces dos de datos: el coeficiente y la muestra se leen en el mismo ciclo
Multiplicador y acumulador en hardwareUna MAC por ciclo, con acumulador ancho
Direccionamiento circularLa línea de retardo del filtro sin mover datos: el puntero vuelve al principio solo
Direccionamiento de bits invertidosEl reordenamiento de la FFT sin cálculo
Lazos sin sobrecargaRepetir un bloque de instrucciones sin instrucciones de salto
DMAMover las muestras del conversor a la memoria sin usar el núcleo

Hoy esas ideas están también en los microcontroladores: los Cortex-M4 y M7 tienen instrucciones MAC de un ciclo y operaciones SIMD que procesan dos muestras de 16 bits a la vez. Para anchos de banda mayores se usan FPGA, con cientos de multiplicadores en paralelo, y GPU. La organización general de los procesadores se vio en arquitectura de procesadores.

03Punto fijo: Q15, saturación y bits de guarda

Muchos DSP y casi todos los microcontroladores trabajan en punto fijo: los números son enteros que se interpretan como fracciones. En el formato Q15, un entero de 16 bits representa valores entre −1 y 1 − 2⁻¹⁵:

\[ x = \frac{X}{2^{15}}, \quad X \in [-32768,\ 32767] \] El producto de dos Q15 es un Q30 de 32 bits. Sumar muchos productos puede desbordar, y por eso los acumuladores tienen bits de guarda, 40 bits en muchos DSP de 16 bits. Al volver a 16 bits se redondea y se satura: un desborde que da la vuelta de positivo a negativo produce un chasquido; la saturación, solo un recorte.

Los coeficientes también se redondean. Un filtro diseñado en punto flotante, como los de diseño de filtros, cambia su respuesta al cuantificar: el error de cada coeficiente es un ruido que llena la banda de rechazo, y limita la atenuación a unos 6 dB por bit.

Laboratorio · coeficientes de un FIR en punto fijo

Un pasabajos de 51 coeficientes con \( f_c = 0{,}2\, f_s \), diseñado con ventana. La curva gris es la respuesta con coeficientes en punto flotante; la azul, con coeficientes redondeados al número de bits elegido. La atenuación se mide como el peor valor por encima de \( 0{,}26\, f_s \).

04Tiempo real: muestra a muestra o por bloques

Un sistema de tiempo real tiene que terminar de procesar cada muestra antes de que llegue la siguiente. Hay dos formas de organizarlo:

  • Muestra a muestra: una interrupción por cada muestra del conversor. La latencia es mínima, pero el costo de entrar y salir de la interrupción se paga en cada muestra.
  • Por bloques: el DMA llena un búfer mientras el núcleo procesa el otro (ping-pong). Se procesa un bloque entero con lazos eficientes, a cambio de una latencia de uno o dos bloques. Es la forma habitual en audio y comunicaciones.

La FFT de \( N \) puntos necesita \( (N/2) \log_2 N \) mariposas, cada una con una multiplicación compleja: 5120 para 1024 puntos, contra más de un millón de productos de la DFT directa. Los DSP la aceleran con el direccionamiento de bits invertidos y, algunos, con aceleradores dedicados.

05En el laboratorio

Actividad 1 · FIR en un microcontrolador

Implementar un FIR de 51 coeficientes en Q15 en un Cortex-M4 con la biblioteca CMSIS-DSP, procesando bloques con DMA desde el conversor, y medir el tiempo de cómputo con un pin de salida.

Actividad 2 · Desborde y saturación

Procesar una senoidal cerca de plena escala con suma que da la vuelta y con saturación, y escuchar o graficar la diferencia.

Actividad 3 · Respuesta medida

Medir la respuesta del filtro implementado con un generador y un analizador, y compararla con la de punto flotante.

06Errores frecuentes

  • Diseñar el filtro en punto flotante y cuantificar sin verificar. La atenuación puede caer decenas de dB.
  • Acumular en 16 bits. Los productos se suman en un acumulador ancho y se redondea una sola vez al final.
  • Dejar que el desborde dé la vuelta. Hay que saturar, o escalar la entrada para que no ocurra.
  • Olvidar la latencia del procesamiento por bloques. En un lazo de control puede volver inestable al sistema.

07Autoevaluación

¿Cuántas MAC por segundo necesita un FIR de 128 coeficientes a 96 kHz en estéreo?

\( 128 \cdot 96\,000 \cdot 2 \approx 24{,}6 \) millones.

¿Qué valor representa el entero 16384 en Q15?

0,5.

¿Cuántas mariposas tiene una FFT de 4096 puntos?

\( 2048 \cdot 12 = 24\,576 \).

¿Por qué un acumulador de 40 bits en un DSP de 16?

Los productos son de 32 bits; los 8 bits de guarda permiten sumar hasta 256 productos a plena escala sin desborde.

08Para ampliar

  • Steven W. Smith. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing, 1997. Un texto práctico, con capítulos dedicados a la arquitectura de los DSP.
  • Richard G. Lyons. Understanding Digital Signal Processing. 3.ª ed., Prentice Hall, 2010. La aritmética de punto fijo y los trucos de implementación.
  • Donald S. Reay. Digital Signal Processing Using the ARM Cortex-M4. Wiley, 2015. Filtros y FFT en tiempo real sobre un microcontrolador, con DMA y CMSIS.
Desarrollo del contenido «Procesamiento digital de señales y hardware» de Técnicas Digitales III (quinto nivel), según el diseño curricular de Ingeniería Electrónica, Plan 2023 — Ordenanza N° 1849 del Consejo Superior de la UTN. Volver al Mapa de Temas · catto.ar