Pic 18f sin a cos

balu@home daniel.valuch@orange.fr
Sobota Květen 17 13:37:52 CEST 2008


no v prvom rade si musite ujasnit s akou presnostou ten vypocet 
potrebujete. Ak je to napr. 8 bitov tak niet o com uvazovat a tabulka to 
riesi okamzite.
Generovanie sinusu je velmi dolezita sucast numericky riadenych 
oscilatorov (DDS) a technik ako generovat sinus tam bolo vyvinutych 
mnozstvo. Je to velka inspiracia pre podobne aplikacie.
Ako som uz spominal v prvom rade si musite ujasnit s akou presnostou 
pozadujete vase vysledky. Z toho sa da vypocitat ake velke rozlisenie 
tabulky potrebujete. Obycajne je rozlisenie tabulky o 2-3 bity vyssie 
ako pocet vstupnych bitov (vychadza to z maxima derivacie sinusu ktory 
je okolo nuly a kvantizacie vysledku).
Plati to samozrejme aj opacne, t.j. ak chcete napr. 16-bitovy vysledok 
staci vam na to rozlisenie vstupu 14 bitov. hned mate tabulku 4x mensiu.
Dalsia komprimacia vychadza zo symetrie sinusu, staci vam ulozit len 
rozsah 0-90 stupnov, dalsia stvrtina dole. To iste znamienko. Podla toho 
v akom kvadrante sa nachadzate priradite vysledku znamienko, dalsi bit dole.
Takto sa znizite rozsah vyhladavacej tabulky radovo a na vypocet funkcie 
stale potrebujete len jednoduchy sucet/rozdiel.
Dalsie techniky ktore umoznuju znizit rozsah vyhladavacej tabulky su o 
trochu zlozitejsie na popis tu, ale dosiahnete lahko dalsi rad.
Ako inspiraciu by som uviedol knihu
Digital Frequency Synthesis Demystified
(DDS and Fractional-N PLLs)
Bar-Giora Goldberg
a volume in the Demystified series

kapitola 7, Lookup Table and Sine ROM Compression

b.


Draxal Miroslav wrote:
> O tabulce jsem také premyslel. Jak to mamte namysli komprimovat?  MIRA
>
>   





Další informace o konferenci Hw-list