EURASIP Journal on Advances in Signal Processing (Jul 2020)

Using the complement of the cosine to compute trigonometric functions

  • David Guerrero Martos,
  • Alejandro Millán Calderón,
  • Jorge Juan Chico,
  • Julian Viejo Cortés,
  • Manuel J. Bellido Díaz,
  • Paulino Ruiz-de-Clavijo Vazquez,
  • Enrique Ostúa Arangüena

DOI
https://doi.org/10.1186/s13634-020-00692-5
Journal volume & issue
Vol. 2020, no. 1
pp. 1 – 21

Abstract

Read online

Abstract The computation of the sine and cosine functions is required in devices ranging from application-specific signal processors to general purpose floating-point units. Even in the latter case, the required functionality can be reduced to computing the sine and/or cosine of multiples of a constant angle. The latency of a sine/cosine generator can be reduced by using look-up tables. However, a direct implementation with look-up tables may be unfeasible if the input space is huge. In such a case, look-up tables with a number of entries lower than the size of the input space can be used indirectly. In previously published methods, the reduction in the number of table entries is obtained at the expense of increasing the table width and the computational cost. This paper introduces an alternative technique that makes it possible to reduce the size of the look-up tables as well as the required multiplications. The proposed technique can be used to implement sine/cosine generators of huge input space. It has been used to implement several twiddle factor generators in reconfigurable hardware and has enabled the number of look-up tables to be reduced by between 6 and 26% with respect to previous table-based techniques. Also, these implementations are about 50% faster than those based on Volder’s algorithm.

Keywords