我需要用FIR滤波器进行逐采样点的实时滤波和输出,现在碰到问题是这样的:
FIR滤波器的输入数组接受新数据可以用FIFO形式的,也可以用循环指针形式的,
前者可以使用TI提供的dsp库中现成的库函数,但是每次进新采样点时都要对整个输入数组向后挪动一位,
在FIR抽头数很大,有多路输入的情况下需要花费大量的时间;
而循环指针形式虽然省去了挪动数组的时间,但是进行乘加运算时自己编写的C程序效率不高,又没有
现成的库函数支持,请问有什么解决的办法吗?
能不能提供经过优化的循环输入形式的FIR滤波器代码,或者有没有能高效将数组数据向后挪动一位的方法呢,谢谢。
Hong Lan:
能不能请你解释一下何为“FIR滤波器的输入数组接受新数据可以用FIFO形式”?
haoxin yu:
回复 Hong Lan:
专家您好,FIFO就是先进先出模式,也就是FIR滤波器的输入是一个长度和抽头数一致的数组,每次有新数据进来都放在数组的第一位,原来的数据依次向后挪动一位。