diff options
Diffstat (limited to 'Semestr 3/anm/cordic/CORDICtable.c')
-rw-r--r-- | Semestr 3/anm/cordic/CORDICtable.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Semestr 3/anm/cordic/CORDICtable.c b/Semestr 3/anm/cordic/CORDICtable.c new file mode 100644 index 0000000..f222d08 --- /dev/null +++ b/Semestr 3/anm/cordic/CORDICtable.c @@ -0,0 +1,21 @@ +//CORDIC, 21 bits, 18 iterations +// 1.0 = 262144.000000 multiplication factor +// A = 1.743279 convergence angle (limit is 1.7432866 = 99.9deg) +// F = 1.646760 gain (limit is 1.64676025812107) +// 1/F = 0.607253 inverse gain (limit is 0.607252935008881) +// pi = 3.141593 (3.1415926536897932384626) + +#define CORDIC_A 1.743279 // CORDIC convergence angle A +#define CORDIC_F 0x00069648 // CORDIC gain F +#define CORDIC_1F 0x00026DD4 // CORDIC inverse gain 1/F +#define CORDIC_HALFPI 0x0006487F +#define CORDIC_PI 0x000C90FE +#define CORDIC_TWOPI 0x001921FB +#define CORDIC_MUL 262144.000000 // CORDIC multiplication factor M = 2^18 +#define CORDIC_MAXITER 18 + +int CORDIC_ZTBL[] = { + 0x0003243F, 0x0001DAC6, 0x0000FADC, 0x00007F57, 0x00003FEB, 0x00001FFD, 0x00001000, 0x00000800, + 0x00000400, 0x00000200, 0x00000100, 0x00000080, 0x00000040, 0x00000020, 0x00000010, 0x00000008, + 0x00000004, 0x00000002 }; + |