This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSPLIB库中FIR调用问题

我用的是5509A的DSP,调用DSPLIB库中的FIR后滤波,实现了滤波的功能,但是通过查看信号发现滤波后的信号发生移位,和原信号对比,发现从起始点开始右移了63个单位,如图:

我程序里面的设置都是参照DSPLIB FIR的例程写的,并且DSPLIB例程滤波后的信号没有发生移位:

我的调用如下:
for (i=0; i<NX; i++) r_out[i] = 0; 
for (i=0; i<NH+2; i++) db[i] = 0; 

fir(INPUT, h, r_out, dbptr, NX, NH);

找了很久也没发现问题出在那里?不知道有没有哪位高手知道这是什么原因导致的?

另外,关于DSPLIB中的自适应滤波dlms函数有两点不明白。假设信号的频率是变化的,对该信号进行自适应滤波,

1.那写入ram中的滤波系数h[NX]有没有什么特殊的要求,滤波器系数h[NX]可以随意先写一组相关的滤波系数,等处理完一次后自动更新成符合要求的滤波系数吗,还是有什么讲究?

2.期望信号des[nx],有没有什么特殊要求,比如要不要考虑频率因素?还是只要写一个固定的期望信号就行了?

这是在学习DSP过程中遇到的一些问题,还望高手赐教!