论文部分内容阅读
线性相位的FIR(Finite Impulse Response)滤波器是一个稳定系统,在各种信号处理领域中广泛使用,例如通信系统、航天航空系统、雷达系统等。随着电子技术的逐步发展,在这些领域中,对FIR滤波器的运行频率要求已经超过了1GHz甚至更高。并行技术可以成倍的增加滤波器的运行频率,但是其硬件资源使用量也会成倍增加,这极大的限制了并行滤波器的实际应用。本文重点研究基于FPGA的并行FIR滤波器的设计,针对FPGA的硬件特点和子滤波器系数特点给出具体的设计方案并在FPGA中完成方案的测试。首先,本文对近几年国内外对于并行FIR滤波器的并行算法进行了整理和学习,阐述了在并行结构中常用到的快速FIR算法(级联方式)和快速卷积算法(迭代方式)同时结合实际需求和硬件特点分析了并行FIR滤波器算法的优缺点。其次,以学者提出的快速卷积算法的优化结构为例,通过仿真计算指出其缺点:前置矩阵结构中移位和加法操作较多导致信号位宽可能会超出FPGA中乘法器固定位宽,推导步骤较为复杂不适合高并行度使用以及在定点计算中引入误差。针对大部分结构级算法的不足之处,提出自己的改进思路:在不改变已有基础算法推导的并行结构的情况下,通过对子滤波器的系数进行分析,在FPGA实现中合理利用系数间的特点减少乘法器资源使用,使用其他资源替代乘法器,从而达到节省资源的目的。例如:4N+1阶4并行滤波器的快速FIR算法结构中,对称结构的子滤波器个数要比4N阶多两个,可以减少N个乘法器;子滤波器中,某两个子滤波器系数反转相同,可以使用1组双端口ROM实现2个子滤波器,变相节省了1个子滤波器。以160阶、16位量化的4并行结构FIR滤波器为例,利用本文提出的思路进行改进,只使用1组双端口ROM的情况下,将ROM资源变相折算为乘法器资源,则比快速FIR算法结构节省了76个乘法器(22.4%);比快速卷积算法的改进结构至少要节省16个乘法器(5.7%,只考虑系数位宽信号位宽视应用环境而定)同时其前置后置结构更简单且推导较为容易,并且达到了1GHz以上的滤波效率。将并行结构应用至DDC中,通过资源、运行频率和滤波结果进行对比,验证了本文改进方法的可行性。最后,为了验证本文结构的FPGA可实现性,本文将不同的DSP+ROM搭配方案在FPGA中完成了验证和实现,并对比了它们的硬件资源、最大时钟频率和滤波的结果。相对于已有的并行结构,本文的实现方案可以节省更多的硬件资源,同时DSP+ROM的实现方式具有更好的适用范围,在实际工程中应用更为灵活。