论文部分内容阅读
在现代数字信号处理应用中,大都少不了数字滤波器的存在,其中有限脉冲响应(Finite Impulse Response,FIR)滤波器因其线性相位、稳定和设计简单的特点,而成为人们应用和研究的重点。然而随着处理的数据越来越大,要求的处理速度越来越快,在传统二进制补码(Traditional two’s Complement,TCS)下的FIR滤波器难以在处理大规模的数据的同时满足实时性的要求。余数系统具有并行、无权重和各并行通道间无进位传播的特点,是一个无权重的数值表征系统,可以很好的应用在具有大量乘加运算的FIR滤波器的设计中。本文首先介绍了嵌套式余数系统(Nested Residue Number System,NRNS)的基本原理及其结构。不同于余数系统,NRNS需要进行多次前向转换和后向转换,且其模运算都是基于嵌套余数基进行。其中内层前向转换可以直接通过查找表的方式实现,模加法器和模乘法器使用二级查找表的形式,相较于通用的模加法器,模乘法器可以节省更多的资源。内层后向转换模块将混合基转换(Mixed Radix Conversion,MRC),将其最后一步求二进制数值改写为使用模乘法和模加法求得对应的模值,而不再需要再求得二进制数值后再次求模。其次,首先对概率计算进行了介绍并分析了其各部分的误差来源,然后设计实现了无误差概率计算,并将无误差概率计算与余数系统相结合。在输入数据为x的无误差概率计算中,生成的无误差概率序列长度为22×[log2x],实现无误差概率乘法计算一共需要个22×[log2×]周期。而在余数系统与无误差概率计算结合的系统中,输入数据x经过余数系统拆分为{x 1,x 2,…,x L}后,生成的无误差概率序列长度分别为{m1×m1,m2×m2,…,mL×mL}远小于22×[log2x]。在余数与无误差概率计算结合的系统中,每次计算的结果都需要转换为对应的模值然后重新生成概率序列进行计算。设计比较了不同余数基下模乘法器和概率乘法所需模块的资源消耗,在余数基较大的时候,余数与无误差概率计算结合的乘法单元可以节省更多的资源。最后,基于传统方法,余数系统,嵌套式余数系统和余数与无误差概率计算结合的方法在FPGA中实现了一系列不同动态范围的FIR滤波器,进行资源消耗、功耗的对比。结果表明,大动态范围的FIR滤波器采用余数系统与无误差概率计算结合的架构消耗资源最少,功耗最低,在输入数据和滤波系数位宽为24位时,相较于Maltab直接生成的FIR滤波器LUTs减少了42.32%,功耗减少了7.14%。