LVDBE_Coeffs.h revision 4d8755fb32823d1832ececf05eaf83d83a702531
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#ifndef BUILD_FLOAT 23/************************************************************************************/ 24/* */ 25/* General */ 26/* */ 27/************************************************************************************/ 28 29#define LVDBE_SCALESHIFT 10 /* As a power of 2 */ 30 31 32/************************************************************************************/ 33/* */ 34/* High Pass Filter coefficients */ 35/* */ 36/************************************************************************************/ 37 38 /* Coefficients for centre frequency 55Hz */ 39#define HPF_Fs8000_Fc55_A0 1029556328 /* Floating point value 0.958849 */ 40#define HPF_Fs8000_Fc55_A1 (-2059112655) /* Floating point value -1.917698 */ 41#define HPF_Fs8000_Fc55_A2 1029556328 /* Floating point value 0.958849 */ 42#define HPF_Fs8000_Fc55_B1 (-2081986375) /* Floating point value -1.939001 */ 43#define HPF_Fs8000_Fc55_B2 1010183914 /* Floating point value 0.940807 */ 44#define HPF_Fs11025_Fc55_A0 1038210831 /* Floating point value 0.966909 */ 45#define HPF_Fs11025_Fc55_A1 (-2076421662) /* Floating point value -1.933818 */ 46#define HPF_Fs11025_Fc55_A2 1038210831 /* Floating point value 0.966909 */ 47#define HPF_Fs11025_Fc55_B1 (-2099950710) /* Floating point value -1.955732 */ 48#define HPF_Fs11025_Fc55_B2 1027238450 /* Floating point value 0.956690 */ 49#define HPF_Fs12000_Fc55_A0 1040079943 /* Floating point value 0.968650 */ 50#define HPF_Fs12000_Fc55_A1 (-2080159885) /* Floating point value -1.937300 */ 51#define HPF_Fs12000_Fc55_A2 1040079943 /* Floating point value 0.968650 */ 52#define HPF_Fs12000_Fc55_B1 (-2103811702) /* Floating point value -1.959327 */ 53#define HPF_Fs12000_Fc55_B2 1030940477 /* Floating point value 0.960138 */ 54#define HPF_Fs16000_Fc55_A0 1045381988 /* Floating point value 0.973588 */ 55#define HPF_Fs16000_Fc55_A1 (-2090763976) /* Floating point value -1.947176 */ 56#define HPF_Fs16000_Fc55_A2 1045381988 /* Floating point value 0.973588 */ 57#define HPF_Fs16000_Fc55_B1 (-2114727793) /* Floating point value -1.969494 */ 58#define HPF_Fs16000_Fc55_B2 1041478147 /* Floating point value 0.969952 */ 59#define HPF_Fs22050_Fc55_A0 1049766523 /* Floating point value 0.977671 */ 60#define HPF_Fs22050_Fc55_A1 (-2099533046) /* Floating point value -1.955343 */ 61#define HPF_Fs22050_Fc55_A2 1049766523 /* Floating point value 0.977671 */ 62#define HPF_Fs22050_Fc55_B1 (-2123714381) /* Floating point value -1.977863 */ 63#define HPF_Fs22050_Fc55_B2 1050232780 /* Floating point value 0.978105 */ 64#define HPF_Fs24000_Fc55_A0 1050711051 /* Floating point value 0.978551 */ 65#define HPF_Fs24000_Fc55_A1 (-2101422103) /* Floating point value -1.957102 */ 66#define HPF_Fs24000_Fc55_A2 1050711051 /* Floating point value 0.978551 */ 67#define HPF_Fs24000_Fc55_B1 (-2125645498) /* Floating point value -1.979662 */ 68#define HPF_Fs24000_Fc55_B2 1052123526 /* Floating point value 0.979866 */ 69#define HPF_Fs32000_Fc55_A0 1053385759 /* Floating point value 0.981042 */ 70#define HPF_Fs32000_Fc55_A1 (-2106771519) /* Floating point value -1.962084 */ 71#define HPF_Fs32000_Fc55_A2 1053385759 /* Floating point value 0.981042 */ 72#define HPF_Fs32000_Fc55_B1 (-2131104794) /* Floating point value -1.984746 */ 73#define HPF_Fs32000_Fc55_B2 1057486949 /* Floating point value 0.984861 */ 74#define HPF_Fs44100_Fc55_A0 1055592498 /* Floating point value 0.983097 */ 75#define HPF_Fs44100_Fc55_A1 (-2111184995) /* Floating point value -1.966194 */ 76#define HPF_Fs44100_Fc55_A2 1055592498 /* Floating point value 0.983097 */ 77#define HPF_Fs44100_Fc55_B1 (-2135598658) /* Floating point value -1.988931 */ 78#define HPF_Fs44100_Fc55_B2 1061922249 /* Floating point value 0.988992 */ 79#define HPF_Fs48000_Fc55_A0 1056067276 /* Floating point value 0.983539 */ 80#define HPF_Fs48000_Fc55_A1 (-2112134551) /* Floating point value -1.967079 */ 81#define HPF_Fs48000_Fc55_A2 1056067276 /* Floating point value 0.983539 */ 82#define HPF_Fs48000_Fc55_B1 (-2136564296) /* Floating point value -1.989831 */ 83#define HPF_Fs48000_Fc55_B2 1062877714 /* Floating point value 0.989882 */ 84 85 /* Coefficients for centre frequency 66Hz */ 86#define HPF_Fs8000_Fc66_A0 1023293271 /* Floating point value 0.953016 */ 87#define HPF_Fs8000_Fc66_A1 (-2046586542) /* Floating point value -1.906032 */ 88#define HPF_Fs8000_Fc66_A2 1023293271 /* Floating point value 0.953016 */ 89#define HPF_Fs8000_Fc66_B1 (-2068896860) /* Floating point value -1.926810 */ 90#define HPF_Fs8000_Fc66_B2 997931110 /* Floating point value 0.929396 */ 91#define HPF_Fs11025_Fc66_A0 1033624228 /* Floating point value 0.962638 */ 92#define HPF_Fs11025_Fc66_A1 (-2067248455) /* Floating point value -1.925275 */ 93#define HPF_Fs11025_Fc66_A2 1033624228 /* Floating point value 0.962638 */ 94#define HPF_Fs11025_Fc66_B1 (-2090448000) /* Floating point value -1.946881 */ 95#define HPF_Fs11025_Fc66_B2 1018182305 /* Floating point value 0.948256 */ 96#define HPF_Fs12000_Fc66_A0 1035857662 /* Floating point value 0.964718 */ 97#define HPF_Fs12000_Fc66_A1 (-2071715325) /* Floating point value -1.929435 */ 98#define HPF_Fs12000_Fc66_A2 1035857662 /* Floating point value 0.964718 */ 99#define HPF_Fs12000_Fc66_B1 (-2095080333) /* Floating point value -1.951196 */ 100#define HPF_Fs12000_Fc66_B2 1022587158 /* Floating point value 0.952359 */ 101#define HPF_Fs16000_Fc66_A0 1042197528 /* Floating point value 0.970622 */ 102#define HPF_Fs16000_Fc66_A1 (-2084395056) /* Floating point value -1.941244 */ 103#define HPF_Fs16000_Fc66_A2 1042197528 /* Floating point value 0.970622 */ 104#define HPF_Fs16000_Fc66_B1 (-2108177912) /* Floating point value -1.963394 */ 105#define HPF_Fs16000_Fc66_B2 1035142690 /* Floating point value 0.964052 */ 106#define HPF_Fs22050_Fc66_A0 1047445145 /* Floating point value 0.975509 */ 107#define HPF_Fs22050_Fc66_A1 (-2094890289) /* Floating point value -1.951019 */ 108#define HPF_Fs22050_Fc66_A2 1047445145 /* Floating point value 0.975509 */ 109#define HPF_Fs22050_Fc66_B1 (-2118961025) /* Floating point value -1.973436 */ 110#define HPF_Fs22050_Fc66_B2 1045593102 /* Floating point value 0.973784 */ 111#define HPF_Fs24000_Fc66_A0 1048576175 /* Floating point value 0.976563 */ 112#define HPF_Fs24000_Fc66_A1 (-2097152349) /* Floating point value -1.953125 */ 113#define HPF_Fs24000_Fc66_A2 1048576175 /* Floating point value 0.976563 */ 114#define HPF_Fs24000_Fc66_B1 (-2121278255) /* Floating point value -1.975594 */ 115#define HPF_Fs24000_Fc66_B2 1047852379 /* Floating point value 0.975889 */ 116#define HPF_Fs32000_Fc66_A0 1051780119 /* Floating point value 0.979547 */ 117#define HPF_Fs32000_Fc66_A1 (-2103560237) /* Floating point value -1.959093 */ 118#define HPF_Fs32000_Fc66_A2 1051780119 /* Floating point value 0.979547 */ 119#define HPF_Fs32000_Fc66_B1 (-2127829187) /* Floating point value -1.981695 */ 120#define HPF_Fs32000_Fc66_B2 1054265623 /* Floating point value 0.981861 */ 121#define HPF_Fs44100_Fc66_A0 1054424722 /* Floating point value 0.982010 */ 122#define HPF_Fs44100_Fc66_A1 (-2108849444) /* Floating point value -1.964019 */ 123#define HPF_Fs44100_Fc66_A2 1054424722 /* Floating point value 0.982010 */ 124#define HPF_Fs44100_Fc66_B1 (-2133221723) /* Floating point value -1.986718 */ 125#define HPF_Fs44100_Fc66_B2 1059573993 /* Floating point value 0.986805 */ 126#define HPF_Fs48000_Fc66_A0 1054993851 /* Floating point value 0.982540 */ 127#define HPF_Fs48000_Fc66_A1 (-2109987702) /* Floating point value -1.965079 */ 128#define HPF_Fs48000_Fc66_A2 1054993851 /* Floating point value 0.982540 */ 129#define HPF_Fs48000_Fc66_B1 (-2134380475) /* Floating point value -1.987797 */ 130#define HPF_Fs48000_Fc66_B2 1060718118 /* Floating point value 0.987871 */ 131 132 /* Coefficients for centre frequency 78Hz */ 133#define HPF_Fs8000_Fc78_A0 1016504203 /* Floating point value 0.946693 */ 134#define HPF_Fs8000_Fc78_A1 (-2033008405) /* Floating point value -1.893387 */ 135#define HPF_Fs8000_Fc78_A2 1016504203 /* Floating point value 0.946693 */ 136#define HPF_Fs8000_Fc78_B1 (-2054623390) /* Floating point value -1.913517 */ 137#define HPF_Fs8000_Fc78_B2 984733853 /* Floating point value 0.917105 */ 138#define HPF_Fs11025_Fc78_A0 1028643741 /* Floating point value 0.957999 */ 139#define HPF_Fs11025_Fc78_A1 (-2057287482) /* Floating point value -1.915998 */ 140#define HPF_Fs11025_Fc78_A2 1028643741 /* Floating point value 0.957999 */ 141#define HPF_Fs11025_Fc78_B1 (-2080083769) /* Floating point value -1.937229 */ 142#define HPF_Fs11025_Fc78_B2 1008393904 /* Floating point value 0.939140 */ 143#define HPF_Fs12000_Fc78_A0 1031271067 /* Floating point value 0.960446 */ 144#define HPF_Fs12000_Fc78_A1 (-2062542133) /* Floating point value -1.920892 */ 145#define HPF_Fs12000_Fc78_A2 1031271067 /* Floating point value 0.960446 */ 146#define HPF_Fs12000_Fc78_B1 (-2085557048) /* Floating point value -1.942326 */ 147#define HPF_Fs12000_Fc78_B2 1013551620 /* Floating point value 0.943944 */ 148#define HPF_Fs16000_Fc78_A0 1038734628 /* Floating point value 0.967397 */ 149#define HPF_Fs16000_Fc78_A1 (-2077469256) /* Floating point value -1.934794 */ 150#define HPF_Fs16000_Fc78_A2 1038734628 /* Floating point value 0.967397 */ 151#define HPF_Fs16000_Fc78_B1 (-2101033380) /* Floating point value -1.956740 */ 152#define HPF_Fs16000_Fc78_B2 1028275228 /* Floating point value 0.957656 */ 153#define HPF_Fs22050_Fc78_A0 1044918584 /* Floating point value 0.973156 */ 154#define HPF_Fs22050_Fc78_A1 (-2089837169) /* Floating point value -1.946313 */ 155#define HPF_Fs22050_Fc78_A2 1044918584 /* Floating point value 0.973156 */ 156#define HPF_Fs22050_Fc78_B1 (-2113775854) /* Floating point value -1.968607 */ 157#define HPF_Fs22050_Fc78_B2 1040555007 /* Floating point value 0.969092 */ 158#define HPF_Fs24000_Fc78_A0 1046252164 /* Floating point value 0.974398 */ 159#define HPF_Fs24000_Fc78_A1 (-2092504328) /* Floating point value -1.948797 */ 160#define HPF_Fs24000_Fc78_A2 1046252164 /* Floating point value 0.974398 */ 161#define HPF_Fs24000_Fc78_B1 (-2116514229) /* Floating point value -1.971157 */ 162#define HPF_Fs24000_Fc78_B2 1043212719 /* Floating point value 0.971568 */ 163#define HPF_Fs32000_Fc78_A0 1050031301 /* Floating point value 0.977918 */ 164#define HPF_Fs32000_Fc78_A1 (-2100062603) /* Floating point value -1.955836 */ 165#define HPF_Fs32000_Fc78_A2 1050031301 /* Floating point value 0.977918 */ 166#define HPF_Fs32000_Fc78_B1 (-2124255900) /* Floating point value -1.978367 */ 167#define HPF_Fs32000_Fc78_B2 1050762639 /* Floating point value 0.978599 */ 168#define HPF_Fs44100_Fc78_A0 1053152258 /* Floating point value 0.980824 */ 169#define HPF_Fs44100_Fc78_A1 (-2106304516) /* Floating point value -1.961649 */ 170#define HPF_Fs44100_Fc78_A2 1053152258 /* Floating point value 0.980824 */ 171#define HPF_Fs44100_Fc78_B1 (-2130628742) /* Floating point value -1.984303 */ 172#define HPF_Fs44100_Fc78_B2 1057018180 /* Floating point value 0.984425 */ 173#define HPF_Fs48000_Fc78_A0 1053824087 /* Floating point value 0.981450 */ 174#define HPF_Fs48000_Fc78_A1 (-2107648173) /* Floating point value -1.962900 */ 175#define HPF_Fs48000_Fc78_A2 1053824087 /* Floating point value 0.981450 */ 176#define HPF_Fs48000_Fc78_B1 (-2131998154) /* Floating point value -1.985578 */ 177#define HPF_Fs48000_Fc78_B2 1058367200 /* Floating point value 0.985681 */ 178 179 /* Coefficients for centre frequency 90Hz */ 180#define HPF_Fs8000_Fc90_A0 1009760053 /* Floating point value 0.940412 */ 181#define HPF_Fs8000_Fc90_A1 (-2019520105) /* Floating point value -1.880825 */ 182#define HPF_Fs8000_Fc90_A2 1009760053 /* Floating point value 0.940412 */ 183#define HPF_Fs8000_Fc90_B1 (-2040357139) /* Floating point value -1.900231 */ 184#define HPF_Fs8000_Fc90_B2 971711129 /* Floating point value 0.904977 */ 185#define HPF_Fs11025_Fc90_A0 1023687217 /* Floating point value 0.953383 */ 186#define HPF_Fs11025_Fc90_A1 (-2047374434) /* Floating point value -1.906766 */ 187#define HPF_Fs11025_Fc90_A2 1023687217 /* Floating point value 0.953383 */ 188#define HPF_Fs11025_Fc90_B1 (-2069722397) /* Floating point value -1.927579 */ 189#define HPF_Fs11025_Fc90_B2 998699604 /* Floating point value 0.930111 */ 190#define HPF_Fs12000_Fc90_A0 1026704754 /* Floating point value 0.956193 */ 191#define HPF_Fs12000_Fc90_A1 (-2053409508) /* Floating point value -1.912387 */ 192#define HPF_Fs12000_Fc90_A2 1026704754 /* Floating point value 0.956193 */ 193#define HPF_Fs12000_Fc90_B1 (-2076035996) /* Floating point value -1.933459 */ 194#define HPF_Fs12000_Fc90_B2 1004595918 /* Floating point value 0.935603 */ 195#define HPF_Fs16000_Fc90_A0 1035283225 /* Floating point value 0.964183 */ 196#define HPF_Fs16000_Fc90_A1 (-2070566451) /* Floating point value -1.928365 */ 197#define HPF_Fs16000_Fc90_A2 1035283225 /* Floating point value 0.964183 */ 198#define HPF_Fs16000_Fc90_B1 (-2093889811) /* Floating point value -1.950087 */ 199#define HPF_Fs16000_Fc90_B2 1021453326 /* Floating point value 0.951303 */ 200#define HPF_Fs22050_Fc90_A0 1042398116 /* Floating point value 0.970809 */ 201#define HPF_Fs22050_Fc90_A1 (-2084796232) /* Floating point value -1.941618 */ 202#define HPF_Fs22050_Fc90_A2 1042398116 /* Floating point value 0.970809 */ 203#define HPF_Fs22050_Fc90_B1 (-2108591057) /* Floating point value -1.963778 */ 204#define HPF_Fs22050_Fc90_B2 1035541188 /* Floating point value 0.964423 */ 205#define HPF_Fs24000_Fc90_A0 1043933302 /* Floating point value 0.972239 */ 206#define HPF_Fs24000_Fc90_A1 (-2087866604) /* Floating point value -1.944477 */ 207#define HPF_Fs24000_Fc90_A2 1043933302 /* Floating point value 0.972239 */ 208#define HPF_Fs24000_Fc90_B1 (-2111750495) /* Floating point value -1.966721 */ 209#define HPF_Fs24000_Fc90_B2 1038593601 /* Floating point value 0.967266 */ 210#define HPF_Fs32000_Fc90_A0 1048285391 /* Floating point value 0.976292 */ 211#define HPF_Fs32000_Fc90_A1 (-2096570783) /* Floating point value -1.952584 */ 212#define HPF_Fs32000_Fc90_A2 1048285391 /* Floating point value 0.976292 */ 213#define HPF_Fs32000_Fc90_B1 (-2120682737) /* Floating point value -1.975040 */ 214#define HPF_Fs32000_Fc90_B2 1047271295 /* Floating point value 0.975347 */ 215#define HPF_Fs44100_Fc90_A0 1051881330 /* Floating point value 0.979641 */ 216#define HPF_Fs44100_Fc90_A1 (-2103762660) /* Floating point value -1.959282 */ 217#define HPF_Fs44100_Fc90_A2 1051881330 /* Floating point value 0.979641 */ 218#define HPF_Fs44100_Fc90_B1 (-2128035809) /* Floating point value -1.981888 */ 219#define HPF_Fs44100_Fc90_B2 1054468533 /* Floating point value 0.982050 */ 220#define HPF_Fs48000_Fc90_A0 1052655619 /* Floating point value 0.980362 */ 221#define HPF_Fs48000_Fc90_A1 (-2105311238) /* Floating point value -1.960724 */ 222#define HPF_Fs48000_Fc90_A2 1052655619 /* Floating point value 0.980362 */ 223#define HPF_Fs48000_Fc90_B1 (-2129615871) /* Floating point value -1.983359 */ 224#define HPF_Fs48000_Fc90_B2 1056021492 /* Floating point value 0.983497 */ 225 226 227/************************************************************************************/ 228/* */ 229/* Band Pass Filter coefficients */ 230/* */ 231/************************************************************************************/ 232 233 /* Coefficients for centre frequency 55Hz */ 234#define BPF_Fs8000_Fc55_A0 9875247 /* Floating point value 0.009197 */ 235#define BPF_Fs8000_Fc55_A1 0 /* Floating point value 0.000000 */ 236#define BPF_Fs8000_Fc55_A2 (-9875247) /* Floating point value -0.009197 */ 237#define BPF_Fs8000_Fc55_B1 (-2125519830) /* Floating point value -1.979545 */ 238#define BPF_Fs8000_Fc55_B2 1053762629 /* Floating point value 0.981393 */ 239#define BPF_Fs11025_Fc55_A0 7183952 /* Floating point value 0.006691 */ 240#define BPF_Fs11025_Fc55_A1 0 /* Floating point value 0.000000 */ 241#define BPF_Fs11025_Fc55_A2 (-7183952) /* Floating point value -0.006691 */ 242#define BPF_Fs11025_Fc55_B1 (-2131901658) /* Floating point value -1.985488 */ 243#define BPF_Fs11025_Fc55_B2 1059207548 /* Floating point value 0.986464 */ 244#define BPF_Fs12000_Fc55_A0 6603871 /* Floating point value 0.006150 */ 245#define BPF_Fs12000_Fc55_A1 0 /* Floating point value 0.000000 */ 246#define BPF_Fs12000_Fc55_A2 (-6603871) /* Floating point value -0.006150 */ 247#define BPF_Fs12000_Fc55_B1 (-2133238092) /* Floating point value -1.986733 */ 248#define BPF_Fs12000_Fc55_B2 1060381143 /* Floating point value 0.987557 */ 249#define BPF_Fs16000_Fc55_A0 4960591 /* Floating point value 0.004620 */ 250#define BPF_Fs16000_Fc55_A1 0 /* Floating point value 0.000000 */ 251#define BPF_Fs16000_Fc55_A2 (-4960591) /* Floating point value -0.004620 */ 252#define BPF_Fs16000_Fc55_B1 (-2136949052) /* Floating point value -1.990189 */ 253#define BPF_Fs16000_Fc55_B2 1063705760 /* Floating point value 0.990653 */ 254#define BPF_Fs22050_Fc55_A0 3604131 /* Floating point value 0.003357 */ 255#define BPF_Fs22050_Fc55_A1 0 /* Floating point value 0.000000 */ 256#define BPF_Fs22050_Fc55_A2 (-3604131) /* Floating point value -0.003357 */ 257#define BPF_Fs22050_Fc55_B1 (-2139929085) /* Floating point value -1.992964 */ 258#define BPF_Fs22050_Fc55_B2 1066450095 /* Floating point value 0.993209 */ 259#define BPF_Fs24000_Fc55_A0 3312207 /* Floating point value 0.003085 */ 260#define BPF_Fs24000_Fc55_A1 0 /* Floating point value 0.000000 */ 261#define BPF_Fs24000_Fc55_A2 (-3312207) /* Floating point value -0.003085 */ 262#define BPF_Fs24000_Fc55_B1 (-2140560606) /* Floating point value -1.993552 */ 263#define BPF_Fs24000_Fc55_B2 1067040703 /* Floating point value 0.993759 */ 264#define BPF_Fs32000_Fc55_A0 2486091 /* Floating point value 0.002315 */ 265#define BPF_Fs32000_Fc55_A1 0 /* Floating point value 0.000000 */ 266#define BPF_Fs32000_Fc55_A2 (-2486091) /* Floating point value -0.002315 */ 267#define BPF_Fs32000_Fc55_B1 (-2142328962) /* Floating point value -1.995199 */ 268#define BPF_Fs32000_Fc55_B2 1068712067 /* Floating point value 0.995316 */ 269#define BPF_Fs44100_Fc55_A0 1805125 /* Floating point value 0.001681 */ 270#define BPF_Fs44100_Fc55_A1 0 /* Floating point value 0.000000 */ 271#define BPF_Fs44100_Fc55_A2 (-1805125) /* Floating point value -0.001681 */ 272#define BPF_Fs44100_Fc55_B1 (-2143765772) /* Floating point value -1.996537 */ 273#define BPF_Fs44100_Fc55_B2 1070089770 /* Floating point value 0.996599 */ 274#define BPF_Fs48000_Fc55_A0 1658687 /* Floating point value 0.001545 */ 275#define BPF_Fs48000_Fc55_A1 0 /* Floating point value 0.000000 */ 276#define BPF_Fs48000_Fc55_A2 (-1658687) /* Floating point value -0.001545 */ 277#define BPF_Fs48000_Fc55_B1 (-2144072292) /* Floating point value -1.996823 */ 278#define BPF_Fs48000_Fc55_B2 1070386036 /* Floating point value 0.996875 */ 279 280 /* Coefficients for centre frequency 66Hz */ 281#define BPF_Fs8000_Fc66_A0 13580189 /* Floating point value 0.012648 */ 282#define BPF_Fs8000_Fc66_A1 0 /* Floating point value 0.000000 */ 283#define BPF_Fs8000_Fc66_A2 (-13580189) /* Floating point value -0.012648 */ 284#define BPF_Fs8000_Fc66_B1 (-2117161175) /* Floating point value -1.971760 */ 285#define BPF_Fs8000_Fc66_B2 1046266945 /* Floating point value 0.974412 */ 286#define BPF_Fs11025_Fc66_A0 9888559 /* Floating point value 0.009209 */ 287#define BPF_Fs11025_Fc66_A1 0 /* Floating point value 0.000000 */ 288#define BPF_Fs11025_Fc66_A2 (-9888559) /* Floating point value -0.009209 */ 289#define BPF_Fs11025_Fc66_B1 (-2125972738) /* Floating point value -1.979966 */ 290#define BPF_Fs11025_Fc66_B2 1053735698 /* Floating point value 0.981368 */ 291#define BPF_Fs12000_Fc66_A0 9091954 /* Floating point value 0.008468 */ 292#define BPF_Fs12000_Fc66_A1 0 /* Floating point value 0.000000 */ 293#define BPF_Fs12000_Fc66_A2 (-9091954) /* Floating point value -0.008468 */ 294#define BPF_Fs12000_Fc66_B1 (-2127818004) /* Floating point value -1.981685 */ 295#define BPF_Fs12000_Fc66_B2 1055347356 /* Floating point value 0.982869 */ 296#define BPF_Fs16000_Fc66_A0 6833525 /* Floating point value 0.006364 */ 297#define BPF_Fs16000_Fc66_A1 0 /* Floating point value 0.000000 */ 298#define BPF_Fs16000_Fc66_A2 (-6833525) /* Floating point value -0.006364 */ 299#define BPF_Fs16000_Fc66_B1 (-2132941739) /* Floating point value -1.986457 */ 300#define BPF_Fs16000_Fc66_B2 1059916517 /* Floating point value 0.987124 */ 301#define BPF_Fs22050_Fc66_A0 4967309 /* Floating point value 0.004626 */ 302#define BPF_Fs22050_Fc66_A1 0 /* Floating point value 0.000000 */ 303#define BPF_Fs22050_Fc66_A2 (-4967309) /* Floating point value -0.004626 */ 304#define BPF_Fs22050_Fc66_B1 (-2137056003) /* Floating point value -1.990288 */ 305#define BPF_Fs22050_Fc66_B2 1063692170 /* Floating point value 0.990641 */ 306#define BPF_Fs24000_Fc66_A0 4565445 /* Floating point value 0.004252 */ 307#define BPF_Fs24000_Fc66_A1 0 /* Floating point value 0.000000 */ 308#define BPF_Fs24000_Fc66_A2 (-4565445) /* Floating point value -0.004252 */ 309#define BPF_Fs24000_Fc66_B1 (-2137927842) /* Floating point value -1.991100 */ 310#define BPF_Fs24000_Fc66_B2 1064505202 /* Floating point value 0.991398 */ 311#define BPF_Fs32000_Fc66_A0 3427761 /* Floating point value 0.003192 */ 312#define BPF_Fs32000_Fc66_A1 0 /* Floating point value 0.000000 */ 313#define BPF_Fs32000_Fc66_A2 (-3427761) /* Floating point value -0.003192 */ 314#define BPF_Fs32000_Fc66_B1 (-2140369007) /* Floating point value -1.993374 */ 315#define BPF_Fs32000_Fc66_B2 1066806920 /* Floating point value 0.993541 */ 316#define BPF_Fs44100_Fc66_A0 2489466 /* Floating point value 0.002318 */ 317#define BPF_Fs44100_Fc66_A1 0 /* Floating point value 0.000000 */ 318#define BPF_Fs44100_Fc66_A2 (-2489466) /* Floating point value -0.002318 */ 319#define BPF_Fs44100_Fc66_B1 (-2142352342) /* Floating point value -1.995221 */ 320#define BPF_Fs44100_Fc66_B2 1068705240 /* Floating point value 0.995309 */ 321#define BPF_Fs48000_Fc66_A0 2287632 /* Floating point value 0.002131 */ 322#define BPF_Fs48000_Fc66_A1 0 /* Floating point value 0.000000 */ 323#define BPF_Fs48000_Fc66_A2 (-2287632) /* Floating point value -0.002131 */ 324#define BPF_Fs48000_Fc66_B1 (-2142775436) /* Floating point value -1.995615 */ 325#define BPF_Fs48000_Fc66_B2 1069113581 /* Floating point value 0.995690 */ 326 327 /* Coefficients for centre frequency 78Hz */ 328#define BPF_Fs8000_Fc78_A0 19941180 /* Floating point value 0.018572 */ 329#define BPF_Fs8000_Fc78_A1 0 /* Floating point value 0.000000 */ 330#define BPF_Fs8000_Fc78_A2 (-19941180) /* Floating point value -0.018572 */ 331#define BPF_Fs8000_Fc78_B1 (-2103186749) /* Floating point value -1.958745 */ 332#define BPF_Fs8000_Fc78_B2 1033397648 /* Floating point value 0.962427 */ 333#define BPF_Fs11025_Fc78_A0 14543934 /* Floating point value 0.013545 */ 334#define BPF_Fs11025_Fc78_A1 0 /* Floating point value 0.000000 */ 335#define BPF_Fs11025_Fc78_A2 (-14543934) /* Floating point value -0.013545 */ 336#define BPF_Fs11025_Fc78_B1 (-2115966638) /* Floating point value -1.970647 */ 337#define BPF_Fs11025_Fc78_B2 1044317135 /* Floating point value 0.972596 */ 338#define BPF_Fs12000_Fc78_A0 13376999 /* Floating point value 0.012458 */ 339#define BPF_Fs12000_Fc78_A1 0 /* Floating point value 0.000000 */ 340#define BPF_Fs12000_Fc78_A2 (-13376999) /* Floating point value -0.012458 */ 341#define BPF_Fs12000_Fc78_B1 (-2118651708) /* Floating point value -1.973148 */ 342#define BPF_Fs12000_Fc78_B2 1046678029 /* Floating point value 0.974795 */ 343#define BPF_Fs16000_Fc78_A0 10064222 /* Floating point value 0.009373 */ 344#define BPF_Fs16000_Fc78_A1 0 /* Floating point value 0.000000 */ 345#define BPF_Fs16000_Fc78_A2 (-10064222) /* Floating point value -0.009373 */ 346#define BPF_Fs16000_Fc78_B1 (-2126124342) /* Floating point value -1.980108 */ 347#define BPF_Fs16000_Fc78_B2 1053380304 /* Floating point value 0.981037 */ 348#define BPF_Fs22050_Fc78_A0 7321780 /* Floating point value 0.006819 */ 349#define BPF_Fs22050_Fc78_A1 0 /* Floating point value 0.000000 */ 350#define BPF_Fs22050_Fc78_A2 (-7321780) /* Floating point value -0.006819 */ 351#define BPF_Fs22050_Fc78_B1 (-2132143771) /* Floating point value -1.985714 */ 352#define BPF_Fs22050_Fc78_B2 1058928700 /* Floating point value 0.986204 */ 353#define BPF_Fs24000_Fc78_A0 6730640 /* Floating point value 0.006268 */ 354#define BPF_Fs24000_Fc78_A1 0 /* Floating point value 0.000000 */ 355#define BPF_Fs24000_Fc78_A2 (-6730640) /* Floating point value -0.006268 */ 356#define BPF_Fs24000_Fc78_B1 (-2133421607) /* Floating point value -1.986904 */ 357#define BPF_Fs24000_Fc78_B2 1060124669 /* Floating point value 0.987318 */ 358#define BPF_Fs32000_Fc78_A0 5055965 /* Floating point value 0.004709 */ 359#define BPF_Fs32000_Fc78_A1 0 /* Floating point value 0.000000 */ 360#define BPF_Fs32000_Fc78_A2 (-5055965) /* Floating point value -0.004709 */ 361#define BPF_Fs32000_Fc78_B1 (-2137003977) /* Floating point value -1.990240 */ 362#define BPF_Fs32000_Fc78_B2 1063512802 /* Floating point value 0.990473 */ 363#define BPF_Fs44100_Fc78_A0 3673516 /* Floating point value 0.003421 */ 364#define BPF_Fs44100_Fc78_A1 0 /* Floating point value 0.000000 */ 365#define BPF_Fs44100_Fc78_A2 (-3673516) /* Floating point value -0.003421 */ 366#define BPF_Fs44100_Fc78_B1 (-2139919394) /* Floating point value -1.992955 */ 367#define BPF_Fs44100_Fc78_B2 1066309718 /* Floating point value 0.993078 */ 368#define BPF_Fs48000_Fc78_A0 3375990 /* Floating point value 0.003144 */ 369#define BPF_Fs48000_Fc78_A1 0 /* Floating point value 0.000000 */ 370#define BPF_Fs48000_Fc78_A2 (-3375990) /* Floating point value -0.003144 */ 371#define BPF_Fs48000_Fc78_B1 (-2140541906) /* Floating point value -1.993535 */ 372#define BPF_Fs48000_Fc78_B2 1066911660 /* Floating point value 0.993639 */ 373 374 /* Coefficients for centre frequency 90Hz */ 375#define BPF_Fs8000_Fc90_A0 24438548 /* Floating point value 0.022760 */ 376#define BPF_Fs8000_Fc90_A1 0 /* Floating point value 0.000000 */ 377#define BPF_Fs8000_Fc90_A2 (-24438548) /* Floating point value -0.022760 */ 378#define BPF_Fs8000_Fc90_B1 (-2092801347) /* Floating point value -1.949073 */ 379#define BPF_Fs8000_Fc90_B2 1024298757 /* Floating point value 0.953953 */ 380#define BPF_Fs11025_Fc90_A0 17844385 /* Floating point value 0.016619 */ 381#define BPF_Fs11025_Fc90_A1 0 /* Floating point value 0.000000 */ 382#define BPF_Fs11025_Fc90_A2 (-17844385) /* Floating point value -0.016619 */ 383#define BPF_Fs11025_Fc90_B1 (-2108604921) /* Floating point value -1.963791 */ 384#define BPF_Fs11025_Fc90_B2 1037639797 /* Floating point value 0.966377 */ 385#define BPF_Fs12000_Fc90_A0 16416707 /* Floating point value 0.015289 */ 386#define BPF_Fs12000_Fc90_A1 0 /* Floating point value 0.000000 */ 387#define BPF_Fs12000_Fc90_A2 (-16416707) /* Floating point value -0.015289 */ 388#define BPF_Fs12000_Fc90_B1 (-2111922936) /* Floating point value -1.966882 */ 389#define BPF_Fs12000_Fc90_B2 1040528216 /* Floating point value 0.969067 */ 390#define BPF_Fs16000_Fc90_A0 12359883 /* Floating point value 0.011511 */ 391#define BPF_Fs16000_Fc90_A1 0 /* Floating point value 0.000000 */ 392#define BPF_Fs16000_Fc90_A2 (-12359883) /* Floating point value -0.011511 */ 393#define BPF_Fs16000_Fc90_B1 (-2121152162) /* Floating point value -1.975477 */ 394#define BPF_Fs16000_Fc90_B2 1048735817 /* Floating point value 0.976711 */ 395#define BPF_Fs22050_Fc90_A0 8997173 /* Floating point value 0.008379 */ 396#define BPF_Fs22050_Fc90_A1 0 /* Floating point value 0.000000 */ 397#define BPF_Fs22050_Fc90_A2 (-8997173) /* Floating point value -0.008379 */ 398#define BPF_Fs22050_Fc90_B1 (-2128580762) /* Floating point value -1.982395 */ 399#define BPF_Fs22050_Fc90_B2 1055539113 /* Floating point value 0.983047 */ 400#define BPF_Fs24000_Fc90_A0 8271818 /* Floating point value 0.007704 */ 401#define BPF_Fs24000_Fc90_A1 0 /* Floating point value 0.000000 */ 402#define BPF_Fs24000_Fc90_A2 (-8271818) /* Floating point value -0.007704 */ 403#define BPF_Fs24000_Fc90_B1 (-2130157013) /* Floating point value -1.983863 */ 404#define BPF_Fs24000_Fc90_B2 1057006621 /* Floating point value 0.984414 */ 405#define BPF_Fs32000_Fc90_A0 6215918 /* Floating point value 0.005789 */ 406#define BPF_Fs32000_Fc90_A1 0 /* Floating point value 0.000000 */ 407#define BPF_Fs32000_Fc90_A2 (-6215918) /* Floating point value -0.005789 */ 408#define BPF_Fs32000_Fc90_B1 (-2134574521) /* Floating point value -1.987977 */ 409#define BPF_Fs32000_Fc90_B2 1061166033 /* Floating point value 0.988288 */ 410#define BPF_Fs44100_Fc90_A0 4517651 /* Floating point value 0.004207 */ 411#define BPF_Fs44100_Fc90_A1 0 /* Floating point value 0.000000 */ 412#define BPF_Fs44100_Fc90_A2 (-4517651) /* Floating point value -0.004207 */ 413#define BPF_Fs44100_Fc90_B1 (-2138167926) /* Floating point value -1.991324 */ 414#define BPF_Fs44100_Fc90_B2 1064601898 /* Floating point value 0.991488 */ 415#define BPF_Fs48000_Fc90_A0 4152024 /* Floating point value 0.003867 */ 416#define BPF_Fs48000_Fc90_A1 0 /* Floating point value 0.000000 */ 417#define BPF_Fs48000_Fc90_A2 (-4152024) /* Floating point value -0.003867 */ 418#define BPF_Fs48000_Fc90_B1 (-2138935002) /* Floating point value -1.992038 */ 419#define BPF_Fs48000_Fc90_B2 1065341620 /* Floating point value 0.992177 */ 420 421 422/************************************************************************************/ 423/* */ 424/* Automatic Gain Control time constants and gain settings */ 425/* */ 426/************************************************************************************/ 427 428/* AGC Time constants */ 429#define AGC_ATTACK_Fs8000 27571 /* Floating point value 0.841395 */ 430#define AGC_ATTACK_Fs11025 28909 /* Floating point value 0.882223 */ 431#define AGC_ATTACK_Fs12000 29205 /* Floating point value 0.891251 */ 432#define AGC_ATTACK_Fs16000 30057 /* Floating point value 0.917276 */ 433#define AGC_ATTACK_Fs22050 30778 /* Floating point value 0.939267 */ 434#define AGC_ATTACK_Fs24000 30935 /* Floating point value 0.944061 */ 435#define AGC_ATTACK_Fs32000 31383 /* Floating point value 0.957745 */ 436#define AGC_ATTACK_Fs44100 31757 /* Floating point value 0.969158 */ 437#define AGC_ATTACK_Fs48000 31838 /* Floating point value 0.971628 */ 438#define DECAY_SHIFT 10 /* As a power of 2 */ 439#define AGC_DECAY_Fs8000 44 /* Floating point value 0.000042 */ 440#define AGC_DECAY_Fs11025 32 /* Floating point value 0.000030 */ 441#define AGC_DECAY_Fs12000 29 /* Floating point value 0.000028 */ 442#define AGC_DECAY_Fs16000 22 /* Floating point value 0.000021 */ 443#define AGC_DECAY_Fs22050 16 /* Floating point value 0.000015 */ 444#define AGC_DECAY_Fs24000 15 /* Floating point value 0.000014 */ 445#define AGC_DECAY_Fs32000 11 /* Floating point value 0.000010 */ 446#define AGC_DECAY_Fs44100 8 /* Floating point value 0.000008 */ 447#define AGC_DECAY_Fs48000 7 /* Floating point value 0.000007 */ 448 449/* AGC Gain settings */ 450#define AGC_GAIN_SCALE 31 /* As a power of 2 */ 451#define AGC_GAIN_SHIFT 4 /* As a power of 2 */ 452#define AGC_TARGETLEVEL 33170337 /* Floating point value -0.100000dB */ 453#define AGC_HPFGAIN_0dB 110739704 /* Floating point value 0.412538 */ 454#define AGC_GAIN_0dB 0 /* Floating point value 0.000000 */ 455#define AGC_HPFGAIN_1dB 157006071 /* Floating point value 0.584893 */ 456#define AGC_GAIN_1dB 32754079 /* Floating point value 0.122018 */ 457#define AGC_HPFGAIN_2dB 208917788 /* Floating point value 0.778279 */ 458#define AGC_GAIN_2dB 69504761 /* Floating point value 0.258925 */ 459#define AGC_HPFGAIN_3dB 267163693 /* Floating point value 0.995262 */ 460#define AGC_GAIN_3dB 110739704 /* Floating point value 0.412538 */ 461#define AGC_HPFGAIN_4dB 332516674 /* Floating point value 1.238721 */ 462#define AGC_GAIN_4dB 157006071 /* Floating point value 0.584893 */ 463#define AGC_HPFGAIN_5dB 405843924 /* Floating point value 1.511886 */ 464#define AGC_GAIN_5dB 208917788 /* Floating point value 0.778279 */ 465#define AGC_HPFGAIN_6dB 488118451 /* Floating point value 1.818383 */ 466#define AGC_GAIN_6dB 267163693 /* Floating point value 0.995262 */ 467#define AGC_HPFGAIN_7dB 580431990 /* Floating point value 2.162278 */ 468#define AGC_GAIN_7dB 332516674 /* Floating point value 1.238721 */ 469#define AGC_HPFGAIN_8dB 684009483 /* Floating point value 2.548134 */ 470#define AGC_GAIN_8dB 405843924 /* Floating point value 1.511886 */ 471#define AGC_HPFGAIN_9dB 800225343 /* Floating point value 2.981072 */ 472#define AGC_GAIN_9dB 488118451 /* Floating point value 1.818383 */ 473#define AGC_HPFGAIN_10dB 930621681 /* Floating point value 3.466836 */ 474#define AGC_GAIN_10dB 580431990 /* Floating point value 2.162278 */ 475#define AGC_HPFGAIN_11dB 1076928780 /* Floating point value 4.011872 */ 476#define AGC_GAIN_11dB 684009483 /* Floating point value 2.548134 */ 477#define AGC_HPFGAIN_12dB 1241088045 /* Floating point value 4.623413 */ 478#define AGC_GAIN_12dB 800225343 /* Floating point value 2.981072 */ 479#define AGC_HPFGAIN_13dB 1425277769 /* Floating point value 5.309573 */ 480#define AGC_GAIN_13dB 930621681 /* Floating point value 3.466836 */ 481#define AGC_HPFGAIN_14dB 1631942039 /* Floating point value 6.079458 */ 482#define AGC_GAIN_14dB 1076928780 /* Floating point value 4.011872 */ 483#define AGC_HPFGAIN_15dB 1863823163 /* Floating point value 6.943282 */ 484#define AGC_GAIN_15dB 1241088045 /* Floating point value 4.623413 */ 485 486 487/************************************************************************************/ 488/* */ 489/* Volume control */ 490/* */ 491/************************************************************************************/ 492 493/* Volume control gain */ 494#define VOLUME_MAX 0 /* In dBs */ 495#define VOLUME_SHIFT 0 /* In dBs */ 496 497/* Volume control time constants */ 498#define VOL_TC_SHIFT 21 /* As a power of 2 */ 499#define VOL_TC_Fs8000 25889 /* Floating point value 0.024690 */ 500#define VOL_TC_Fs11025 18850 /* Floating point value 0.017977 */ 501#define VOL_TC_Fs12000 17331 /* Floating point value 0.016529 */ 502#define VOL_TC_Fs16000 13026 /* Floating point value 0.012422 */ 503#define VOL_TC_Fs22050 9468 /* Floating point value 0.009029 */ 504#define VOL_TC_Fs24000 8702 /* Floating point value 0.008299 */ 505#define VOL_TC_Fs32000 6533 /* Floating point value 0.006231 */ 506#define VOL_TC_Fs44100 4745 /* Floating point value 0.004525 */ 507#define VOL_TC_Fs48000 4360 /* Floating point value 0.004158 */ 508#define MIX_TC_Fs8000 29365 /* Floating point value 0.896151 */ 509#define MIX_TC_Fs11025 30230 /* Floating point value 0.922548 */ 510#define MIX_TC_Fs12000 30422 /* Floating point value 0.928415 */ 511#define MIX_TC_Fs16000 30978 /* Floating point value 0.945387 */ 512#define MIX_TC_Fs22050 31451 /* Floating point value 0.959804 */ 513#define MIX_TC_Fs24000 31554 /* Floating point value 0.962956 */ 514#define MIX_TC_Fs32000 31850 /* Floating point value 0.971973 */ 515#define MIX_TC_Fs44100 32097 /* Floating point value 0.979515 */ 516#define MIX_TC_Fs48000 32150 /* Floating point value 0.981150 */ 517 518#else /*BUILD_FLOAT*/ 519 520/************************************************************************************/ 521/* */ 522/* General */ 523/* */ 524/************************************************************************************/ 525 526#define LVDBE_SCALESHIFT 10 /* As a power of 2 */ 527 528 529/************************************************************************************/ 530/* */ 531/* High Pass Filter coefficients */ 532/* */ 533/************************************************************************************/ 534 535 /* Coefficients for centre frequency 55Hz */ 536#define HPF_Fs8000_Fc55_A0 0.958849f 537#define HPF_Fs8000_Fc55_A1 (-1.917698f) 538#define HPF_Fs8000_Fc55_A2 0.958849f 539#define HPF_Fs8000_Fc55_B1 (-1.939001f) 540#define HPF_Fs8000_Fc55_B2 0.940807f 541#define HPF_Fs11025_Fc55_A0 0.966909f 542#define HPF_Fs11025_Fc55_A1 (-1.933818f) 543#define HPF_Fs11025_Fc55_A2 0.966909f 544#define HPF_Fs11025_Fc55_B1 (-1.955732f) 545#define HPF_Fs11025_Fc55_B2 0.956690f 546#define HPF_Fs12000_Fc55_A0 0.968650f 547#define HPF_Fs12000_Fc55_A1 (-1.937300f) 548#define HPF_Fs12000_Fc55_A2 0.968650f 549#define HPF_Fs12000_Fc55_B1 (-1.959327f) 550#define HPF_Fs12000_Fc55_B2 0.960138f 551#define HPF_Fs16000_Fc55_A0 0.973588f 552#define HPF_Fs16000_Fc55_A1 (-1.947176f) 553#define HPF_Fs16000_Fc55_A2 0.973588f 554#define HPF_Fs16000_Fc55_B1 (-1.969494f) 555#define HPF_Fs16000_Fc55_B2 0.969952f 556#define HPF_Fs22050_Fc55_A0 0.977671f 557#define HPF_Fs22050_Fc55_A1 (-1.955343f) 558#define HPF_Fs22050_Fc55_A2 0.977671f 559#define HPF_Fs22050_Fc55_B1 (-1.977863f) 560#define HPF_Fs22050_Fc55_B2 0.978105f 561#define HPF_Fs24000_Fc55_A0 0.978551f 562#define HPF_Fs24000_Fc55_A1 (-1.957102f) 563#define HPF_Fs24000_Fc55_A2 0.978551f 564#define HPF_Fs24000_Fc55_B1 (-1.979662f) 565#define HPF_Fs24000_Fc55_B2 0.979866f 566#define HPF_Fs32000_Fc55_A0 0.981042f 567#define HPF_Fs32000_Fc55_A1 (-1.962084f) 568#define HPF_Fs32000_Fc55_A2 0.981042f 569#define HPF_Fs32000_Fc55_B1 (-1.984746f) 570#define HPF_Fs32000_Fc55_B2 0.984861f 571#define HPF_Fs44100_Fc55_A0 0.983097f 572#define HPF_Fs44100_Fc55_A1 (-1.966194f) 573#define HPF_Fs44100_Fc55_A2 0.983097f 574#define HPF_Fs44100_Fc55_B1 (-1.988931f) 575#define HPF_Fs44100_Fc55_B2 0.988992f 576#define HPF_Fs48000_Fc55_A0 0.983539f 577#define HPF_Fs48000_Fc55_A1 (-1.967079f) 578#define HPF_Fs48000_Fc55_A2 0.983539f 579#define HPF_Fs48000_Fc55_B1 (-1.989831f) 580#define HPF_Fs48000_Fc55_B2 0.989882f 581 582#ifdef HIGHER_FS 583#define HPF_Fs96000_Fc55_A0 0.986040f 584#define HPF_Fs96000_Fc55_A1 (-1.972080f) 585#define HPF_Fs96000_Fc55_A2 0.986040f 586#define HPF_Fs96000_Fc55_B1 (-1.994915f) 587#define HPF_Fs96000_Fc55_B2 0.994928f 588 589#define HPF_Fs192000_Fc55_A0 0.987294f 590#define HPF_Fs192000_Fc55_A1 (-1.974588f) 591#define HPF_Fs192000_Fc55_A2 0.987294f 592#define HPF_Fs192000_Fc55_B1 (-1.997458f) 593#define HPF_Fs192000_Fc55_B2 0.997461f 594#endif 595 596 597 /* Coefficients for centre frequency 66Hz */ 598#define HPF_Fs8000_Fc66_A0 0.953016f 599#define HPF_Fs8000_Fc66_A1 (-1.906032f) 600#define HPF_Fs8000_Fc66_A2 0.953016f 601#define HPF_Fs8000_Fc66_B1 (-1.926810f) 602#define HPF_Fs8000_Fc66_B2 0.929396f 603#define HPF_Fs11025_Fc66_A0 0.962638f 604#define HPF_Fs11025_Fc66_A1 (-1.925275f) 605#define HPF_Fs11025_Fc66_A2 0.962638f 606#define HPF_Fs11025_Fc66_B1 (-1.946881f) 607#define HPF_Fs11025_Fc66_B2 0.948256f 608#define HPF_Fs12000_Fc66_A0 0.964718f 609#define HPF_Fs12000_Fc66_A1 (-1.929435f) 610#define HPF_Fs12000_Fc66_A2 0.964718f 611#define HPF_Fs12000_Fc66_B1 (-1.951196f) 612#define HPF_Fs12000_Fc66_B2 0.952359f 613#define HPF_Fs16000_Fc66_A0 0.970622f 614#define HPF_Fs16000_Fc66_A1 (-1.941244f) 615#define HPF_Fs16000_Fc66_A2 0.970622f 616#define HPF_Fs16000_Fc66_B1 (-1.963394f) 617#define HPF_Fs16000_Fc66_B2 0.964052f 618#define HPF_Fs22050_Fc66_A0 0.975509f 619#define HPF_Fs22050_Fc66_A1 (-1.951019f) 620#define HPF_Fs22050_Fc66_A2 0.975509f 621#define HPF_Fs22050_Fc66_B1 (-1.973436f) 622#define HPF_Fs22050_Fc66_B2 0.973784f 623#define HPF_Fs24000_Fc66_A0 0.976563f 624#define HPF_Fs24000_Fc66_A1 (-1.953125f) 625#define HPF_Fs24000_Fc66_A2 0.976563f 626#define HPF_Fs24000_Fc66_B1 (-1.975594f) 627#define HPF_Fs24000_Fc66_B2 0.975889f 628#define HPF_Fs32000_Fc66_A0 0.979547f 629#define HPF_Fs32000_Fc66_A1 (-1.959093f) 630#define HPF_Fs32000_Fc66_A2 0.979547f 631#define HPF_Fs32000_Fc66_B1 (-1.981695f) 632#define HPF_Fs32000_Fc66_B2 0.981861f 633#define HPF_Fs44100_Fc66_A0 0.982010f 634#define HPF_Fs44100_Fc66_A1 (-1.964019f) 635#define HPF_Fs44100_Fc66_A2 0.982010f 636#define HPF_Fs44100_Fc66_B1 (-1.986718f) 637#define HPF_Fs44100_Fc66_B2 0.986805f 638#define HPF_Fs48000_Fc66_A0 0.982540f 639#define HPF_Fs48000_Fc66_A1 (-1.965079f) 640#define HPF_Fs48000_Fc66_A2 0.982540f 641#define HPF_Fs48000_Fc66_B1 (-1.987797f) 642#define HPF_Fs48000_Fc66_B2 0.987871f 643 644#ifdef HIGHER_FS 645#define HPF_Fs96000_Fc66_A0 0.985539f 646#define HPF_Fs96000_Fc66_A1 (-1.971077f) 647#define HPF_Fs96000_Fc66_A2 0.985539f 648#define HPF_Fs96000_Fc66_B1 (-1.993898f) 649#define HPF_Fs96000_Fc66_B2 0.993917f 650 651#define HPF_Fs192000_Fc66_A0 0.987043f 652#define HPF_Fs192000_Fc66_A1 (-1.974086f) 653#define HPF_Fs192000_Fc66_A2 0.987043f 654#define HPF_Fs192000_Fc66_B1 (-1.996949f) 655#define HPF_Fs192000_Fc66_B2 0.996954f 656#endif 657 658/* Coefficients for centre frequency 78Hz */ 659#define HPF_Fs8000_Fc78_A0 0.946693f 660#define HPF_Fs8000_Fc78_A1 (-1.893387f) 661#define HPF_Fs8000_Fc78_A2 0.946693f 662#define HPF_Fs8000_Fc78_B1 (-1.913517f) 663#define HPF_Fs8000_Fc78_B2 0.917105f 664#define HPF_Fs11025_Fc78_A0 0.957999f 665#define HPF_Fs11025_Fc78_A1 (-1.915998f) 666#define HPF_Fs11025_Fc78_A2 0.957999f 667#define HPF_Fs11025_Fc78_B1 (-1.937229f) 668#define HPF_Fs11025_Fc78_B2 0.939140f 669#define HPF_Fs12000_Fc78_A0 0.960446f 670#define HPF_Fs12000_Fc78_A1 (-1.920892f) 671#define HPF_Fs12000_Fc78_A2 0.960446f 672#define HPF_Fs12000_Fc78_B1 (-1.942326f) 673#define HPF_Fs12000_Fc78_B2 0.943944f 674#define HPF_Fs16000_Fc78_A0 0.967397f 675#define HPF_Fs16000_Fc78_A1 (-1.934794f) 676#define HPF_Fs16000_Fc78_A2 0.967397f 677#define HPF_Fs16000_Fc78_B1 (-1.956740f) 678#define HPF_Fs16000_Fc78_B2 0.957656f 679#define HPF_Fs22050_Fc78_A0 0.973156f 680#define HPF_Fs22050_Fc78_A1 (-1.946313f) 681#define HPF_Fs22050_Fc78_A2 0.973156f 682#define HPF_Fs22050_Fc78_B1 (-1.968607f) 683#define HPF_Fs22050_Fc78_B2 0.969092f 684#define HPF_Fs24000_Fc78_A0 0.974398f 685#define HPF_Fs24000_Fc78_A1 (-1.948797f) 686#define HPF_Fs24000_Fc78_A2 0.974398f 687#define HPF_Fs24000_Fc78_B1 (-1.971157f) 688#define HPF_Fs24000_Fc78_B2 0.971568f 689#define HPF_Fs32000_Fc78_A0 0.977918f 690#define HPF_Fs32000_Fc78_A1 (-1.955836f) 691#define HPF_Fs32000_Fc78_A2 0.977918f 692#define HPF_Fs32000_Fc78_B1 (-1.978367f) 693#define HPF_Fs32000_Fc78_B2 0.978599f 694#define HPF_Fs44100_Fc78_A0 0.980824f 695#define HPF_Fs44100_Fc78_A1 (-1.961649f) 696#define HPF_Fs44100_Fc78_A2 0.980824f 697#define HPF_Fs44100_Fc78_B1 (-1.984303f) 698#define HPF_Fs44100_Fc78_B2 0.984425f 699#define HPF_Fs48000_Fc78_A0 0.981450f 700#define HPF_Fs48000_Fc78_A1 (-1.962900f) 701#define HPF_Fs48000_Fc78_A2 0.981450f 702#define HPF_Fs48000_Fc78_B1 (-1.985578f) 703#define HPF_Fs48000_Fc78_B2 0.985681f 704 705#ifdef HIGHER_FS 706#define HPF_Fs96000_Fc78_A0 0.984992f 707#define HPF_Fs96000_Fc78_A1 (-1.969984f) 708#define HPF_Fs96000_Fc78_A2 0.984992f 709#define HPF_Fs96000_Fc78_B1 (-1.992789f) 710#define HPF_Fs96000_Fc78_B2 0.992815f 711 712#define HPF_Fs192000_Fc78_A0 0.986769f 713#define HPF_Fs192000_Fc78_A1 (-1.973539f) 714#define HPF_Fs192000_Fc78_A2 0.986769f 715#define HPF_Fs192000_Fc78_B1 (-1.996394f) 716#define HPF_Fs192000_Fc78_B2 0.996401f 717#endif 718 719/* Coefficients for centre frequency 90Hz */ 720#define HPF_Fs8000_Fc90_A0 0.940412f 721#define HPF_Fs8000_Fc90_A1 (-1.880825f) 722#define HPF_Fs8000_Fc90_A2 0.940412f 723#define HPF_Fs8000_Fc90_B1 (-1.900231f) 724#define HPF_Fs8000_Fc90_B2 0.904977f 725#define HPF_Fs11025_Fc90_A0 0.953383f 726#define HPF_Fs11025_Fc90_A1 (-1.906766f) 727#define HPF_Fs11025_Fc90_A2 0.953383f 728#define HPF_Fs11025_Fc90_B1 (-1.927579f) 729#define HPF_Fs11025_Fc90_B2 0.930111f 730#define HPF_Fs12000_Fc90_A0 0.956193f 731#define HPF_Fs12000_Fc90_A1 (-1.912387f) 732#define HPF_Fs12000_Fc90_A2 0.956193f 733#define HPF_Fs12000_Fc90_B1 (-1.933459f) 734#define HPF_Fs12000_Fc90_B2 0.935603f 735#define HPF_Fs16000_Fc90_A0 0.964183f 736#define HPF_Fs16000_Fc90_A1 (-1.928365f) 737#define HPF_Fs16000_Fc90_A2 0.964183f 738#define HPF_Fs16000_Fc90_B1 (-1.950087f) 739#define HPF_Fs16000_Fc90_B2 0.951303f 740#define HPF_Fs22050_Fc90_A0 0.970809f 741#define HPF_Fs22050_Fc90_A1 (-1.941618f) 742#define HPF_Fs22050_Fc90_A2 0.970809f 743#define HPF_Fs22050_Fc90_B1 (-1.963778f) 744#define HPF_Fs22050_Fc90_B2 0.964423f 745#define HPF_Fs24000_Fc90_A0 0.972239f 746#define HPF_Fs24000_Fc90_A1 (-1.944477f) 747#define HPF_Fs24000_Fc90_A2 0.972239f 748#define HPF_Fs24000_Fc90_B1 (-1.966721f) 749#define HPF_Fs24000_Fc90_B2 0.967266f 750#define HPF_Fs32000_Fc90_A0 0.976292f 751#define HPF_Fs32000_Fc90_A1 (-1.952584f) 752#define HPF_Fs32000_Fc90_A2 0.976292f 753#define HPF_Fs32000_Fc90_B1 (-1.975040f) 754#define HPF_Fs32000_Fc90_B2 0.975347f 755#define HPF_Fs44100_Fc90_A0 0.979641f 756#define HPF_Fs44100_Fc90_A1 (-1.959282f) 757#define HPF_Fs44100_Fc90_A2 0.979641f 758#define HPF_Fs44100_Fc90_B1 (-1.981888f) 759#define HPF_Fs44100_Fc90_B2 0.982050f 760#define HPF_Fs48000_Fc90_A0 0.980362f 761#define HPF_Fs48000_Fc90_A1 (-1.960724f) 762#define HPF_Fs48000_Fc90_A2 0.980362f 763#define HPF_Fs48000_Fc90_B1 (-1.983359f) 764#define HPF_Fs48000_Fc90_B2 0.983497f 765 766#ifdef HIGHER_FS 767#define HPF_Fs96000_Fc90_A0 0.984446f 768#define HPF_Fs96000_Fc90_A1 (-1.968892f) 769#define HPF_Fs96000_Fc90_A2 0.984446f 770#define HPF_Fs96000_Fc90_B1 (-1.991680f) 771#define HPF_Fs96000_Fc90_B2 0.991714f 772 773#define HPF_Fs192000_Fc90_A0 0.986496f 774#define HPF_Fs192000_Fc90_A1 (-1.972992f) 775#define HPF_Fs192000_Fc90_A2 0.986496f 776#define HPF_Fs192000_Fc90_B1 (-1.995840f) 777#define HPF_Fs192000_Fc90_B2 0.995848f 778#endif 779 780/************************************************************************************/ 781/* */ 782/* Band Pass Filter coefficients */ 783/* */ 784/************************************************************************************/ 785 786/* Coefficients for centre frequency 55Hz */ 787#define BPF_Fs8000_Fc55_A0 0.009197f 788#define BPF_Fs8000_Fc55_A1 0.000000f 789#define BPF_Fs8000_Fc55_A2 (-0.009197f) 790#define BPF_Fs8000_Fc55_B1 (-1.979545f) 791#define BPF_Fs8000_Fc55_B2 0.981393f 792#define BPF_Fs11025_Fc55_A0 0.006691f 793#define BPF_Fs11025_Fc55_A1 0.000000f 794#define BPF_Fs11025_Fc55_A2 (-0.006691f) 795#define BPF_Fs11025_Fc55_B1 (-1.985488f) 796#define BPF_Fs11025_Fc55_B2 0.986464f 797#define BPF_Fs12000_Fc55_A0 0.006150f 798#define BPF_Fs12000_Fc55_A1 0.000000f 799#define BPF_Fs12000_Fc55_A2 (-0.006150f) 800#define BPF_Fs12000_Fc55_B1 (-1.986733f) 801#define BPF_Fs12000_Fc55_B2 0.987557f 802#define BPF_Fs16000_Fc55_A0 0.004620f 803#define BPF_Fs16000_Fc55_A1 0.000000f 804#define BPF_Fs16000_Fc55_A2 (-0.004620f) 805#define BPF_Fs16000_Fc55_B1 (-1.990189f) 806#define BPF_Fs16000_Fc55_B2 0.990653f 807#define BPF_Fs22050_Fc55_A0 0.003357f 808#define BPF_Fs22050_Fc55_A1 0.000000f 809#define BPF_Fs22050_Fc55_A2 (-0.003357f) 810#define BPF_Fs22050_Fc55_B1 (-1.992964f) 811#define BPF_Fs22050_Fc55_B2 0.993209f 812#define BPF_Fs24000_Fc55_A0 0.003085f 813#define BPF_Fs24000_Fc55_A1 0.000000f 814#define BPF_Fs24000_Fc55_A2 (-0.003085f) 815#define BPF_Fs24000_Fc55_B1 (-1.993552f) 816#define BPF_Fs24000_Fc55_B2 0.993759f 817#define BPF_Fs32000_Fc55_A0 0.002315f 818#define BPF_Fs32000_Fc55_A1 0.000000f 819#define BPF_Fs32000_Fc55_A2 (-0.002315f) 820#define BPF_Fs32000_Fc55_B1 (-1.995199f) 821#define BPF_Fs32000_Fc55_B2 0.995316f 822#define BPF_Fs44100_Fc55_A0 0.001681f 823#define BPF_Fs44100_Fc55_A1 0.000000f 824#define BPF_Fs44100_Fc55_A2 (-0.001681f) 825#define BPF_Fs44100_Fc55_B1 (-1.996537f) 826#define BPF_Fs44100_Fc55_B2 0.996599f 827#define BPF_Fs48000_Fc55_A0 0.001545f 828#define BPF_Fs48000_Fc55_A1 0.000000f 829#define BPF_Fs48000_Fc55_A2 (-0.001545f) 830#define BPF_Fs48000_Fc55_B1 (-1.996823f) 831#define BPF_Fs48000_Fc55_B2 0.996875f 832 833#ifdef HIGHER_FS 834#define BPF_Fs96000_Fc55_A0 0.000762f 835#define BPF_Fs96000_Fc55_A1 0.000000f 836#define BPF_Fs96000_Fc55_A2 (-0.000762f) 837#define BPF_Fs96000_Fc55_B1 (-1.998461f) 838#define BPF_Fs96000_Fc55_B2 0.998477f 839 840#define BPF_Fs192000_Fc55_A0 0.000381f 841#define BPF_Fs192000_Fc55_A1 0.000000f 842#define BPF_Fs192000_Fc55_A2 (-0.000381f) 843#define BPF_Fs192000_Fc55_B1 (-1.999234f) 844#define BPF_Fs192000_Fc55_B2 0.999238f 845#endif 846 847/* Coefficients for centre frequency 66Hz */ 848#define BPF_Fs8000_Fc66_A0 0.012648f 849#define BPF_Fs8000_Fc66_A1 0.000000f 850#define BPF_Fs8000_Fc66_A2 (-0.012648f) 851#define BPF_Fs8000_Fc66_B1 (-1.971760f) 852#define BPF_Fs8000_Fc66_B2 0.974412f 853#define BPF_Fs11025_Fc66_A0 0.009209f 854#define BPF_Fs11025_Fc66_A1 0.000000f 855#define BPF_Fs11025_Fc66_A2 (-0.009209f) 856#define BPF_Fs11025_Fc66_B1 (-1.979966f) 857#define BPF_Fs11025_Fc66_B2 0.981368f 858#define BPF_Fs12000_Fc66_A0 0.008468f 859#define BPF_Fs12000_Fc66_A1 0.000000f 860#define BPF_Fs12000_Fc66_A2 (-0.008468f) 861#define BPF_Fs12000_Fc66_B1 (-1.981685f) 862#define BPF_Fs12000_Fc66_B2 0.982869f 863#define BPF_Fs16000_Fc66_A0 0.006364f 864#define BPF_Fs16000_Fc66_A1 0.000000f 865#define BPF_Fs16000_Fc66_A2 (-0.006364f) 866#define BPF_Fs16000_Fc66_B1 (-1.986457f) 867#define BPF_Fs16000_Fc66_B2 0.987124f 868#define BPF_Fs22050_Fc66_A0 0.004626f 869#define BPF_Fs22050_Fc66_A1 0.000000f 870#define BPF_Fs22050_Fc66_A2 (-0.004626f) 871#define BPF_Fs22050_Fc66_B1 (-1.990288f) 872#define BPF_Fs22050_Fc66_B2 0.990641f 873#define BPF_Fs24000_Fc66_A0 0.004252f 874#define BPF_Fs24000_Fc66_A1 0.000000f 875#define BPF_Fs24000_Fc66_A2 (-0.004252f) 876#define BPF_Fs24000_Fc66_B1 (-1.991100f) 877#define BPF_Fs24000_Fc66_B2 0.991398f 878#define BPF_Fs32000_Fc66_A0 0.003192f 879#define BPF_Fs32000_Fc66_A1 0.000000f 880#define BPF_Fs32000_Fc66_A2 (-0.003192f) 881#define BPF_Fs32000_Fc66_B1 (-1.993374f) 882#define BPF_Fs32000_Fc66_B2 0.993541f 883#define BPF_Fs44100_Fc66_A0 0.002318f 884#define BPF_Fs44100_Fc66_A1 0.000000f 885#define BPF_Fs44100_Fc66_A2 (-0.002318f) 886#define BPF_Fs44100_Fc66_B1 (-1.995221f) 887#define BPF_Fs44100_Fc66_B2 0.995309f 888#define BPF_Fs48000_Fc66_A0 0.002131f 889#define BPF_Fs48000_Fc66_A1 0.000000f 890#define BPF_Fs48000_Fc66_A2 (-0.002131f) 891#define BPF_Fs48000_Fc66_B1 (-1.995615f) 892#define BPF_Fs48000_Fc66_B2 0.995690f 893 894#ifdef HIGHER_FS 895#define BPF_Fs96000_Fc66_A0 0.001055f 896#define BPF_Fs96000_Fc66_A1 0.000000f 897#define BPF_Fs96000_Fc66_A2 (-0.001055f) 898#define BPF_Fs96000_Fc66_B1 (-1.997868f) 899#define BPF_Fs96000_Fc66_B2 0.997891f 900 901#define BPF_Fs192000_Fc66_A0 0.000528f 902#define BPF_Fs192000_Fc66_A1 0.000000f 903#define BPF_Fs192000_Fc66_A2 (-0.000528f) 904#define BPF_Fs192000_Fc66_B1 (-1.998939f) 905#define BPF_Fs192000_Fc66_B2 0.998945f 906#endif 907 908/* Coefficients for centre frequency 78Hz */ 909#define BPF_Fs8000_Fc78_A0 0.018572f 910#define BPF_Fs8000_Fc78_A1 0.000000f 911#define BPF_Fs8000_Fc78_A2 (-0.018572f) 912#define BPF_Fs8000_Fc78_B1 (-1.958745f) 913#define BPF_Fs8000_Fc78_B2 0.962427f 914#define BPF_Fs11025_Fc78_A0 0.013545f 915#define BPF_Fs11025_Fc78_A1 0.000000f 916#define BPF_Fs11025_Fc78_A2 (-0.013545f) 917#define BPF_Fs11025_Fc78_B1 (-1.970647f) 918#define BPF_Fs11025_Fc78_B2 0.972596f 919#define BPF_Fs12000_Fc78_A0 0.012458f 920#define BPF_Fs12000_Fc78_A1 0.000000f 921#define BPF_Fs12000_Fc78_A2 (-0.012458f) 922#define BPF_Fs12000_Fc78_B1 (-1.973148f) 923#define BPF_Fs12000_Fc78_B2 0.974795f 924#define BPF_Fs16000_Fc78_A0 0.009373f 925#define BPF_Fs16000_Fc78_A1 0.000000f 926#define BPF_Fs16000_Fc78_A2 (-0.009373f) 927#define BPF_Fs16000_Fc78_B1 (-1.980108f) 928#define BPF_Fs16000_Fc78_B2 0.981037f 929#define BPF_Fs22050_Fc78_A0 0.006819f 930#define BPF_Fs22050_Fc78_A1 0.000000f 931#define BPF_Fs22050_Fc78_A2 (-0.006819f) 932#define BPF_Fs22050_Fc78_B1 (-1.985714f) 933#define BPF_Fs22050_Fc78_B2 0.986204f 934#define BPF_Fs24000_Fc78_A0 0.006268f 935#define BPF_Fs24000_Fc78_A1 0.000000f 936#define BPF_Fs24000_Fc78_A2 (-0.006268f) 937#define BPF_Fs24000_Fc78_B1 (-1.986904f) 938#define BPF_Fs24000_Fc78_B2 0.987318f 939#define BPF_Fs32000_Fc78_A0 0.004709f 940#define BPF_Fs32000_Fc78_A1 0.000000f 941#define BPF_Fs32000_Fc78_A2 (-0.004709f) 942#define BPF_Fs32000_Fc78_B1 (-1.990240f) 943#define BPF_Fs32000_Fc78_B2 0.990473f 944#define BPF_Fs44100_Fc78_A0 0.003421f 945#define BPF_Fs44100_Fc78_A1 0.000000f 946#define BPF_Fs44100_Fc78_A2 (-0.003421f) 947#define BPF_Fs44100_Fc78_B1 (-1.992955f) 948#define BPF_Fs44100_Fc78_B2 0.993078f 949#define BPF_Fs48000_Fc78_A0 0.003144f 950#define BPF_Fs48000_Fc78_A1 0.000000f 951#define BPF_Fs48000_Fc78_A2 (-0.003144f) 952#define BPF_Fs48000_Fc78_B1 (-1.993535f) 953#define BPF_Fs48000_Fc78_B2 0.993639f 954 955#ifdef HIGHER_FS 956#define BPF_Fs96000_Fc78_A0 0.001555f 957#define BPF_Fs96000_Fc78_A1 0.000000f 958#define BPF_Fs96000_Fc78_A2 (-0.0015555f) 959#define BPF_Fs96000_Fc78_B1 (-1.996860f) 960#define BPF_Fs96000_Fc78_B2 0.996891f 961 962#define BPF_Fs192000_Fc78_A0 0.000778f 963#define BPF_Fs192000_Fc78_A1 0.000000f 964#define BPF_Fs192000_Fc78_A2 (-0.000778f) 965#define BPF_Fs192000_Fc78_B1 (-1.998437f) 966#define BPF_Fs192000_Fc78_B2 0.998444f 967#endif 968 969/* Coefficients for centre frequency 90Hz */ 970#define BPF_Fs8000_Fc90_A0 0.022760f 971#define BPF_Fs8000_Fc90_A1 0.000000f 972#define BPF_Fs8000_Fc90_A2 (-0.022760f) 973#define BPF_Fs8000_Fc90_B1 (-1.949073f) 974#define BPF_Fs8000_Fc90_B2 0.953953f 975#define BPF_Fs11025_Fc90_A0 0.016619f 976#define BPF_Fs11025_Fc90_A1 0.000000f 977#define BPF_Fs11025_Fc90_A2 (-0.016619f) 978#define BPF_Fs11025_Fc90_B1 (-1.963791f) 979#define BPF_Fs11025_Fc90_B2 0.966377f 980#define BPF_Fs12000_Fc90_A0 0.015289f 981#define BPF_Fs12000_Fc90_A1 0.000000f 982#define BPF_Fs12000_Fc90_A2 (-0.015289f) 983#define BPF_Fs12000_Fc90_B1 (-1.966882f) 984#define BPF_Fs12000_Fc90_B2 0.969067f 985#define BPF_Fs16000_Fc90_A0 0.011511f 986#define BPF_Fs16000_Fc90_A1 0.000000f 987#define BPF_Fs16000_Fc90_A2 (-0.011511f) 988#define BPF_Fs16000_Fc90_B1 (-1.975477f) 989#define BPF_Fs16000_Fc90_B2 0.976711f 990#define BPF_Fs22050_Fc90_A0 0.008379f 991#define BPF_Fs22050_Fc90_A1 0.000000f 992#define BPF_Fs22050_Fc90_A2 (-0.008379f) 993#define BPF_Fs22050_Fc90_B1 (-1.982395f) 994#define BPF_Fs22050_Fc90_B2 0.983047f 995#define BPF_Fs24000_Fc90_A0 0.007704f 996#define BPF_Fs24000_Fc90_A1 0.000000f 997#define BPF_Fs24000_Fc90_A2 (-0.007704f) 998#define BPF_Fs24000_Fc90_B1 (-1.983863f) 999#define BPF_Fs24000_Fc90_B2 0.984414f 1000#define BPF_Fs32000_Fc90_A0 0.005789f 1001#define BPF_Fs32000_Fc90_A1 0.000000f 1002#define BPF_Fs32000_Fc90_A2 (-0.005789f) 1003#define BPF_Fs32000_Fc90_B1 (-1.987977f) 1004#define BPF_Fs32000_Fc90_B2 0.988288f 1005#define BPF_Fs44100_Fc90_A0 0.004207f 1006#define BPF_Fs44100_Fc90_A1 0.000000f 1007#define BPF_Fs44100_Fc90_A2 (-0.004207f) 1008#define BPF_Fs44100_Fc90_B1 (-1.991324f) 1009#define BPF_Fs44100_Fc90_B2 0.991488f 1010#define BPF_Fs48000_Fc90_A0 0.003867f 1011#define BPF_Fs48000_Fc90_A1 0.000000f 1012#define BPF_Fs48000_Fc90_A2 (-0.003867f) 1013#define BPF_Fs48000_Fc90_B1 (-1.992038f) 1014#define BPF_Fs48000_Fc90_B2 0.992177f 1015 1016#ifdef HIGHER_FS 1017#define BPF_Fs96000_Fc90_A0 0.001913f 1018#define BPF_Fs96000_Fc90_A1 0.000000f 1019#define BPF_Fs96000_Fc90_A2 (-0.001913f) 1020#define BPF_Fs96000_Fc90_B1 (-1.996134f) 1021#define BPF_Fs96000_Fc90_B2 0.996174f 1022 1023#define BPF_Fs192000_Fc90_A0 0.000958f 1024#define BPF_Fs192000_Fc90_A1 0.000000f 1025#define BPF_Fs192000_Fc90_A2 (-0.000958f) 1026#define BPF_Fs192000_Fc90_B1 (-1.998075f) 1027#define BPF_Fs192000_Fc90_B2 0.998085f 1028#endif 1029 1030/************************************************************************************/ 1031/* */ 1032/* Automatic Gain Control time constants and gain settings */ 1033/* */ 1034/************************************************************************************/ 1035 1036/* AGC Time constants */ 1037#define AGC_ATTACK_Fs8000 0.841395f 1038#define AGC_ATTACK_Fs11025 0.882223f 1039#define AGC_ATTACK_Fs12000 0.891251f 1040#define AGC_ATTACK_Fs16000 0.917276f 1041#define AGC_ATTACK_Fs22050 0.939267f 1042#define AGC_ATTACK_Fs24000 0.944061f 1043#define AGC_ATTACK_Fs32000 0.957745f 1044#define AGC_ATTACK_Fs44100 0.969158f 1045#define AGC_ATTACK_Fs48000 0.971628f 1046 1047#ifdef HIGHER_FS 1048#define AGC_ATTACK_Fs96000 0.985712f 1049#define AGC_ATTACK_Fs192000 0.992830f 1050#endif 1051 1052#define DECAY_SHIFT 10 1053 1054#define AGC_DECAY_Fs8000 0.000042f 1055#define AGC_DECAY_Fs11025 0.000030f 1056#define AGC_DECAY_Fs12000 0.000028f 1057#define AGC_DECAY_Fs16000 0.000021f 1058#define AGC_DECAY_Fs22050 0.000015f 1059#define AGC_DECAY_Fs24000 0.000014f 1060#define AGC_DECAY_Fs32000 0.000010f 1061#define AGC_DECAY_Fs44100 0.000008f 1062#define AGC_DECAY_Fs48000 0.000007f 1063 1064#ifdef HIGHER_FS 1065#define AGC_DECAY_FS96000 0.0000035f 1066#define AGC_DECAY_FS192000 0.00000175f 1067#endif 1068 1069/* AGC Gain settings */ 1070#define AGC_GAIN_SCALE 31 /* As a power of 2 */ 1071#define AGC_GAIN_SHIFT 4 /* As a power of 2 */ 1072#define AGC_TARGETLEVEL 0.988553f 1073#define AGC_HPFGAIN_0dB 0.412538f 1074#define AGC_GAIN_0dB 0.000000f 1075#define AGC_HPFGAIN_1dB 0.584893f 1076#define AGC_GAIN_1dB 0.122018f 1077#define AGC_HPFGAIN_2dB 0.778279f 1078#define AGC_GAIN_2dB 0.258925f 1079#define AGC_HPFGAIN_3dB 0.995262f 1080#define AGC_GAIN_3dB 0.412538f 1081#define AGC_HPFGAIN_4dB 1.238721f 1082#define AGC_GAIN_4dB 0.584893f 1083#define AGC_HPFGAIN_5dB 1.511886f 1084#define AGC_GAIN_5dB 0.778279f 1085#define AGC_HPFGAIN_6dB 1.818383f 1086#define AGC_GAIN_6dB 0.995262f 1087#define AGC_HPFGAIN_7dB 2.162278f 1088#define AGC_GAIN_7dB 1.238721f 1089#define AGC_HPFGAIN_8dB 2.548134f 1090#define AGC_GAIN_8dB 1.511886f 1091#define AGC_HPFGAIN_9dB 2.981072f 1092#define AGC_GAIN_9dB 1.818383f 1093#define AGC_HPFGAIN_10dB 3.466836f 1094#define AGC_GAIN_10dB 2.162278f 1095#define AGC_HPFGAIN_11dB 4.011872f 1096#define AGC_GAIN_11dB 2.548134f 1097#define AGC_HPFGAIN_12dB 4.623413f 1098#define AGC_GAIN_12dB 2.981072f 1099#define AGC_HPFGAIN_13dB 5.309573f 1100#define AGC_GAIN_13dB 3.466836f 1101#define AGC_HPFGAIN_14dB 6.079458f 1102#define AGC_GAIN_14dB 4.011872f 1103#define AGC_HPFGAIN_15dB 6.943282f 1104#define AGC_GAIN_15dB 4.623413f 1105 1106/************************************************************************************/ 1107/* */ 1108/* Volume control */ 1109/* */ 1110/************************************************************************************/ 1111 1112/* Volume control gain */ 1113#define VOLUME_MAX 0 /* In dBs */ 1114#define VOLUME_SHIFT 0 /* In dBs */ 1115 1116/* Volume control time constants */ 1117#define VOL_TC_SHIFT 21 /* As a power of 2 */ 1118#define VOL_TC_Fs8000 0.024690f 1119#define VOL_TC_Fs11025 0.017977f 1120#define VOL_TC_Fs12000 0.016529f 1121#define VOL_TC_Fs16000 0.012422f 1122#define VOL_TC_Fs22050 0.009029f 1123#define VOL_TC_Fs24000 0.008299f 1124#define VOL_TC_Fs32000 0.006231f 1125#define VOL_TC_Fs44100 0.004525f 1126#define VOL_TC_Fs48000 0.004158f 1127#ifdef HIGHER_FS 1128#define VOL_TC_Fs96000 0.002079f 1129#define VOL_TC_Fs192000 0.001039f 1130#endif 1131#define MIX_TC_Fs8000 29365 /* Floating point value 0.896151 */ 1132#define MIX_TC_Fs11025 30230 /* Floating point value 0.922548 */ 1133#define MIX_TC_Fs12000 30422 /* Floating point value 0.928415 */ 1134#define MIX_TC_Fs16000 30978 /* Floating point value 0.945387 */ 1135#define MIX_TC_Fs22050 31451 /* Floating point value 0.959804 */ 1136#define MIX_TC_Fs24000 31554 /* Floating point value 0.962956 */ 1137#define MIX_TC_Fs32000 31850 /* Floating point value 0.971973 */ 1138#define MIX_TC_Fs44100 32097 /* Floating point value 0.979515 */ 1139#define MIX_TC_Fs48000 32150 /* Floating point value 0.981150 */ 1140#ifdef HIGHER_FS 1141#define MIX_TC_Fs96000 32456 /* Floating point value 0.990530 */ 1142#define MIX_TC_Fs192000 32611 /* Floating point value 0.992524 */ 1143#endif 1144 1145#endif /*BUILD_FLOAT*/ 1146#endif