12c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* 22c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Copyright (C) 2004-2010 NXP Software 32c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Copyright (C) 2010 The Android Open Source Project 42c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * 52c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Licensed under the Apache License, Version 2.0 (the "License"); 62c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * you may not use this file except in compliance with the License. 72c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * You may obtain a copy of the License at 82c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * 92c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * http://www.apache.org/licenses/LICENSE-2.0 102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * 112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Unless required by applicable law or agreed to in writing, software 122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * distributed under the License is distributed on an "AS IS" BASIS, 132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * See the License for the specific language governing permissions and 152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * limitations under the License. 162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */ 172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Includes */ 222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "LVDBE.h" 262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "LVDBE_Coeffs.h" /* Filter coefficients */ 272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "BIQUAD.h" 282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Coefficients constant table */ 332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* 372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * High Pass Filter Coefficient table 382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */ 392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst BQ_C32_Coefs_t LVDBE_HPF_Table[] = { 402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 55Hz centre frequency */ 412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs8000_Fc55_A2, /* 8kS/s coefficients */ 422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc55_A1, 432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc55_A0, 442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc55_B2, 452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc55_B1}, 462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs11025_Fc55_A2, /* 11kS/s coefficients */ 472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc55_A1, 482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc55_A0, 492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc55_B2, 502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc55_B1}, 512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs12000_Fc55_A2, /* 12kS/s coefficients */ 522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc55_A1, 532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc55_A0, 542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc55_B2, 552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc55_B1}, 562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs16000_Fc55_A2, /* 16kS/s coefficients */ 572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc55_A1, 582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc55_A0, 592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc55_B2, 602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc55_B1}, 612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs22050_Fc55_A2, /* 22kS/s coefficients */ 622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc55_A1, 632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc55_A0, 642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc55_B2, 652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc55_B1}, 662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs24000_Fc55_A2, /* 24kS/s coefficients */ 672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc55_A1, 682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc55_A0, 692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc55_B2, 702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc55_B1}, 712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs32000_Fc55_A2, /* 32kS/s coefficients */ 722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc55_A1, 732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc55_A0, 742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc55_B2, 752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc55_B1}, 762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs44100_Fc55_A2, /* 44kS/s coefficients */ 772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc55_A1, 782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc55_A0, 792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc55_B2, 802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc55_B1}, 812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs48000_Fc55_A2, /* 48kS/s coefficients */ 822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc55_A1, 832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc55_A0, 842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc55_B2, 852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc55_B1}, 862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 66Hz centre frequency */ 882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs8000_Fc66_A2, /* 8kS/s coefficients */ 892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc66_A1, 902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc66_A0, 912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc66_B2, 922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc66_B1}, 932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs11025_Fc66_A2, /* 11kS/s coefficients */ 942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc66_A1, 952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc66_A0, 962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc66_B2, 972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc66_B1}, 982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs12000_Fc66_A2, /* 12kS/s coefficients */ 992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc66_A1, 1002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc66_A0, 1012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc66_B2, 1022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc66_B1}, 1032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs16000_Fc66_A2, /* 16kS/s coefficients */ 1042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc66_A1, 1052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc66_A0, 1062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc66_B2, 1072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc66_B1}, 1082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs22050_Fc66_A2, /* 22kS/s coefficients */ 1092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc66_A1, 1102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc66_A0, 1112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc66_B2, 1122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc66_B1}, 1132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs24000_Fc66_A2, /* 24kS/s coefficients */ 1142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc66_A1, 1152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc66_A0, 1162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc66_B2, 1172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc66_B1}, 1182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs32000_Fc66_A2, /* 32kS/s coefficients */ 1192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc66_A1, 1202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc66_A0, 1212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc66_B2, 1222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc66_B1}, 1232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs44100_Fc66_A2, /* 44kS/s coefficients */ 1242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc66_A1, 1252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc66_A0, 1262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc66_B2, 1272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc66_B1}, 1282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs48000_Fc66_A2, /* 48kS/s coefficients */ 1292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc66_A1, 1302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc66_A0, 1312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc66_B2, 1322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc66_B1}, 1332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 1342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 78Hz centre frequency */ 1352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs8000_Fc78_A2, /* 8kS/s coefficients */ 1362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc78_A1, 1372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc78_A0, 1382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc78_B2, 1392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc78_B1}, 1402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs11025_Fc78_A2, /* 11kS/s coefficients */ 1412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc78_A1, 1422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc78_A0, 1432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc78_B2, 1442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc78_B1}, 1452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs12000_Fc78_A2, /* 12kS/s coefficients */ 1462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc78_A1, 1472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc78_A0, 1482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc78_B2, 1492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc78_B1}, 1502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs16000_Fc78_A2, /* 16kS/s coefficients */ 1512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc78_A1, 1522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc78_A0, 1532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc78_B2, 1542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc78_B1}, 1552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs22050_Fc78_A2, /* 22kS/s coefficients */ 1562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc78_A1, 1572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc78_A0, 1582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc78_B2, 1592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc78_B1}, 1602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs24000_Fc78_A2, /* 24kS/s coefficients */ 1612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc78_A1, 1622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc78_A0, 1632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc78_B2, 1642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc78_B1}, 1652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs32000_Fc78_A2, /* 32kS/s coefficients */ 1662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc78_A1, 1672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc78_A0, 1682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc78_B2, 1692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc78_B1}, 1702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs44100_Fc78_A2, /* 44kS/s coefficients */ 1712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc78_A1, 1722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc78_A0, 1732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc78_B2, 1742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc78_B1}, 1752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs48000_Fc78_A2, /* 48kS/s coefficients */ 1762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc78_A1, 1772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc78_A0, 1782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc78_B2, 1792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc78_B1}, 1802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 1812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 90Hz centre frequency */ 1822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs8000_Fc90_A2, /* 8kS/s coefficients */ 1832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc90_A1, 1842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs8000_Fc90_A0, 1852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc90_B2, 1862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs8000_Fc90_B1}, 1872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs11025_Fc90_A2, /* 11kS/s coefficients */ 1882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc90_A1, 1892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs11025_Fc90_A0, 1902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc90_B2, 1912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs11025_Fc90_B1}, 1922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs12000_Fc90_A2, /* 12kS/s coefficients */ 1932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc90_A1, 1942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs12000_Fc90_A0, 1952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc90_B2, 1962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs12000_Fc90_B1}, 1972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs16000_Fc90_A2, /* 16kS/s coefficients */ 1982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc90_A1, 1992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs16000_Fc90_A0, 2002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc90_B2, 2012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs16000_Fc90_B1}, 2022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs22050_Fc90_A2, /* 22kS/s coefficients */ 2032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc90_A1, 2042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs22050_Fc90_A0, 2052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc90_B2, 2062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs22050_Fc90_B1}, 2072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs24000_Fc90_A2, /* 24kS/s coefficients */ 2082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc90_A1, 2092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs24000_Fc90_A0, 2102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc90_B2, 2112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs24000_Fc90_B1}, 2122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs32000_Fc90_A2, /* 32kS/s coefficients */ 2132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc90_A1, 2142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs32000_Fc90_A0, 2152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc90_B2, 2162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs32000_Fc90_B1}, 2172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs44100_Fc90_A2, /* 44kS/s coefficients */ 2182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc90_A1, 2192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs44100_Fc90_A0, 2202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc90_B2, 2212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs44100_Fc90_B1}, 2222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {HPF_Fs48000_Fc90_A2, /* 48kS/s coefficients */ 2232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc90_A1, 2242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent HPF_Fs48000_Fc90_A0, 2252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc90_B2, 2262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -HPF_Fs48000_Fc90_B1}}; 2272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 2282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* 2292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Band Pass Filter coefficient table 2302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */ 2312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst BP_C32_Coefs_t LVDBE_BPF_Table[] = { 2322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 55Hz centre frequency */ 2332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs8000_Fc55_A0, /* 8kS/s coefficients */ 2342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc55_B2, 2352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc55_B1}, 2362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs11025_Fc55_A0, /* 11kS/s coefficients */ 2372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc55_B2, 2382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc55_B1}, 2392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs12000_Fc55_A0, /* 12kS/s coefficients */ 2402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc55_B2, 2412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc55_B1}, 2422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs16000_Fc55_A0, /* 16kS/s coefficients */ 2432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc55_B2, 2442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc55_B1}, 2452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs22050_Fc55_A0, /* 22kS/s coefficients */ 2462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc55_B2, 2472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc55_B1}, 2482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs24000_Fc55_A0, /* 24kS/s coefficients */ 2492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc55_B2, 2502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc55_B1}, 2512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs32000_Fc55_A0, /* 32kS/s coefficients */ 2522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc55_B2, 2532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc55_B1}, 2542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs44100_Fc55_A0, /* 44kS/s coefficients */ 2552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc55_B2, 2562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc55_B1}, 2572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs48000_Fc55_A0, /* 48kS/s coefficients */ 2582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc55_B2, 2592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc55_B1}, 2602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 2612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 66Hz centre frequency */ 2622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs8000_Fc66_A0, /* 8kS/s coefficients */ 2632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc66_B2, 2642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc66_B1}, 2652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs11025_Fc66_A0, /* 11kS/s coefficients */ 2662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc66_B2, 2672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc66_B1}, 2682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs12000_Fc66_A0, /* 12kS/s coefficients */ 2692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc66_B2, 2702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc66_B1}, 2712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs16000_Fc66_A0, /* 16kS/s coefficients */ 2722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc66_B2, 2732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc66_B1}, 2742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs22050_Fc66_A0, /* 22kS/s coefficients */ 2752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc66_B2, 2762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc66_B1}, 2772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs24000_Fc66_A0, /* 24kS/s coefficients */ 2782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc66_B2, 2792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc66_B1}, 2802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs32000_Fc66_A0, /* 32kS/s coefficients */ 2812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc66_B2, 2822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc66_B1}, 2832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs44100_Fc66_A0, /* 44kS/s coefficients */ 2842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc66_B2, 2852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc66_B1}, 2862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs48000_Fc66_A0, /* 48kS/s coefficients */ 2872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc66_B2, 2882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc66_B1}, 2892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 2902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 78Hz centre frequency */ 2912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs8000_Fc78_A0, /* 8kS/s coefficients */ 2922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc78_B2, 2932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc78_B1}, 2942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs11025_Fc78_A0, /* 11kS/s coefficients */ 2952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc78_B2, 2962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc78_B1}, 2972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs12000_Fc78_A0, /* 12kS/s coefficients */ 2982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc78_B2, 2992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc78_B1}, 3002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs16000_Fc78_A0, /* 16kS/s coefficients */ 3012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc78_B2, 3022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc78_B1}, 3032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs22050_Fc78_A0, /* 22kS/s coefficients */ 3042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc78_B2, 3052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc78_B1}, 3062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs24000_Fc78_A0, /* 24kS/s coefficients */ 3072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc78_B2, 3082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc78_B1}, 3092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs32000_Fc78_A0, /* 32kS/s coefficients */ 3102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc78_B2, 3112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc78_B1}, 3122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs44100_Fc78_A0, /* 44kS/s coefficients */ 3132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc78_B2, 3142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc78_B1}, 3152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs48000_Fc78_A0, /* 48kS/s coefficients */ 3162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc78_B2, 3172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc78_B1}, 3182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent /* Coefficients for 90Hz centre frequency */ 3202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs8000_Fc90_A0, /* 8kS/s coefficients */ 3212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc90_B2, 3222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs8000_Fc90_B1}, 3232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs11025_Fc90_A0, /* 11kS/s coefficients */ 3242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc90_B2, 3252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs11025_Fc90_B1}, 3262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs12000_Fc90_A0, /* 12kS/s coefficients */ 3272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc90_B2, 3282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs12000_Fc90_B1}, 3292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs16000_Fc90_A0, /* 16kS/s coefficients */ 3302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc90_B2, 3312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs16000_Fc90_B1}, 3322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs22050_Fc90_A0, /* 22kS/s coefficients */ 3332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc90_B2, 3342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs22050_Fc90_B1}, 3352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs24000_Fc90_A0, /* 24kS/s coefficients */ 3362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc90_B2, 3372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs24000_Fc90_B1}, 3382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs32000_Fc90_A0, /* 32kS/s coefficients */ 3392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc90_B2, 3402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs32000_Fc90_B1}, 3412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs44100_Fc90_A0, /* 44kS/s coefficients */ 3422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc90_B2, 3432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs44100_Fc90_B1}, 3442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent {BPF_Fs48000_Fc90_A0, /* 48kS/s coefficients */ 3452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc90_B2, 3462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent -BPF_Fs48000_Fc90_B1}}; 3472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 3502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 3512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* AGC constant tables */ 3522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 3532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 3542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Attack time (signal too large) */ 3562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_AGC_ATTACK_Table[] = { 3572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs8000, 3582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs11025, 3592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs12000, 3602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs16000, 3612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs22050, 3622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs24000, 3632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs32000, 3642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs44100, 3652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_ATTACK_Fs48000}; 3662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Decay time (signal too small) */ 3682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_AGC_DECAY_Table[] = { 3692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs8000, 3702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs11025, 3712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs12000, 3722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs16000, 3732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs22050, 3742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs24000, 3752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs32000, 3762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs44100, 3772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_DECAY_Fs48000}; 3782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Gain for use without the high pass filter */ 3802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT32 LVDBE_AGC_GAIN_Table[] = { 3812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_0dB, 3822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_1dB, 3832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_2dB, 3842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_3dB, 3852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_4dB, 3862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_5dB, 3872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_6dB, 3882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_7dB, 3892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_8dB, 3902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_9dB, 3912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_10dB, 3922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_11dB, 3932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_12dB, 3942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_13dB, 3952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_14dB, 3962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_GAIN_15dB}; 3972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 3982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Gain for use with the high pass filter */ 3992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT32 LVDBE_AGC_HPFGAIN_Table[] = { 4002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_0dB, 4012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_1dB, 4022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_2dB, 4032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_3dB, 4042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_4dB, 4052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_5dB, 4062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_6dB, 4072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_7dB, 4082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_8dB, 4092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_9dB, 4102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_10dB, 4112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_11dB, 4122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_12dB, 4132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_13dB, 4142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_14dB, 4152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent AGC_HPFGAIN_15dB}; 4162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 4192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 4202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Volume control gain and time constant tables */ 4212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* */ 4222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/ 4232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* dB to linear conversion table */ 4252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_VolumeTable[] = { 4262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x4000, /* -6dB */ 4272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x47FB, /* -5dB */ 4282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x50C3, /* -4dB */ 4292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x5A9E, /* -3dB */ 4302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x65AD, /* -2dB */ 4312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x7215, /* -1dB */ 4322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 0x7FFF}; /* 0dB */ 4332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_VolumeTCTable[] = { 4352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs8000, 4362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs11025, 4372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs12000, 4382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs16000, 4392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs22050, 4402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs24000, 4412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs32000, 4422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs44100, 4432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent VOL_TC_Fs48000}; 4442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_MixerTCTable[] = { 4462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs8000, 4472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs11025, 4482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs12000, 4492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs16000, 4502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs22050, 4512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs24000, 4522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs32000, 4532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs44100, 4542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent MIX_TC_Fs48000}; 4552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 4562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent 457