Español
Ingeniería eléctrica

CORDIC

Acrónimo de "coordinate rotation digital computer" (computadora digital de rotación de coordenadas).

CORDIC: matemáticas rápidas de ángulos sin multiplicador

CORDIC significa "computadora digital de rotación de coordenadas". Es un algoritmo iterativo que calcula funciones trigonométricas, funciones hiperbólicas y rotaciones vectoriales utilizando solo desplazamientos y adiciones, sin necesidad de hardware de multiplicación o división. La operación principal rota un vector en el plano cartesiano mediante sucesivas aproximaciones de ángulos pequeños, cada una reduciendo a la mitad el error angular residual.

El algoritmo funciona descomponiendo un ángulo de rotación objetivo en una suma de valores de arcotangente predeterminados: arctan(1), arctan(0.5), arctan(0.25), y así sucesivamente. En cada iteración, el procesador aplica o salta el paso de arcotangente actual dependiendo del signo del ángulo restante a rotar. Un par de coordenadas (x, y) en ejecución se actualiza mediante desplazamientos y adiciones, convergiendo hacia el seno y el coseno del ángulo original después de suficientes iteraciones.

CORDIC se ejecuta en O(n) iteraciones para una precisión de n bits, lo que lo hace más rápido que la búsqueda en tablas más interpolación en hardware con conjuntos de instrucciones restringidos. Las primeras computadoras de guía aeroespacial y calculadoras científicas adoptaron CORDIC porque encajaba en circuitos compactos. Los FPGA y procesadores de señales digitales modernos todavía usan CORDIC para transformaciones de coordenadas en tiempo real, detección de fase y conversión de polar a rectangular porque consume menos área de chip que los arreglos de multiplicadores y se ejecuta en un tiempo predecible.

El algoritmo produce errores de redondeo que se acumulan a lo largo de muchas iteraciones, típicamente al nivel del bit menos significativo del ancho del acumulador. En sistemas que requieren muy alta precisión, CORDIC puede combinarse con un paso de refinamiento de Newton-Raphson o reservarse para rutas rápidas de menor precisión. Las implementaciones segmentadas pueden completar una iteración por ciclo de reloj, manteniendo un rendimiento de un resultado por ciclo después de un retraso de llenado de la tubería.

Existen variantes para rotación circular (el caso estándar), rotación hiperbólica (para logaritmos y exponenciales) y modo lineal (para multiplicación y división). La elección del modo depende de la familia de funciones necesarias. CORDIC sigue siendo relevante en sistemas embebidos, control de motores, procesamiento de radar y cualquier aplicación numéricamente intensiva donde el área de silicio o el consumo de energía deben minimizarse.

Fuentes

Entrada IG101330/01/2010

Más de Ingeniería eléctrica

Ver todo

Reciba la palabra del día

Un término industrial cada día, con el oficio al que pertenece y por qué vale la pena conocerlo. Sin publicidad.