CORDIC
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 aritmatika 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. Riverton, New Jersey, USA (dipublikasikan tanggal January 1967). 11 (1): 34–53. 1965-11-01. doi:10.1147/rd.111.0034. Diarsipkan dari versi 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 versi asli (PDF) tanggal 2016-08-12. Diakses tanggal 2016-01-02.
- "Personal Calculator Algorithms I: Square Roots" (PDF). Hewlett-Packard Journal. Palo Alto, California, USA: Hewlett-Packard. 28 (9): 22–24. May 1977. Diarsipkan dari versi asli (PDF) tanggal 2015-12-18. Diakses tanggal 2016-01-02. ([3])
- "Personal Calculator Algorithms II: Trigonometric Functions" (PDF). Hewlett-Packard Journal. Palo Alto, California, USA: Hewlett-Packard. 28 (10): 17–20. June 1977. Diarsipkan dari versi asli (PDF) tanggal 2016-03-04. Diakses tanggal 2016-01-02. ([4])
- "Personal Calculator Algorithms III: Inverse Trigonometric Functions" (PDF). Hewlett-Packard Journal. Palo Alto, California, USA: Hewlett-Packard. 29 (3): 22–23. November 1977. Diarsipkan dari versi asli (PDF) tanggal 2016-03-04. Diakses tanggal 2016-01-02. ([5])
- "Personal Calculator Algorithms IV: Logarithmic Functions" (PDF). Hewlett-Packard Journal. Palo Alto, California, USA: Hewlett-Packard. 29 (8): 29–32. April 1978. Diarsipkan dari versi 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 Tidak memiliki atau tanpa
|title=
(bantuan) - 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 asli 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. Kapellen, Belgium: TISOFT. 2 (2).
- Coppens, Thomas, ed. (April–June 1980). "Natural logarithm computation scheme / ex computing scheme / 1/x computing scheme". Texas Instruments Software Exchange Newsletter. Kapellen, Belgium: TISOFT. 2 (3). (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 asli 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 ke-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). Monthly Notices of the Royal Astronomical Society. 500. Göttingen, Germany: Institut für Astrophysik, Georg-August-Universität. hlm. 109–117. arXiv:2008.02894 . doi:10.1093/mnras/staa2441.
- Frerking, Marvin E. (1994). Digital Signal Processing in Communication Systems (edisi ke-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 ke-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 dari versi asli (PDF) 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. Kharagpur, West Bengal, India. 25 (3): 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 versi 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. Kharagpur, West Bengal, India: Department of Electronics and Electrical Communication Engineering, Indian Institute of Technology (dipublikasikan tanggal 2010-10-10). 2010: 1–19. 2009-10-06. doi:10.1155/2010/794891. 794891.
- Savard, John J. G. (2018). "Advanced Arithmetic Techniques". quadibloc. Diarsipkan dari versi asli 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