CORDIC
Author
Albert FloresCORDIC (Coordinate Rotation Digital Computer) je algoritmus a počítačová metoda pro rotaci a převod souřadnic ve složitých číslech, kterou v roce 1959 vyvinul Volder v laboratořích společnosti IBM. CORDIC algoritmus je založen na výpočtu rotace pomocí posunů a sčítání, což umožňuje efektivní implementaci na binárních číslicích. Tento algoritmus se často používá v digitálních signálových procesorech a v jiných aplikacích vyžadujících rotaci a převod souřadnic. CORDIC je také využíván pro výpočet matematických funkcí, jako je sinus, kosinus a tanzens. Algoritmus je snadno paralelizovatelný a umožňuje rychlé výpočty s minimálními nároky na hardware. CORDIC se stal populárním v 70. letech 20. století, kdy začal být používán ve výpočetních přístrojích pro navigaci vesmírných lodí a letadel.
CORDIC je algoritmus používaný pro jednoduchý výpočet goniometrických a také dalších matematických funkcí v jednoduchých číslicových systémech. Zkratka CORDIC znamená COordinate ROtation DIgital Computer.
Historie
Tento algoritmus navrhl a popsal Jack Volder v roce 1959 původně pro goniometrické funkce. Později byl algoritmus používán i pro jiné matematické funkce a postupy. +more Například převody polárních souřadnic, nebo výpočet inverzních goniometrických funkcí. Dalším rozvojem na stejném principu byl vyvinut způsob výpočtu i pro hyperbolické a logaritmické funkce.
Použití
Výhodou algoritmu CORDIC je to použití takových operací, které jsou v digitální technice implementovány relativně jednoduše. Jde o operace bitový posun, sčítání, odečítání a porovnání. +more To umožnilo použití CORDIC v kalkulačkách, jednočipových procesorech Intel a Motorola (řady 8051, respektive 68HC11), osmibitových domácích počítačích a podobně. Dále byl CORDIC použit v některých matematických koprocesorech, protože to umožnilo jejich levnější výrobu.
Princip
Princip práce algoritmu CORDIC je postaven na vyjádření rotace vektoru o určitý úhel. Matematickou úpravou vzorce pro rotaci vyloučíme složité multiplikativní operace. +more Pracujeme potom jen s vybranými hodnotami úhlu, kde jeho tangenta nabývá jen vybraných hodnot. Pak tangentu nahradíme násobením, respektive v procesoru bitovým posunem. Výběrem jen určitých hodnot tangent, respektive úhlů jsme omezili rotaci vektoru jen na některé úhly. Pro dosažení přesné, nebo alespoň přibližné požadované hodnoty pak použijeme iterace, tedy více rotací na jednu či druhou stranu.
Odkazy
Reference
Literatura
Andraka, Ray: A survey of CORDIC algorithms for FPGA based computers,ACM, 1998 * Mazenc C. , Merrheim, X. +more, Muller, J. M. : Computing Functions Arccos and Arcsin Using CORDIC, IEEE Transactions on Computers, Volume 42, strany 118-122, 1993.
Související články
Goniometrické funkce * Numerická matematika * Matematika
Externí odkazy
[url=http://cordic-bibliography. blogspot. +morecom/p/what-is-cordic. html]blogspot. com:CORDIC[/url] * [url=http://www. emesystems. com/BS2mathC. htm]BASIC Stamp, Matematická implementace CORDIC[/url] * [url=https://web. archive. org/web/20071012174648/http://math. niu. edu/~rusin/known-math/94/cordic]math. niu. edu: CORDIC(anglicky)[/url] * [url=https://web. archive. org/web/20120426091128/http://www. usenetmessages. com/view. php. c=computer&g=2333&id=468984&p=0]Diskuse o CORDIC (anglicky)[/url].
Kategorie:Numerická matematika Kategorie:Programovací konstrukce Kategorie:Goniometrie Kategorie:Goniometrické funkce