1 /*=================================================================\r
2 * sysbfflt.c: BF filters for all angles of interest\r
3 *=================================================================*/\r
4 \r
5 #include <xdc/std.h>\r
6 #include <ti/mas/types/types.h>\r
7 \r
8 #include "sysbfflt.h"\r
9 \r
10 /* SYS_BF_ANGLE_P0 */\r
11 Fract sysBfFltP0[][SYS_BF_FILTER_LENGTH] = {\r
12 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
13 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
14 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
15 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
16 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
17 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
18 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
19 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0}\r
20 };\r
21 \r
22 /* SYS_BF_ANGLE_P30 */\r
23 Fract sysBfFltP30[][SYS_BF_FILTER_LENGTH] = {\r
24 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
25 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
26 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
27 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
28 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
29 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
30 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
31 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0}\r
32 };\r
33 \r
34 /* SYS_BF_ANGLE_P45 */\r
35 Fract sysBfFltP45[][SYS_BF_FILTER_LENGTH] = {\r
36 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
37 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
38 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
39 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
40 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
41 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
42 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
43 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\r
44 };\r
45 \r
46 /* SYS_BF_ANGLE_P60 */\r
47 Fract sysBfFltP60[][SYS_BF_FILTER_LENGTH] = {\r
48 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
49 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
50 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
51 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
52 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
53 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
54 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
55 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0}\r
56 };\r
57 \r
58 /* SYS_BF_ANGLE_P90 */\r
59 Fract sysBfFltP90[][SYS_BF_FILTER_LENGTH] = {\r
60 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
61 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
62 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
63 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
64 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
65 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
66 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
67 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0}\r
68 };\r
69 \r
70 /* SYS_BF_ANGLE_P120 */\r
71 Fract sysBfFltP120[][SYS_BF_FILTER_LENGTH] = {\r
72 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
73 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
74 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
75 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
76 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
77 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
78 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
79 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0}\r
80 };\r
81 \r
82 /* SYS_BF_ANGLE_P135 */\r
83 Fract sysBfFltP135[][SYS_BF_FILTER_LENGTH] = {\r
84 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
85 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
86 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
87 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
88 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
89 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
90 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
91 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0}\r
92 };\r
93 \r
94 /* SYS_BF_ANGLE_P150 */\r
95 Fract sysBfFltP150[][SYS_BF_FILTER_LENGTH] = {\r
96 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
97 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
98 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
99 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
100 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
101 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
102 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
103 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0}\r
104 };\r
105 \r
106 /* SYS_BF_ANGLE_P180 */\r
107 Fract sysBfFltP180[][SYS_BF_FILTER_LENGTH] = {\r
108 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
109 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
110 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
111 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
112 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
113 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
114 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
115 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0}\r
116 };\r
117 \r
118 /* SYS_BF_ANGLE_M150 */\r
119 Fract sysBfFltM150[][SYS_BF_FILTER_LENGTH] = {\r
120 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
121 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
122 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
123 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
124 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
125 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
126 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
127 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0}\r
128 };\r
129 \r
130 /* SYS_BF_ANGLE_M135 */\r
131 Fract sysBfFltM135[][SYS_BF_FILTER_LENGTH] = {\r
132 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
133 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
134 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
135 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
136 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
137 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
138 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
139 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}\r
140 };\r
141 \r
142 /* SYS_BF_ANGLE_M120 */\r
143 Fract sysBfFltM120[][SYS_BF_FILTER_LENGTH] = {\r
144 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
145 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0},\r
146 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
147 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
148 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
149 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
150 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
151 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0}\r
152 };\r
153 \r
154 /* SYS_BF_ANGLE_M90 */\r
155 Fract sysBfFltM90[][SYS_BF_FILTER_LENGTH] = {\r
156 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0},\r
157 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
158 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
159 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
160 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
161 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
162 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
163 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0}\r
164 };\r
165 \r
166 /* SYS_BF_ANGLE_M60 */\r
167 Fract sysBfFltM60[][SYS_BF_FILTER_LENGTH] = {\r
168 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
169 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
170 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
171 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
172 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
173 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
174 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
175 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0}\r
176 };\r
177 \r
178 /* SYS_BF_ANGLE_M45 */\r
179 Fract sysBfFltM45[][SYS_BF_FILTER_LENGTH] = {\r
180 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
181 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
182 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
183 { -30, 103, -230, 426, -710, 1120, -1731, 2732, -4766, 12228, 27878, -6328, 3324, -2054, 1326, -851, 524, -297, 145, -53, 8, 0, 0, 0},\r
184 { 4, -20, 50, -99, 170, -273, 423, -658, 1088, -2242, 32453, 2628, -1190, 706, -452, 292, -183, 108, -56, 24, -6, 0, 0, 0},\r
185 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\r
186 { 0, 0, -6, 24, -56, 108, -183, 292, -452, 706, -1190, 2628, 32453, -2242, 1088, -658, 423, -273, 170, -99, 50, -20, 4, 0},\r
187 { 0, 0, 8, -53, 145, -297, 524, -851, 1326, -2054, 3324, -6328, 27878, 12228, -4766, 2732, -1731, 1120, -710, 426, -230, 103, -30, 0}\r
188 };\r
189 \r
190 /* SYS_BF_ANGLE_M30 */\r
191 Fract sysBfFltM30[][SYS_BF_FILTER_LENGTH] = {\r
192 { 0, 0, -35, 116, -255, 470, -782, 1231, -1902, 3007, -5285, 14027, 26596, -6613, 3513, -2178, 1407, -902, 554, -312, 152, -54, 8, 0},\r
193 { 0, -34, 113, -250, 461, -767, 1209, -1868, 2952, -5179, 13643, 26879, -6563, 3478, -2155, 1392, -893, 548, -310, 150, -54, 8, 0, 0},\r
194 { -11, 42, -100, 189, -319, 507, -784, 1228, -2086, 4748, 31832, -3605, 1788, -1087, 700, -451, 280, -162, 82, -32, 6, 0, 0, 0},\r
195 { -25, 88, -199, 371, -621, 981, -1517, 2388, -4136, 10250, 29149, -5866, 3041, -1872, 1208, -776, 479, -273, 134, -50, 8, 0, 0, 0},\r
196 { 8, -54, 152, -312, 554, -902, 1407, -2178, 3513, -6613, 26596, 14027, -5285, 3007, -1902, 1231, -782, 470, -255, 116, -35, 0, 0, 0},\r
197 { 0, 8, -54, 150, -310, 548, -893, 1392, -2155, 3478, -6563, 26879, 13643, -5179, 2952, -1868, 1209, -767, 461, -250, 113, -34, 0, 0},\r
198 { 0, 0, 6, -32, 82, -162, 280, -451, 700, -1087, 1788, -3605, 31832, 4748, -2086, 1228, -784, 507, -319, 189, -100, 42, -11, 0},\r
199 { 0, 0, 8, -50, 134, -273, 479, -776, 1208, -1872, 3041, -5866, 29149, 10250, -4136, 2388, -1517, 981, -621, 371, -199, 88, -25, 0}\r
200 };\r
201 \r
202 /* Table of all available filters */\r
203 Fract *sysBfFilters[SYS_BF_ANGLES_MAX] = {\r
204 &sysBfFltP0[0][0], /* SYS_BF_ANGLE_P0 */\r
205 &sysBfFltP30[0][0], /* SYS_BF_ANGLE_P30 */\r
206 &sysBfFltP45[0][0], /* SYS_BF_ANGLE_P45 */\r
207 &sysBfFltP60[0][0], /* SYS_BF_ANGLE_P60 */\r
208 &sysBfFltP90[0][0], /* SYS_BF_ANGLE_P90 */\r
209 &sysBfFltP120[0][0], /* SYS_BF_ANGLE_P120 */\r
210 &sysBfFltP135[0][0], /* SYS_BF_ANGLE_P130 */\r
211 &sysBfFltP150[0][0], /* SYS_BF_ANGLE_P150 */\r
212 &sysBfFltP180[0][0], /* SYS_BF_ANGLE_P180 */\r
213 &sysBfFltM150[0][0], /* SYS_BF_ANGLE_M150 */\r
214 &sysBfFltM135[0][0], /* SYS_BF_ANGLE_M135 */\r
215 &sysBfFltM120[0][0], /* SYS_BF_ANGLE_M120 */\r
216 &sysBfFltM90[0][0], /* SYS_BF_ANGLE_M90 */\r
217 &sysBfFltM60[0][0], /* SYS_BF_ANGLE_M60 */\r
218 &sysBfFltM45[0][0], /* SYS_BF_ANGLE_M45 */\r
219 &sysBfFltM30[0][0] /* SYS_BF_ANGLE_M30 */\r
220 };\r
221 \r
222 /* Table of all available filter angles */\r
223 tint sysBfFilterAngles[SYS_BF_ANGLES_MAX] = {\r
224 0, /* SYS_BF_ANGLE_P0 */\r
225 30, /* SYS_BF_ANGLE_P30 */\r
226 45, /* SYS_BF_ANGLE_P45 */\r
227 60, /* SYS_BF_ANGLE_P60 */\r
228 90, /* SYS_BF_ANGLE_P90 */\r
229 120, /* SYS_BF_ANGLE_P120 */\r
230 130, /* SYS_BF_ANGLE_P130 */\r
231 150, /* SYS_BF_ANGLE_P150 */\r
232 180, /* SYS_BF_ANGLE_P180 */\r
233 -150, /* SYS_BF_ANGLE_M150 */\r
234 -135, /* SYS_BF_ANGLE_M135 */\r
235 -120, /* SYS_BF_ANGLE_M120 */\r
236 -90, /* SYS_BF_ANGLE_M90 */\r
237 -60, /* SYS_BF_ANGLE_M60 */\r
238 -45, /* SYS_BF_ANGLE_M45 */\r
239 -30 /* SYS_BF_ANGLE_M30 */\r
240 };\r
241 \r
242 /* nothing past this point */\r
243 \r