- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
数字 像空域滤波算法的FPGA设计与实现
图2中,这种结构的FIR滤波器的关键路径(处理一个新样点的最小时间)由1个乘法器和2个加法器的时间来限定。如果采样周期小于这个最小时间的话,那么这种结构的FIR滤波器就不能满足要求。这时就要考虑流水技术。采用流水线技术可以缩短关键路径,如图3所示。
在流水线结构的FIR滤波器中,启动当前的迭代计算时,节点2的加法器正在完成前次迭代结果的计算。因此,这时的关键路径由1个乘法器和2个加法器的时间缩短为1个乘法器和1个加法器的时间。
采用在结构中适当插入流水线锁存器来减小关键路径长度的流水技术时,锁存器的插入并不是随意的。当把数据流图切开时,数据方向要一致向前。这样加入的流水线,才不会影响功能。图3中,插入流水线锁存器时,就是沿着结构中数据流的正向,在上下两个路径均加入了锁存器,这样FIR滤波器的逻辑才不会混乱。一种结构的速度(时钟周期),通常由任意两个锁存器之间、一个输入与一个锁存器间、一个锁存器与一个输出间或输入与输出间路径中最长的路径限定。流水线锁存器可以有效地缩短最长路径。
除了以上两种FIR滤波结构外,还有一种数据广播结构的FIR数字滤波器,这种结构通过转置结构来缩短关键路径,同时不需要引入任何的流水线锁存器。具体的改造方法是:改变输入和输出;颠倒信号流程的方向;由一个分支来取代加法器,反之亦然。数据广播结构的FIR数字滤波器如图4所示。
在这种结构中,数据不是存储下来,而是同时广播到所有的乘法器。这种结构的关键路径和图3中插人流水线锁存器的FIR滤波器结构的关键路径一样。但是对输入不需要额外的移位寄存器,对部分积的和也不需要额外的流水线就能达到很高的通过率。这就是FIR滤波器数据广播结构的优点。
本文在设计空域滤波算法电路时,就是分别采取了以上介绍的3种不同的FIR数字滤波器结构形式。
2.2 乘法器模块的硬件设计
从式(1)的模板运算表达式和式(2)的FIR滤波器表达式可以看出,完成模板运算和实现FIR数字滤波还有一个重要的环节,就是乘法运算。乘法器模块是影响空域滤波算法的运算速度的关键模块之一。
乘法运算基本上可以分为两步:一是求出所有的基本乘积项,二是将所有的基本乘积项相加。因此,要设计快速的乘法器电路模块,就要针对这两步进行改进,一方面要减少部分积的数目,同时另一方面要提高部分积求和阵列的累加速度。因此,为了加快乘法器模块的运算速度,在设计乘法器电路时,特别考虑到了采用基4-BOOTH算法来减少部分和的数目,同时采用Wallace Tree减少阵列乘法器中部分积加法阵列的进位传输延迟,加快整个加法阵列的运算速度。
基4-BOOTH算法的基本原理是对乘数进行编码,根据编码表来产生部分积,一次只考虑3位:本位、相邻高位、相邻低位。Wallace Tree比较规则,易于布局布线,这种方法不是直接将所有的部分积完全的一对一地相加,而是采用将各个部分积中具有相同权重的数据位相加合并。通常采用全加器(Full Adder)来完成相同权重的位相加。采用一位全加器,那么Wallace树的每一层,就可以将部分积的向量数目按照3:2的比例缩减。也可以采用2个全加器,来获得4:2的缩减比例。本文中采用3:2计数器(全加器)来进行部分和缩减,这样当部分积的数目很多时,采用Wallace Tree乘法器来缩减部分和速度很快。
3 仿真综合结果
第2节介绍了本文中在FPGA平台上设计实现数字图像空域滤波算法的高速数字滤波器FIR的过程,其中主要考虑的是缩短关键路径、提高数据吞吐率。本节给出仿真和综合后的结果比较表。本文中,测试图像选用的是256×256大小、8 b的灰度图像,设计软件是XILINX公司的ISE集成综合开发环境,仿真工具是Modelsim SE 5.8b,综合工具是ISE自带的综合软件XST,实现芯片是XILINX公司的XC2V1000。仿真、综合结果表明,设计电路完全符合要求。
下面给出根据上述不同的FIR滤波结构设计的,用于实现空域滤波算法的3种电路结构的综合结果比较表。
从表1可以看出:从资源占用角度看,结构三的等效门数最多,结构二的最少。从延时/最大频率可以看出,结构一最好。
3种结构的结构时延比较数据,如表2所示。
4 结 语
本文论述了数字图像空域滤波算法以及FIR滤波器的基本设计方法,在对关键路径分析的基础上,引入流水线设计提高运算速度,提出了滤波器的3种设计结构,给出了滤波器的设计过程,通过仿真和综合结果可以看出,有效地节省了硬件资源,大大减小了硬件体积,增加了系统的可靠性。
来源:现代电子技术
上一篇:60Hz时基信号发生器
下一篇:Hi-Fi功率放大器电路和电源供电电路