Diferencia entre algoritmo cordico y métodos basados en tablas para el cálculo de funciones elementales

0

En este libro, se explican los métodos basados en tablas y las iteraciones Cordic. computacionalmente, supongo que la tabla basada suele ser más rápida, aunque probablemente requiera más recursos, mientras que Cordic probablemente sea más lento, pero probablemente consuma menos recursos (si mi comprensión es correcta, debería ser una instancia específica de cambio y algoritmo agregado). Pero, ¿hay otros beneficios / inconvenientes en ambos enfoques? Supongo que también el CORDIC no sufre el dilema del creador de mesas, aunque en general requiere una LUT.

    
pregunta user8469759

2 respuestas

1

Tal vez le está faltando la ventaja de CORDIC frente a la tabla de consulta, que es el hecho de que el esfuerzo crece solo logarítmicamente con precisión con CORDIC (tiempo de ejecución) frente a linealmente con tablas de búsqueda (tamaño).

I.e. si desea aumentar la precisión de \ $ n \ $ bits a \ $ n + 1 \ $ bits

  • con CORDIC solo tienes que hacer otro paso vs.
  • con la tabla de búsqueda necesitas una tabla que tenga el doble de tamaño.
respondido por el Curd
0

Al reconfigurar ligeramente los sumadores entre los registros, el hardware básico de CORDIC puede calcular rotaciones, rotaciones inversas, recíprocos y muchos más. Como hay pocos coeficientes, el algoritmo se puede distribuir desde múltiples iteraciones usando registros en serie (muy lento y muy pequeño) a múltiples rangos de registros anchos en una tubería (un resultado por ciclo de reloj del sistema, grande y rápido) y todas las compensaciones en Entre.

Lanzar algunos bits más para una mayor precisión es sencillo, requiere otro ciclo por bit y un aumento lineal en el coeficiente y el almacenamiento de trabajo. Hacer lo mismo con un enfoque basado en tablas podría requerir un aumento polinomial en el tamaño de las tablas.

En estos días, cuando la mayoría de los FPGA tienen multiplicadores dedicados, la decisión que se debe emplear a menudo se puede tomar según la combinación de recursos que queda cerca del final del diseño. Si hay algunos multiplicadores de repuesto, use la serie de Taylor o similar, ya que hay más personas que lo saben y es fácil de sintetizar. Si no hay ninguno, implementa CORDIC en el tejido.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas