polefilt_s.c
来自「this the source code of addio compressio」· C语言 代码 · 共 42 行
C
42 行
/**************************************************************************
*
* ROUTINE
* polefilt_S
*
* FUNCTION
* Direct form all-pole filter
*
* SYNOPSIS
* subroutine polefilt_S(a, n, z, xy, len)
*
* formal
*
* data I/O
* name type type function
* -------------------------------------------------------------------
* a float i N+1 filter coefficients
* n int i Filter order
* z float i/o N+1 filter delay elements
* (maintained by the user)
* (z[0] is a dummy delay)
* xy float i/o Input/Output data array
* len int i Number of samples to filter
*
***************************************************************************/
polefilt_S(a, n, z, xy, len)
int n, len;
float a[], z[], xy[];
{
register int t, j;
for (t = 0; t < len; t++)
{
z[0] = xy[t];
for (j = n; j > 0; j--) z[0] -= a[j] * z[j];
memmove( (char *)(z+1), (char *)(z), n*sizeof(float) );
xy[t] = z[0];
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?