我用的是5509A的DSP,调用DSPLIB库中的FIR后滤波,做的是128阶的高通FIR,实现了滤波的功能,但是通过查看信号发现滤波后的信号发生移位,和原信号对比,发现从起始点开始右移了64个单位。我后面又做了64阶的fir发现延时了32个单位,正好是fir阶数的一半,这个不知道是源代码里面的问题还是怎么回事,不知道有没有解决这个问题的办法。
第一个图是64阶fir滤波后的波形。第二个图是128阶fir滤波后的信号.
不知道有没有什么好的解决方法呢,如果不解决他的话,就会在一定程度上造成数据的丢失。
另外,关于DSPLIB中的自适应滤波dlms函数有两点不明白。假设信号的频率是变化的,对该信号进行自适应滤波,
1.那写入ram中的滤波系数h[NX]有没有什么特殊的要求,滤波器系数h[NX]可以随意先写一组相关的滤波系数,等处理完一次后自动更新成符合要求的滤波系数吗,还是有什么讲究?
2.期望信号des[nx],有没有什么特殊要求,比如要不要考虑频率因素?还是只要写一个固定的期望信号就行了?
还望高手赐教!
|