/* * Copyright (C) 2004-2010 NXP Software * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef __LVDBE_COEFFS_H__ #define __LVDBE_COEFFS_H__ /************************************************************************************/ /* */ /* General */ /* */ /************************************************************************************/ #define LVDBE_SCALESHIFT 10 /* As a power of 2 */ /************************************************************************************/ /* */ /* High Pass Filter coefficients */ /* */ /************************************************************************************/ /* Coefficients for centre frequency 55Hz */ #define HPF_Fs8000_Fc55_A0 0.958849f #define HPF_Fs8000_Fc55_A1 (-1.917698f) #define HPF_Fs8000_Fc55_A2 0.958849f #define HPF_Fs8000_Fc55_B1 (-1.939001f) #define HPF_Fs8000_Fc55_B2 0.940807f #define HPF_Fs11025_Fc55_A0 0.966909f #define HPF_Fs11025_Fc55_A1 (-1.933818f) #define HPF_Fs11025_Fc55_A2 0.966909f #define HPF_Fs11025_Fc55_B1 (-1.955732f) #define HPF_Fs11025_Fc55_B2 0.956690f #define HPF_Fs12000_Fc55_A0 0.968650f #define HPF_Fs12000_Fc55_A1 (-1.937300f) #define HPF_Fs12000_Fc55_A2 0.968650f #define HPF_Fs12000_Fc55_B1 (-1.959327f) #define HPF_Fs12000_Fc55_B2 0.960138f #define HPF_Fs16000_Fc55_A0 0.973588f #define HPF_Fs16000_Fc55_A1 (-1.947176f) #define HPF_Fs16000_Fc55_A2 0.973588f #define HPF_Fs16000_Fc55_B1 (-1.969494f) #define HPF_Fs16000_Fc55_B2 0.969952f #define HPF_Fs22050_Fc55_A0 0.977671f #define HPF_Fs22050_Fc55_A1 (-1.955343f) #define HPF_Fs22050_Fc55_A2 0.977671f #define HPF_Fs22050_Fc55_B1 (-1.977863f) #define HPF_Fs22050_Fc55_B2 0.978105f #define HPF_Fs24000_Fc55_A0 0.978551f #define HPF_Fs24000_Fc55_A1 (-1.957102f) #define HPF_Fs24000_Fc55_A2 0.978551f #define HPF_Fs24000_Fc55_B1 (-1.979662f) #define HPF_Fs24000_Fc55_B2 0.979866f #define HPF_Fs32000_Fc55_A0 0.981042f #define HPF_Fs32000_Fc55_A1 (-1.962084f) #define HPF_Fs32000_Fc55_A2 0.981042f #define HPF_Fs32000_Fc55_B1 (-1.984746f) #define HPF_Fs32000_Fc55_B2 0.984861f #define HPF_Fs44100_Fc55_A0 0.983097f #define HPF_Fs44100_Fc55_A1 (-1.966194f) #define HPF_Fs44100_Fc55_A2 0.983097f #define HPF_Fs44100_Fc55_B1 (-1.988931f) #define HPF_Fs44100_Fc55_B2 0.988992f #define HPF_Fs48000_Fc55_A0 0.983539f #define HPF_Fs48000_Fc55_A1 (-1.967079f) #define HPF_Fs48000_Fc55_A2 0.983539f #define HPF_Fs48000_Fc55_B1 (-1.989831f) #define HPF_Fs48000_Fc55_B2 0.989882f #define HPF_Fs88200_Fc55_A0 0.985818f #define HPF_Fs88200_Fc55_A1 (-1.971636f) #define HPF_Fs88200_Fc55_A2 0.985818f #define HPF_Fs88200_Fc55_B1 (-1.994466f) #define HPF_Fs88200_Fc55_B2 0.994481f #define HPF_Fs96000_Fc55_A0 0.986040f #define HPF_Fs96000_Fc55_A1 (-1.972080f) #define HPF_Fs96000_Fc55_A2 0.986040f #define HPF_Fs96000_Fc55_B1 (-1.994915f) #define HPF_Fs96000_Fc55_B2 0.994928f #define HPF_Fs176400_Fc55_A0 0.987183f #define HPF_Fs176400_Fc55_A1 (-1.974366f) #define HPF_Fs176400_Fc55_A2 0.987183f #define HPF_Fs176400_Fc55_B1 (-1.997233f) #define HPF_Fs176400_Fc55_B2 0.997237f #define HPF_Fs192000_Fc55_A0 0.987294f #define HPF_Fs192000_Fc55_A1 (-1.974588f) #define HPF_Fs192000_Fc55_A2 0.987294f #define HPF_Fs192000_Fc55_B1 (-1.997458f) #define HPF_Fs192000_Fc55_B2 0.997461f /* Coefficients for centre frequency 66Hz */ #define HPF_Fs8000_Fc66_A0 0.953016f #define HPF_Fs8000_Fc66_A1 (-1.906032f) #define HPF_Fs8000_Fc66_A2 0.953016f #define HPF_Fs8000_Fc66_B1 (-1.926810f) #define HPF_Fs8000_Fc66_B2 0.929396f #define HPF_Fs11025_Fc66_A0 0.962638f #define HPF_Fs11025_Fc66_A1 (-1.925275f) #define HPF_Fs11025_Fc66_A2 0.962638f #define HPF_Fs11025_Fc66_B1 (-1.946881f) #define HPF_Fs11025_Fc66_B2 0.948256f #define HPF_Fs12000_Fc66_A0 0.964718f #define HPF_Fs12000_Fc66_A1 (-1.929435f) #define HPF_Fs12000_Fc66_A2 0.964718f #define HPF_Fs12000_Fc66_B1 (-1.951196f) #define HPF_Fs12000_Fc66_B2 0.952359f #define HPF_Fs16000_Fc66_A0 0.970622f #define HPF_Fs16000_Fc66_A1 (-1.941244f) #define HPF_Fs16000_Fc66_A2 0.970622f #define HPF_Fs16000_Fc66_B1 (-1.963394f) #define HPF_Fs16000_Fc66_B2 0.964052f #define HPF_Fs22050_Fc66_A0 0.975509f #define HPF_Fs22050_Fc66_A1 (-1.951019f) #define HPF_Fs22050_Fc66_A2 0.975509f #define HPF_Fs22050_Fc66_B1 (-1.973436f) #define HPF_Fs22050_Fc66_B2 0.973784f #define HPF_Fs24000_Fc66_A0 0.976563f #define HPF_Fs24000_Fc66_A1 (-1.953125f) #define HPF_Fs24000_Fc66_A2 0.976563f #define HPF_Fs24000_Fc66_B1 (-1.975594f) #define HPF_Fs24000_Fc66_B2 0.975889f #define HPF_Fs32000_Fc66_A0 0.979547f #define HPF_Fs32000_Fc66_A1 (-1.959093f) #define HPF_Fs32000_Fc66_A2 0.979547f #define HPF_Fs32000_Fc66_B1 (-1.981695f) #define HPF_Fs32000_Fc66_B2 0.981861f #define HPF_Fs44100_Fc66_A0 0.982010f #define HPF_Fs44100_Fc66_A1 (-1.964019f) #define HPF_Fs44100_Fc66_A2 0.982010f #define HPF_Fs44100_Fc66_B1 (-1.986718f) #define HPF_Fs44100_Fc66_B2 0.986805f #define HPF_Fs48000_Fc66_A0 0.982540f #define HPF_Fs48000_Fc66_A1 (-1.965079f) #define HPF_Fs48000_Fc66_A2 0.982540f #define HPF_Fs48000_Fc66_B1 (-1.987797f) #define HPF_Fs48000_Fc66_B2 0.987871f #define HPF_Fs88200_Fc66_A0 0.985273f #define HPF_Fs88200_Fc66_A1 (-1.970546f) #define HPF_Fs88200_Fc66_A2 0.985273f #define HPF_Fs88200_Fc66_B1 (-1.993359f) #define HPF_Fs88200_Fc66_B2 0.993381f #define HPF_Fs96000_Fc66_A0 0.985539f #define HPF_Fs96000_Fc66_A1 (-1.971077f) #define HPF_Fs96000_Fc66_A2 0.985539f #define HPF_Fs96000_Fc66_B1 (-1.993898f) #define HPF_Fs96000_Fc66_B2 0.993917f #define HPF_Fs176400_Fc66_A0 0.986910f #define HPF_Fs176400_Fc66_A1 (-1.973820f) #define HPF_Fs176400_Fc66_A2 0.986910f #define HPF_Fs176400_Fc66_B1 (-1.996679f) #define HPF_Fs176400_Fc66_B2 0.996685f #define HPF_Fs192000_Fc66_A0 0.987043f #define HPF_Fs192000_Fc66_A1 (-1.974086f) #define HPF_Fs192000_Fc66_A2 0.987043f #define HPF_Fs192000_Fc66_B1 (-1.996949f) #define HPF_Fs192000_Fc66_B2 0.996954f /* Coefficients for centre frequency 78Hz */ #define HPF_Fs8000_Fc78_A0 0.946693f #define HPF_Fs8000_Fc78_A1 (-1.893387f) #define HPF_Fs8000_Fc78_A2 0.946693f #define HPF_Fs8000_Fc78_B1 (-1.913517f) #define HPF_Fs8000_Fc78_B2 0.917105f #define HPF_Fs11025_Fc78_A0 0.957999f #define HPF_Fs11025_Fc78_A1 (-1.915998f) #define HPF_Fs11025_Fc78_A2 0.957999f #define HPF_Fs11025_Fc78_B1 (-1.937229f) #define HPF_Fs11025_Fc78_B2 0.939140f #define HPF_Fs12000_Fc78_A0 0.960446f #define HPF_Fs12000_Fc78_A1 (-1.920892f) #define HPF_Fs12000_Fc78_A2 0.960446f #define HPF_Fs12000_Fc78_B1 (-1.942326f) #define HPF_Fs12000_Fc78_B2 0.943944f #define HPF_Fs16000_Fc78_A0 0.967397f #define HPF_Fs16000_Fc78_A1 (-1.934794f) #define HPF_Fs16000_Fc78_A2 0.967397f #define HPF_Fs16000_Fc78_B1 (-1.956740f) #define HPF_Fs16000_Fc78_B2 0.957656f #define HPF_Fs22050_Fc78_A0 0.973156f #define HPF_Fs22050_Fc78_A1 (-1.946313f) #define HPF_Fs22050_Fc78_A2 0.973156f #define HPF_Fs22050_Fc78_B1 (-1.968607f) #define HPF_Fs22050_Fc78_B2 0.969092f #define HPF_Fs24000_Fc78_A0 0.974398f #define HPF_Fs24000_Fc78_A1 (-1.948797f) #define HPF_Fs24000_Fc78_A2 0.974398f #define HPF_Fs24000_Fc78_B1 (-1.971157f) #define HPF_Fs24000_Fc78_B2 0.971568f #define HPF_Fs32000_Fc78_A0 0.977918f #define HPF_Fs32000_Fc78_A1 (-1.955836f) #define HPF_Fs32000_Fc78_A2 0.977918f #define HPF_Fs32000_Fc78_B1 (-1.978367f) #define HPF_Fs32000_Fc78_B2 0.978599f #define HPF_Fs44100_Fc78_A0 0.980824f #define HPF_Fs44100_Fc78_A1 (-1.961649f) #define HPF_Fs44100_Fc78_A2 0.980824f #define HPF_Fs44100_Fc78_B1 (-1.984303f) #define HPF_Fs44100_Fc78_B2 0.984425f #define HPF_Fs48000_Fc78_A0 0.981450f #define HPF_Fs48000_Fc78_A1 (-1.962900f) #define HPF_Fs48000_Fc78_A2 0.981450f #define HPF_Fs48000_Fc78_B1 (-1.985578f) #define HPF_Fs48000_Fc78_B2 0.985681f #define HPF_Fs88200_Fc78_A0 0.984678f #define HPF_Fs88200_Fc78_A1 (-1.969356f) #define HPF_Fs88200_Fc78_A2 0.984678f #define HPF_Fs88200_Fc78_B1 (-1.992151f) #define HPF_Fs88200_Fc78_B2 0.992182f #define HPF_Fs96000_Fc78_A0 0.984992f #define HPF_Fs96000_Fc78_A1 (-1.969984f) #define HPF_Fs96000_Fc78_A2 0.984992f #define HPF_Fs96000_Fc78_B1 (-1.992789f) #define HPF_Fs96000_Fc78_B2 0.992815f #define HPF_Fs176400_Fc78_A0 0.986612f #define HPF_Fs176400_Fc78_A1 (-1.973224f) #define HPF_Fs176400_Fc78_A2 0.986612f #define HPF_Fs176400_Fc78_B1 (-1.996076f) #define HPF_Fs176400_Fc78_B2 0.996083f #define HPF_Fs192000_Fc78_A0 0.986769f #define HPF_Fs192000_Fc78_A1 (-1.973539f) #define HPF_Fs192000_Fc78_A2 0.986769f #define HPF_Fs192000_Fc78_B1 (-1.996394f) #define HPF_Fs192000_Fc78_B2 0.996401f /* Coefficients for centre frequency 90Hz */ #define HPF_Fs8000_Fc90_A0 0.940412f #define HPF_Fs8000_Fc90_A1 (-1.880825f) #define HPF_Fs8000_Fc90_A2 0.940412f #define HPF_Fs8000_Fc90_B1 (-1.900231f) #define HPF_Fs8000_Fc90_B2 0.904977f #define HPF_Fs11025_Fc90_A0 0.953383f #define HPF_Fs11025_Fc90_A1 (-1.906766f) #define HPF_Fs11025_Fc90_A2 0.953383f #define HPF_Fs11025_Fc90_B1 (-1.927579f) #define HPF_Fs11025_Fc90_B2 0.930111f #define HPF_Fs12000_Fc90_A0 0.956193f #define HPF_Fs12000_Fc90_A1 (-1.912387f) #define HPF_Fs12000_Fc90_A2 0.956193f #define HPF_Fs12000_Fc90_B1 (-1.933459f) #define HPF_Fs12000_Fc90_B2 0.935603f #define HPF_Fs16000_Fc90_A0 0.964183f #define HPF_Fs16000_Fc90_A1 (-1.928365f) #define HPF_Fs16000_Fc90_A2 0.964183f #define HPF_Fs16000_Fc90_B1 (-1.950087f) #define HPF_Fs16000_Fc90_B2 0.951303f #define HPF_Fs22050_Fc90_A0 0.970809f #define HPF_Fs22050_Fc90_A1 (-1.941618f) #define HPF_Fs22050_Fc90_A2 0.970809f #define HPF_Fs22050_Fc90_B1 (-1.963778f) #define HPF_Fs22050_Fc90_B2 0.964423f #define HPF_Fs24000_Fc90_A0 0.972239f #define HPF_Fs24000_Fc90_A1 (-1.944477f) #define HPF_Fs24000_Fc90_A2 0.972239f #define HPF_Fs24000_Fc90_B1 (-1.966721f) #define HPF_Fs24000_Fc90_B2 0.967266f #define HPF_Fs32000_Fc90_A0 0.976292f #define HPF_Fs32000_Fc90_A1 (-1.952584f) #define HPF_Fs32000_Fc90_A2 0.976292f #define HPF_Fs32000_Fc90_B1 (-1.975040f) #define HPF_Fs32000_Fc90_B2 0.975347f #define HPF_Fs44100_Fc90_A0 0.979641f #define HPF_Fs44100_Fc90_A1 (-1.959282f) #define HPF_Fs44100_Fc90_A2 0.979641f #define HPF_Fs44100_Fc90_B1 (-1.981888f) #define HPF_Fs44100_Fc90_B2 0.982050f #define HPF_Fs48000_Fc90_A0 0.980362f #define HPF_Fs48000_Fc90_A1 (-1.960724f) #define HPF_Fs48000_Fc90_A2 0.980362f #define HPF_Fs48000_Fc90_B1 (-1.983359f) #define HPF_Fs48000_Fc90_B2 0.983497f #define HPF_Fs88200_Fc90_A0 0.984084f #define HPF_Fs88200_Fc90_A1 (-1.968168f) #define HPF_Fs88200_Fc90_A2 0.984084f #define HPF_Fs88200_Fc90_B1 (-1.990944f) #define HPF_Fs88200_Fc90_B2 0.990985f #define HPF_Fs96000_Fc90_A0 0.984446f #define HPF_Fs96000_Fc90_A1 (-1.968892f) #define HPF_Fs96000_Fc90_A2 0.984446f #define HPF_Fs96000_Fc90_B1 (-1.991680f) #define HPF_Fs96000_Fc90_B2 0.991714f #define HPF_Fs176400_Fc90_A0 0.986314f #define HPF_Fs176400_Fc90_A1 (-1.972629f) #define HPF_Fs176400_Fc90_A2 0.986314f #define HPF_Fs176400_Fc90_B1 (-1.995472f) #define HPF_Fs176400_Fc90_B2 0.995482f #define HPF_Fs192000_Fc90_A0 0.986496f #define HPF_Fs192000_Fc90_A1 (-1.972992f) #define HPF_Fs192000_Fc90_A2 0.986496f #define HPF_Fs192000_Fc90_B1 (-1.995840f) #define HPF_Fs192000_Fc90_B2 0.995848f /************************************************************************************/ /* */ /* Band Pass Filter coefficients */ /* */ /************************************************************************************/ /* Coefficients for centre frequency 55Hz */ #define BPF_Fs8000_Fc55_A0 0.009197f #define BPF_Fs8000_Fc55_A1 0.000000f #define BPF_Fs8000_Fc55_A2 (-0.009197f) #define BPF_Fs8000_Fc55_B1 (-1.979545f) #define BPF_Fs8000_Fc55_B2 0.981393f #define BPF_Fs11025_Fc55_A0 0.006691f #define BPF_Fs11025_Fc55_A1 0.000000f #define BPF_Fs11025_Fc55_A2 (-0.006691f) #define BPF_Fs11025_Fc55_B1 (-1.985488f) #define BPF_Fs11025_Fc55_B2 0.986464f #define BPF_Fs12000_Fc55_A0 0.006150f #define BPF_Fs12000_Fc55_A1 0.000000f #define BPF_Fs12000_Fc55_A2 (-0.006150f) #define BPF_Fs12000_Fc55_B1 (-1.986733f) #define BPF_Fs12000_Fc55_B2 0.987557f #define BPF_Fs16000_Fc55_A0 0.004620f #define BPF_Fs16000_Fc55_A1 0.000000f #define BPF_Fs16000_Fc55_A2 (-0.004620f) #define BPF_Fs16000_Fc55_B1 (-1.990189f) #define BPF_Fs16000_Fc55_B2 0.990653f #define BPF_Fs22050_Fc55_A0 0.003357f #define BPF_Fs22050_Fc55_A1 0.000000f #define BPF_Fs22050_Fc55_A2 (-0.003357f) #define BPF_Fs22050_Fc55_B1 (-1.992964f) #define BPF_Fs22050_Fc55_B2 0.993209f #define BPF_Fs24000_Fc55_A0 0.003085f #define BPF_Fs24000_Fc55_A1 0.000000f #define BPF_Fs24000_Fc55_A2 (-0.003085f) #define BPF_Fs24000_Fc55_B1 (-1.993552f) #define BPF_Fs24000_Fc55_B2 0.993759f #define BPF_Fs32000_Fc55_A0 0.002315f #define BPF_Fs32000_Fc55_A1 0.000000f #define BPF_Fs32000_Fc55_A2 (-0.002315f) #define BPF_Fs32000_Fc55_B1 (-1.995199f) #define BPF_Fs32000_Fc55_B2 0.995316f #define BPF_Fs44100_Fc55_A0 0.001681f #define BPF_Fs44100_Fc55_A1 0.000000f #define BPF_Fs44100_Fc55_A2 (-0.001681f) #define BPF_Fs44100_Fc55_B1 (-1.996537f) #define BPF_Fs44100_Fc55_B2 0.996599f #define BPF_Fs48000_Fc55_A0 0.001545f #define BPF_Fs48000_Fc55_A1 0.000000f #define BPF_Fs48000_Fc55_A2 (-0.001545f) #define BPF_Fs48000_Fc55_B1 (-1.996823f) #define BPF_Fs48000_Fc55_B2 0.996875f #define BPF_Fs88200_Fc55_A0 0.000831f #define BPF_Fs88200_Fc55_A1 0.000000f #define BPF_Fs88200_Fc55_A2 (-0.000831f) #define BPF_Fs88200_Fc55_B1 (-1.998321f) #define BPF_Fs88200_Fc55_B2 0.998338f #define BPF_Fs96000_Fc55_A0 0.000762f #define BPF_Fs96000_Fc55_A1 0.000000f #define BPF_Fs96000_Fc55_A2 (-0.000762f) #define BPF_Fs96000_Fc55_B1 (-1.998461f) #define BPF_Fs96000_Fc55_B2 0.998477f #define BPF_Fs176400_Fc55_A0 0.000416f #define BPF_Fs176400_Fc55_A1 0.000000f #define BPF_Fs176400_Fc55_A2 (-0.000416f) #define BPF_Fs176400_Fc55_B1 (-1.999164f) #define BPF_Fs176400_Fc55_B2 0.999169f #define BPF_Fs192000_Fc55_A0 0.000381f #define BPF_Fs192000_Fc55_A1 0.000000f #define BPF_Fs192000_Fc55_A2 (-0.000381f) #define BPF_Fs192000_Fc55_B1 (-1.999234f) #define BPF_Fs192000_Fc55_B2 0.999238f /* Coefficients for centre frequency 66Hz */ #define BPF_Fs8000_Fc66_A0 0.012648f #define BPF_Fs8000_Fc66_A1 0.000000f #define BPF_Fs8000_Fc66_A2 (-0.012648f) #define BPF_Fs8000_Fc66_B1 (-1.971760f) #define BPF_Fs8000_Fc66_B2 0.974412f #define BPF_Fs11025_Fc66_A0 0.009209f #define BPF_Fs11025_Fc66_A1 0.000000f #define BPF_Fs11025_Fc66_A2 (-0.009209f) #define BPF_Fs11025_Fc66_B1 (-1.979966f) #define BPF_Fs11025_Fc66_B2 0.981368f #define BPF_Fs12000_Fc66_A0 0.008468f #define BPF_Fs12000_Fc66_A1 0.000000f #define BPF_Fs12000_Fc66_A2 (-0.008468f) #define BPF_Fs12000_Fc66_B1 (-1.981685f) #define BPF_Fs12000_Fc66_B2 0.982869f #define BPF_Fs16000_Fc66_A0 0.006364f #define BPF_Fs16000_Fc66_A1 0.000000f #define BPF_Fs16000_Fc66_A2 (-0.006364f) #define BPF_Fs16000_Fc66_B1 (-1.986457f) #define BPF_Fs16000_Fc66_B2 0.987124f #define BPF_Fs22050_Fc66_A0 0.004626f #define BPF_Fs22050_Fc66_A1 0.000000f #define BPF_Fs22050_Fc66_A2 (-0.004626f) #define BPF_Fs22050_Fc66_B1 (-1.990288f) #define BPF_Fs22050_Fc66_B2 0.990641f #define BPF_Fs24000_Fc66_A0 0.004252f #define BPF_Fs24000_Fc66_A1 0.000000f #define BPF_Fs24000_Fc66_A2 (-0.004252f) #define BPF_Fs24000_Fc66_B1 (-1.991100f) #define BPF_Fs24000_Fc66_B2 0.991398f #define BPF_Fs32000_Fc66_A0 0.003192f #define BPF_Fs32000_Fc66_A1 0.000000f #define BPF_Fs32000_Fc66_A2 (-0.003192f) #define BPF_Fs32000_Fc66_B1 (-1.993374f) #define BPF_Fs32000_Fc66_B2 0.993541f #define BPF_Fs44100_Fc66_A0 0.002318f #define BPF_Fs44100_Fc66_A1 0.000000f #define BPF_Fs44100_Fc66_A2 (-0.002318f) #define BPF_Fs44100_Fc66_B1 (-1.995221f) #define BPF_Fs44100_Fc66_B2 0.995309f #define BPF_Fs48000_Fc66_A0 0.002131f #define BPF_Fs48000_Fc66_A1 0.000000f #define BPF_Fs48000_Fc66_A2 (-0.002131f) #define BPF_Fs48000_Fc66_B1 (-1.995615f) #define BPF_Fs48000_Fc66_B2 0.995690f #define BPF_Fs88200_Fc66_A0 0.001146f #define BPF_Fs88200_Fc66_A1 0.000000f #define BPF_Fs88200_Fc66_A2 (-0.001146f) #define BPF_Fs88200_Fc66_B1 (-1.997684f) #define BPF_Fs88200_Fc66_B2 0.997708f #define BPF_Fs96000_Fc66_A0 0.001055f #define BPF_Fs96000_Fc66_A1 0.000000f #define BPF_Fs96000_Fc66_A2 (-0.001055f) #define BPF_Fs96000_Fc66_B1 (-1.997868f) #define BPF_Fs96000_Fc66_B2 0.997891f #define BPF_Fs176400_Fc66_A0 0.000573f #define BPF_Fs176400_Fc66_A1 0.000000f #define BPF_Fs176400_Fc66_A2 (-0.000573f) #define BPF_Fs176400_Fc66_B1 (-1.998847f) #define BPF_Fs176400_Fc66_B2 0.998853f #define BPF_Fs192000_Fc66_A0 0.000528f #define BPF_Fs192000_Fc66_A1 0.000000f #define BPF_Fs192000_Fc66_A2 (-0.000528f) #define BPF_Fs192000_Fc66_B1 (-1.998939f) #define BPF_Fs192000_Fc66_B2 0.998945f /* Coefficients for centre frequency 78Hz */ #define BPF_Fs8000_Fc78_A0 0.018572f #define BPF_Fs8000_Fc78_A1 0.000000f #define BPF_Fs8000_Fc78_A2 (-0.018572f) #define BPF_Fs8000_Fc78_B1 (-1.958745f) #define BPF_Fs8000_Fc78_B2 0.962427f #define BPF_Fs11025_Fc78_A0 0.013545f #define BPF_Fs11025_Fc78_A1 0.000000f #define BPF_Fs11025_Fc78_A2 (-0.013545f) #define BPF_Fs11025_Fc78_B1 (-1.970647f) #define BPF_Fs11025_Fc78_B2 0.972596f #define BPF_Fs12000_Fc78_A0 0.012458f #define BPF_Fs12000_Fc78_A1 0.000000f #define BPF_Fs12000_Fc78_A2 (-0.012458f) #define BPF_Fs12000_Fc78_B1 (-1.973148f) #define BPF_Fs12000_Fc78_B2 0.974795f #define BPF_Fs16000_Fc78_A0 0.009373f #define BPF_Fs16000_Fc78_A1 0.000000f #define BPF_Fs16000_Fc78_A2 (-0.009373f) #define BPF_Fs16000_Fc78_B1 (-1.980108f) #define BPF_Fs16000_Fc78_B2 0.981037f #define BPF_Fs22050_Fc78_A0 0.006819f #define BPF_Fs22050_Fc78_A1 0.000000f #define BPF_Fs22050_Fc78_A2 (-0.006819f) #define BPF_Fs22050_Fc78_B1 (-1.985714f) #define BPF_Fs22050_Fc78_B2 0.986204f #define BPF_Fs24000_Fc78_A0 0.006268f #define BPF_Fs24000_Fc78_A1 0.000000f #define BPF_Fs24000_Fc78_A2 (-0.006268f) #define BPF_Fs24000_Fc78_B1 (-1.986904f) #define BPF_Fs24000_Fc78_B2 0.987318f #define BPF_Fs32000_Fc78_A0 0.004709f #define BPF_Fs32000_Fc78_A1 0.000000f #define BPF_Fs32000_Fc78_A2 (-0.004709f) #define BPF_Fs32000_Fc78_B1 (-1.990240f) #define BPF_Fs32000_Fc78_B2 0.990473f #define BPF_Fs44100_Fc78_A0 0.003421f #define BPF_Fs44100_Fc78_A1 0.000000f #define BPF_Fs44100_Fc78_A2 (-0.003421f) #define BPF_Fs44100_Fc78_B1 (-1.992955f) #define BPF_Fs44100_Fc78_B2 0.993078f #define BPF_Fs48000_Fc78_A0 0.003144f #define BPF_Fs48000_Fc78_A1 0.000000f #define BPF_Fs48000_Fc78_A2 (-0.003144f) #define BPF_Fs48000_Fc78_B1 (-1.993535f) #define BPF_Fs48000_Fc78_B2 0.993639f #define BPF_Fs88200_Fc78_A0 0.001693f #define BPF_Fs88200_Fc78_A1 0.000000f #define BPF_Fs88200_Fc78_A2 (-0.001693f) #define BPF_Fs88200_Fc78_B1 (-1.996582f) #define BPF_Fs88200_Fc78_B2 0.996615f #define BPF_Fs96000_Fc78_A0 0.001555f #define BPF_Fs96000_Fc78_A1 0.000000f #define BPF_Fs96000_Fc78_A2 (-0.0015555f) #define BPF_Fs96000_Fc78_B1 (-1.996860f) #define BPF_Fs96000_Fc78_B2 0.996891f #define BPF_Fs176400_Fc78_A0 0.000847f #define BPF_Fs176400_Fc78_A1 0.000000f #define BPF_Fs176400_Fc78_A2 (-0.000847f) #define BPF_Fs176400_Fc78_B1 (-1.998298f) #define BPF_Fs176400_Fc78_B2 0.998306f #define BPF_Fs192000_Fc78_A0 0.000778f #define BPF_Fs192000_Fc78_A1 0.000000f #define BPF_Fs192000_Fc78_A2 (-0.000778f) #define BPF_Fs192000_Fc78_B1 (-1.998437f) #define BPF_Fs192000_Fc78_B2 0.998444f /* Coefficients for centre frequency 90Hz */ #define BPF_Fs8000_Fc90_A0 0.022760f #define BPF_Fs8000_Fc90_A1 0.000000f #define BPF_Fs8000_Fc90_A2 (-0.022760f) #define BPF_Fs8000_Fc90_B1 (-1.949073f) #define BPF_Fs8000_Fc90_B2 0.953953f #define BPF_Fs11025_Fc90_A0 0.016619f #define BPF_Fs11025_Fc90_A1 0.000000f #define BPF_Fs11025_Fc90_A2 (-0.016619f) #define BPF_Fs11025_Fc90_B1 (-1.963791f) #define BPF_Fs11025_Fc90_B2 0.966377f #define BPF_Fs12000_Fc90_A0 0.015289f #define BPF_Fs12000_Fc90_A1 0.000000f #define BPF_Fs12000_Fc90_A2 (-0.015289f) #define BPF_Fs12000_Fc90_B1 (-1.966882f) #define BPF_Fs12000_Fc90_B2 0.969067f #define BPF_Fs16000_Fc90_A0 0.011511f #define BPF_Fs16000_Fc90_A1 0.000000f #define BPF_Fs16000_Fc90_A2 (-0.011511f) #define BPF_Fs16000_Fc90_B1 (-1.975477f) #define BPF_Fs16000_Fc90_B2 0.976711f #define BPF_Fs22050_Fc90_A0 0.008379f #define BPF_Fs22050_Fc90_A1 0.000000f #define BPF_Fs22050_Fc90_A2 (-0.008379f) #define BPF_Fs22050_Fc90_B1 (-1.982395f) #define BPF_Fs22050_Fc90_B2 0.983047f #define BPF_Fs24000_Fc90_A0 0.007704f #define BPF_Fs24000_Fc90_A1 0.000000f #define BPF_Fs24000_Fc90_A2 (-0.007704f) #define BPF_Fs24000_Fc90_B1 (-1.983863f) #define BPF_Fs24000_Fc90_B2 0.984414f #define BPF_Fs32000_Fc90_A0 0.005789f #define BPF_Fs32000_Fc90_A1 0.000000f #define BPF_Fs32000_Fc90_A2 (-0.005789f) #define BPF_Fs32000_Fc90_B1 (-1.987977f) #define BPF_Fs32000_Fc90_B2 0.988288f #define BPF_Fs44100_Fc90_A0 0.004207f #define BPF_Fs44100_Fc90_A1 0.000000f #define BPF_Fs44100_Fc90_A2 (-0.004207f) #define BPF_Fs44100_Fc90_B1 (-1.991324f) #define BPF_Fs44100_Fc90_B2 0.991488f #define BPF_Fs48000_Fc90_A0 0.003867f #define BPF_Fs48000_Fc90_A1 0.000000f #define BPF_Fs48000_Fc90_A2 (-0.003867f) #define BPF_Fs48000_Fc90_B1 (-1.992038f) #define BPF_Fs48000_Fc90_B2 0.992177f #define BPF_Fs88200_Fc90_A0 0.002083f #define BPF_Fs88200_Fc90_A1 0.000000f #define BPF_Fs88200_Fc90_A2 (-0.002083f) #define BPF_Fs88200_Fc90_B1 (-1.995791f) #define BPF_Fs88200_Fc90_B2 0.995835f #define BPF_Fs96000_Fc90_A0 0.001913f #define BPF_Fs96000_Fc90_A1 0.000000f #define BPF_Fs96000_Fc90_A2 (-0.001913f) #define BPF_Fs96000_Fc90_B1 (-1.996134f) #define BPF_Fs96000_Fc90_B2 0.996174f #define BPF_Fs176400_Fc90_A0 0.001042f #define BPF_Fs176400_Fc90_A1 0.000000f #define BPF_Fs176400_Fc90_A2 (-0.001042f) #define BPF_Fs176400_Fc90_B1 (-1.997904f) #define BPF_Fs176400_Fc90_B2 0.997915f #define BPF_Fs192000_Fc90_A0 0.000958f #define BPF_Fs192000_Fc90_A1 0.000000f #define BPF_Fs192000_Fc90_A2 (-0.000958f) #define BPF_Fs192000_Fc90_B1 (-1.998075f) #define BPF_Fs192000_Fc90_B2 0.998085f /************************************************************************************/ /* */ /* Automatic Gain Control time constants and gain settings */ /* */ /************************************************************************************/ /* AGC Time constants */ #define AGC_ATTACK_Fs8000 0.841395f #define AGC_ATTACK_Fs11025 0.882223f #define AGC_ATTACK_Fs12000 0.891251f #define AGC_ATTACK_Fs16000 0.917276f #define AGC_ATTACK_Fs22050 0.939267f #define AGC_ATTACK_Fs24000 0.944061f #define AGC_ATTACK_Fs32000 0.957745f #define AGC_ATTACK_Fs44100 0.969158f #define AGC_ATTACK_Fs48000 0.971628f #define AGC_ATTACK_Fs88200 0.984458f #define AGC_ATTACK_Fs96000 0.985712f #define AGC_ATTACK_Fs176400 0.992199f #define AGC_ATTACK_Fs192000 0.992830f #define DECAY_SHIFT 10 #define AGC_DECAY_Fs8000 0.000042f #define AGC_DECAY_Fs11025 0.000030f #define AGC_DECAY_Fs12000 0.000028f #define AGC_DECAY_Fs16000 0.000021f #define AGC_DECAY_Fs22050 0.000015f #define AGC_DECAY_Fs24000 0.000014f #define AGC_DECAY_Fs32000 0.000010f #define AGC_DECAY_Fs44100 0.000008f #define AGC_DECAY_Fs48000 0.000007f #define AGC_DECAY_Fs88200 0.0000038f #define AGC_DECAY_FS96000 0.0000035f #define AGC_DECAY_Fs176400 0.00000188f #define AGC_DECAY_FS192000 0.00000175f /* AGC Gain settings */ #define AGC_GAIN_SCALE 31 /* As a power of 2 */ #define AGC_GAIN_SHIFT 4 /* As a power of 2 */ #define AGC_TARGETLEVEL 0.988553f #define AGC_HPFGAIN_0dB 0.412538f #define AGC_GAIN_0dB 0.000000f #define AGC_HPFGAIN_1dB 0.584893f #define AGC_GAIN_1dB 0.122018f #define AGC_HPFGAIN_2dB 0.778279f #define AGC_GAIN_2dB 0.258925f #define AGC_HPFGAIN_3dB 0.995262f #define AGC_GAIN_3dB 0.412538f #define AGC_HPFGAIN_4dB 1.238721f #define AGC_GAIN_4dB 0.584893f #define AGC_HPFGAIN_5dB 1.511886f #define AGC_GAIN_5dB 0.778279f #define AGC_HPFGAIN_6dB 1.818383f #define AGC_GAIN_6dB 0.995262f #define AGC_HPFGAIN_7dB 2.162278f #define AGC_GAIN_7dB 1.238721f #define AGC_HPFGAIN_8dB 2.548134f #define AGC_GAIN_8dB 1.511886f #define AGC_HPFGAIN_9dB 2.981072f #define AGC_GAIN_9dB 1.818383f #define AGC_HPFGAIN_10dB 3.466836f #define AGC_GAIN_10dB 2.162278f #define AGC_HPFGAIN_11dB 4.011872f #define AGC_GAIN_11dB 2.548134f #define AGC_HPFGAIN_12dB 4.623413f #define AGC_GAIN_12dB 2.981072f #define AGC_HPFGAIN_13dB 5.309573f #define AGC_GAIN_13dB 3.466836f #define AGC_HPFGAIN_14dB 6.079458f #define AGC_GAIN_14dB 4.011872f #define AGC_HPFGAIN_15dB 6.943282f #define AGC_GAIN_15dB 4.623413f /************************************************************************************/ /* */ /* Volume control */ /* */ /************************************************************************************/ /* Volume control gain */ #define VOLUME_MAX 0 /* In dBs */ #define VOLUME_SHIFT 0 /* In dBs */ /* Volume control time constants */ #define VOL_TC_SHIFT 21 /* As a power of 2 */ #define VOL_TC_Fs8000 0.024690f #define VOL_TC_Fs11025 0.017977f #define VOL_TC_Fs12000 0.016529f #define VOL_TC_Fs16000 0.012422f #define VOL_TC_Fs22050 0.009029f #define VOL_TC_Fs24000 0.008299f #define VOL_TC_Fs32000 0.006231f #define VOL_TC_Fs44100 0.004525f #define VOL_TC_Fs48000 0.004158f #define VOL_TC_Fs88200 0.002263f #define VOL_TC_Fs96000 0.002079f #define VOL_TC_Fs176400 0.001131f #define VOL_TC_Fs192000 0.001039f #define MIX_TC_Fs8000 29365 /* Floating point value 0.896151 */ #define MIX_TC_Fs11025 30230 /* Floating point value 0.922548 */ #define MIX_TC_Fs12000 30422 /* Floating point value 0.928415 */ #define MIX_TC_Fs16000 30978 /* Floating point value 0.945387 */ #define MIX_TC_Fs22050 31451 /* Floating point value 0.959804 */ #define MIX_TC_Fs24000 31554 /* Floating point value 0.962956 */ #define MIX_TC_Fs32000 31850 /* Floating point value 0.971973 */ #define MIX_TC_Fs44100 32097 /* Floating point value 0.979515 */ #define MIX_TC_Fs48000 32150 /* Floating point value 0.981150 */ /* Floating point value 0.989704 */ #define MIX_TC_Fs88200 32430 #define MIX_TC_Fs96000 32456 /* Floating point value 0.990530 */ /* Floating point value 0.994838 */ #define MIX_TC_Fs176400 32598 #define MIX_TC_Fs192000 32611 /* Floating point value 0.992524 */ #endif