anafilter.cxx

来自「MiniSip Client with DomainKeys Authentic」· CXX 代码 · 共 77 行

CXX
77 行
字号
//A.10 anaFilter.c        /******************************************************************            iLBC Speech Coder ANSI-C Source Code            anaFilter.c             Copyright (c) 2001,        Global IP Sound AB.        All rights reserved.        ******************************************************************/     #include <string.h> #include"iLBC_define.h" //using namespace std;       /*----------------------------------------------------------------*     *  LP analysis filter.     *---------------------------------------------------------------*/            void anaFilter(        float *In,  /* (i) Signal to be filtered */        float *a,   /* (i) LP parameters */        int len,/* (i) Length of signal */        float *Out, /* (o) Filtered signal */        float *mem  /* (i/o) Filter state */    ){        int i, j;        float *po, *pi, *pm, *pa;            po = Out;            /* Filter first part using memory from past */                for (i=0;i<LPC_FILTERORDER;i++) {            pi = &In[i];            pm = &mem[LPC_FILTERORDER-1];            pa = a;            *po=0.0;            for (j=0;j<=i;j++) {                *po+=(*pa++)*(*pi--);            }            for (j=i+1;j<LPC_FILTERORDER+1;j++) {                *po+=(*pa++)*(*pm--);            }            po++;        }                 /* Filter last part where the state is entierly            in the input vector */            for (i=LPC_FILTERORDER;i<len;i++) {            pi = &In[i];            pa = a;            *po=0.0;            for (j=0;j<LPC_FILTERORDER+1;j++) {                *po+=(*pa++)*(*pi--);            }            po++;        }            /* Update state vector */            memcpy(mem, &In[len-LPC_FILTERORDER],             LPC_FILTERORDER*sizeof(float)); }         

⌨️ 快捷键说明

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