摘 要: 如今FFT卷积广泛应用于数字信号处理,并且过去几年证实了异构多核可编程系统(HMPS)的发展。另外,HMPS已经成为DSP领域的主流趋势。因此,研究基于HMPS大点FFT卷积的高效地实现显得非常重要。基于重叠相加FFT卷积方法,设计一款针对输入数据流的高效流水重叠相加滤波器。介绍了基于HMPS的大点FFT卷积实现,获得了高精度的滤波效果。此外,采用流水技术的滤波器设计,提高系统处理速度、数据吞吐率和任务并行度。基于Xilinx XC7V2000T FPGA开发板上的实验表明,参与运算的采样点越大,系统的任务并行度、处理速度和数据吞吐率就会越高。当采样点达到1M时,系统的平均任务平行度达到了5.33,消耗了2.745×106个系统时钟周期数,并且绝对误差精度达到10-4。
0 引言在数字信号处理领域,长冲激响应的数据流卷积运算广泛地应用在雷达接收匹配滤波器、数字通信、图像处理和信号接收带通滤波器等中。FFT卷积方法将线性卷积转换到频域,通过使用有效的FFT处理器,对于数据流处理是有效算法,具有很高数据处理速度,但数据吞吐率很低。为了使用FFT卷积方法处理数据流,FFT处理器必须多路复用,以保持处理速度和吞吐率同步。
随着半导体技术的高速发展,HMPS已经成为IC主流趋势,并且在很多应用领域成为最具有发展前景的硬件处理技术[1,2]。因此,在处理零点填充数据流,大点FFT卷积运算中,HMPS成为这种数据密集型和计算密集型任务的最佳解决方法。为了获得高吞吐率和处理速度,研究基于NoC[3]互联的HMPS,充分利用其并行计算处理能力,具有良好的可拓展性和低功耗等。
大点FFT卷积实现需要大量复杂计算,成为滤波器设计的瓶颈。本文首先介绍并总结大点FFT卷积运算原理以及推导方法;其次,展示HMPS系统架构和详细的算法映射方案;最后,给出系统性能参数,包括结果误差比较、系统任务并行度、硬件资源消耗和针对系统性能的改进目标和方向等[4,5]。
1 重叠相加算法原理
如图1所示,重叠相加FFT卷积方法是将采样序列划分成具有L等长度的数据片段。假设抽头系数h(n)长度为N,采样序列x(n)为无限长,将x(n)序列等分成长为L的数据片段,如式(1)所示:
那么,序列h(n)和x(n)的FFT卷积为滤波结果,定义如下:
由式(2)和式(3)推导可知,当计算大点FFT卷积时,首先,计算分段片段的线性卷积yk(n),然后将分段片段的卷积结果重叠部分相加,则为最终滤波结果y(n)。
为了避免混叠效应,对于长度为M的滤波冲激响应,将各个分段序列后追加M-1个0,同时将时域卷积转换成频域相乘,在采样序列为N的DFT中,其中N≥L+M-1,由式(4)可得频域滤波结果:
其中H(k)为滤波器的频域响应,X(k)和Y(k)分别代表采样序列和滤波结果的频域响应。在零点填充的冲激响应序列和分段序列转换成频域相乘之后,将各分段滤波结果求逆FFT运算,最后在时域中,将上一份段的后M-1点与下一分段的前M-1点重叠相加即为最终滤波结果。
2 基于NoC平台的HMPS异构多核可编程系统HMPS主要应用在高密度计算中,该系统设计不仅能满足某些特殊类型 *** 作,而且还具有一定的通用性。
如图2所示,基于7×6 2D mesh网络结构的HMPS系统架构具有22个资源节点,所有的 *** 作数和状态控制信息等通过该通信网络进行传递。同时,该多核系统集成的资源节点类型主要有:Flash簇、主控制器簇(Main Controller Cluster)、以太网口簇(Ethernet Port Cluster)、三层网络、4GB的DDR3簇以及3种浮点运算单元簇。该系统的32 bit浮点运算单元主要有协处理器簇(COP Cluster)、可重构运算单元簇(RCU Cluster)和FFT/IFFT簇,满足IEEE-754单精度浮点标准。在NoC平台下的每个资源节点分别具有转发状态请求包的状态网络、下发配置信息的配置网络和数据传输的包电路交换网络(PCC)。在任务运行时,所有的资源节点必须满足片上网络通信机制和主控制器任务调度管理来协同处理,发挥系统高性能优势。
2.1 Flash簇
系统进行上电复位之后,由Flash簇中固化的配置引导信息完成HMPS系统任务初始化工作。
2.2 主控制器簇
通过向DDR请求配置信息,对参与任务的簇配置,转发数据请求/应答信息,接收DDR发出的任务切换信息,进行任务切换, 完成系统任务调度。
2.3 以太网口簇
实现上位机软件与FPGA芯片之间的数据交换,下发系统任务运算的配置信息和原数据以及回传运算结果数据,网口簇是HMPS调试的必要手段。
2.4 三层网络
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)