fir.c

来自「TMS320C54X DSP 实验指导程序 实验一 常用指令实验 实验二 」· C语言 代码 · 共 36 行

C
36
字号
#include "typedef.h"
#include "Fir.h"

void Fir(
    Word16 *Input,			//	原始输入数据
    Word16 *Output,			//	FIR滤波输出结果
    Word16 *Fir_Coef,		//	FIR滤波器系数
    Word16 *Fir_Memory,		//	FIR滤波器状态
    Word16 order,			//	FIR滤波器阶数
    Word16 length			//	FIR滤波长度
)
{

	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, Fir_Coef[j], Fir_Memory[j] ) ;
		}

		for( j = order - 1 ; j > 0 ; j -- )
		{
			Fir_Memory[j] = Fir_Memory[j-1] ;
		}
		Fir_Memory[0] = Input[i] ;

		Output[i] = _rnd( _lsshl( sum, 3 ) ) ;
	}

	return ;
}

⌨️ 快捷键说明

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