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 + -
显示快捷键?