CORDIC (singkatan dari COordinat Rotation DIgital Computer), juga dikenal sebagai algoritma Volder, atau: Metode digit-by-digit Circular CORDIC (Jack E. Volder), Linear CORDIC, Hyperbolic CORDIC (John Stephen Walther), dan Generalized Hyperbolic CORDIC (GH CORDIC) (Yuanyong Luo et al.), adalah algoritma sederhana dan efisien untuk menghitung fungsi trigonometri, fungsi hiperbolik, akar kuadrat, perkalian, divisi, dan eksponensial dan logaritma dengan basis sembarang, biasanya konvergen dengan satu digit (atau bit) per iterasi. Oleh karena itu, CORDIC juga merupakan contoh dari algoritma digit-demi-digit. CORDIC dan metode terkait lainnya, yang dikenal sebagai perkalian semu dan pembagian semu atau penggabungan faktor, biasanya digunakan ketika tidak ada pengganda perangkat keras yang tersedia (misalnya dalam mikrokontroler sederhana dan FPGA), karena satu-satunya operasi yang diperlukan adalah penambahan, pengurangan, pergeseran bit, dan tabel pencarian. Dengan demikian, mereka semua termasuk dalam kelas algoritma geser-dan-tambah. Dalam ilmu komputer, CORDIC sering digunakan untuk mengimplementasikan aritmetika titik-mengambang ketika platform target kekurangan pengganda perangkat keras karena alasan biaya atau ruang.
Bacaan lebih lanjut
sunting- "DIVIC Gives Answer to Complex Navigation Questions". Electronics: 105โ111. 1966-09-05. ISSNย 0013-5070. (NB. DIVIC stands for DIgital Variable Increments Computer. Some sources erroneously refer to this as by J. M. Parini.)
- "The IBM System/360 Model 91: Floating-Point Execution Unit" (PDF). IBM Journal of Research and Development. 11 (1). Riverton, New Jersey, USA (dipublikasikan January 1967): 34โ53. 1965-11-01. doi:10.1147/rd.111.0034. Diarsipkan dari asli (PDF) tanggal 2016-03-05. Diakses tanggal 2016-01-02.
- Liccardo, Michael A. (September 1968). An Interconnect Processor with Emphasis on CORDIC Mode Operation (MSc thesis). Berkeley, CA, USA: University of California, Berkeley, Department of Electrical Engineering. OCLCย 500565168.
- [1], "Digital calculator system for computing square roots" ([2])
- "Automatic Computation of Exponentials, Logarithms, Ratios, and Square Roots" (PDF). IBM Journal of Research and Development. 16 (4): 380โ388. July 1972. doi:10.1147/rd.164.0380. ISSNย 0018-8646. Diarsipkan dari asli (PDF) tanggal 2016-08-12. Diakses tanggal 2016-01-02.
- "Personal Calculator Algorithms I: Square Roots" (PDF). Hewlett-Packard Journal. 28 (9). Palo Alto, California, USA: Hewlett-Packard: 22โ24. May 1977. Diarsipkan dari asli (PDF) tanggal 2015-12-18. Diakses tanggal 2016-01-02. ([3])
- "Personal Calculator Algorithms II: Trigonometric Functions" (PDF). Hewlett-Packard Journal. 28 (10). Palo Alto, California, USA: Hewlett-Packard: 17โ20. June 1977. Diarsipkan dari asli (PDF) tanggal 2016-03-04. Diakses tanggal 2016-01-02. ([4])
- "Personal Calculator Algorithms III: Inverse Trigonometric Functions" (PDF). Hewlett-Packard Journal. 29 (3). Palo Alto, California, USA: Hewlett-Packard: 22โ23. November 1977. Diarsipkan dari asli (PDF) tanggal 2016-03-04. Diakses tanggal 2016-01-02. ([5])
- "Personal Calculator Algorithms IV: Logarithmic Functions" (PDF). Hewlett-Packard Journal. 29 (8). Palo Alto, California, USA: Hewlett-Packard: 29โ32. April 1978. Diarsipkan dari asli (PDF) tanggal 2016-03-04. Diakses tanggal 2016-01-02. ([6])
- "Calculator Algorithms". IEEE Compcon Reader Digest. IEEE: 139โ141. 1975. IEEE Catalog No. 75 CH 0920-9C.
- (PhD thesis) (dalam bahasa Rusia), Leningrad State University of Electrical Engineering, 1972 http://baykov.de/cordic1972.htm ;
- Baykov, Vladimir D.; Smolov, Vladimir B. (1975). Apparaturnaja realizatsija elementarnikh funktsij v CVM ะะฟะฟะฐัะฐัััะฝะฐั ัะตะฐะปะธะทะฐัะธั ัะปะตะผะตะฝัะฐัะฝัั ััะฝะบัะธะน ะฒ ะฆะะ [Hardware implementation of elementary functions in computers] (dalam bahasa Rusia). Leningrad State University. Diarsipkan dari versi aslinya tanggal 2019-03-02. Diakses tanggal 2019-03-02.
- Baykov, Vladimir D.; Seljutin, S. A. (1982). ะััะธัะปะตะฝะธะต ัะปะตะผะตะฝัะฐัะฝัั ััะฝะบัะธะน ะฒ ะญะะะ [Elementary functions evaluation in microcalculators] (dalam bahasa Rusia). Moscow: Radio i svjaz (ะ ะฐะดะธะพ ะธ ัะฒัะทั).
- Baykov, Vladimir D.; Smolov, Vladimir B. (1985). ะกะฟะตัะธะฐะปะธะทะธัะพะฒะฐะฝะฝัะต ะฟัะพัะตััะพัั: ะธัะตัะฐัะธะพะฝะฝัะต ะฐะปะณะพัะธัะผั ะธ ััััะบัััั [Special-purpose processors: iterative algorithms and structures] (dalam bahasa Rusia). Moscow: Radio i svjaz (ะ ะฐะดะธะพ ะธ ัะฒัะทั).
- Coppens, Thomas, ed. (January 1980). "CORDIC constants in TI 58/59 ROM". Texas Instruments Software Exchange Newsletter. 2 (2). Kapellen, Belgium: TISOFT.
- Coppens, Thomas, ed. (AprilโJune 1980). "Natural logarithm computation scheme / ex computing scheme / 1/x computing scheme". Texas Instruments Software Exchange Newsletter. 2 (3). Kapellen, Belgium: TISOFT. (about CORDIC in TI-58/TI-59)
- TI Graphic Products Team (1995). "Transcendental function algorithms". Dallas, Texas, USA: Texas Instruments, Consumer Products. Diarsipkan dari versi aslinya tanggal 2016-03-17. Diakses tanggal 2019-03-02.
- Jorke, Gรผnter; Lampe, Bernhard; Wengel, Norbert (1989). Arithmetische Algorithmen der Mikrorechentechnik (dalam bahasa Jerman) (Edisi 1). Berlin, Germany: VEB Verlag Technik. hlm.ย 219, 261, 271โ296. ISBNย 3341005153. Templat:EAN. MPN 5539165. License 201.370/4/89. Diakses tanggal 2015-12-01.
- Zechmeister, M. (2021). Solving Kepler's equation with CORDIC double iterations (PDF). Vol.ย 500. Gรถttingen, Germany: Institut fรผr Astrophysik, Georg-August-Universitรคt. hlm.ย 109โ117. arXiv:2008.02894. doi:10.1093/mnras/staa2441. Pemeliharaan CS1: DOI bebas tanpa ditandai (link)
- Frerking, Marvin E. (1994). Digital Signal Processing in Communication Systems (Edisi 1).
- "On hardware for computing exponential and trigonometric functions". IEEE Transactions on Computers. 45 (3): 328โ339. 1996. doi:10.1109/12.485571.
- Johansson, Kenny (2008). "6.5 Sine and Cosine Functions". Low Power and Low Complexity Shift-and-Add Based Computations (PDF) (Dissertation thesis). Linkรถping Studies in Science and Technology (Edisi 1). Linkรถping, Sweden: Department of Electrical Engineering, Linkรถping University. hlm.ย 244โ250. ISBNย 978-91-7393-836-5. ISSNย 0345-7524. No. 1201. Diarsipkan (PDF) dari versi aslinya tanggal 2017-08-13. Diakses tanggal 2021-08-23. (x+268 pages)
- "FPGA realization of a CORDIC based FFT processor for biomedical signal processing". Microprocessors and Microsystems. 25 (3). Kharagpur, West Bengal, India: 131โ142. 2001. doi:10.1016/S0141-9331(01)00106-5.
- Kahan, William Morton (2002-05-20). "Pseudo-Division Algorithms for Floating-Point Logarithms and Exponentials" (PDF). Berkeley, CA, USA: University of California. Diarsipkan dari asli (PDF) tanggal 25 December 2015. Diakses tanggal 2016-01-15.
- Cockrum, Chris K. (Fall 2008). "Implementation of a CORDIC Algorithm in a Digital Down-Converter" (PDF).
- "CORDIC Architectures: A Survey". VLSI Design. 2010. Kharagpur, West Bengal, India: Department of Electronics and Electrical Communication Engineering, Indian Institute of Technology (dipublikasikan 2010-10-10): 1โ19. 2009-10-06. doi:10.1155/2010/794891. 794891. Pemeliharaan CS1: DOI bebas tanpa ditandai (link)
- Savard, John J. G. (2018). "Advanced Arithmetic Techniques". quadibloc. Diarsipkan dari versi aslinya tanggal 2018-07-03. Diakses tanggal 2018-07-16.
Pranala luar
sunting- CORDIC Bibliography Site, July 2011
- Soft CORDIC IP (verilog HDL code)
- CORDIC Bibliography Site
- BASIC Stamp, CORDIC math implementation
- CORDIC implementation in verilog
- CORDIC Vectoring with Arbitrary Target Value
- PicBasic Pro, Pic18 CORDIC math implementation
- Python CORDIC implementation
- Simple C code for fixed-point CORDIC
- Tutorial and MATLAB Implementation โ Using CORDIC to Estimate Phase of a Complex Number
- Descriptions of hardware CORDICs in Arx with testbenches in C++ and VHDL
- An Introduction to the CORDIC algorithm
- Implementation of the CORDIC Algorithm in a Digital Down-Converter
- 50-th Anniversary of the CORDIC Algorithm
- Implementation of the CORDIC Algorithm: fixed point C code for trigonometric and hyperbolic functions, C code for test and performance verification








