CORDIC(Coordinate Rotation Digital Computer)算法是一種疊代算法,用於計算三角函式、雙曲線函式、指數和對數等超越函式的值。它是由J.D.Volder於1959年提出的。CORDIC算法的核心是通過一系列的旋轉操作,逐步逼近目標值,從而計算出函式的數值解。
在CORDIC算法中,基本的運算單元是加法和移位操作,而不是乘法。這意味著,通過使用CORDIC算法,可以在不進行複雜的三角函式、乘法、開方、反三角函式和指數等運算的情況下,進行矢量的旋轉和定向計算。
CORDIC算法的套用非常廣泛,包括但不限於離散傅立葉變換(DFT)、離散餘弦變換(DCT)、離散Hartley變換、Chirp-Z變換、各種濾波算法以及矩陣中的奇異值分解等。這些套用展示了CORDIC算法在信號處理和數值計算領域的重大工程意義。
CORDIC算法的實現可以通過硬體描述語言(如Verilog或VHDL)進行描述,非常適合在現場可程式門陣列(FPGA)中實現。由於其計算過程中只需要加法和移位操作,因此非常有利於硬體實現。