关于FIR滤波器的优化问题
时间:10-02
整理:3721RD
点击:
小弟最近在做一个用于SDR的降采样模块,由于模式多多,所以里面用到了很多不同带宽的FIR滤波器,最后综合后面积有点太大了,不知道有没有什么方法可以有效减小面积,目前用的方法是把系数转换成csd码,然后把数据移位累加,代码类似于:
result=
(sum2[1]>>>8)+
(sum2[2]>>>8)+(sum2[2]>>>16)+
(sum2[3]>>>5)+(sum2[3]>>>7)+(sum2[3]>>>13)+
(sum2[4]>>>5)+(sum2[4]>>>7)+(sum2[4]>>>11)+(sum2[4]>>>14)+
(sum2[5]>>>2)+(sum2[5]>>>10)+(sum2[5]>>>13)+(sum2[5]>>>16)+
(sum2[6]>>>3)+(sum2[6]>>>5)+(sum2[6]>>>7)+(sum2[6]>>>11)+(sum2[6]>>>13)+(sum2[6]>>>15)+
(sum2[7]>>>1)+(sum2[7]>>>4)+(sum2[7]>>>8)+
(sum2[8]>>>3)+(sum2[8]>>>6)+(sum2[8]>>>11)+(sum2[8]>>>15)+
(sum2[9]>>>6)+sum2[9]+。
这样写弊端多多,不知道有没有什么更好的办法可以减少乘法器的使用并减少面积
在这里谢谢各位了
result=
(sum2[1]>>>8)+
(sum2[2]>>>8)+(sum2[2]>>>16)+
(sum2[3]>>>5)+(sum2[3]>>>7)+(sum2[3]>>>13)+
(sum2[4]>>>5)+(sum2[4]>>>7)+(sum2[4]>>>11)+(sum2[4]>>>14)+
(sum2[5]>>>2)+(sum2[5]>>>10)+(sum2[5]>>>13)+(sum2[5]>>>16)+
(sum2[6]>>>3)+(sum2[6]>>>5)+(sum2[6]>>>7)+(sum2[6]>>>11)+(sum2[6]>>>13)+(sum2[6]>>>15)+
(sum2[7]>>>1)+(sum2[7]>>>4)+(sum2[7]>>>8)+
(sum2[8]>>>3)+(sum2[8]>>>6)+(sum2[8]>>>11)+(sum2[8]>>>15)+
(sum2[9]>>>6)+sum2[9]+。
这样写弊端多多,不知道有没有什么更好的办法可以减少乘法器的使用并减少面积
在这里谢谢各位了
愁死我了,你这写得什么玩意?虽然乘法的确就是移位相加,也不至于这样吧,要减少面积去找一些资源复用的办法吧
我来学习的
系数是固定的还是可配的?
对与一个乘法来说,一个乘数为常数时,综合出来的面积和采用移位加法的面积应该是基本相同的。
减少面积应该从其他方面考虑。例如 你说到的有很多FIR滤波器,那么这些滤波器是否同时都需要使用?如果不是的话,这些滤波器就可以复用。另外,每一个滤波器是否每一个时钟周期都需要运算?如果不是,在时间上又可以进行复用了
