⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coeff.c

📁 2400bpsMELP语音编解码器浮点算法
💻 C
字号:
/*

2.4 kbps MELP Proposed Federal Standard speech coder

version 1.2

Copyright (c) 1996, Texas Instruments, Inc.  

Texas Instruments has intellectual property rights on the MELP
algorithm.  The Texas Instruments contact for licensing issues for
commercial and non-government use is William Gordon, Director,
Government Contracts, Texas Instruments Incorporated, Semiconductor
Group (phone 972 480 7442).


*/

/*  Coeff.c: filter coefficient file */
/*                                   */
/*                                                                  */
/* (C) 1993,1994  Texas Instruments                                 */
/*                                                                  */
#include	<stdio.h>
#include "melp.h"

/* Butterworth lowpass filter	*/
/* numerator */
float lpf_num[LPF_ORD+1] = {
      0.00105165,
      0.00630988,
      0.01577470,
      0.02103294,
      0.01577470,
      0.00630988,
      0.00105165};
/* denominator */
float lpf_den[LPF_ORD+1] = { 
      1.00000000,
     -2.97852993,
      4.13608100,
     -3.25976428,
      1.51727884,
     -0.39111723,
      0.04335699};

/* Butterworth bandpass filters */
float bpf_num[NUM_BANDS*(BPF_ORD+1)] = {
      0.00002883,
      0.00017296,
      0.00043239,
      0.00057652,
      0.00043239,
      0.00017296,
      0.00002883,
      0.00530041,
      0.00000000,
     -0.01590123,
      0.00000000,
      0.01590123,
      0.00000000,
     -0.00530041,
      0.03168934,
      0.00000000,
     -0.09506803,
     -0.00000000,
      0.09506803,
     -0.00000000,
     -0.03168934,
      0.03168934,
      0.00000000,
     -0.09506803,
      0.00000000,
      0.09506803,
      0.00000000,
     -0.03168934,
      0.00105165,
     -0.00630988,
      0.01577470,
     -0.02103294,
      0.01577470,
     -0.00630988,
      0.00105165};

float bpf_den[NUM_BANDS*(BPF_ORD+1)] = {
      1.00000000,
     -4.48456301,
      8.52900508,
     -8.77910797,
      5.14764268,
     -1.62771478,
      0.21658286,
      1.00000000,
     -4.42459751,
      8.79771496,
     -9.95335557,
      6.75320305,
     -2.60749972,
      0.45354593,
      1.00000000,
     -1.84699031,
      2.63060194,
     -2.21638838,
      1.57491237,
     -0.62291281,
      0.19782519,
      1.00000000,
      1.84699031,
      2.63060194,
      2.21638838,
      1.57491237,
      0.62291281,
      0.19782519,
      1.00000000,
      2.97852993,
      4.13608100,
      3.25976428,
      1.51727884,
      0.39111723,
      0.04335699};

/* Hamming window coefficents */
float win_cof[LPC_FRAME] = {
      0.08000000,
      0.08022927,
      0.08091685,
      0.08206205,
      0.08366374,
      0.08572031,
      0.08822971,
      0.09118945,
      0.09459658,
      0.09844769,
      0.10273895,
      0.10746609,
      0.11262438,
      0.11820869,
      0.12421345,
      0.13063268,
      0.13745997,
      0.14468852,
      0.15231113,
      0.16032019,
      0.16870773,
      0.17746538,
      0.18658441,
      0.19605574,
      0.20586991,
      0.21601716,
      0.22648736,
      0.23727007,
      0.24835455,
      0.25972975,
      0.27138433,
      0.28330667,
      0.29548489,
      0.30790684,
      0.32056016,
      0.33343221,
      0.34651017,
      0.35978102,
      0.37323150,
      0.38684823,
      0.40061762,
      0.41452595,
      0.42855935,
      0.44270384,
      0.45694532,
      0.47126959,
      0.48566237,
      0.50010932,
      0.51459603,
      0.52910806,
      0.54363095,
      0.55815022,
      0.57265140,
      0.58712003,
      0.60154169,
      0.61590200,
      0.63018666,
      0.64438141,
      0.65847211,
      0.67244472,
      0.68628531,
      0.69998007,
      0.71351536,
      0.72687769,
      0.74005374,
      0.75303036,
      0.76579464,
      0.77833383,
      0.79063545,
      0.80268724,
      0.81447716,
      0.82599349,
      0.83722473,
      0.84815969,
      0.85878747,
      0.86909747,
      0.87907943,
      0.88872338,
      0.89801971,
      0.90695917,
      0.91553283,
      0.92373215,
      0.93154896,
      0.93897547,
      0.94600427,
      0.95262835,
      0.95884112,
      0.96463638,
      0.97000835,
      0.97495168,
      0.97946144,
      0.98353313,
      0.98716270,
      0.99034653,
      0.99308145,
      0.99536472,
      0.99719408,
      0.99856769,
      0.99948420,
      0.99994268,
      0.99994268,
      0.99948420,
      0.99856769,
      0.99719408,
      0.99536472,
      0.99308145,
      0.99034653,
      0.98716270,
      0.98353313,
      0.97946144,
      0.97495168,
      0.97000835,
      0.96463638,
      0.95884112,
      0.95262835,
      0.94600427,
      0.93897547,
      0.93154896,
      0.92373215,
      0.91553283,
      0.90695917,
      0.89801971,
      0.88872338,
      0.87907943,
      0.86909747,
      0.85878747,
      0.84815969,
      0.83722473,
      0.82599349,
      0.81447716,
      0.80268724,
      0.79063545,
      0.77833383,
      0.76579464,
      0.75303036,
      0.74005374,
      0.72687769,
      0.71351536,
      0.69998007,
      0.68628531,
      0.67244472,
      0.65847211,
      0.64438141,
      0.63018666,
      0.61590200,
      0.60154169,
      0.58712003,
      0.57265140,
      0.55815022,
      0.54363095,
      0.52910806,
      0.51459603,
      0.50010932,
      0.48566237,
      0.47126959,
      0.45694532,
      0.44270384,
      0.42855935,
      0.41452595,
      0.40061762,
      0.38684823,
      0.37323150,
      0.35978102,
      0.34651017,
      0.33343221,
      0.32056016,
      0.30790684,
      0.29548489,
      0.28330667,
      0.27138433,
      0.25972975,
      0.24835455,
      0.23727007,
      0.22648736,
      0.21601716,
      0.20586991,
      0.19605574,
      0.18658441,
      0.17746538,
      0.16870773,
      0.16032019,
      0.15231113,
      0.14468852,
      0.13745997,
      0.13063268,
      0.12421345,
      0.11820869,
      0.11262438,
      0.10746609,
      0.10273895,
      0.09844769,
      0.09459658,
      0.09118945,
      0.08822971,
      0.08572031,
      0.08366374,
      0.08206205,
      0.08091685,
      0.08022927,
      0.08000000};

/* Bandpass filter coeffients */
float bp_cof[NUM_BANDS][MIX_ORD+1] = {
{
     -0.00000000,
     -0.00302890,
     -0.00701117,
     -0.01130619,
     -0.01494082,
     -0.01672586,
     -0.01544189,
     -0.01006619,
      0.00000000,
      0.01474923,
      0.03347158,
      0.05477206,
      0.07670890,
      0.09703726,
      0.11352143,
      0.12426379,
      0.12799355,
      0.12426379,
      0.11352143,
      0.09703726,
      0.07670890,
      0.05477206,
      0.03347158,
      0.01474923,
      0.00000000,
     -0.01006619,
     -0.01544189,
     -0.01672586,
     -0.01494082,
     -0.01130619,
     -0.00701117,
     -0.00302890,
     -0.00000000
},
{
     -0.00000000,
     -0.00249420,
     -0.00282091,
      0.00257679,
      0.01451271,
      0.02868120,
      0.03621179,
      0.02784469,
     -0.00000000,
     -0.04079870,
     -0.07849207,
     -0.09392213,
     -0.07451087,
     -0.02211575,
      0.04567473,
      0.10232715,
      0.12432599,
      0.10232715,
      0.04567473,
     -0.02211575,
     -0.07451087,
     -0.09392213,
     -0.07849207,
     -0.04079870,
     -0.00000000,
      0.02784469,
      0.03621179,
      0.02868120,
      0.01451271,
      0.00257679,
     -0.00282091,
     -0.00249420,
     -0.00000000
},
{
     -0.00000000,
     -0.00231491,
      0.00990113,
      0.02086129,
     -0.00000000,
     -0.03086123,
     -0.02180695,
      0.00769333,
     -0.00000000,
     -0.01127245,
      0.04726837,
      0.10106105,
     -0.00000000,
     -0.17904543,
     -0.16031428,
      0.09497157,
      0.25562154,
      0.09497157,
     -0.16031428,
     -0.17904543,
     -0.00000000,
      0.10106105,
      0.04726837,
     -0.01127245,
     -0.00000000,
      0.00769333,
     -0.02180695,
     -0.03086123,
     -0.00000000,
      0.02086129,
      0.00990113,
     -0.00231491,
     -0.00000000
},
{
     -0.00000000,
      0.00231491,
      0.00990113,
     -0.02086129,
      0.00000000,
      0.03086123,
     -0.02180695,
     -0.00769333,
     -0.00000000,
      0.01127245,
      0.04726837,
     -0.10106105,
      0.00000000,
      0.17904543,
     -0.16031428,
     -0.09497157,
      0.25562154,
     -0.09497157,
     -0.16031428,
      0.17904543,
      0.00000000,
     -0.10106105,
      0.04726837,
      0.01127245,
     -0.00000000,
     -0.00769333,
     -0.02180695,
      0.03086123,
      0.00000000,
     -0.02086129,
      0.00990113,
      0.00231491,
     -0.00000000
},
{
      0.00000000,
      0.00554149,
     -0.00981750,
      0.00856805,
     -0.00000000,
     -0.01267517,
      0.02162277,
     -0.01841647,
      0.00000000,
      0.02698425,
     -0.04686914,
      0.04150730,
     -0.00000000,
     -0.07353666,
      0.15896026,
     -0.22734513,
      0.25346255,
     -0.22734513,
      0.15896026,
     -0.07353666,
     -0.00000000,
      0.04150730,
     -0.04686914,
      0.02698425,
      0.00000000,
     -0.01841647,
      0.02162277,
     -0.01267517,
     -0.00000000,
      0.00856805,
     -0.00981750,
      0.00554149,
      0.00000000}};
/* Triangle pulse dispersion filter */
float disp_cof[DISP_ORD+1] = {
     -0.17304259,
     -0.01405709,
      0.01224406,
      0.11364226,
      0.00198199,
      0.00000658,
      0.04529633,
     -0.00092027,
     -0.00103078,
      0.02552787,
     -0.06339257,
     -0.00122031,
      0.01412525,
      0.24325127,
     -0.01767043,
     -0.00018612,
      0.05869485,
     -0.00327456,
      0.00607395,
      0.02753924,
     -0.03351673,
      0.00602189,
      0.01436539,
      0.82854582,
      0.00033165,
     -0.00360180,
      0.07343483,
     -0.00518645,
      0.01298488,
      0.02928440,
     -0.01989405,
      0.01216758,
      0.01180979,
     -0.38924775,
      0.00720325,
     -0.01154561,
      0.08426287,
     -0.00355720,
      0.02151233,
      0.02968464,
     -0.01247640,
      0.01854666,
      0.00076184,
     -0.07749640,
      0.01244697,
     -0.02721777,
      0.07266098,
      0.00472008,
      0.03526439,
      0.02674603,
     -0.00744038,
      0.02582623,
      0.00019707,
     -0.02825247,
      0.01720989,
     -0.06004292,
     -0.07076744,
      0.00914347,
      0.06082730,
      0.01805528,
     -0.00318634,
      0.03444110,
      0.00026302,
     -0.01053809,
      0.02165922};





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -