Siniaaltotuotanto Tomas Södergård Vaasan Yliopisto
Mahdollisia toteutustapoja Taulukkoja – Helppo toteuttaa Taylor sarjakehitelmä – Tuttu matematiikasta CORDIC – Sopivin FPGA sovelluksissa
Taulukkoja Taulukossa [0, 2π] – Ulostulo tulee suoraan taulukosta
Taulukkoja Taulukossa [0, π] – [0, π]: Ulostulo suoraan taulukosta – [π, 2π]: Taulukosta uudelleen ja kerrotaan -1:llä
Taulukkoja Taulukossa [0, π/2] – [0, π/2]: Ulostulo suoraan taulukosta – [π/2, π]: Taulukosta takaperin – [π, 3π/2]: Taulukosta ja kerrotaan -1:llä – [3π/2, 2π]: Taulukosta takaperin ja kerrotaan -1:llä
Taylor sarjat Taylor sarjan yleiskaava Sinin sarjakehitelmä (Maclaurin) (
Sinin Maclaurin sarjat Suurin potenssi = 7
Sinin Maclaurin sarjat Suurin potenssi = 7
CORDIC Mm. seuraavat operaatiot voidaan laskea CORDIC algoritmilla: – Kertolasku – Jakolasku – Neliöjuuri – sin(x), cos(x) – tan(x)=sin(x)/cos(x) – sinh(x), cosh(x) – tanh(x)=sinh(x)/cosh(x) – exp(x)=sinh(x)+cosh(x) (Meyer-Baese 2007: 123)
CORDIC – sini ja cosini Perus identtiteetit Pseudorotaatiot (Deschamps, Bioul, Sutter 2006: 194)
CORDIC – sini ja cosini Pseudorotaatiot tangentin avulla Pisteen täysrotaatio (Deschamps, Bioul, Sutter 2006: 194)
CORDIC – sini ja cosini Joukko {α i } – Valitaan niin että x ja y voidaan laske helposti – Valitaan niin että on mahdollista laskea etukäteen – Tangentti on siis valittu seuraavasti: Pseudorotaatiot kirjoitetaan nyt (Deschamps, Bioul, Sutter 2006: 195)
CORDIC – sini ja cosini Alkuarvot – Näillä alkuarvoilla x p ja y p antavat cosini ja sini LUT-taulukko – Arcustangentin arvot tallennetan taulukkon (s=1) (Deschamps, Bioul, Sutter 2006: 196)
CORDIC – suppeneminen Kulmat (rad) on oltava intervallissa [-π/2, π/2] Tarkemmin: Käytettävä alue on arctan taulukossa olevien kulmien summa (+/-) (Deschamps 2006: 196)
CORDIC – resoluutio Resoluutio = 12 bittiä
CORDIC – resoluutio Resoluutio = 16 bittiä
CORDIC – VHDL
Arkkitehtuuri – Tilakone = Pienempi ja hitaampi piiri (Meyer-Baese 2007: ) – Pipeline = Suurempi ja nopeampi piiri (Meyer-Baese 2007: ) Rinnakkaislaskenta on mahdollista – x, y ja a voidaan laskea samanaikaisesti (Deschamps 2006: 197)
Amplitudin säätö Taulukkoja – Taulukossa on maksimiamplitudi – Pienempi amplitudi saadaan kertomalla 0<x<1 Sarjakehitelmä – Tuottaa sin(x) – Muu amplitudi saadaan kertomalla x>0 Cordic – Tuottaa sin(x) jos cosinin alkuarvo on 1/k – Muu amplitudi saadaan valitsemalla muu alkuarvo
Lähteitä Deschamps J-P, Bioul G-J-A, Sutter G-D (2006). Synthesis of Arithmetic Circuits. New Jersey:Wiley Meyer-Baese, U. (1999). Digital Signal Processing with Field Programmable Gate Arrays. 3. Edition. Heidelberg: Springer. Taylor series.[cited ][online]