• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2004-2010 NXP Software
3  * Copyright (C) 2010 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef __LVDBE_COEFFS_H__
19 #define __LVDBE_COEFFS_H__
20 
21 /************************************************************************************/
22 /*                                                                                  */
23 /* General                                                                          */
24 /*                                                                                  */
25 /************************************************************************************/
26 
27 #define LVDBE_SCALESHIFT 10 /* As a power of 2 */
28 
29 /************************************************************************************/
30 /*                                                                                  */
31 /* High Pass Filter coefficients                                                    */
32 /*                                                                                  */
33 /************************************************************************************/
34 
35 /* Coefficients for centre frequency 55Hz */
36 #define HPF_Fs8000_Fc55_A0 0.958849f
37 #define HPF_Fs8000_Fc55_A1 (-1.917698f)
38 #define HPF_Fs8000_Fc55_A2 0.958849f
39 #define HPF_Fs8000_Fc55_B1 (-1.939001f)
40 #define HPF_Fs8000_Fc55_B2 0.940807f
41 #define HPF_Fs11025_Fc55_A0 0.966909f
42 #define HPF_Fs11025_Fc55_A1 (-1.933818f)
43 #define HPF_Fs11025_Fc55_A2 0.966909f
44 #define HPF_Fs11025_Fc55_B1 (-1.955732f)
45 #define HPF_Fs11025_Fc55_B2 0.956690f
46 #define HPF_Fs12000_Fc55_A0 0.968650f
47 #define HPF_Fs12000_Fc55_A1 (-1.937300f)
48 #define HPF_Fs12000_Fc55_A2 0.968650f
49 #define HPF_Fs12000_Fc55_B1 (-1.959327f)
50 #define HPF_Fs12000_Fc55_B2 0.960138f
51 #define HPF_Fs16000_Fc55_A0 0.973588f
52 #define HPF_Fs16000_Fc55_A1 (-1.947176f)
53 #define HPF_Fs16000_Fc55_A2 0.973588f
54 #define HPF_Fs16000_Fc55_B1 (-1.969494f)
55 #define HPF_Fs16000_Fc55_B2 0.969952f
56 #define HPF_Fs22050_Fc55_A0 0.977671f
57 #define HPF_Fs22050_Fc55_A1 (-1.955343f)
58 #define HPF_Fs22050_Fc55_A2 0.977671f
59 #define HPF_Fs22050_Fc55_B1 (-1.977863f)
60 #define HPF_Fs22050_Fc55_B2 0.978105f
61 #define HPF_Fs24000_Fc55_A0 0.978551f
62 #define HPF_Fs24000_Fc55_A1 (-1.957102f)
63 #define HPF_Fs24000_Fc55_A2 0.978551f
64 #define HPF_Fs24000_Fc55_B1 (-1.979662f)
65 #define HPF_Fs24000_Fc55_B2 0.979866f
66 #define HPF_Fs32000_Fc55_A0 0.981042f
67 #define HPF_Fs32000_Fc55_A1 (-1.962084f)
68 #define HPF_Fs32000_Fc55_A2 0.981042f
69 #define HPF_Fs32000_Fc55_B1 (-1.984746f)
70 #define HPF_Fs32000_Fc55_B2 0.984861f
71 #define HPF_Fs44100_Fc55_A0 0.983097f
72 #define HPF_Fs44100_Fc55_A1 (-1.966194f)
73 #define HPF_Fs44100_Fc55_A2 0.983097f
74 #define HPF_Fs44100_Fc55_B1 (-1.988931f)
75 #define HPF_Fs44100_Fc55_B2 0.988992f
76 #define HPF_Fs48000_Fc55_A0 0.983539f
77 #define HPF_Fs48000_Fc55_A1 (-1.967079f)
78 #define HPF_Fs48000_Fc55_A2 0.983539f
79 #define HPF_Fs48000_Fc55_B1 (-1.989831f)
80 #define HPF_Fs48000_Fc55_B2 0.989882f
81 
82 #define HPF_Fs88200_Fc55_A0 0.985818f
83 #define HPF_Fs88200_Fc55_A1 (-1.971636f)
84 #define HPF_Fs88200_Fc55_A2 0.985818f
85 #define HPF_Fs88200_Fc55_B1 (-1.994466f)
86 #define HPF_Fs88200_Fc55_B2 0.994481f
87 
88 #define HPF_Fs96000_Fc55_A0 0.986040f
89 #define HPF_Fs96000_Fc55_A1 (-1.972080f)
90 #define HPF_Fs96000_Fc55_A2 0.986040f
91 #define HPF_Fs96000_Fc55_B1 (-1.994915f)
92 #define HPF_Fs96000_Fc55_B2 0.994928f
93 
94 #define HPF_Fs176400_Fc55_A0 0.987183f
95 #define HPF_Fs176400_Fc55_A1 (-1.974366f)
96 #define HPF_Fs176400_Fc55_A2 0.987183f
97 #define HPF_Fs176400_Fc55_B1 (-1.997233f)
98 #define HPF_Fs176400_Fc55_B2 0.997237f
99 
100 #define HPF_Fs192000_Fc55_A0 0.987294f
101 #define HPF_Fs192000_Fc55_A1 (-1.974588f)
102 #define HPF_Fs192000_Fc55_A2 0.987294f
103 #define HPF_Fs192000_Fc55_B1 (-1.997458f)
104 #define HPF_Fs192000_Fc55_B2 0.997461f
105 
106 /* Coefficients for centre frequency 66Hz */
107 #define HPF_Fs8000_Fc66_A0 0.953016f
108 #define HPF_Fs8000_Fc66_A1 (-1.906032f)
109 #define HPF_Fs8000_Fc66_A2 0.953016f
110 #define HPF_Fs8000_Fc66_B1 (-1.926810f)
111 #define HPF_Fs8000_Fc66_B2 0.929396f
112 #define HPF_Fs11025_Fc66_A0 0.962638f
113 #define HPF_Fs11025_Fc66_A1 (-1.925275f)
114 #define HPF_Fs11025_Fc66_A2 0.962638f
115 #define HPF_Fs11025_Fc66_B1 (-1.946881f)
116 #define HPF_Fs11025_Fc66_B2 0.948256f
117 #define HPF_Fs12000_Fc66_A0 0.964718f
118 #define HPF_Fs12000_Fc66_A1 (-1.929435f)
119 #define HPF_Fs12000_Fc66_A2 0.964718f
120 #define HPF_Fs12000_Fc66_B1 (-1.951196f)
121 #define HPF_Fs12000_Fc66_B2 0.952359f
122 #define HPF_Fs16000_Fc66_A0 0.970622f
123 #define HPF_Fs16000_Fc66_A1 (-1.941244f)
124 #define HPF_Fs16000_Fc66_A2 0.970622f
125 #define HPF_Fs16000_Fc66_B1 (-1.963394f)
126 #define HPF_Fs16000_Fc66_B2 0.964052f
127 #define HPF_Fs22050_Fc66_A0 0.975509f
128 #define HPF_Fs22050_Fc66_A1 (-1.951019f)
129 #define HPF_Fs22050_Fc66_A2 0.975509f
130 #define HPF_Fs22050_Fc66_B1 (-1.973436f)
131 #define HPF_Fs22050_Fc66_B2 0.973784f
132 #define HPF_Fs24000_Fc66_A0 0.976563f
133 #define HPF_Fs24000_Fc66_A1 (-1.953125f)
134 #define HPF_Fs24000_Fc66_A2 0.976563f
135 #define HPF_Fs24000_Fc66_B1 (-1.975594f)
136 #define HPF_Fs24000_Fc66_B2 0.975889f
137 #define HPF_Fs32000_Fc66_A0 0.979547f
138 #define HPF_Fs32000_Fc66_A1 (-1.959093f)
139 #define HPF_Fs32000_Fc66_A2 0.979547f
140 #define HPF_Fs32000_Fc66_B1 (-1.981695f)
141 #define HPF_Fs32000_Fc66_B2 0.981861f
142 #define HPF_Fs44100_Fc66_A0 0.982010f
143 #define HPF_Fs44100_Fc66_A1 (-1.964019f)
144 #define HPF_Fs44100_Fc66_A2 0.982010f
145 #define HPF_Fs44100_Fc66_B1 (-1.986718f)
146 #define HPF_Fs44100_Fc66_B2 0.986805f
147 #define HPF_Fs48000_Fc66_A0 0.982540f
148 #define HPF_Fs48000_Fc66_A1 (-1.965079f)
149 #define HPF_Fs48000_Fc66_A2 0.982540f
150 #define HPF_Fs48000_Fc66_B1 (-1.987797f)
151 #define HPF_Fs48000_Fc66_B2 0.987871f
152 
153 #define HPF_Fs88200_Fc66_A0 0.985273f
154 #define HPF_Fs88200_Fc66_A1 (-1.970546f)
155 #define HPF_Fs88200_Fc66_A2 0.985273f
156 #define HPF_Fs88200_Fc66_B1 (-1.993359f)
157 #define HPF_Fs88200_Fc66_B2 0.993381f
158 
159 #define HPF_Fs96000_Fc66_A0 0.985539f
160 #define HPF_Fs96000_Fc66_A1 (-1.971077f)
161 #define HPF_Fs96000_Fc66_A2 0.985539f
162 #define HPF_Fs96000_Fc66_B1 (-1.993898f)
163 #define HPF_Fs96000_Fc66_B2 0.993917f
164 
165 #define HPF_Fs176400_Fc66_A0 0.986910f
166 #define HPF_Fs176400_Fc66_A1 (-1.973820f)
167 #define HPF_Fs176400_Fc66_A2 0.986910f
168 #define HPF_Fs176400_Fc66_B1 (-1.996679f)
169 #define HPF_Fs176400_Fc66_B2 0.996685f
170 
171 #define HPF_Fs192000_Fc66_A0 0.987043f
172 #define HPF_Fs192000_Fc66_A1 (-1.974086f)
173 #define HPF_Fs192000_Fc66_A2 0.987043f
174 #define HPF_Fs192000_Fc66_B1 (-1.996949f)
175 #define HPF_Fs192000_Fc66_B2 0.996954f
176 
177 /* Coefficients for centre frequency 78Hz */
178 #define HPF_Fs8000_Fc78_A0 0.946693f
179 #define HPF_Fs8000_Fc78_A1 (-1.893387f)
180 #define HPF_Fs8000_Fc78_A2 0.946693f
181 #define HPF_Fs8000_Fc78_B1 (-1.913517f)
182 #define HPF_Fs8000_Fc78_B2 0.917105f
183 #define HPF_Fs11025_Fc78_A0 0.957999f
184 #define HPF_Fs11025_Fc78_A1 (-1.915998f)
185 #define HPF_Fs11025_Fc78_A2 0.957999f
186 #define HPF_Fs11025_Fc78_B1 (-1.937229f)
187 #define HPF_Fs11025_Fc78_B2 0.939140f
188 #define HPF_Fs12000_Fc78_A0 0.960446f
189 #define HPF_Fs12000_Fc78_A1 (-1.920892f)
190 #define HPF_Fs12000_Fc78_A2 0.960446f
191 #define HPF_Fs12000_Fc78_B1 (-1.942326f)
192 #define HPF_Fs12000_Fc78_B2 0.943944f
193 #define HPF_Fs16000_Fc78_A0 0.967397f
194 #define HPF_Fs16000_Fc78_A1 (-1.934794f)
195 #define HPF_Fs16000_Fc78_A2 0.967397f
196 #define HPF_Fs16000_Fc78_B1 (-1.956740f)
197 #define HPF_Fs16000_Fc78_B2 0.957656f
198 #define HPF_Fs22050_Fc78_A0 0.973156f
199 #define HPF_Fs22050_Fc78_A1 (-1.946313f)
200 #define HPF_Fs22050_Fc78_A2 0.973156f
201 #define HPF_Fs22050_Fc78_B1 (-1.968607f)
202 #define HPF_Fs22050_Fc78_B2 0.969092f
203 #define HPF_Fs24000_Fc78_A0 0.974398f
204 #define HPF_Fs24000_Fc78_A1 (-1.948797f)
205 #define HPF_Fs24000_Fc78_A2 0.974398f
206 #define HPF_Fs24000_Fc78_B1 (-1.971157f)
207 #define HPF_Fs24000_Fc78_B2 0.971568f
208 #define HPF_Fs32000_Fc78_A0 0.977918f
209 #define HPF_Fs32000_Fc78_A1 (-1.955836f)
210 #define HPF_Fs32000_Fc78_A2 0.977918f
211 #define HPF_Fs32000_Fc78_B1 (-1.978367f)
212 #define HPF_Fs32000_Fc78_B2 0.978599f
213 #define HPF_Fs44100_Fc78_A0 0.980824f
214 #define HPF_Fs44100_Fc78_A1 (-1.961649f)
215 #define HPF_Fs44100_Fc78_A2 0.980824f
216 #define HPF_Fs44100_Fc78_B1 (-1.984303f)
217 #define HPF_Fs44100_Fc78_B2 0.984425f
218 #define HPF_Fs48000_Fc78_A0 0.981450f
219 #define HPF_Fs48000_Fc78_A1 (-1.962900f)
220 #define HPF_Fs48000_Fc78_A2 0.981450f
221 #define HPF_Fs48000_Fc78_B1 (-1.985578f)
222 #define HPF_Fs48000_Fc78_B2 0.985681f
223 
224 #define HPF_Fs88200_Fc78_A0 0.984678f
225 #define HPF_Fs88200_Fc78_A1 (-1.969356f)
226 #define HPF_Fs88200_Fc78_A2 0.984678f
227 #define HPF_Fs88200_Fc78_B1 (-1.992151f)
228 #define HPF_Fs88200_Fc78_B2 0.992182f
229 
230 #define HPF_Fs96000_Fc78_A0 0.984992f
231 #define HPF_Fs96000_Fc78_A1 (-1.969984f)
232 #define HPF_Fs96000_Fc78_A2 0.984992f
233 #define HPF_Fs96000_Fc78_B1 (-1.992789f)
234 #define HPF_Fs96000_Fc78_B2 0.992815f
235 
236 #define HPF_Fs176400_Fc78_A0 0.986612f
237 #define HPF_Fs176400_Fc78_A1 (-1.973224f)
238 #define HPF_Fs176400_Fc78_A2 0.986612f
239 #define HPF_Fs176400_Fc78_B1 (-1.996076f)
240 #define HPF_Fs176400_Fc78_B2 0.996083f
241 
242 #define HPF_Fs192000_Fc78_A0 0.986769f
243 #define HPF_Fs192000_Fc78_A1 (-1.973539f)
244 #define HPF_Fs192000_Fc78_A2 0.986769f
245 #define HPF_Fs192000_Fc78_B1 (-1.996394f)
246 #define HPF_Fs192000_Fc78_B2 0.996401f
247 
248 /* Coefficients for centre frequency 90Hz */
249 #define HPF_Fs8000_Fc90_A0 0.940412f
250 #define HPF_Fs8000_Fc90_A1 (-1.880825f)
251 #define HPF_Fs8000_Fc90_A2 0.940412f
252 #define HPF_Fs8000_Fc90_B1 (-1.900231f)
253 #define HPF_Fs8000_Fc90_B2 0.904977f
254 #define HPF_Fs11025_Fc90_A0 0.953383f
255 #define HPF_Fs11025_Fc90_A1 (-1.906766f)
256 #define HPF_Fs11025_Fc90_A2 0.953383f
257 #define HPF_Fs11025_Fc90_B1 (-1.927579f)
258 #define HPF_Fs11025_Fc90_B2 0.930111f
259 #define HPF_Fs12000_Fc90_A0 0.956193f
260 #define HPF_Fs12000_Fc90_A1 (-1.912387f)
261 #define HPF_Fs12000_Fc90_A2 0.956193f
262 #define HPF_Fs12000_Fc90_B1 (-1.933459f)
263 #define HPF_Fs12000_Fc90_B2 0.935603f
264 #define HPF_Fs16000_Fc90_A0 0.964183f
265 #define HPF_Fs16000_Fc90_A1 (-1.928365f)
266 #define HPF_Fs16000_Fc90_A2 0.964183f
267 #define HPF_Fs16000_Fc90_B1 (-1.950087f)
268 #define HPF_Fs16000_Fc90_B2 0.951303f
269 #define HPF_Fs22050_Fc90_A0 0.970809f
270 #define HPF_Fs22050_Fc90_A1 (-1.941618f)
271 #define HPF_Fs22050_Fc90_A2 0.970809f
272 #define HPF_Fs22050_Fc90_B1 (-1.963778f)
273 #define HPF_Fs22050_Fc90_B2 0.964423f
274 #define HPF_Fs24000_Fc90_A0 0.972239f
275 #define HPF_Fs24000_Fc90_A1 (-1.944477f)
276 #define HPF_Fs24000_Fc90_A2 0.972239f
277 #define HPF_Fs24000_Fc90_B1 (-1.966721f)
278 #define HPF_Fs24000_Fc90_B2 0.967266f
279 #define HPF_Fs32000_Fc90_A0 0.976292f
280 #define HPF_Fs32000_Fc90_A1 (-1.952584f)
281 #define HPF_Fs32000_Fc90_A2 0.976292f
282 #define HPF_Fs32000_Fc90_B1 (-1.975040f)
283 #define HPF_Fs32000_Fc90_B2 0.975347f
284 #define HPF_Fs44100_Fc90_A0 0.979641f
285 #define HPF_Fs44100_Fc90_A1 (-1.959282f)
286 #define HPF_Fs44100_Fc90_A2 0.979641f
287 #define HPF_Fs44100_Fc90_B1 (-1.981888f)
288 #define HPF_Fs44100_Fc90_B2 0.982050f
289 #define HPF_Fs48000_Fc90_A0 0.980362f
290 #define HPF_Fs48000_Fc90_A1 (-1.960724f)
291 #define HPF_Fs48000_Fc90_A2 0.980362f
292 #define HPF_Fs48000_Fc90_B1 (-1.983359f)
293 #define HPF_Fs48000_Fc90_B2 0.983497f
294 
295 #define HPF_Fs88200_Fc90_A0 0.984084f
296 #define HPF_Fs88200_Fc90_A1 (-1.968168f)
297 #define HPF_Fs88200_Fc90_A2 0.984084f
298 #define HPF_Fs88200_Fc90_B1 (-1.990944f)
299 #define HPF_Fs88200_Fc90_B2 0.990985f
300 
301 #define HPF_Fs96000_Fc90_A0 0.984446f
302 #define HPF_Fs96000_Fc90_A1 (-1.968892f)
303 #define HPF_Fs96000_Fc90_A2 0.984446f
304 #define HPF_Fs96000_Fc90_B1 (-1.991680f)
305 #define HPF_Fs96000_Fc90_B2 0.991714f
306 
307 #define HPF_Fs176400_Fc90_A0 0.986314f
308 #define HPF_Fs176400_Fc90_A1 (-1.972629f)
309 #define HPF_Fs176400_Fc90_A2 0.986314f
310 #define HPF_Fs176400_Fc90_B1 (-1.995472f)
311 #define HPF_Fs176400_Fc90_B2 0.995482f
312 
313 #define HPF_Fs192000_Fc90_A0 0.986496f
314 #define HPF_Fs192000_Fc90_A1 (-1.972992f)
315 #define HPF_Fs192000_Fc90_A2 0.986496f
316 #define HPF_Fs192000_Fc90_B1 (-1.995840f)
317 #define HPF_Fs192000_Fc90_B2 0.995848f
318 
319 /************************************************************************************/
320 /*                                                                                  */
321 /* Band Pass Filter coefficients                                                    */
322 /*                                                                                  */
323 /************************************************************************************/
324 
325 /* Coefficients for centre frequency 55Hz */
326 #define BPF_Fs8000_Fc55_A0 0.009197f
327 #define BPF_Fs8000_Fc55_A1 0.000000f
328 #define BPF_Fs8000_Fc55_A2 (-0.009197f)
329 #define BPF_Fs8000_Fc55_B1 (-1.979545f)
330 #define BPF_Fs8000_Fc55_B2 0.981393f
331 #define BPF_Fs11025_Fc55_A0 0.006691f
332 #define BPF_Fs11025_Fc55_A1 0.000000f
333 #define BPF_Fs11025_Fc55_A2 (-0.006691f)
334 #define BPF_Fs11025_Fc55_B1 (-1.985488f)
335 #define BPF_Fs11025_Fc55_B2 0.986464f
336 #define BPF_Fs12000_Fc55_A0 0.006150f
337 #define BPF_Fs12000_Fc55_A1 0.000000f
338 #define BPF_Fs12000_Fc55_A2 (-0.006150f)
339 #define BPF_Fs12000_Fc55_B1 (-1.986733f)
340 #define BPF_Fs12000_Fc55_B2 0.987557f
341 #define BPF_Fs16000_Fc55_A0 0.004620f
342 #define BPF_Fs16000_Fc55_A1 0.000000f
343 #define BPF_Fs16000_Fc55_A2 (-0.004620f)
344 #define BPF_Fs16000_Fc55_B1 (-1.990189f)
345 #define BPF_Fs16000_Fc55_B2 0.990653f
346 #define BPF_Fs22050_Fc55_A0 0.003357f
347 #define BPF_Fs22050_Fc55_A1 0.000000f
348 #define BPF_Fs22050_Fc55_A2 (-0.003357f)
349 #define BPF_Fs22050_Fc55_B1 (-1.992964f)
350 #define BPF_Fs22050_Fc55_B2 0.993209f
351 #define BPF_Fs24000_Fc55_A0 0.003085f
352 #define BPF_Fs24000_Fc55_A1 0.000000f
353 #define BPF_Fs24000_Fc55_A2 (-0.003085f)
354 #define BPF_Fs24000_Fc55_B1 (-1.993552f)
355 #define BPF_Fs24000_Fc55_B2 0.993759f
356 #define BPF_Fs32000_Fc55_A0 0.002315f
357 #define BPF_Fs32000_Fc55_A1 0.000000f
358 #define BPF_Fs32000_Fc55_A2 (-0.002315f)
359 #define BPF_Fs32000_Fc55_B1 (-1.995199f)
360 #define BPF_Fs32000_Fc55_B2 0.995316f
361 #define BPF_Fs44100_Fc55_A0 0.001681f
362 #define BPF_Fs44100_Fc55_A1 0.000000f
363 #define BPF_Fs44100_Fc55_A2 (-0.001681f)
364 #define BPF_Fs44100_Fc55_B1 (-1.996537f)
365 #define BPF_Fs44100_Fc55_B2 0.996599f
366 #define BPF_Fs48000_Fc55_A0 0.001545f
367 #define BPF_Fs48000_Fc55_A1 0.000000f
368 #define BPF_Fs48000_Fc55_A2 (-0.001545f)
369 #define BPF_Fs48000_Fc55_B1 (-1.996823f)
370 #define BPF_Fs48000_Fc55_B2 0.996875f
371 
372 #define BPF_Fs88200_Fc55_A0 0.000831f
373 #define BPF_Fs88200_Fc55_A1 0.000000f
374 #define BPF_Fs88200_Fc55_A2 (-0.000831f)
375 #define BPF_Fs88200_Fc55_B1 (-1.998321f)
376 #define BPF_Fs88200_Fc55_B2 0.998338f
377 
378 #define BPF_Fs96000_Fc55_A0 0.000762f
379 #define BPF_Fs96000_Fc55_A1 0.000000f
380 #define BPF_Fs96000_Fc55_A2 (-0.000762f)
381 #define BPF_Fs96000_Fc55_B1 (-1.998461f)
382 #define BPF_Fs96000_Fc55_B2 0.998477f
383 
384 #define BPF_Fs176400_Fc55_A0 0.000416f
385 #define BPF_Fs176400_Fc55_A1 0.000000f
386 #define BPF_Fs176400_Fc55_A2 (-0.000416f)
387 #define BPF_Fs176400_Fc55_B1 (-1.999164f)
388 #define BPF_Fs176400_Fc55_B2 0.999169f
389 
390 #define BPF_Fs192000_Fc55_A0 0.000381f
391 #define BPF_Fs192000_Fc55_A1 0.000000f
392 #define BPF_Fs192000_Fc55_A2 (-0.000381f)
393 #define BPF_Fs192000_Fc55_B1 (-1.999234f)
394 #define BPF_Fs192000_Fc55_B2 0.999238f
395 
396 /* Coefficients for centre frequency 66Hz */
397 #define BPF_Fs8000_Fc66_A0 0.012648f
398 #define BPF_Fs8000_Fc66_A1 0.000000f
399 #define BPF_Fs8000_Fc66_A2 (-0.012648f)
400 #define BPF_Fs8000_Fc66_B1 (-1.971760f)
401 #define BPF_Fs8000_Fc66_B2 0.974412f
402 #define BPF_Fs11025_Fc66_A0 0.009209f
403 #define BPF_Fs11025_Fc66_A1 0.000000f
404 #define BPF_Fs11025_Fc66_A2 (-0.009209f)
405 #define BPF_Fs11025_Fc66_B1 (-1.979966f)
406 #define BPF_Fs11025_Fc66_B2 0.981368f
407 #define BPF_Fs12000_Fc66_A0 0.008468f
408 #define BPF_Fs12000_Fc66_A1 0.000000f
409 #define BPF_Fs12000_Fc66_A2 (-0.008468f)
410 #define BPF_Fs12000_Fc66_B1 (-1.981685f)
411 #define BPF_Fs12000_Fc66_B2 0.982869f
412 #define BPF_Fs16000_Fc66_A0 0.006364f
413 #define BPF_Fs16000_Fc66_A1 0.000000f
414 #define BPF_Fs16000_Fc66_A2 (-0.006364f)
415 #define BPF_Fs16000_Fc66_B1 (-1.986457f)
416 #define BPF_Fs16000_Fc66_B2 0.987124f
417 #define BPF_Fs22050_Fc66_A0 0.004626f
418 #define BPF_Fs22050_Fc66_A1 0.000000f
419 #define BPF_Fs22050_Fc66_A2 (-0.004626f)
420 #define BPF_Fs22050_Fc66_B1 (-1.990288f)
421 #define BPF_Fs22050_Fc66_B2 0.990641f
422 #define BPF_Fs24000_Fc66_A0 0.004252f
423 #define BPF_Fs24000_Fc66_A1 0.000000f
424 #define BPF_Fs24000_Fc66_A2 (-0.004252f)
425 #define BPF_Fs24000_Fc66_B1 (-1.991100f)
426 #define BPF_Fs24000_Fc66_B2 0.991398f
427 #define BPF_Fs32000_Fc66_A0 0.003192f
428 #define BPF_Fs32000_Fc66_A1 0.000000f
429 #define BPF_Fs32000_Fc66_A2 (-0.003192f)
430 #define BPF_Fs32000_Fc66_B1 (-1.993374f)
431 #define BPF_Fs32000_Fc66_B2 0.993541f
432 #define BPF_Fs44100_Fc66_A0 0.002318f
433 #define BPF_Fs44100_Fc66_A1 0.000000f
434 #define BPF_Fs44100_Fc66_A2 (-0.002318f)
435 #define BPF_Fs44100_Fc66_B1 (-1.995221f)
436 #define BPF_Fs44100_Fc66_B2 0.995309f
437 #define BPF_Fs48000_Fc66_A0 0.002131f
438 #define BPF_Fs48000_Fc66_A1 0.000000f
439 #define BPF_Fs48000_Fc66_A2 (-0.002131f)
440 #define BPF_Fs48000_Fc66_B1 (-1.995615f)
441 #define BPF_Fs48000_Fc66_B2 0.995690f
442 
443 #define BPF_Fs88200_Fc66_A0 0.001146f
444 #define BPF_Fs88200_Fc66_A1 0.000000f
445 #define BPF_Fs88200_Fc66_A2 (-0.001146f)
446 #define BPF_Fs88200_Fc66_B1 (-1.997684f)
447 #define BPF_Fs88200_Fc66_B2 0.997708f
448 
449 #define BPF_Fs96000_Fc66_A0 0.001055f
450 #define BPF_Fs96000_Fc66_A1 0.000000f
451 #define BPF_Fs96000_Fc66_A2 (-0.001055f)
452 #define BPF_Fs96000_Fc66_B1 (-1.997868f)
453 #define BPF_Fs96000_Fc66_B2 0.997891f
454 
455 #define BPF_Fs176400_Fc66_A0 0.000573f
456 #define BPF_Fs176400_Fc66_A1 0.000000f
457 #define BPF_Fs176400_Fc66_A2 (-0.000573f)
458 #define BPF_Fs176400_Fc66_B1 (-1.998847f)
459 #define BPF_Fs176400_Fc66_B2 0.998853f
460 
461 #define BPF_Fs192000_Fc66_A0 0.000528f
462 #define BPF_Fs192000_Fc66_A1 0.000000f
463 #define BPF_Fs192000_Fc66_A2 (-0.000528f)
464 #define BPF_Fs192000_Fc66_B1 (-1.998939f)
465 #define BPF_Fs192000_Fc66_B2 0.998945f
466 
467 /* Coefficients for centre frequency 78Hz */
468 #define BPF_Fs8000_Fc78_A0 0.018572f
469 #define BPF_Fs8000_Fc78_A1 0.000000f
470 #define BPF_Fs8000_Fc78_A2 (-0.018572f)
471 #define BPF_Fs8000_Fc78_B1 (-1.958745f)
472 #define BPF_Fs8000_Fc78_B2 0.962427f
473 #define BPF_Fs11025_Fc78_A0 0.013545f
474 #define BPF_Fs11025_Fc78_A1 0.000000f
475 #define BPF_Fs11025_Fc78_A2 (-0.013545f)
476 #define BPF_Fs11025_Fc78_B1 (-1.970647f)
477 #define BPF_Fs11025_Fc78_B2 0.972596f
478 #define BPF_Fs12000_Fc78_A0 0.012458f
479 #define BPF_Fs12000_Fc78_A1 0.000000f
480 #define BPF_Fs12000_Fc78_A2 (-0.012458f)
481 #define BPF_Fs12000_Fc78_B1 (-1.973148f)
482 #define BPF_Fs12000_Fc78_B2 0.974795f
483 #define BPF_Fs16000_Fc78_A0 0.009373f
484 #define BPF_Fs16000_Fc78_A1 0.000000f
485 #define BPF_Fs16000_Fc78_A2 (-0.009373f)
486 #define BPF_Fs16000_Fc78_B1 (-1.980108f)
487 #define BPF_Fs16000_Fc78_B2 0.981037f
488 #define BPF_Fs22050_Fc78_A0 0.006819f
489 #define BPF_Fs22050_Fc78_A1 0.000000f
490 #define BPF_Fs22050_Fc78_A2 (-0.006819f)
491 #define BPF_Fs22050_Fc78_B1 (-1.985714f)
492 #define BPF_Fs22050_Fc78_B2 0.986204f
493 #define BPF_Fs24000_Fc78_A0 0.006268f
494 #define BPF_Fs24000_Fc78_A1 0.000000f
495 #define BPF_Fs24000_Fc78_A2 (-0.006268f)
496 #define BPF_Fs24000_Fc78_B1 (-1.986904f)
497 #define BPF_Fs24000_Fc78_B2 0.987318f
498 #define BPF_Fs32000_Fc78_A0 0.004709f
499 #define BPF_Fs32000_Fc78_A1 0.000000f
500 #define BPF_Fs32000_Fc78_A2 (-0.004709f)
501 #define BPF_Fs32000_Fc78_B1 (-1.990240f)
502 #define BPF_Fs32000_Fc78_B2 0.990473f
503 #define BPF_Fs44100_Fc78_A0 0.003421f
504 #define BPF_Fs44100_Fc78_A1 0.000000f
505 #define BPF_Fs44100_Fc78_A2 (-0.003421f)
506 #define BPF_Fs44100_Fc78_B1 (-1.992955f)
507 #define BPF_Fs44100_Fc78_B2 0.993078f
508 #define BPF_Fs48000_Fc78_A0 0.003144f
509 #define BPF_Fs48000_Fc78_A1 0.000000f
510 #define BPF_Fs48000_Fc78_A2 (-0.003144f)
511 #define BPF_Fs48000_Fc78_B1 (-1.993535f)
512 #define BPF_Fs48000_Fc78_B2 0.993639f
513 
514 #define BPF_Fs88200_Fc78_A0 0.001693f
515 #define BPF_Fs88200_Fc78_A1 0.000000f
516 #define BPF_Fs88200_Fc78_A2 (-0.001693f)
517 #define BPF_Fs88200_Fc78_B1 (-1.996582f)
518 #define BPF_Fs88200_Fc78_B2 0.996615f
519 
520 #define BPF_Fs96000_Fc78_A0 0.001555f
521 #define BPF_Fs96000_Fc78_A1 0.000000f
522 #define BPF_Fs96000_Fc78_A2 (-0.0015555f)
523 #define BPF_Fs96000_Fc78_B1 (-1.996860f)
524 #define BPF_Fs96000_Fc78_B2 0.996891f
525 
526 #define BPF_Fs176400_Fc78_A0 0.000847f
527 #define BPF_Fs176400_Fc78_A1 0.000000f
528 #define BPF_Fs176400_Fc78_A2 (-0.000847f)
529 #define BPF_Fs176400_Fc78_B1 (-1.998298f)
530 #define BPF_Fs176400_Fc78_B2 0.998306f
531 
532 #define BPF_Fs192000_Fc78_A0 0.000778f
533 #define BPF_Fs192000_Fc78_A1 0.000000f
534 #define BPF_Fs192000_Fc78_A2 (-0.000778f)
535 #define BPF_Fs192000_Fc78_B1 (-1.998437f)
536 #define BPF_Fs192000_Fc78_B2 0.998444f
537 
538 /* Coefficients for centre frequency 90Hz */
539 #define BPF_Fs8000_Fc90_A0 0.022760f
540 #define BPF_Fs8000_Fc90_A1 0.000000f
541 #define BPF_Fs8000_Fc90_A2 (-0.022760f)
542 #define BPF_Fs8000_Fc90_B1 (-1.949073f)
543 #define BPF_Fs8000_Fc90_B2 0.953953f
544 #define BPF_Fs11025_Fc90_A0 0.016619f
545 #define BPF_Fs11025_Fc90_A1 0.000000f
546 #define BPF_Fs11025_Fc90_A2 (-0.016619f)
547 #define BPF_Fs11025_Fc90_B1 (-1.963791f)
548 #define BPF_Fs11025_Fc90_B2 0.966377f
549 #define BPF_Fs12000_Fc90_A0 0.015289f
550 #define BPF_Fs12000_Fc90_A1 0.000000f
551 #define BPF_Fs12000_Fc90_A2 (-0.015289f)
552 #define BPF_Fs12000_Fc90_B1 (-1.966882f)
553 #define BPF_Fs12000_Fc90_B2 0.969067f
554 #define BPF_Fs16000_Fc90_A0 0.011511f
555 #define BPF_Fs16000_Fc90_A1 0.000000f
556 #define BPF_Fs16000_Fc90_A2 (-0.011511f)
557 #define BPF_Fs16000_Fc90_B1 (-1.975477f)
558 #define BPF_Fs16000_Fc90_B2 0.976711f
559 #define BPF_Fs22050_Fc90_A0 0.008379f
560 #define BPF_Fs22050_Fc90_A1 0.000000f
561 #define BPF_Fs22050_Fc90_A2 (-0.008379f)
562 #define BPF_Fs22050_Fc90_B1 (-1.982395f)
563 #define BPF_Fs22050_Fc90_B2 0.983047f
564 #define BPF_Fs24000_Fc90_A0 0.007704f
565 #define BPF_Fs24000_Fc90_A1 0.000000f
566 #define BPF_Fs24000_Fc90_A2 (-0.007704f)
567 #define BPF_Fs24000_Fc90_B1 (-1.983863f)
568 #define BPF_Fs24000_Fc90_B2 0.984414f
569 #define BPF_Fs32000_Fc90_A0 0.005789f
570 #define BPF_Fs32000_Fc90_A1 0.000000f
571 #define BPF_Fs32000_Fc90_A2 (-0.005789f)
572 #define BPF_Fs32000_Fc90_B1 (-1.987977f)
573 #define BPF_Fs32000_Fc90_B2 0.988288f
574 #define BPF_Fs44100_Fc90_A0 0.004207f
575 #define BPF_Fs44100_Fc90_A1 0.000000f
576 #define BPF_Fs44100_Fc90_A2 (-0.004207f)
577 #define BPF_Fs44100_Fc90_B1 (-1.991324f)
578 #define BPF_Fs44100_Fc90_B2 0.991488f
579 #define BPF_Fs48000_Fc90_A0 0.003867f
580 #define BPF_Fs48000_Fc90_A1 0.000000f
581 #define BPF_Fs48000_Fc90_A2 (-0.003867f)
582 #define BPF_Fs48000_Fc90_B1 (-1.992038f)
583 #define BPF_Fs48000_Fc90_B2 0.992177f
584 
585 #define BPF_Fs88200_Fc90_A0 0.002083f
586 #define BPF_Fs88200_Fc90_A1 0.000000f
587 #define BPF_Fs88200_Fc90_A2 (-0.002083f)
588 #define BPF_Fs88200_Fc90_B1 (-1.995791f)
589 #define BPF_Fs88200_Fc90_B2 0.995835f
590 
591 #define BPF_Fs96000_Fc90_A0 0.001913f
592 #define BPF_Fs96000_Fc90_A1 0.000000f
593 #define BPF_Fs96000_Fc90_A2 (-0.001913f)
594 #define BPF_Fs96000_Fc90_B1 (-1.996134f)
595 #define BPF_Fs96000_Fc90_B2 0.996174f
596 
597 #define BPF_Fs176400_Fc90_A0 0.001042f
598 #define BPF_Fs176400_Fc90_A1 0.000000f
599 #define BPF_Fs176400_Fc90_A2 (-0.001042f)
600 #define BPF_Fs176400_Fc90_B1 (-1.997904f)
601 #define BPF_Fs176400_Fc90_B2 0.997915f
602 
603 #define BPF_Fs192000_Fc90_A0 0.000958f
604 #define BPF_Fs192000_Fc90_A1 0.000000f
605 #define BPF_Fs192000_Fc90_A2 (-0.000958f)
606 #define BPF_Fs192000_Fc90_B1 (-1.998075f)
607 #define BPF_Fs192000_Fc90_B2 0.998085f
608 
609 /************************************************************************************/
610 /*                                                                                  */
611 /* Automatic Gain Control time constants and gain settings                          */
612 /*                                                                                  */
613 /************************************************************************************/
614 
615 /* AGC Time constants */
616 #define AGC_ATTACK_Fs8000 0.841395f
617 #define AGC_ATTACK_Fs11025 0.882223f
618 #define AGC_ATTACK_Fs12000 0.891251f
619 #define AGC_ATTACK_Fs16000 0.917276f
620 #define AGC_ATTACK_Fs22050 0.939267f
621 #define AGC_ATTACK_Fs24000 0.944061f
622 #define AGC_ATTACK_Fs32000 0.957745f
623 #define AGC_ATTACK_Fs44100 0.969158f
624 #define AGC_ATTACK_Fs48000 0.971628f
625 
626 #define AGC_ATTACK_Fs88200 0.984458f
627 #define AGC_ATTACK_Fs96000 0.985712f
628 #define AGC_ATTACK_Fs176400 0.992199f
629 #define AGC_ATTACK_Fs192000 0.992830f
630 
631 #define DECAY_SHIFT 10
632 
633 #define AGC_DECAY_Fs8000 0.000042f
634 #define AGC_DECAY_Fs11025 0.000030f
635 #define AGC_DECAY_Fs12000 0.000028f
636 #define AGC_DECAY_Fs16000 0.000021f
637 #define AGC_DECAY_Fs22050 0.000015f
638 #define AGC_DECAY_Fs24000 0.000014f
639 #define AGC_DECAY_Fs32000 0.000010f
640 #define AGC_DECAY_Fs44100 0.000008f
641 #define AGC_DECAY_Fs48000 0.000007f
642 
643 #define AGC_DECAY_Fs88200 0.0000038f
644 #define AGC_DECAY_FS96000 0.0000035f
645 #define AGC_DECAY_Fs176400 0.00000188f
646 #define AGC_DECAY_FS192000 0.00000175f
647 
648 /* AGC Gain settings */
649 #define AGC_GAIN_SCALE 31 /* As a power of 2 */
650 #define AGC_GAIN_SHIFT 4  /* As a power of 2 */
651 #define AGC_TARGETLEVEL 0.988553f
652 #define AGC_HPFGAIN_0dB 0.412538f
653 #define AGC_GAIN_0dB 0.000000f
654 #define AGC_HPFGAIN_1dB 0.584893f
655 #define AGC_GAIN_1dB 0.122018f
656 #define AGC_HPFGAIN_2dB 0.778279f
657 #define AGC_GAIN_2dB 0.258925f
658 #define AGC_HPFGAIN_3dB 0.995262f
659 #define AGC_GAIN_3dB 0.412538f
660 #define AGC_HPFGAIN_4dB 1.238721f
661 #define AGC_GAIN_4dB 0.584893f
662 #define AGC_HPFGAIN_5dB 1.511886f
663 #define AGC_GAIN_5dB 0.778279f
664 #define AGC_HPFGAIN_6dB 1.818383f
665 #define AGC_GAIN_6dB 0.995262f
666 #define AGC_HPFGAIN_7dB 2.162278f
667 #define AGC_GAIN_7dB 1.238721f
668 #define AGC_HPFGAIN_8dB 2.548134f
669 #define AGC_GAIN_8dB 1.511886f
670 #define AGC_HPFGAIN_9dB 2.981072f
671 #define AGC_GAIN_9dB 1.818383f
672 #define AGC_HPFGAIN_10dB 3.466836f
673 #define AGC_GAIN_10dB 2.162278f
674 #define AGC_HPFGAIN_11dB 4.011872f
675 #define AGC_GAIN_11dB 2.548134f
676 #define AGC_HPFGAIN_12dB 4.623413f
677 #define AGC_GAIN_12dB 2.981072f
678 #define AGC_HPFGAIN_13dB 5.309573f
679 #define AGC_GAIN_13dB 3.466836f
680 #define AGC_HPFGAIN_14dB 6.079458f
681 #define AGC_GAIN_14dB 4.011872f
682 #define AGC_HPFGAIN_15dB 6.943282f
683 #define AGC_GAIN_15dB 4.623413f
684 
685 /************************************************************************************/
686 /*                                                                                  */
687 /* Volume control                                                                   */
688 /*                                                                                  */
689 /************************************************************************************/
690 
691 /* Volume control gain */
692 #define VOLUME_MAX 0   /* In dBs */
693 #define VOLUME_SHIFT 0 /* In dBs */
694 
695 /* Volume control time constants */
696 #define VOL_TC_SHIFT 21 /* As a power of 2 */
697 #define VOL_TC_Fs8000 0.024690f
698 #define VOL_TC_Fs11025 0.017977f
699 #define VOL_TC_Fs12000 0.016529f
700 #define VOL_TC_Fs16000 0.012422f
701 #define VOL_TC_Fs22050 0.009029f
702 #define VOL_TC_Fs24000 0.008299f
703 #define VOL_TC_Fs32000 0.006231f
704 #define VOL_TC_Fs44100 0.004525f
705 #define VOL_TC_Fs48000 0.004158f
706 #define VOL_TC_Fs88200 0.002263f
707 #define VOL_TC_Fs96000 0.002079f
708 #define VOL_TC_Fs176400 0.001131f
709 #define VOL_TC_Fs192000 0.001039f
710 #define MIX_TC_Fs8000 29365  /* Floating point value 0.896151 */
711 #define MIX_TC_Fs11025 30230 /* Floating point value 0.922548 */
712 #define MIX_TC_Fs12000 30422 /* Floating point value 0.928415 */
713 #define MIX_TC_Fs16000 30978 /* Floating point value 0.945387 */
714 #define MIX_TC_Fs22050 31451 /* Floating point value 0.959804 */
715 #define MIX_TC_Fs24000 31554 /* Floating point value 0.962956 */
716 #define MIX_TC_Fs32000 31850 /* Floating point value 0.971973 */
717 #define MIX_TC_Fs44100 32097 /* Floating point value 0.979515 */
718 #define MIX_TC_Fs48000 32150 /* Floating point value 0.981150 */
719 /* Floating point value 0.989704 */
720 #define MIX_TC_Fs88200 32430
721 #define MIX_TC_Fs96000 32456 /* Floating point value 0.990530 */
722 /* Floating point value 0.994838 */
723 #define MIX_TC_Fs176400 32598
724 #define MIX_TC_Fs192000 32611 /* Floating point value 0.992524 */
725 
726 #endif
727