📄 iir.c
字号:
#include "typedef.h"
#include "Iir.h"
void Iir(
Word16 *Input, // 原始输入数据
Word16 *Output, // IIR滤波输出结果
Word16 *Iir_Coef, // IIR滤波器系数
Word16 *Iir_Memory, // IIR滤波器状态
Word16 order, // IIR滤波器阶数
Word16 length // IIR滤波长度
)
{
Word16 i, j ;
Word32 sum ;
for( i = 0 ; i < length ; i ++ )
{
sum = (Word32)Input[i]<<13 ;
for( j = 0 ; j < order ; j ++ )
{
sum = _smac( sum, Iir_Coef[j], Iir_Memory[j] ) ;
}
for( j = order - 1 ; j > 0 ; j -- )
{
Iir_Memory[j] = Iir_Memory[j-1] ;
}
Iir_Memory[0] = _rnd( _lsshl( sum, 3 ) ) ;
Output[i] = Iir_Memory[0] ;
}
return ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -