Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj,
potřebuju na MCU vypočítat hodnotu úhlu ze známého sinu. Jako vždy budu programovat v assembleru.
Bohužel jsem dosti v koncích.. Narazil jsem na taylorovu řadu, zjistil, že bych jí musel upravovat podle hodnot (např. od sin=0,7 použít jiný vzorec atp.). Pak jsem narazil na algorytmus CORDIC, který ale moc nechápu.
Potřeboval bych buď nějaké elegantní jednoduché řešení, nebo vysvětlit CORDIC.
Díky moc.
Offline
Zdravím,
toto si viděl?
Jinak zejména se dají využít tři alternativy (english) pro Tvůj problém:
- Table lookup,
- Polynomial approximations,
- CORDIC (COordinate Rotation DIgital Computer).
(Odkaz), (Odkaz), (Implementace).
Proč musíš v assembleru? Jinak doporučuji spíše zmiňovanou lookup table (dá se pěkně použít v asm), místo CORDICu. Nepoužívej hlavně Taylora. :-) Prostuduj problematiku hlouběji, potom tu můžeme o tom diskutovat, díky.
Offline
Díky moc,
materiály prostuduju a snad to konečně pochopím.
Zatim to taky vidim na lookup table. pro 8-bit nebude zas tak veliká.
Ještě se chystám prohnat dissassemblerem kód z C, kde je arcsin tak třeba budu rozumět tomu.
V assembleru píšu z více důvodů. Jednak mám rád výzvu (tahle je sice možná až moc velká, ale tak zkusit se to musí), taky neumim C (ale to je jen výmluva) a líbí se mi, že programuju přímo součástku. Jsem toho názoru, že psát pro mikokontrolery nižších architektur (změním názor až přejdu na ARM a zůstanu v ASM) v C není optimální, protože ty čipy mají spoustu zajímavých detailů, ze kterých jde vědomě těžit (nebo se jimy nenechat tolik omezovat) jenom v assembleru. Navíc mám rád staré věci a assembler je pro mě taková pěkná nostalgie.
Je to spíš záležitost přesvědčení (vítám jakékoliv protinázory ;) )
Offline
Stránky: 1