syntfilter.cxx

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

CXX
69
字号
//A.48 syntFilter.c        /******************************************************************            iLBC Speech Coder ANSI-C Source Code            syntFilter.c             Copyright (c) 2001,        Global IP Sound AB.        All rights reserved.        ******************************************************************/        #include"iLBC_define.h"        /*----------------------------------------------------------------*     *  LP synthesis filter.     *---------------------------------------------------------------*/            void syntFilter(        float *Out,     /* (i/o) Signal to be filtered */        float *a,       /* (i) LP parameters */        int len,    /* (i) Length of signal */        float *mem      /* (i/o) Filter state */    ){        int i, j;        float *po, *pi, *pa, *pm;            po=Out;            /* Filter first part using memory from past */            for (i=0;i<LPC_FILTERORDER;i++) {            pi=&Out[i-1];            pa=&a[1];            pm=&mem[LPC_FILTERORDER-1];            for (j=1;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 output vector */                     for (i=LPC_FILTERORDER;i<len;i++) {            pi=&Out[i-1];            pa=&a[1];            for (j=1;j<LPC_FILTERORDER+1;j++) {                *po-=(*pa++)*(*pi--);            }            po++;        }            /* Update state vector */            memcpy(mem, &Out[len-LPC_FILTERORDER],             LPC_FILTERORDER*sizeof(float));    }            

⌨️ 快捷键说明

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