Matematické Fórum

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

#1 09. 12. 2012 00:09

p0o9i
Zelenáč
Příspěvky: 2
Pozice: student
Reputace:   
 

Výpočet úhlu z hodnoty sinu na mikrokontroleru

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

 

#2 09. 12. 2012 17:43 — Editoval RePRO (09. 12. 2012 18:22)

RePRO
Místo: Jihlava
Příspěvky: 363
Škola: AI VŠPJ (09-12, Bc.)
Pozice: programátor
Reputace:   11 
Web
 

Re: Výpočet úhlu z hodnoty sinu na mikrokontroleru

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.


Srdcem trochu-programátor, duší rádoby-matematik a povoláním analytik-vývojář.

Offline

 

#3 09. 12. 2012 18:59

p0o9i
Zelenáč
Příspěvky: 2
Pozice: student
Reputace:   
 

Re: Výpočet úhlu z hodnoty sinu na mikrokontroleru

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

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson