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_Fs88200_Fc55_A0 0.985818f 584 #define HPF_Fs88200_Fc55_A1 (-1.971636f) 585 #define HPF_Fs88200_Fc55_A2 0.985818f 586 #define HPF_Fs88200_Fc55_B1 (-1.994466f) 587 #define HPF_Fs88200_Fc55_B2 0.994481f 588 589 #define HPF_Fs96000_Fc55_A0 0.986040f 590 #define HPF_Fs96000_Fc55_A1 (-1.972080f) 591 #define HPF_Fs96000_Fc55_A2 0.986040f 592 #define HPF_Fs96000_Fc55_B1 (-1.994915f) 593 #define HPF_Fs96000_Fc55_B2 0.994928f 594 595 #define HPF_Fs176400_Fc55_A0 0.987183f 596 #define HPF_Fs176400_Fc55_A1 (-1.974366f) 597 #define HPF_Fs176400_Fc55_A2 0.987183f 598 #define HPF_Fs176400_Fc55_B1 (-1.997233f) 599 #define HPF_Fs176400_Fc55_B2 0.997237f 600 601 #define HPF_Fs192000_Fc55_A0 0.987294f 602 #define HPF_Fs192000_Fc55_A1 (-1.974588f) 603 #define HPF_Fs192000_Fc55_A2 0.987294f 604 #define HPF_Fs192000_Fc55_B1 (-1.997458f) 605 #define HPF_Fs192000_Fc55_B2 0.997461f 606 #endif 607 608 609 /* Coefficients for centre frequency 66Hz */ 610 #define HPF_Fs8000_Fc66_A0 0.953016f 611 #define HPF_Fs8000_Fc66_A1 (-1.906032f) 612 #define HPF_Fs8000_Fc66_A2 0.953016f 613 #define HPF_Fs8000_Fc66_B1 (-1.926810f) 614 #define HPF_Fs8000_Fc66_B2 0.929396f 615 #define HPF_Fs11025_Fc66_A0 0.962638f 616 #define HPF_Fs11025_Fc66_A1 (-1.925275f) 617 #define HPF_Fs11025_Fc66_A2 0.962638f 618 #define HPF_Fs11025_Fc66_B1 (-1.946881f) 619 #define HPF_Fs11025_Fc66_B2 0.948256f 620 #define HPF_Fs12000_Fc66_A0 0.964718f 621 #define HPF_Fs12000_Fc66_A1 (-1.929435f) 622 #define HPF_Fs12000_Fc66_A2 0.964718f 623 #define HPF_Fs12000_Fc66_B1 (-1.951196f) 624 #define HPF_Fs12000_Fc66_B2 0.952359f 625 #define HPF_Fs16000_Fc66_A0 0.970622f 626 #define HPF_Fs16000_Fc66_A1 (-1.941244f) 627 #define HPF_Fs16000_Fc66_A2 0.970622f 628 #define HPF_Fs16000_Fc66_B1 (-1.963394f) 629 #define HPF_Fs16000_Fc66_B2 0.964052f 630 #define HPF_Fs22050_Fc66_A0 0.975509f 631 #define HPF_Fs22050_Fc66_A1 (-1.951019f) 632 #define HPF_Fs22050_Fc66_A2 0.975509f 633 #define HPF_Fs22050_Fc66_B1 (-1.973436f) 634 #define HPF_Fs22050_Fc66_B2 0.973784f 635 #define HPF_Fs24000_Fc66_A0 0.976563f 636 #define HPF_Fs24000_Fc66_A1 (-1.953125f) 637 #define HPF_Fs24000_Fc66_A2 0.976563f 638 #define HPF_Fs24000_Fc66_B1 (-1.975594f) 639 #define HPF_Fs24000_Fc66_B2 0.975889f 640 #define HPF_Fs32000_Fc66_A0 0.979547f 641 #define HPF_Fs32000_Fc66_A1 (-1.959093f) 642 #define HPF_Fs32000_Fc66_A2 0.979547f 643 #define HPF_Fs32000_Fc66_B1 (-1.981695f) 644 #define HPF_Fs32000_Fc66_B2 0.981861f 645 #define HPF_Fs44100_Fc66_A0 0.982010f 646 #define HPF_Fs44100_Fc66_A1 (-1.964019f) 647 #define HPF_Fs44100_Fc66_A2 0.982010f 648 #define HPF_Fs44100_Fc66_B1 (-1.986718f) 649 #define HPF_Fs44100_Fc66_B2 0.986805f 650 #define HPF_Fs48000_Fc66_A0 0.982540f 651 #define HPF_Fs48000_Fc66_A1 (-1.965079f) 652 #define HPF_Fs48000_Fc66_A2 0.982540f 653 #define HPF_Fs48000_Fc66_B1 (-1.987797f) 654 #define HPF_Fs48000_Fc66_B2 0.987871f 655 656 #ifdef HIGHER_FS 657 #define HPF_Fs88200_Fc66_A0 0.985273f 658 #define HPF_Fs88200_Fc66_A1 (-1.970546f) 659 #define HPF_Fs88200_Fc66_A2 0.985273f 660 #define HPF_Fs88200_Fc66_B1 (-1.993359f) 661 #define HPF_Fs88200_Fc66_B2 0.993381f 662 663 #define HPF_Fs96000_Fc66_A0 0.985539f 664 #define HPF_Fs96000_Fc66_A1 (-1.971077f) 665 #define HPF_Fs96000_Fc66_A2 0.985539f 666 #define HPF_Fs96000_Fc66_B1 (-1.993898f) 667 #define HPF_Fs96000_Fc66_B2 0.993917f 668 669 #define HPF_Fs176400_Fc66_A0 0.986910f 670 #define HPF_Fs176400_Fc66_A1 (-1.973820f) 671 #define HPF_Fs176400_Fc66_A2 0.986910f 672 #define HPF_Fs176400_Fc66_B1 (-1.996679f) 673 #define HPF_Fs176400_Fc66_B2 0.996685f 674 675 #define HPF_Fs192000_Fc66_A0 0.987043f 676 #define HPF_Fs192000_Fc66_A1 (-1.974086f) 677 #define HPF_Fs192000_Fc66_A2 0.987043f 678 #define HPF_Fs192000_Fc66_B1 (-1.996949f) 679 #define HPF_Fs192000_Fc66_B2 0.996954f 680 #endif 681 682 /* Coefficients for centre frequency 78Hz */ 683 #define HPF_Fs8000_Fc78_A0 0.946693f 684 #define HPF_Fs8000_Fc78_A1 (-1.893387f) 685 #define HPF_Fs8000_Fc78_A2 0.946693f 686 #define HPF_Fs8000_Fc78_B1 (-1.913517f) 687 #define HPF_Fs8000_Fc78_B2 0.917105f 688 #define HPF_Fs11025_Fc78_A0 0.957999f 689 #define HPF_Fs11025_Fc78_A1 (-1.915998f) 690 #define HPF_Fs11025_Fc78_A2 0.957999f 691 #define HPF_Fs11025_Fc78_B1 (-1.937229f) 692 #define HPF_Fs11025_Fc78_B2 0.939140f 693 #define HPF_Fs12000_Fc78_A0 0.960446f 694 #define HPF_Fs12000_Fc78_A1 (-1.920892f) 695 #define HPF_Fs12000_Fc78_A2 0.960446f 696 #define HPF_Fs12000_Fc78_B1 (-1.942326f) 697 #define HPF_Fs12000_Fc78_B2 0.943944f 698 #define HPF_Fs16000_Fc78_A0 0.967397f 699 #define HPF_Fs16000_Fc78_A1 (-1.934794f) 700 #define HPF_Fs16000_Fc78_A2 0.967397f 701 #define HPF_Fs16000_Fc78_B1 (-1.956740f) 702 #define HPF_Fs16000_Fc78_B2 0.957656f 703 #define HPF_Fs22050_Fc78_A0 0.973156f 704 #define HPF_Fs22050_Fc78_A1 (-1.946313f) 705 #define HPF_Fs22050_Fc78_A2 0.973156f 706 #define HPF_Fs22050_Fc78_B1 (-1.968607f) 707 #define HPF_Fs22050_Fc78_B2 0.969092f 708 #define HPF_Fs24000_Fc78_A0 0.974398f 709 #define HPF_Fs24000_Fc78_A1 (-1.948797f) 710 #define HPF_Fs24000_Fc78_A2 0.974398f 711 #define HPF_Fs24000_Fc78_B1 (-1.971157f) 712 #define HPF_Fs24000_Fc78_B2 0.971568f 713 #define HPF_Fs32000_Fc78_A0 0.977918f 714 #define HPF_Fs32000_Fc78_A1 (-1.955836f) 715 #define HPF_Fs32000_Fc78_A2 0.977918f 716 #define HPF_Fs32000_Fc78_B1 (-1.978367f) 717 #define HPF_Fs32000_Fc78_B2 0.978599f 718 #define HPF_Fs44100_Fc78_A0 0.980824f 719 #define HPF_Fs44100_Fc78_A1 (-1.961649f) 720 #define HPF_Fs44100_Fc78_A2 0.980824f 721 #define HPF_Fs44100_Fc78_B1 (-1.984303f) 722 #define HPF_Fs44100_Fc78_B2 0.984425f 723 #define HPF_Fs48000_Fc78_A0 0.981450f 724 #define HPF_Fs48000_Fc78_A1 (-1.962900f) 725 #define HPF_Fs48000_Fc78_A2 0.981450f 726 #define HPF_Fs48000_Fc78_B1 (-1.985578f) 727 #define HPF_Fs48000_Fc78_B2 0.985681f 728 729 #ifdef HIGHER_FS 730 #define HPF_Fs88200_Fc78_A0 0.984678f 731 #define HPF_Fs88200_Fc78_A1 (-1.969356f) 732 #define HPF_Fs88200_Fc78_A2 0.984678f 733 #define HPF_Fs88200_Fc78_B1 (-1.992151f) 734 #define HPF_Fs88200_Fc78_B2 0.992182f 735 736 #define HPF_Fs96000_Fc78_A0 0.984992f 737 #define HPF_Fs96000_Fc78_A1 (-1.969984f) 738 #define HPF_Fs96000_Fc78_A2 0.984992f 739 #define HPF_Fs96000_Fc78_B1 (-1.992789f) 740 #define HPF_Fs96000_Fc78_B2 0.992815f 741 742 #define HPF_Fs176400_Fc78_A0 0.986612f 743 #define HPF_Fs176400_Fc78_A1 (-1.973224f) 744 #define HPF_Fs176400_Fc78_A2 0.986612f 745 #define HPF_Fs176400_Fc78_B1 (-1.996076f) 746 #define HPF_Fs176400_Fc78_B2 0.996083f 747 748 #define HPF_Fs192000_Fc78_A0 0.986769f 749 #define HPF_Fs192000_Fc78_A1 (-1.973539f) 750 #define HPF_Fs192000_Fc78_A2 0.986769f 751 #define HPF_Fs192000_Fc78_B1 (-1.996394f) 752 #define HPF_Fs192000_Fc78_B2 0.996401f 753 #endif 754 755 /* Coefficients for centre frequency 90Hz */ 756 #define HPF_Fs8000_Fc90_A0 0.940412f 757 #define HPF_Fs8000_Fc90_A1 (-1.880825f) 758 #define HPF_Fs8000_Fc90_A2 0.940412f 759 #define HPF_Fs8000_Fc90_B1 (-1.900231f) 760 #define HPF_Fs8000_Fc90_B2 0.904977f 761 #define HPF_Fs11025_Fc90_A0 0.953383f 762 #define HPF_Fs11025_Fc90_A1 (-1.906766f) 763 #define HPF_Fs11025_Fc90_A2 0.953383f 764 #define HPF_Fs11025_Fc90_B1 (-1.927579f) 765 #define HPF_Fs11025_Fc90_B2 0.930111f 766 #define HPF_Fs12000_Fc90_A0 0.956193f 767 #define HPF_Fs12000_Fc90_A1 (-1.912387f) 768 #define HPF_Fs12000_Fc90_A2 0.956193f 769 #define HPF_Fs12000_Fc90_B1 (-1.933459f) 770 #define HPF_Fs12000_Fc90_B2 0.935603f 771 #define HPF_Fs16000_Fc90_A0 0.964183f 772 #define HPF_Fs16000_Fc90_A1 (-1.928365f) 773 #define HPF_Fs16000_Fc90_A2 0.964183f 774 #define HPF_Fs16000_Fc90_B1 (-1.950087f) 775 #define HPF_Fs16000_Fc90_B2 0.951303f 776 #define HPF_Fs22050_Fc90_A0 0.970809f 777 #define HPF_Fs22050_Fc90_A1 (-1.941618f) 778 #define HPF_Fs22050_Fc90_A2 0.970809f 779 #define HPF_Fs22050_Fc90_B1 (-1.963778f) 780 #define HPF_Fs22050_Fc90_B2 0.964423f 781 #define HPF_Fs24000_Fc90_A0 0.972239f 782 #define HPF_Fs24000_Fc90_A1 (-1.944477f) 783 #define HPF_Fs24000_Fc90_A2 0.972239f 784 #define HPF_Fs24000_Fc90_B1 (-1.966721f) 785 #define HPF_Fs24000_Fc90_B2 0.967266f 786 #define HPF_Fs32000_Fc90_A0 0.976292f 787 #define HPF_Fs32000_Fc90_A1 (-1.952584f) 788 #define HPF_Fs32000_Fc90_A2 0.976292f 789 #define HPF_Fs32000_Fc90_B1 (-1.975040f) 790 #define HPF_Fs32000_Fc90_B2 0.975347f 791 #define HPF_Fs44100_Fc90_A0 0.979641f 792 #define HPF_Fs44100_Fc90_A1 (-1.959282f) 793 #define HPF_Fs44100_Fc90_A2 0.979641f 794 #define HPF_Fs44100_Fc90_B1 (-1.981888f) 795 #define HPF_Fs44100_Fc90_B2 0.982050f 796 #define HPF_Fs48000_Fc90_A0 0.980362f 797 #define HPF_Fs48000_Fc90_A1 (-1.960724f) 798 #define HPF_Fs48000_Fc90_A2 0.980362f 799 #define HPF_Fs48000_Fc90_B1 (-1.983359f) 800 #define HPF_Fs48000_Fc90_B2 0.983497f 801 802 #ifdef HIGHER_FS 803 #define HPF_Fs88200_Fc90_A0 0.984084f 804 #define HPF_Fs88200_Fc90_A1 (-1.968168f) 805 #define HPF_Fs88200_Fc90_A2 0.984084f 806 #define HPF_Fs88200_Fc90_B1 (-1.990944f) 807 #define HPF_Fs88200_Fc90_B2 0.990985f 808 809 #define HPF_Fs96000_Fc90_A0 0.984446f 810 #define HPF_Fs96000_Fc90_A1 (-1.968892f) 811 #define HPF_Fs96000_Fc90_A2 0.984446f 812 #define HPF_Fs96000_Fc90_B1 (-1.991680f) 813 #define HPF_Fs96000_Fc90_B2 0.991714f 814 815 #define HPF_Fs176400_Fc90_A0 0.986314f 816 #define HPF_Fs176400_Fc90_A1 (-1.972629f) 817 #define HPF_Fs176400_Fc90_A2 0.986314f 818 #define HPF_Fs176400_Fc90_B1 (-1.995472f) 819 #define HPF_Fs176400_Fc90_B2 0.995482f 820 821 #define HPF_Fs192000_Fc90_A0 0.986496f 822 #define HPF_Fs192000_Fc90_A1 (-1.972992f) 823 #define HPF_Fs192000_Fc90_A2 0.986496f 824 #define HPF_Fs192000_Fc90_B1 (-1.995840f) 825 #define HPF_Fs192000_Fc90_B2 0.995848f 826 #endif 827 828 /************************************************************************************/ 829 /* */ 830 /* Band Pass Filter coefficients */ 831 /* */ 832 /************************************************************************************/ 833 834 /* Coefficients for centre frequency 55Hz */ 835 #define BPF_Fs8000_Fc55_A0 0.009197f 836 #define BPF_Fs8000_Fc55_A1 0.000000f 837 #define BPF_Fs8000_Fc55_A2 (-0.009197f) 838 #define BPF_Fs8000_Fc55_B1 (-1.979545f) 839 #define BPF_Fs8000_Fc55_B2 0.981393f 840 #define BPF_Fs11025_Fc55_A0 0.006691f 841 #define BPF_Fs11025_Fc55_A1 0.000000f 842 #define BPF_Fs11025_Fc55_A2 (-0.006691f) 843 #define BPF_Fs11025_Fc55_B1 (-1.985488f) 844 #define BPF_Fs11025_Fc55_B2 0.986464f 845 #define BPF_Fs12000_Fc55_A0 0.006150f 846 #define BPF_Fs12000_Fc55_A1 0.000000f 847 #define BPF_Fs12000_Fc55_A2 (-0.006150f) 848 #define BPF_Fs12000_Fc55_B1 (-1.986733f) 849 #define BPF_Fs12000_Fc55_B2 0.987557f 850 #define BPF_Fs16000_Fc55_A0 0.004620f 851 #define BPF_Fs16000_Fc55_A1 0.000000f 852 #define BPF_Fs16000_Fc55_A2 (-0.004620f) 853 #define BPF_Fs16000_Fc55_B1 (-1.990189f) 854 #define BPF_Fs16000_Fc55_B2 0.990653f 855 #define BPF_Fs22050_Fc55_A0 0.003357f 856 #define BPF_Fs22050_Fc55_A1 0.000000f 857 #define BPF_Fs22050_Fc55_A2 (-0.003357f) 858 #define BPF_Fs22050_Fc55_B1 (-1.992964f) 859 #define BPF_Fs22050_Fc55_B2 0.993209f 860 #define BPF_Fs24000_Fc55_A0 0.003085f 861 #define BPF_Fs24000_Fc55_A1 0.000000f 862 #define BPF_Fs24000_Fc55_A2 (-0.003085f) 863 #define BPF_Fs24000_Fc55_B1 (-1.993552f) 864 #define BPF_Fs24000_Fc55_B2 0.993759f 865 #define BPF_Fs32000_Fc55_A0 0.002315f 866 #define BPF_Fs32000_Fc55_A1 0.000000f 867 #define BPF_Fs32000_Fc55_A2 (-0.002315f) 868 #define BPF_Fs32000_Fc55_B1 (-1.995199f) 869 #define BPF_Fs32000_Fc55_B2 0.995316f 870 #define BPF_Fs44100_Fc55_A0 0.001681f 871 #define BPF_Fs44100_Fc55_A1 0.000000f 872 #define BPF_Fs44100_Fc55_A2 (-0.001681f) 873 #define BPF_Fs44100_Fc55_B1 (-1.996537f) 874 #define BPF_Fs44100_Fc55_B2 0.996599f 875 #define BPF_Fs48000_Fc55_A0 0.001545f 876 #define BPF_Fs48000_Fc55_A1 0.000000f 877 #define BPF_Fs48000_Fc55_A2 (-0.001545f) 878 #define BPF_Fs48000_Fc55_B1 (-1.996823f) 879 #define BPF_Fs48000_Fc55_B2 0.996875f 880 881 #ifdef HIGHER_FS 882 #define BPF_Fs88200_Fc55_A0 0.000831f 883 #define BPF_Fs88200_Fc55_A1 0.000000f 884 #define BPF_Fs88200_Fc55_A2 (-0.000831f) 885 #define BPF_Fs88200_Fc55_B1 (-1.998321f) 886 #define BPF_Fs88200_Fc55_B2 0.998338f 887 888 #define BPF_Fs96000_Fc55_A0 0.000762f 889 #define BPF_Fs96000_Fc55_A1 0.000000f 890 #define BPF_Fs96000_Fc55_A2 (-0.000762f) 891 #define BPF_Fs96000_Fc55_B1 (-1.998461f) 892 #define BPF_Fs96000_Fc55_B2 0.998477f 893 894 #define BPF_Fs176400_Fc55_A0 0.000416f 895 #define BPF_Fs176400_Fc55_A1 0.000000f 896 #define BPF_Fs176400_Fc55_A2 (-0.000416f) 897 #define BPF_Fs176400_Fc55_B1 (-1.999164f) 898 #define BPF_Fs176400_Fc55_B2 0.999169f 899 900 #define BPF_Fs192000_Fc55_A0 0.000381f 901 #define BPF_Fs192000_Fc55_A1 0.000000f 902 #define BPF_Fs192000_Fc55_A2 (-0.000381f) 903 #define BPF_Fs192000_Fc55_B1 (-1.999234f) 904 #define BPF_Fs192000_Fc55_B2 0.999238f 905 #endif 906 907 /* Coefficients for centre frequency 66Hz */ 908 #define BPF_Fs8000_Fc66_A0 0.012648f 909 #define BPF_Fs8000_Fc66_A1 0.000000f 910 #define BPF_Fs8000_Fc66_A2 (-0.012648f) 911 #define BPF_Fs8000_Fc66_B1 (-1.971760f) 912 #define BPF_Fs8000_Fc66_B2 0.974412f 913 #define BPF_Fs11025_Fc66_A0 0.009209f 914 #define BPF_Fs11025_Fc66_A1 0.000000f 915 #define BPF_Fs11025_Fc66_A2 (-0.009209f) 916 #define BPF_Fs11025_Fc66_B1 (-1.979966f) 917 #define BPF_Fs11025_Fc66_B2 0.981368f 918 #define BPF_Fs12000_Fc66_A0 0.008468f 919 #define BPF_Fs12000_Fc66_A1 0.000000f 920 #define BPF_Fs12000_Fc66_A2 (-0.008468f) 921 #define BPF_Fs12000_Fc66_B1 (-1.981685f) 922 #define BPF_Fs12000_Fc66_B2 0.982869f 923 #define BPF_Fs16000_Fc66_A0 0.006364f 924 #define BPF_Fs16000_Fc66_A1 0.000000f 925 #define BPF_Fs16000_Fc66_A2 (-0.006364f) 926 #define BPF_Fs16000_Fc66_B1 (-1.986457f) 927 #define BPF_Fs16000_Fc66_B2 0.987124f 928 #define BPF_Fs22050_Fc66_A0 0.004626f 929 #define BPF_Fs22050_Fc66_A1 0.000000f 930 #define BPF_Fs22050_Fc66_A2 (-0.004626f) 931 #define BPF_Fs22050_Fc66_B1 (-1.990288f) 932 #define BPF_Fs22050_Fc66_B2 0.990641f 933 #define BPF_Fs24000_Fc66_A0 0.004252f 934 #define BPF_Fs24000_Fc66_A1 0.000000f 935 #define BPF_Fs24000_Fc66_A2 (-0.004252f) 936 #define BPF_Fs24000_Fc66_B1 (-1.991100f) 937 #define BPF_Fs24000_Fc66_B2 0.991398f 938 #define BPF_Fs32000_Fc66_A0 0.003192f 939 #define BPF_Fs32000_Fc66_A1 0.000000f 940 #define BPF_Fs32000_Fc66_A2 (-0.003192f) 941 #define BPF_Fs32000_Fc66_B1 (-1.993374f) 942 #define BPF_Fs32000_Fc66_B2 0.993541f 943 #define BPF_Fs44100_Fc66_A0 0.002318f 944 #define BPF_Fs44100_Fc66_A1 0.000000f 945 #define BPF_Fs44100_Fc66_A2 (-0.002318f) 946 #define BPF_Fs44100_Fc66_B1 (-1.995221f) 947 #define BPF_Fs44100_Fc66_B2 0.995309f 948 #define BPF_Fs48000_Fc66_A0 0.002131f 949 #define BPF_Fs48000_Fc66_A1 0.000000f 950 #define BPF_Fs48000_Fc66_A2 (-0.002131f) 951 #define BPF_Fs48000_Fc66_B1 (-1.995615f) 952 #define BPF_Fs48000_Fc66_B2 0.995690f 953 954 #ifdef HIGHER_FS 955 #define BPF_Fs88200_Fc66_A0 0.001146f 956 #define BPF_Fs88200_Fc66_A1 0.000000f 957 #define BPF_Fs88200_Fc66_A2 (-0.001146f) 958 #define BPF_Fs88200_Fc66_B1 (-1.997684f) 959 #define BPF_Fs88200_Fc66_B2 0.997708f 960 961 #define BPF_Fs96000_Fc66_A0 0.001055f 962 #define BPF_Fs96000_Fc66_A1 0.000000f 963 #define BPF_Fs96000_Fc66_A2 (-0.001055f) 964 #define BPF_Fs96000_Fc66_B1 (-1.997868f) 965 #define BPF_Fs96000_Fc66_B2 0.997891f 966 967 #define BPF_Fs176400_Fc66_A0 0.000573f 968 #define BPF_Fs176400_Fc66_A1 0.000000f 969 #define BPF_Fs176400_Fc66_A2 (-0.000573f) 970 #define BPF_Fs176400_Fc66_B1 (-1.998847f) 971 #define BPF_Fs176400_Fc66_B2 0.998853f 972 973 #define BPF_Fs192000_Fc66_A0 0.000528f 974 #define BPF_Fs192000_Fc66_A1 0.000000f 975 #define BPF_Fs192000_Fc66_A2 (-0.000528f) 976 #define BPF_Fs192000_Fc66_B1 (-1.998939f) 977 #define BPF_Fs192000_Fc66_B2 0.998945f 978 #endif 979 980 /* Coefficients for centre frequency 78Hz */ 981 #define BPF_Fs8000_Fc78_A0 0.018572f 982 #define BPF_Fs8000_Fc78_A1 0.000000f 983 #define BPF_Fs8000_Fc78_A2 (-0.018572f) 984 #define BPF_Fs8000_Fc78_B1 (-1.958745f) 985 #define BPF_Fs8000_Fc78_B2 0.962427f 986 #define BPF_Fs11025_Fc78_A0 0.013545f 987 #define BPF_Fs11025_Fc78_A1 0.000000f 988 #define BPF_Fs11025_Fc78_A2 (-0.013545f) 989 #define BPF_Fs11025_Fc78_B1 (-1.970647f) 990 #define BPF_Fs11025_Fc78_B2 0.972596f 991 #define BPF_Fs12000_Fc78_A0 0.012458f 992 #define BPF_Fs12000_Fc78_A1 0.000000f 993 #define BPF_Fs12000_Fc78_A2 (-0.012458f) 994 #define BPF_Fs12000_Fc78_B1 (-1.973148f) 995 #define BPF_Fs12000_Fc78_B2 0.974795f 996 #define BPF_Fs16000_Fc78_A0 0.009373f 997 #define BPF_Fs16000_Fc78_A1 0.000000f 998 #define BPF_Fs16000_Fc78_A2 (-0.009373f) 999 #define BPF_Fs16000_Fc78_B1 (-1.980108f) 1000 #define BPF_Fs16000_Fc78_B2 0.981037f 1001 #define BPF_Fs22050_Fc78_A0 0.006819f 1002 #define BPF_Fs22050_Fc78_A1 0.000000f 1003 #define BPF_Fs22050_Fc78_A2 (-0.006819f) 1004 #define BPF_Fs22050_Fc78_B1 (-1.985714f) 1005 #define BPF_Fs22050_Fc78_B2 0.986204f 1006 #define BPF_Fs24000_Fc78_A0 0.006268f 1007 #define BPF_Fs24000_Fc78_A1 0.000000f 1008 #define BPF_Fs24000_Fc78_A2 (-0.006268f) 1009 #define BPF_Fs24000_Fc78_B1 (-1.986904f) 1010 #define BPF_Fs24000_Fc78_B2 0.987318f 1011 #define BPF_Fs32000_Fc78_A0 0.004709f 1012 #define BPF_Fs32000_Fc78_A1 0.000000f 1013 #define BPF_Fs32000_Fc78_A2 (-0.004709f) 1014 #define BPF_Fs32000_Fc78_B1 (-1.990240f) 1015 #define BPF_Fs32000_Fc78_B2 0.990473f 1016 #define BPF_Fs44100_Fc78_A0 0.003421f 1017 #define BPF_Fs44100_Fc78_A1 0.000000f 1018 #define BPF_Fs44100_Fc78_A2 (-0.003421f) 1019 #define BPF_Fs44100_Fc78_B1 (-1.992955f) 1020 #define BPF_Fs44100_Fc78_B2 0.993078f 1021 #define BPF_Fs48000_Fc78_A0 0.003144f 1022 #define BPF_Fs48000_Fc78_A1 0.000000f 1023 #define BPF_Fs48000_Fc78_A2 (-0.003144f) 1024 #define BPF_Fs48000_Fc78_B1 (-1.993535f) 1025 #define BPF_Fs48000_Fc78_B2 0.993639f 1026 1027 #ifdef HIGHER_FS 1028 #define BPF_Fs88200_Fc78_A0 0.001693f 1029 #define BPF_Fs88200_Fc78_A1 0.000000f 1030 #define BPF_Fs88200_Fc78_A2 (-0.001693f) 1031 #define BPF_Fs88200_Fc78_B1 (-1.996582f) 1032 #define BPF_Fs88200_Fc78_B2 0.996615f 1033 1034 #define BPF_Fs96000_Fc78_A0 0.001555f 1035 #define BPF_Fs96000_Fc78_A1 0.000000f 1036 #define BPF_Fs96000_Fc78_A2 (-0.0015555f) 1037 #define BPF_Fs96000_Fc78_B1 (-1.996860f) 1038 #define BPF_Fs96000_Fc78_B2 0.996891f 1039 1040 #define BPF_Fs176400_Fc78_A0 0.000847f 1041 #define BPF_Fs176400_Fc78_A1 0.000000f 1042 #define BPF_Fs176400_Fc78_A2 (-0.000847f) 1043 #define BPF_Fs176400_Fc78_B1 (-1.998298f) 1044 #define BPF_Fs176400_Fc78_B2 0.998306f 1045 1046 #define BPF_Fs192000_Fc78_A0 0.000778f 1047 #define BPF_Fs192000_Fc78_A1 0.000000f 1048 #define BPF_Fs192000_Fc78_A2 (-0.000778f) 1049 #define BPF_Fs192000_Fc78_B1 (-1.998437f) 1050 #define BPF_Fs192000_Fc78_B2 0.998444f 1051 #endif 1052 1053 /* Coefficients for centre frequency 90Hz */ 1054 #define BPF_Fs8000_Fc90_A0 0.022760f 1055 #define BPF_Fs8000_Fc90_A1 0.000000f 1056 #define BPF_Fs8000_Fc90_A2 (-0.022760f) 1057 #define BPF_Fs8000_Fc90_B1 (-1.949073f) 1058 #define BPF_Fs8000_Fc90_B2 0.953953f 1059 #define BPF_Fs11025_Fc90_A0 0.016619f 1060 #define BPF_Fs11025_Fc90_A1 0.000000f 1061 #define BPF_Fs11025_Fc90_A2 (-0.016619f) 1062 #define BPF_Fs11025_Fc90_B1 (-1.963791f) 1063 #define BPF_Fs11025_Fc90_B2 0.966377f 1064 #define BPF_Fs12000_Fc90_A0 0.015289f 1065 #define BPF_Fs12000_Fc90_A1 0.000000f 1066 #define BPF_Fs12000_Fc90_A2 (-0.015289f) 1067 #define BPF_Fs12000_Fc90_B1 (-1.966882f) 1068 #define BPF_Fs12000_Fc90_B2 0.969067f 1069 #define BPF_Fs16000_Fc90_A0 0.011511f 1070 #define BPF_Fs16000_Fc90_A1 0.000000f 1071 #define BPF_Fs16000_Fc90_A2 (-0.011511f) 1072 #define BPF_Fs16000_Fc90_B1 (-1.975477f) 1073 #define BPF_Fs16000_Fc90_B2 0.976711f 1074 #define BPF_Fs22050_Fc90_A0 0.008379f 1075 #define BPF_Fs22050_Fc90_A1 0.000000f 1076 #define BPF_Fs22050_Fc90_A2 (-0.008379f) 1077 #define BPF_Fs22050_Fc90_B1 (-1.982395f) 1078 #define BPF_Fs22050_Fc90_B2 0.983047f 1079 #define BPF_Fs24000_Fc90_A0 0.007704f 1080 #define BPF_Fs24000_Fc90_A1 0.000000f 1081 #define BPF_Fs24000_Fc90_A2 (-0.007704f) 1082 #define BPF_Fs24000_Fc90_B1 (-1.983863f) 1083 #define BPF_Fs24000_Fc90_B2 0.984414f 1084 #define BPF_Fs32000_Fc90_A0 0.005789f 1085 #define BPF_Fs32000_Fc90_A1 0.000000f 1086 #define BPF_Fs32000_Fc90_A2 (-0.005789f) 1087 #define BPF_Fs32000_Fc90_B1 (-1.987977f) 1088 #define BPF_Fs32000_Fc90_B2 0.988288f 1089 #define BPF_Fs44100_Fc90_A0 0.004207f 1090 #define BPF_Fs44100_Fc90_A1 0.000000f 1091 #define BPF_Fs44100_Fc90_A2 (-0.004207f) 1092 #define BPF_Fs44100_Fc90_B1 (-1.991324f) 1093 #define BPF_Fs44100_Fc90_B2 0.991488f 1094 #define BPF_Fs48000_Fc90_A0 0.003867f 1095 #define BPF_Fs48000_Fc90_A1 0.000000f 1096 #define BPF_Fs48000_Fc90_A2 (-0.003867f) 1097 #define BPF_Fs48000_Fc90_B1 (-1.992038f) 1098 #define BPF_Fs48000_Fc90_B2 0.992177f 1099 1100 #ifdef HIGHER_FS 1101 #define BPF_Fs88200_Fc90_A0 0.002083f 1102 #define BPF_Fs88200_Fc90_A1 0.000000f 1103 #define BPF_Fs88200_Fc90_A2 (-0.002083f) 1104 #define BPF_Fs88200_Fc90_B1 (-1.995791f) 1105 #define BPF_Fs88200_Fc90_B2 0.995835f 1106 1107 #define BPF_Fs96000_Fc90_A0 0.001913f 1108 #define BPF_Fs96000_Fc90_A1 0.000000f 1109 #define BPF_Fs96000_Fc90_A2 (-0.001913f) 1110 #define BPF_Fs96000_Fc90_B1 (-1.996134f) 1111 #define BPF_Fs96000_Fc90_B2 0.996174f 1112 1113 #define BPF_Fs176400_Fc90_A0 0.001042f 1114 #define BPF_Fs176400_Fc90_A1 0.000000f 1115 #define BPF_Fs176400_Fc90_A2 (-0.001042f) 1116 #define BPF_Fs176400_Fc90_B1 (-1.997904f) 1117 #define BPF_Fs176400_Fc90_B2 0.997915f 1118 1119 #define BPF_Fs192000_Fc90_A0 0.000958f 1120 #define BPF_Fs192000_Fc90_A1 0.000000f 1121 #define BPF_Fs192000_Fc90_A2 (-0.000958f) 1122 #define BPF_Fs192000_Fc90_B1 (-1.998075f) 1123 #define BPF_Fs192000_Fc90_B2 0.998085f 1124 #endif 1125 1126 /************************************************************************************/ 1127 /* */ 1128 /* Automatic Gain Control time constants and gain settings */ 1129 /* */ 1130 /************************************************************************************/ 1131 1132 /* AGC Time constants */ 1133 #define AGC_ATTACK_Fs8000 0.841395f 1134 #define AGC_ATTACK_Fs11025 0.882223f 1135 #define AGC_ATTACK_Fs12000 0.891251f 1136 #define AGC_ATTACK_Fs16000 0.917276f 1137 #define AGC_ATTACK_Fs22050 0.939267f 1138 #define AGC_ATTACK_Fs24000 0.944061f 1139 #define AGC_ATTACK_Fs32000 0.957745f 1140 #define AGC_ATTACK_Fs44100 0.969158f 1141 #define AGC_ATTACK_Fs48000 0.971628f 1142 1143 #ifdef HIGHER_FS 1144 #define AGC_ATTACK_Fs88200 0.984458f 1145 #define AGC_ATTACK_Fs96000 0.985712f 1146 #define AGC_ATTACK_Fs176400 0.992199f 1147 #define AGC_ATTACK_Fs192000 0.992830f 1148 #endif 1149 1150 #define DECAY_SHIFT 10 1151 1152 #define AGC_DECAY_Fs8000 0.000042f 1153 #define AGC_DECAY_Fs11025 0.000030f 1154 #define AGC_DECAY_Fs12000 0.000028f 1155 #define AGC_DECAY_Fs16000 0.000021f 1156 #define AGC_DECAY_Fs22050 0.000015f 1157 #define AGC_DECAY_Fs24000 0.000014f 1158 #define AGC_DECAY_Fs32000 0.000010f 1159 #define AGC_DECAY_Fs44100 0.000008f 1160 #define AGC_DECAY_Fs48000 0.000007f 1161 1162 #ifdef HIGHER_FS 1163 #define AGC_DECAY_Fs88200 0.0000038f 1164 #define AGC_DECAY_FS96000 0.0000035f 1165 #define AGC_DECAY_Fs176400 0.00000188f 1166 #define AGC_DECAY_FS192000 0.00000175f 1167 #endif 1168 1169 /* AGC Gain settings */ 1170 #define AGC_GAIN_SCALE 31 /* As a power of 2 */ 1171 #define AGC_GAIN_SHIFT 4 /* As a power of 2 */ 1172 #define AGC_TARGETLEVEL 0.988553f 1173 #define AGC_HPFGAIN_0dB 0.412538f 1174 #define AGC_GAIN_0dB 0.000000f 1175 #define AGC_HPFGAIN_1dB 0.584893f 1176 #define AGC_GAIN_1dB 0.122018f 1177 #define AGC_HPFGAIN_2dB 0.778279f 1178 #define AGC_GAIN_2dB 0.258925f 1179 #define AGC_HPFGAIN_3dB 0.995262f 1180 #define AGC_GAIN_3dB 0.412538f 1181 #define AGC_HPFGAIN_4dB 1.238721f 1182 #define AGC_GAIN_4dB 0.584893f 1183 #define AGC_HPFGAIN_5dB 1.511886f 1184 #define AGC_GAIN_5dB 0.778279f 1185 #define AGC_HPFGAIN_6dB 1.818383f 1186 #define AGC_GAIN_6dB 0.995262f 1187 #define AGC_HPFGAIN_7dB 2.162278f 1188 #define AGC_GAIN_7dB 1.238721f 1189 #define AGC_HPFGAIN_8dB 2.548134f 1190 #define AGC_GAIN_8dB 1.511886f 1191 #define AGC_HPFGAIN_9dB 2.981072f 1192 #define AGC_GAIN_9dB 1.818383f 1193 #define AGC_HPFGAIN_10dB 3.466836f 1194 #define AGC_GAIN_10dB 2.162278f 1195 #define AGC_HPFGAIN_11dB 4.011872f 1196 #define AGC_GAIN_11dB 2.548134f 1197 #define AGC_HPFGAIN_12dB 4.623413f 1198 #define AGC_GAIN_12dB 2.981072f 1199 #define AGC_HPFGAIN_13dB 5.309573f 1200 #define AGC_GAIN_13dB 3.466836f 1201 #define AGC_HPFGAIN_14dB 6.079458f 1202 #define AGC_GAIN_14dB 4.011872f 1203 #define AGC_HPFGAIN_15dB 6.943282f 1204 #define AGC_GAIN_15dB 4.623413f 1205 1206 /************************************************************************************/ 1207 /* */ 1208 /* Volume control */ 1209 /* */ 1210 /************************************************************************************/ 1211 1212 /* Volume control gain */ 1213 #define VOLUME_MAX 0 /* In dBs */ 1214 #define VOLUME_SHIFT 0 /* In dBs */ 1215 1216 /* Volume control time constants */ 1217 #define VOL_TC_SHIFT 21 /* As a power of 2 */ 1218 #define VOL_TC_Fs8000 0.024690f 1219 #define VOL_TC_Fs11025 0.017977f 1220 #define VOL_TC_Fs12000 0.016529f 1221 #define VOL_TC_Fs16000 0.012422f 1222 #define VOL_TC_Fs22050 0.009029f 1223 #define VOL_TC_Fs24000 0.008299f 1224 #define VOL_TC_Fs32000 0.006231f 1225 #define VOL_TC_Fs44100 0.004525f 1226 #define VOL_TC_Fs48000 0.004158f 1227 #ifdef HIGHER_FS 1228 #define VOL_TC_Fs88200 0.002263f 1229 #define VOL_TC_Fs96000 0.002079f 1230 #define VOL_TC_Fs176400 0.001131f 1231 #define VOL_TC_Fs192000 0.001039f 1232 #endif 1233 #define MIX_TC_Fs8000 29365 /* Floating point value 0.896151 */ 1234 #define MIX_TC_Fs11025 30230 /* Floating point value 0.922548 */ 1235 #define MIX_TC_Fs12000 30422 /* Floating point value 0.928415 */ 1236 #define MIX_TC_Fs16000 30978 /* Floating point value 0.945387 */ 1237 #define MIX_TC_Fs22050 31451 /* Floating point value 0.959804 */ 1238 #define MIX_TC_Fs24000 31554 /* Floating point value 0.962956 */ 1239 #define MIX_TC_Fs32000 31850 /* Floating point value 0.971973 */ 1240 #define MIX_TC_Fs44100 32097 /* Floating point value 0.979515 */ 1241 #define MIX_TC_Fs48000 32150 /* Floating point value 0.981150 */ 1242 #ifdef HIGHER_FS 1243 /* Floating point value 0.989704 */ 1244 #define MIX_TC_Fs88200 32430 1245 #define MIX_TC_Fs96000 32456 /* Floating point value 0.990530 */ 1246 /* Floating point value 0.994838 */ 1247 #define MIX_TC_Fs176400 32598 1248 #define MIX_TC_Fs192000 32611 /* Floating point value 0.992524 */ 1249 #endif 1250 1251 #endif /*BUILD_FLOAT*/ 1252 #endif 1253