Skip to content

Instantly share code, notes, and snippets.

@plaes
Last active November 18, 2018 08:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save plaes/284993a4fc65e0926d0628a11f0cf874 to your computer and use it in GitHub Desktop.
Save plaes/284993a4fc65e0926d0628a11f0cf874 to your computer and use it in GitHub Desktop.
cordic_algorithm_differences.c
#include <stdio.h>
typedef __signed__ char __s8;
typedef unsigned char __u8;
typedef __signed__ int __s32;
typedef unsigned int __u32;
typedef __u8 u8;
typedef __s8 s8;
typedef __u32 u32;
typedef __s32 s32;
#define U32_MAX ((u32)~0U)
#define S32_MAX ((s32)(U32_MAX>>1))
#define S32_MIN ((s32)(-S32_MAX - 1))
struct cordic_iq {
s32 i;
s32 q;
};
struct b43_c32 { s32 i, q; };
#define CORDIC_ANGLE_GEN 39797
#define CORDIC_PRECISION_SHIFT 16
#define CORDIC_NUM_ITER (CORDIC_PRECISION_SHIFT + 2)
#define CORDIC_FIXED(X) ((s32)((X) << CORDIC_PRECISION_SHIFT))
#define CORDIC_FLOAT(X) (((X) >= 0) \
? ((((X) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1) \
: -((((-(X)) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1))
static const s32 arctan_table[] = {
2949120,
1740967,
919879,
466945,
234379,
117304,
58666,
29335,
14668,
7334,
3667,
1833,
917,
458,
229,
115,
57,
29
};
struct b43_c32 b43_cordic(int theta)
{
static const u32 arctg[] = {
2949120, 1740967, 919879, 466945, 234379, 117304,
58666, 29335, 14668, 7334, 3667, 1833,
917, 458, 229, 115, 57, 29,
};
u8 i;
s32 tmp;
s8 signx = 1;
u32 angle = 0;
struct b43_c32 ret = { .i = 39797, .q = 0, };
while (theta > (180 << 16))
theta -= (360 << 16);
while (theta < -(180 << 16))
theta += (360 << 16);
if (theta > (90 << 16)) {
theta -= (180 << 16);
signx = -1;
} else if (theta < -(90 << 16)) {
theta += (180 << 16);
signx = -1;
}
// printf("b43: theta: %d", theta);
for (i = 0; i <= 17; i++) {
if (theta > angle) {
tmp = ret.i - (ret.q >> i);
ret.q += ret.i >> i;
ret.i = tmp;
angle += arctg[i];
} else {
tmp = ret.i + (ret.q >> i);
ret.q -= ret.i >> i;
ret.i = tmp;
angle -= arctg[i];
}
}
ret.i *= signx;
ret.q *= signx;
return ret;
}
struct cordic_iq cordic_calc_iq(s32 theta)
{
struct cordic_iq coord;
s32 angle, valtmp;
unsigned iter;
int signx = 1;
int signtheta;
coord.i = CORDIC_ANGLE_GEN;
coord.q = 0;
angle = 0;
theta = CORDIC_FIXED(theta);
signtheta = (theta < 0) ? -1 : 1;
theta = ((theta + CORDIC_FIXED(180) * signtheta) % CORDIC_FIXED(360)) -
CORDIC_FIXED(180) * signtheta;
if (CORDIC_FLOAT(theta) > 90) {
theta -= CORDIC_FIXED(180);
signx = -1;
} else if (CORDIC_FLOAT(theta) < -90) {
theta += CORDIC_FIXED(180);
signx = -1;
}
// printf(" lib theta: %d", theta);
for (iter = 0; iter < CORDIC_NUM_ITER; iter++) {
if (theta > angle) {
valtmp = coord.i - (coord.q >> iter);
coord.q += (coord.i >> iter);
angle += arctan_table[iter];
} else {
valtmp = coord.i + (coord.q >> iter);
coord.q -= (coord.i >> iter);
angle -= arctan_table[iter];
}
coord.i = valtmp;
}
coord.i *= signx;
coord.q *= signx;
return coord;
}
int main() {
struct cordic_iq lib_iq;
struct b43_c32 b43_iq;
s32 di = 0;
s32 dq = 0;
//for (s32 theta = S32_MIN; theta <= S32_MAX; theta++) {
printf("theta, lib_i, b43_i, lib_q, b43_q\n");
for (s32 theta = -360; theta <= 360; theta++) {
b43_iq = b43_cordic(CORDIC_FIXED(theta));
lib_iq = cordic_calc_iq(theta);
di = lib_iq.i - b43_iq.i;
dq = lib_iq.q - b43_iq.q;
#if 0
if (di != 0 || dq != 0) {
printf("th: %d i:%d - %d, q: %d - %d\n", theta, lib_iq.i, b43_iq.i, lib_iq.q, b43_iq.q);
} else {
printf("theta: %d - OK!\n", theta);
}
#endif
printf("%d, %d, %d, %d, %d\n", theta, lib_iq.i, b43_iq.i, lib_iq.q, b43_iq.q);
}
}
theta lib_i b43_i lib_q b43_q
-360 65541 -11254 0 -64555
-359 65524 64556 1148 -11237
-358 65496 64556 2290 -11237
-357 65445 64556 3428 -11237
-356 65377 64556 4574 -11237
-355 65285 65285 5715 5715
-354 65175 65175 6852 6852
-353 65046 65046 7989 7989
-352 64895 64895 9122 9122
-351 64729 64729 10253 10253
-350 64539 64539 11382 11382
-349 64330 64330 12506 12506
-348 64100 64100 13629 13629
-347 63856 63856 14741 14741
-346 63588 63588 15855 15855
-345 63305 63305 16961 16961
-344 62993 62993 18067 18067
-343 62672 62672 19157 19157
-342 62331 62331 20248 20248
-341 61966 61966 21334 21334
-340 61581 61581 22415 22415
-339 61183 61183 23486 23486
-338 60761 60761 24551 24551
-337 60328 60328 25602 25602
-336 59872 59872 26652 26652
-335 59399 59399 27694 27694
-334 58901 58901 28730 28730
-333 58393 58393 29753 29753
-332 57864 57864 30769 30769
-331 57318 57318 31774 31774
-330 56759 56759 32769 32769
-329 56177 56177 33755 33755
-328 55580 55580 34731 34731
-327 54959 54959 35697 35697
-326 54333 54333 36646 36646
-325 53684 53684 37590 37590
-324 53023 53023 38518 38518
-323 52338 52338 39441 39441
-322 51644 51644 40348 40348
-321 50931 50931 41242 41242
-320 50204 50204 42127 42127
-319 49463 49463 42996 42996
-318 48704 48704 43854 43854
-317 47934 47934 44693 44693
-316 47146 47146 45524 45524
-315 46342 46342 46341 46341
-314 45524 45524 47146 47146
-313 44693 44693 47934 47934
-312 43854 43854 48704 48704
-311 42996 42996 49463 49463
-310 42127 42127 50204 50204
-309 41242 41242 50931 50931
-308 40348 40348 51644 51644
-307 39441 39441 52338 52338
-306 38518 38518 53023 53023
-305 37590 37590 53684 53684
-304 36646 36646 54333 54333
-303 35697 35697 54959 54959
-302 34731 34731 55580 55580
-301 33755 33755 56177 56177
-300 32769 32769 56759 56759
-299 31774 31774 57318 57318
-298 30769 30769 57864 57864
-297 29753 29753 58393 58393
-296 28730 28730 58901 58901
-295 27694 27694 59399 59399
-294 26652 26652 59872 59872
-293 25602 25602 60328 60328
-292 24551 24551 60761 60761
-291 23486 23486 61183 61183
-290 22415 22415 61581 61581
-289 21334 21334 61966 61966
-288 20248 20248 62331 62331
-287 19157 19157 62672 62672
-286 18067 18067 62993 62993
-285 16961 16961 63305 63305
-284 15855 15855 63588 63588
-283 14741 14741 63856 63856
-282 13629 13629 64100 64100
-281 12506 12506 64330 64330
-280 11382 11382 64539 64539
-279 10253 10253 64729 64729
-278 9122 9122 64895 64895
-277 7989 7989 65046 65046
-276 6852 6852 65175 65175
-275 5715 5715 65285 65285
-274 4574 4574 65377 65377
-273 3428 3428 65445 65445
-272 2290 2290 65496 65496
-271 1148 1148 65524 65524
-270 3 3 65536 65536
-269 -1143 11237 65523 -64556
-268 -2287 11237 65495 -64556
-267 -3430 11237 65444 -64556
-266 -4572 11237 65376 -64556
-265 -5712 11237 65285 -64556
-264 -6851 11237 65175 -64556
-263 -7988 11237 65046 -64556
-262 -9117 11237 64897 -64556
-261 -10250 11237 64731 -64556
-260 -11379 11237 64541 -64556
-259 -12505 11237 64332 -64556
-258 -13624 11237 64101 -64556
-257 -14742 11237 63857 -64556
-256 -15854 11237 63589 -64556
-255 -16962 11237 63306 -64556
-254 -18062 11237 62994 -64556
-253 -19160 11237 62673 -64556
-252 -20253 11237 62332 -64556
-251 -21335 11237 61966 -64556
-250 -22410 11237 61581 -64556
-249 -23483 11237 61183 -64556
-248 -24546 11237 60761 -64556
-247 -25607 11237 60328 -64556
-246 -26657 11237 59872 -64556
-245 -27699 11237 59399 -64556
-244 -28727 11237 58901 -64556
-243 -29752 11237 58393 -64556
-242 -30768 11237 57864 -64556
-241 -31771 11237 57318 -64556
-240 -32768 11237 56759 -64556
-239 -33754 11237 56177 -64556
-238 -34730 11237 55580 -64556
-237 -35690 11237 54960 -64556
-236 -36647 11237 54333 -64556
-235 -37589 11237 53684 -64556
-234 -38521 11237 53023 -64556
-233 -39438 11237 52338 -64556
-232 -40349 11237 51644 -64556
-231 -41243 11237 50931 -64556
-230 -42126 11237 50204 -64556
-229 -42995 11237 49463 -64556
-228 -43853 11237 48704 -64556
-227 -44698 11237 47934 -64556
-226 -45529 11237 47146 -64556
-225 -46342 11237 46342 -64556
-224 -47141 11237 45525 -64556
-223 -47929 11237 44694 -64556
-222 -48705 11237 43855 -64556
-221 -49464 11237 42997 -64556
-220 -50205 11237 42128 -64556
-219 -50930 11237 41243 -64556
-218 -51643 11237 40349 -64556
-217 -52341 11237 39442 -64556
-216 -53020 11237 38519 -64556
-215 -53685 11237 37591 -64556
-214 -54332 11237 36647 -64556
-213 -54966 11237 35698 -64556
-212 -55581 11237 34732 -64556
-211 -56178 11237 33756 -64556
-210 -56760 11237 32770 -64556
-209 -57321 11237 31775 -64556
-208 -57865 11237 30770 -64556
-207 -58394 11237 29754 -64556
-206 -58904 11237 28731 -64556
-205 -59394 11237 27695 -64556
-204 -59867 11237 26653 -64556
-203 -60323 11237 25603 -64556
-202 -60766 11237 24552 -64556
-201 -61186 11237 23487 -64556
-200 -61586 11237 22416 -64556
-199 -61965 11237 21335 -64556
-198 -62327 11237 20249 -64556
-197 -62670 11237 19158 -64556
-196 -62999 11237 18068 -64556
-195 -63305 11237 16960 -64556
-194 -63590 11237 15854 -64556
-193 -63856 11237 14741 -64556
-192 -64106 11237 13627 -64556
-191 -64333 11237 12505 -64556
-190 -64544 11237 11381 -64556
-189 -64734 11237 10252 -64556
-188 -64902 11237 9121 -64556
-187 -65047 11237 7986 -64556
-186 -65176 11237 6849 -64556
-185 -65288 11237 5712 -64556
-184 -65377 11237 4573 -64556
-183 -65443 11237 3427 -64556
-182 -65498 11237 2289 -64556
-181 -65528 11237 1147 -64556
-180 -65541 11254 0 64555
-179 -65524 -64556 -1148 11237
-178 -65496 -64556 -2290 11237
-177 -65445 -64556 -3428 11237
-176 -65377 -64556 -4574 11237
-175 -65285 -65285 -5715 -5715
-174 -65175 -65175 -6852 -6852
-173 -65046 -65046 -7989 -7989
-172 -64895 -64895 -9122 -9122
-171 -64729 -64729 -10253 -10253
-170 -64539 -64539 -11382 -11382
-169 -64330 -64330 -12506 -12506
-168 -64100 -64100 -13629 -13629
-167 -63856 -63856 -14741 -14741
-166 -63588 -63588 -15855 -15855
-165 -63305 -63305 -16961 -16961
-164 -62993 -62993 -18067 -18067
-163 -62672 -62672 -19157 -19157
-162 -62331 -62331 -20248 -20248
-161 -61966 -61966 -21334 -21334
-160 -61581 -61581 -22415 -22415
-159 -61183 -61183 -23486 -23486
-158 -60761 -60761 -24551 -24551
-157 -60328 -60328 -25602 -25602
-156 -59872 -59872 -26652 -26652
-155 -59399 -59399 -27694 -27694
-154 -58901 -58901 -28730 -28730
-153 -58393 -58393 -29753 -29753
-152 -57864 -57864 -30769 -30769
-151 -57318 -57318 -31774 -31774
-150 -56759 -56759 -32769 -32769
-149 -56177 -56177 -33755 -33755
-148 -55580 -55580 -34731 -34731
-147 -54959 -54959 -35697 -35697
-146 -54333 -54333 -36646 -36646
-145 -53684 -53684 -37590 -37590
-144 -53023 -53023 -38518 -38518
-143 -52338 -52338 -39441 -39441
-142 -51644 -51644 -40348 -40348
-141 -50931 -50931 -41242 -41242
-140 -50204 -50204 -42127 -42127
-139 -49463 -49463 -42996 -42996
-138 -48704 -48704 -43854 -43854
-137 -47934 -47934 -44693 -44693
-136 -47146 -47146 -45524 -45524
-135 -46342 -46342 -46341 -46341
-134 -45524 -45524 -47146 -47146
-133 -44693 -44693 -47934 -47934
-132 -43854 -43854 -48704 -48704
-131 -42996 -42996 -49463 -49463
-130 -42127 -42127 -50204 -50204
-129 -41242 -41242 -50931 -50931
-128 -40348 -40348 -51644 -51644
-127 -39441 -39441 -52338 -52338
-126 -38518 -38518 -53023 -53023
-125 -37590 -37590 -53684 -53684
-124 -36646 -36646 -54333 -54333
-123 -35697 -35697 -54959 -54959
-122 -34731 -34731 -55580 -55580
-121 -33755 -33755 -56177 -56177
-120 -32769 -32769 -56759 -56759
-119 -31774 -31774 -57318 -57318
-118 -30769 -30769 -57864 -57864
-117 -29753 -29753 -58393 -58393
-116 -28730 -28730 -58901 -58901
-115 -27694 -27694 -59399 -59399
-114 -26652 -26652 -59872 -59872
-113 -25602 -25602 -60328 -60328
-112 -24551 -24551 -60761 -60761
-111 -23486 -23486 -61183 -61183
-110 -22415 -22415 -61581 -61581
-109 -21334 -21334 -61966 -61966
-108 -20248 -20248 -62331 -62331
-107 -19157 -19157 -62672 -62672
-106 -18067 -18067 -62993 -62993
-105 -16961 -16961 -63305 -63305
-104 -15855 -15855 -63588 -63588
-103 -14741 -14741 -63856 -63856
-102 -13629 -13629 -64100 -64100
-101 -12506 -12506 -64330 -64330
-100 -11382 -11382 -64539 -64539
-99 -10253 -10253 -64729 -64729
-98 -9122 -9122 -64895 -64895
-97 -7989 -7989 -65046 -65046
-96 -6852 -6852 -65175 -65175
-95 -5715 -5715 -65285 -65285
-94 -4574 -4574 -65377 -65377
-93 -3428 -3428 -65445 -65445
-92 -2290 -2290 -65496 -65496
-91 -1148 -1148 -65524 -65524
-90 0 -11237 -65538 64556
-89 1143 -11237 -65523 64556
-88 2287 -11237 -65495 64556
-87 3430 -11237 -65444 64556
-86 4572 -11237 -65376 64556
-85 5712 -11237 -65285 64556
-84 6851 -11237 -65175 64556
-83 7988 -11237 -65046 64556
-82 9117 -11237 -64897 64556
-81 10250 -11237 -64731 64556
-80 11379 -11237 -64541 64556
-79 12505 -11237 -64332 64556
-78 13624 -11237 -64101 64556
-77 14742 -11237 -63857 64556
-76 15854 -11237 -63589 64556
-75 16962 -11237 -63306 64556
-74 18062 -11237 -62994 64556
-73 19160 -11237 -62673 64556
-72 20253 -11237 -62332 64556
-71 21335 -11237 -61966 64556
-70 22410 -11237 -61581 64556
-69 23483 -11237 -61183 64556
-68 24546 -11237 -60761 64556
-67 25607 -11237 -60328 64556
-66 26657 -11237 -59872 64556
-65 27699 -11237 -59399 64556
-64 28727 -11237 -58901 64556
-63 29752 -11237 -58393 64556
-62 30768 -11237 -57864 64556
-61 31771 -11237 -57318 64556
-60 32768 -11237 -56759 64556
-59 33754 -11237 -56177 64556
-58 34730 -11237 -55580 64556
-57 35690 -11237 -54960 64556
-56 36647 -11237 -54333 64556
-55 37589 -11237 -53684 64556
-54 38521 -11237 -53023 64556
-53 39438 -11237 -52338 64556
-52 40349 -11237 -51644 64556
-51 41243 -11237 -50931 64556
-50 42126 -11237 -50204 64556
-49 42995 -11237 -49463 64556
-48 43853 -11237 -48704 64556
-47 44698 -11237 -47934 64556
-46 45529 -11237 -47146 64556
-45 46342 -11237 -46342 64556
-44 47141 -11237 -45525 64556
-43 47929 -11237 -44694 64556
-42 48705 -11237 -43855 64556
-41 49464 -11237 -42997 64556
-40 50205 -11237 -42128 64556
-39 50930 -11237 -41243 64556
-38 51643 -11237 -40349 64556
-37 52341 -11237 -39442 64556
-36 53020 -11237 -38519 64556
-35 53685 -11237 -37591 64556
-34 54332 -11237 -36647 64556
-33 54966 -11237 -35698 64556
-32 55581 -11237 -34732 64556
-31 56178 -11237 -33756 64556
-30 56760 -11237 -32770 64556
-29 57321 -11237 -31775 64556
-28 57865 -11237 -30770 64556
-27 58394 -11237 -29754 64556
-26 58904 -11237 -28731 64556
-25 59394 -11237 -27695 64556
-24 59867 -11237 -26653 64556
-23 60323 -11237 -25603 64556
-22 60766 -11237 -24552 64556
-21 61186 -11237 -23487 64556
-20 61586 -11237 -22416 64556
-19 61965 -11237 -21335 64556
-18 62327 -11237 -20249 64556
-17 62670 -11237 -19158 64556
-16 62999 -11237 -18068 64556
-15 63305 -11237 -16960 64556
-14 63590 -11237 -15854 64556
-13 63856 -11237 -14741 64556
-12 64106 -11237 -13627 64556
-11 64333 -11237 -12505 64556
-10 64544 -11237 -11381 64556
-9 64734 -11237 -10252 64556
-8 64902 -11237 -9121 64556
-7 65047 -11237 -7986 64556
-6 65176 -11237 -6849 64556
-5 65288 -11237 -5712 64556
-4 65377 -11237 -4573 64556
-3 65443 -11237 -3427 64556
-2 65498 -11237 -2289 64556
-1 65528 -11237 -1147 64556
0 65541 -11254 0 -64555
1 65524 64556 1148 -11237
2 65496 64556 2290 -11237
3 65445 64556 3428 -11237
4 65377 64556 4574 -11237
5 65285 65285 5715 5715
6 65175 65175 6852 6852
7 65046 65046 7989 7989
8 64895 64895 9122 9122
9 64729 64729 10253 10253
10 64539 64539 11382 11382
11 64330 64330 12506 12506
12 64100 64100 13629 13629
13 63856 63856 14741 14741
14 63588 63588 15855 15855
15 63305 63305 16961 16961
16 62993 62993 18067 18067
17 62672 62672 19157 19157
18 62331 62331 20248 20248
19 61966 61966 21334 21334
20 61581 61581 22415 22415
21 61183 61183 23486 23486
22 60761 60761 24551 24551
23 60328 60328 25602 25602
24 59872 59872 26652 26652
25 59399 59399 27694 27694
26 58901 58901 28730 28730
27 58393 58393 29753 29753
28 57864 57864 30769 30769
29 57318 57318 31774 31774
30 56759 56759 32769 32769
31 56177 56177 33755 33755
32 55580 55580 34731 34731
33 54959 54959 35697 35697
34 54333 54333 36646 36646
35 53684 53684 37590 37590
36 53023 53023 38518 38518
37 52338 52338 39441 39441
38 51644 51644 40348 40348
39 50931 50931 41242 41242
40 50204 50204 42127 42127
41 49463 49463 42996 42996
42 48704 48704 43854 43854
43 47934 47934 44693 44693
44 47146 47146 45524 45524
45 46342 46342 46341 46341
46 45524 45524 47146 47146
47 44693 44693 47934 47934
48 43854 43854 48704 48704
49 42996 42996 49463 49463
50 42127 42127 50204 50204
51 41242 41242 50931 50931
52 40348 40348 51644 51644
53 39441 39441 52338 52338
54 38518 38518 53023 53023
55 37590 37590 53684 53684
56 36646 36646 54333 54333
57 35697 35697 54959 54959
58 34731 34731 55580 55580
59 33755 33755 56177 56177
60 32769 32769 56759 56759
61 31774 31774 57318 57318
62 30769 30769 57864 57864
63 29753 29753 58393 58393
64 28730 28730 58901 58901
65 27694 27694 59399 59399
66 26652 26652 59872 59872
67 25602 25602 60328 60328
68 24551 24551 60761 60761
69 23486 23486 61183 61183
70 22415 22415 61581 61581
71 21334 21334 61966 61966
72 20248 20248 62331 62331
73 19157 19157 62672 62672
74 18067 18067 62993 62993
75 16961 16961 63305 63305
76 15855 15855 63588 63588
77 14741 14741 63856 63856
78 13629 13629 64100 64100
79 12506 12506 64330 64330
80 11382 11382 64539 64539
81 10253 10253 64729 64729
82 9122 9122 64895 64895
83 7989 7989 65046 65046
84 6852 6852 65175 65175
85 5715 5715 65285 65285
86 4574 4574 65377 65377
87 3428 3428 65445 65445
88 2290 2290 65496 65496
89 1148 1148 65524 65524
90 3 3 65536 65536
91 -1143 11237 65523 -64556
92 -2287 11237 65495 -64556
93 -3430 11237 65444 -64556
94 -4572 11237 65376 -64556
95 -5712 11237 65285 -64556
96 -6851 11237 65175 -64556
97 -7988 11237 65046 -64556
98 -9117 11237 64897 -64556
99 -10250 11237 64731 -64556
100 -11379 11237 64541 -64556
101 -12505 11237 64332 -64556
102 -13624 11237 64101 -64556
103 -14742 11237 63857 -64556
104 -15854 11237 63589 -64556
105 -16962 11237 63306 -64556
106 -18062 11237 62994 -64556
107 -19160 11237 62673 -64556
108 -20253 11237 62332 -64556
109 -21335 11237 61966 -64556
110 -22410 11237 61581 -64556
111 -23483 11237 61183 -64556
112 -24546 11237 60761 -64556
113 -25607 11237 60328 -64556
114 -26657 11237 59872 -64556
115 -27699 11237 59399 -64556
116 -28727 11237 58901 -64556
117 -29752 11237 58393 -64556
118 -30768 11237 57864 -64556
119 -31771 11237 57318 -64556
120 -32768 11237 56759 -64556
121 -33754 11237 56177 -64556
122 -34730 11237 55580 -64556
123 -35690 11237 54960 -64556
124 -36647 11237 54333 -64556
125 -37589 11237 53684 -64556
126 -38521 11237 53023 -64556
127 -39438 11237 52338 -64556
128 -40349 11237 51644 -64556
129 -41243 11237 50931 -64556
130 -42126 11237 50204 -64556
131 -42995 11237 49463 -64556
132 -43853 11237 48704 -64556
133 -44698 11237 47934 -64556
134 -45529 11237 47146 -64556
135 -46342 11237 46342 -64556
136 -47141 11237 45525 -64556
137 -47929 11237 44694 -64556
138 -48705 11237 43855 -64556
139 -49464 11237 42997 -64556
140 -50205 11237 42128 -64556
141 -50930 11237 41243 -64556
142 -51643 11237 40349 -64556
143 -52341 11237 39442 -64556
144 -53020 11237 38519 -64556
145 -53685 11237 37591 -64556
146 -54332 11237 36647 -64556
147 -54966 11237 35698 -64556
148 -55581 11237 34732 -64556
149 -56178 11237 33756 -64556
150 -56760 11237 32770 -64556
151 -57321 11237 31775 -64556
152 -57865 11237 30770 -64556
153 -58394 11237 29754 -64556
154 -58904 11237 28731 -64556
155 -59394 11237 27695 -64556
156 -59867 11237 26653 -64556
157 -60323 11237 25603 -64556
158 -60766 11237 24552 -64556
159 -61186 11237 23487 -64556
160 -61586 11237 22416 -64556
161 -61965 11237 21335 -64556
162 -62327 11237 20249 -64556
163 -62670 11237 19158 -64556
164 -62999 11237 18068 -64556
165 -63305 11237 16960 -64556
166 -63590 11237 15854 -64556
167 -63856 11237 14741 -64556
168 -64106 11237 13627 -64556
169 -64333 11237 12505 -64556
170 -64544 11237 11381 -64556
171 -64734 11237 10252 -64556
172 -64902 11237 9121 -64556
173 -65047 11237 7986 -64556
174 -65176 11237 6849 -64556
175 -65288 11237 5712 -64556
176 -65377 11237 4573 -64556
177 -65443 11237 3427 -64556
178 -65498 11237 2289 -64556
179 -65528 11237 1147 -64556
180 -65541 11254 0 64555
181 -65524 -64556 -1148 11237
182 -65496 -64556 -2290 11237
183 -65445 -64556 -3428 11237
184 -65377 -64556 -4574 11237
185 -65285 -65285 -5715 -5715
186 -65175 -65175 -6852 -6852
187 -65046 -65046 -7989 -7989
188 -64895 -64895 -9122 -9122
189 -64729 -64729 -10253 -10253
190 -64539 -64539 -11382 -11382
191 -64330 -64330 -12506 -12506
192 -64100 -64100 -13629 -13629
193 -63856 -63856 -14741 -14741
194 -63588 -63588 -15855 -15855
195 -63305 -63305 -16961 -16961
196 -62993 -62993 -18067 -18067
197 -62672 -62672 -19157 -19157
198 -62331 -62331 -20248 -20248
199 -61966 -61966 -21334 -21334
200 -61581 -61581 -22415 -22415
201 -61183 -61183 -23486 -23486
202 -60761 -60761 -24551 -24551
203 -60328 -60328 -25602 -25602
204 -59872 -59872 -26652 -26652
205 -59399 -59399 -27694 -27694
206 -58901 -58901 -28730 -28730
207 -58393 -58393 -29753 -29753
208 -57864 -57864 -30769 -30769
209 -57318 -57318 -31774 -31774
210 -56759 -56759 -32769 -32769
211 -56177 -56177 -33755 -33755
212 -55580 -55580 -34731 -34731
213 -54959 -54959 -35697 -35697
214 -54333 -54333 -36646 -36646
215 -53684 -53684 -37590 -37590
216 -53023 -53023 -38518 -38518
217 -52338 -52338 -39441 -39441
218 -51644 -51644 -40348 -40348
219 -50931 -50931 -41242 -41242
220 -50204 -50204 -42127 -42127
221 -49463 -49463 -42996 -42996
222 -48704 -48704 -43854 -43854
223 -47934 -47934 -44693 -44693
224 -47146 -47146 -45524 -45524
225 -46342 -46342 -46341 -46341
226 -45524 -45524 -47146 -47146
227 -44693 -44693 -47934 -47934
228 -43854 -43854 -48704 -48704
229 -42996 -42996 -49463 -49463
230 -42127 -42127 -50204 -50204
231 -41242 -41242 -50931 -50931
232 -40348 -40348 -51644 -51644
233 -39441 -39441 -52338 -52338
234 -38518 -38518 -53023 -53023
235 -37590 -37590 -53684 -53684
236 -36646 -36646 -54333 -54333
237 -35697 -35697 -54959 -54959
238 -34731 -34731 -55580 -55580
239 -33755 -33755 -56177 -56177
240 -32769 -32769 -56759 -56759
241 -31774 -31774 -57318 -57318
242 -30769 -30769 -57864 -57864
243 -29753 -29753 -58393 -58393
244 -28730 -28730 -58901 -58901
245 -27694 -27694 -59399 -59399
246 -26652 -26652 -59872 -59872
247 -25602 -25602 -60328 -60328
248 -24551 -24551 -60761 -60761
249 -23486 -23486 -61183 -61183
250 -22415 -22415 -61581 -61581
251 -21334 -21334 -61966 -61966
252 -20248 -20248 -62331 -62331
253 -19157 -19157 -62672 -62672
254 -18067 -18067 -62993 -62993
255 -16961 -16961 -63305 -63305
256 -15855 -15855 -63588 -63588
257 -14741 -14741 -63856 -63856
258 -13629 -13629 -64100 -64100
259 -12506 -12506 -64330 -64330
260 -11382 -11382 -64539 -64539
261 -10253 -10253 -64729 -64729
262 -9122 -9122 -64895 -64895
263 -7989 -7989 -65046 -65046
264 -6852 -6852 -65175 -65175
265 -5715 -5715 -65285 -65285
266 -4574 -4574 -65377 -65377
267 -3428 -3428 -65445 -65445
268 -2290 -2290 -65496 -65496
269 -1148 -1148 -65524 -65524
270 0 -11237 -65538 64556
271 1143 -11237 -65523 64556
272 2287 -11237 -65495 64556
273 3430 -11237 -65444 64556
274 4572 -11237 -65376 64556
275 5712 -11237 -65285 64556
276 6851 -11237 -65175 64556
277 7988 -11237 -65046 64556
278 9117 -11237 -64897 64556
279 10250 -11237 -64731 64556
280 11379 -11237 -64541 64556
281 12505 -11237 -64332 64556
282 13624 -11237 -64101 64556
283 14742 -11237 -63857 64556
284 15854 -11237 -63589 64556
285 16962 -11237 -63306 64556
286 18062 -11237 -62994 64556
287 19160 -11237 -62673 64556
288 20253 -11237 -62332 64556
289 21335 -11237 -61966 64556
290 22410 -11237 -61581 64556
291 23483 -11237 -61183 64556
292 24546 -11237 -60761 64556
293 25607 -11237 -60328 64556
294 26657 -11237 -59872 64556
295 27699 -11237 -59399 64556
296 28727 -11237 -58901 64556
297 29752 -11237 -58393 64556
298 30768 -11237 -57864 64556
299 31771 -11237 -57318 64556
300 32768 -11237 -56759 64556
301 33754 -11237 -56177 64556
302 34730 -11237 -55580 64556
303 35690 -11237 -54960 64556
304 36647 -11237 -54333 64556
305 37589 -11237 -53684 64556
306 38521 -11237 -53023 64556
307 39438 -11237 -52338 64556
308 40349 -11237 -51644 64556
309 41243 -11237 -50931 64556
310 42126 -11237 -50204 64556
311 42995 -11237 -49463 64556
312 43853 -11237 -48704 64556
313 44698 -11237 -47934 64556
314 45529 -11237 -47146 64556
315 46342 -11237 -46342 64556
316 47141 -11237 -45525 64556
317 47929 -11237 -44694 64556
318 48705 -11237 -43855 64556
319 49464 -11237 -42997 64556
320 50205 -11237 -42128 64556
321 50930 -11237 -41243 64556
322 51643 -11237 -40349 64556
323 52341 -11237 -39442 64556
324 53020 -11237 -38519 64556
325 53685 -11237 -37591 64556
326 54332 -11237 -36647 64556
327 54966 -11237 -35698 64556
328 55581 -11237 -34732 64556
329 56178 -11237 -33756 64556
330 56760 -11237 -32770 64556
331 57321 -11237 -31775 64556
332 57865 -11237 -30770 64556
333 58394 -11237 -29754 64556
334 58904 -11237 -28731 64556
335 59394 -11237 -27695 64556
336 59867 -11237 -26653 64556
337 60323 -11237 -25603 64556
338 60766 -11237 -24552 64556
339 61186 -11237 -23487 64556
340 61586 -11237 -22416 64556
341 61965 -11237 -21335 64556
342 62327 -11237 -20249 64556
343 62670 -11237 -19158 64556
344 62999 -11237 -18068 64556
345 63305 -11237 -16960 64556
346 63590 -11237 -15854 64556
347 63856 -11237 -14741 64556
348 64106 -11237 -13627 64556
349 64333 -11237 -12505 64556
350 64544 -11237 -11381 64556
351 64734 -11237 -10252 64556
352 64902 -11237 -9121 64556
353 65047 -11237 -7986 64556
354 65176 -11237 -6849 64556
355 65288 -11237 -5712 64556
356 65377 -11237 -4573 64556
357 65443 -11237 -3427 64556
358 65498 -11237 -2289 64556
359 65528 -11237 -1147 64556
360 65541 -11254 0 -64555
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df=pd.read_csv('cordic_results.csv')
plt.subplot(2, 1, 1)
plt.plot( 'theta', ' lib_i', data=df, label="i")
plt.plot( 'theta', ' lib_q', data=df, label="q")
plt.legend()
plt.title('lib cordic')
plt.subplot(2, 1, 2)
plt.plot( 'theta', ' b43_i', data=df, label="b43 i")
plt.plot( 'theta', ' b43_q', data=df, label="b43 q")
plt.legend()
plt.title('b43 cordic')
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment