Generic placeholder image

Recent Advances in Electrical & Electronic Engineering

Editor-in-Chief

ISSN (Print): 2352-0965
ISSN (Online): 2352-0973

Research Article

Error Analysis of Sine-Cosine Computation using CORDIC Algorithm

Author(s): Aarushi Nandoskar, Narendra Parihar, Surya Prakash Yadav, Shrey Gupta and Shridhar Sahu*

Volume 16, Issue 4, 2023

Published on: 19 December, 2022

Page: [407 - 416] Pages: 10

DOI: 10.2174/2352096516666221128100318

Price: $65

Abstract

Background: Coordinate Rotation Digital Computer (CORDIC) can be used for computing trigonometric functions like sine and cosine for which it iterates over a for loop and performs rotation of the input angle.

Methods: On the basis of the condition, it decides addition and subtraction operations to compute the sine and cosine values. In general, for each iteration in the CORDIC algorithm, it produces 1 extra bit of accuracy. This paper presents an in-depth survey of the many changes to the CORDIC algorithm proposed over recent years. An efficient method to calculate the sine and cosine of an input angle using the CORDIC algorithm with minimum hardware requirement is presented here.

Results: CORDIC algorithm is implemented for 8 bits, 16 bits and 32 bits input and the average percentage error obtained as the results are 1.67%, 0.003785% and 0.003290% respectively.

Conclusion: It can be seen that by increasing the number of bits, the accuracy increases. For a complete survey, discussions addressing the CORDIC algorithm are also presented.

Keywords: CORDIC, FPGA, verilog HDL, pipeline architecture, sine-cosine computation, error analysis.

Graphical Abstract
[1]
M. Garrido, P. Källström, M. Kumm, and O. Gustafsson, "CORDIC II: A new improved cordic algorithm", IEEE Trans. Circuits Syst. II Express Briefs, vol. 63, no. 2, pp. 186-190, 2016.
[http://dx.doi.org/10.1109/TCSII.2015.2483422]
[2]
K. Sharat, "Calculation of sine and cosine of an angle using the cordic algorithm", Int. J. Innov.Technol. Res. (IJITR), vol. 2, no. 2, pp. 891-895, 2014.
[3]
R. Naik, and R. Nadaf, "Sine-cosine computation using cordic algorithm", Int. J. Adv. Res. Comput. Commun. Eng., vol. 4, no. 9, pp. 1-5, 2015.
[4]
P.K. Meher, J. Valls, T-B. Juang, K. Sridharan, and K. Maharatna, "50 Years of CORDIC: Algorithms, Architectures, and Applications", in IEEE Transactions on Circuits and Systems I: Regular Papers, p. vol. 56, no. 9, pp. 1893-1907, Sept. 2009, .
[http://dx.doi.org/10.1109/TCSI.2009.2025803]
[5]
A. Chadha, and D. Jyoti, "Design and simulation of an 8-bit dedicated processor for calculating the sine and cosine of an angle using the cordic algorithm", arXiv:1111.1086, 2011.
[6]
P. Ambulkar, FPGA implementation of pipelined cordic processor for trigonometric function Int. Res. J. Engin. Technol. (IRJET), p. vol. 03, no. 10, 2016, .
[7]
J. Li, "Study of CORDIC algorithm based on FPGA", In: 2016 Chinese Control and Decision Conference (CCDC), Yinchuan, China, 2016, pp. 4338-4343.
[http://dx.doi.org/10.1109/CCDC.2016.7531747]
[8]
J.E. Volder, "The CORDIC trigonometric computing technique", IRE Trans. Electron. Comput., vol. EC-8, no. 3, pp. 330-334, 1959.
[http://dx.doi.org/10.1109/TEC.1959.5222693]
[9]
Er. Manoj Arora, "FPGA prototyping of hardware implementation of cordic algorithm", Int. J. Sci. Eng. Res., vol. 3, no. 1, 2012.
[10]
"Implementation of efficiency cordic algorithm for sine & cosine generation", IOSR J. Electron. Commun. Engin. (IOSR-JECE), p. vol. 6, no. 5, pp. 49-56, 2013.
[11]
H.N.S. Murthy, and M. Roopa, "FPGA implementation of sine and cosine generators using cordic algorithm", Int. J. Innovative Technol. Exploring Engin. (IJITEE), vol. 1, no. 6, pp. 2278-3075, 2012.
[12]
"Rotation of coordinates with given angle and to calculate sine/ cosine using cordic algorithm", IEEE magazine, p. vol. 2, no. 3, 2015.
[13]
A. Mishra, S. Sivanantham, and K. Sivasankaran, "Sine and cosine generator using CORDIC algorithm implemented in ASIC", In: 2015 Online International Conference on Green Engineering and Technologies (IC-GET). Nov 27, 2015, Coimbatore, India, p. pp. 1-3, 2015, .
[http://dx.doi.org/10.1109/GET.2015.7453811]
[14]
J.S. Walther, "A unified algorithm for elementary functions", Spring Joint Computer Conference 1971, Palo Alto, California, p. pp. 379385, .
[15]
S.F. Hsiao, Y.H. Hu, and T.B. Juang, "A memory efficient and high speed sine/cosine generator based on parallel cordic rotations", IEEE Signal Process. Lett., vol. 11, no. 2, pp. 152-155, 2004.
[http://dx.doi.org/10.1109/LSP.2003.821705]
[16]
N. Takagi, T. Asada, and S. Yajima, "Redundant CORDIC methods with a constant scale factor for sine and cosine computation", IEEE Trans. Comput., p. vol. 40, pp. 989995, 1991, .
[http://dx.doi.org/10.1109/12.83660]
[17]
Y.H. Hu, and S. Naganathan, "An angle recoding method for CORDIC algorithm implementation", IEEE Trans. Comput., vol. 42, pp. 99-102, 1993.
[http://dx.doi.org/10.1109/12.192217]
[18]
S. Aggarwal, and K. Khare, "Hardware efficient architecture for generating sine/cosine waves", In: 2012 25th International Conference on VLSI Design. Jan 7-11, 2012, Hyderabad, India, 2012.
[http://dx.doi.org/10.1109/VLSID.2012.46]
[19]
R.A. Andraka, "Survey of cordic algorithms for FPGA based computers", In: FPGA '98: Proceedings of the 1998 ACM/SIGDA sixth international symposium on Field programmable gate arrays. March 01, 1998, New York, NY, United States, p. pp. 191-200, 1998, .
[http://dx.doi.org/10.1145/275107.275139]
[20]
S. Wang, V. Piuri, and E.E. Swartzlander, "Granularly-pipelined CORDIC processors for sine and cosine generators", In: IEEE International Conference on Acoustics, Speech, and Signal Processing ICASSP, May 09, 1996, Atlanta, GA, USA, p. pp. 3298-3301, 1996, .
[21]
M. Chakraborty, and A.S. Dhar, "A trigonometric formulation of the LMS algorithm for realisation of pipelined CORDIC", IEEE Trans. Circuits and Systems, vol. 52, no. 9, pp. 530-534, 2005.
[22]
S. Wang, Y. Shang, H. Ding, C. Wang, and J. Hu, "An FPGA implementation of the natural logarithm based on CORDIC algorithm", Res. J. Appl. Sci. Eng. Technol., 2013.
[http://dx.doi.org/10.19026/rjaset.6.4045]
[23]
S. Wang, and V. Piuri, A Unified View of CORDIC Processor Design.In: Application Specific Processors., Kluwer Academic Press, 1996, pp. 121-160.
[24]
J. Sudha, "A novel method for computing exponential function using cordic algorithm", Procedia Eng., vol. 30, pp. 519-528, 2011.
[25]
Y. Xue, and Z. Ma, "Design and implementation of an efficient modified cordic algorithm", In: 2019 IEEE 4th International Conference on Signal and Image Processing (ICSIP). Jul 19-21, 2019, Wuxi, China, p. pp. 480-484, 2019, .
[http://dx.doi.org/10.1109/SIPROCESS.2019.8868732]

Rights & Permissions Print Cite
© 2024 Bentham Science Publishers | Privacy Policy