基于多fpga的并行波束形成器的制作方法

文档序号:7919705阅读:110来源:国知局
专利名称:基于多fpga的并行波束形成器的制作方法
技术领域
本发明涉及FPGA技术、高性能计算技术领域,具体来说是一种基于 多FPGA的并行波束形成器的实现方法。
背景技术
波束形成计算是信号处理领域的一种常用的信号处理方式,在声纳信 号处理,雷达信号处理,超声波探测等领域具有很广泛的应用,但由于需 要处理的数据量很大,在实际应用中往往很难对大规模的波束进行计算。 波束形成算法需要估支的乘加次数较多,波束形成器进行乘加运算的能力直 接影响到系统的整体性能。
以前的波束形成器通常使用通用的处理器和数字信号处理器(Digital Signal Processor, DSP)实现。通用处理器和DSP具有4支术较为成熟、实 现工具完善、编程简单等优点,但由于其内部结构的限制,在进行计算时 经常会出现緩存朴空(Cache Miss)等现象,影响系统计算性能。基于通 用处理器和DSP技术的设计通常持续计算性能只能维持在其峰值计算性 能的10%~33%,无法取得很高的计算性能。
近年来FPGA技术取得了飞速发展,已经从最初只能面向纯逻辑替代 的应用转变为能够面向复杂的计算密集型应用。最新推出的FPGA器件 中,不仅集成有丰富的可配置逻辑块资源(Configurable Logic Block, CLB),还包括大量面向计算密集应用的DSP单元、块状RAM (Block RAM, BRAM)和用于高速串行通信的RocketIO GTP收发器单元。同时 为方便FPGA的调试,各FPGA厂商还推出了片内逻辑分析测试工具(如 Xilinx公司的ChipScope ),在软硬件上保证了在FPGA上实现高性能计算 的可4亍性。
目前在使用FPGA实现波束形成计算这个领域还处于起步阶段,已经 有的一些成果也是对基于FPGA的波束形成计算的探索性研究,对于大规 模的波束形成计算并没有一个可以实际使用的方案。

发明内容
本发明提供了一种基于多FPGA的并行波束形成器,它可以实现两千 多路的大规模并行波束形成计算,并且在计算效率和实时处理能力上较以 往的基于DSP的波束形成器的性能有着明显的提升。
一种基于多FPGA的并行波束形成器,由N/2个通过高速串行总线相 连的全波束形成器以及N个子波束形成模块组成,每个全波束形成器与2 个子波束形成模块通过高速串行总线相连,每个子波束形成模块由P个通 过高速串行总线相连的子波束形成器组成;
所述的子波束形成器和全波束形成器为FPGA芯片。
上述并行波束形成器的波束形成计算方法,包括以下步骤 (1)将输入的M x M的数据矩阵划分成N x N个P x p的子数据矩 阵,其中M、 N、 P为整数,输入的MxM的数据矩阵大小和划分成的子 数据矩阵的大小可以由用户控制,划分后的数据矩阵分为Nxp行,Nxp 列,其中N, P, M为正整数且N为偶K,同时满足关系式M二Nxp。
(2 )每个子波束形成模块中的P个子波束形成器采样得到N个子数 据矩阵,以高速串行方式进行数据交互,对该N个子数据矩阵进行子波束 形成计算;
(3) 每个全波束形成器以高速串行方式接收2个子波束形成模块的 子波束形成计算结果;
(4) N/2全波束形成器以高速串行方式交互数据,对接收到的N/2 个子波束形成计算结果进行全波束形成计算,并将计算结果保存或输出。
本发明并行波束形成器将全波束矩阵进行有效划分,采用分布式并行 算法,提高了系统的数据处理能力,从而可以实现对大规模波束矩阵进行 波束形成计算,提高了波束形成器的实时性和精确度。


图1为本发明基于多FPGA的并行波束形成器内部构架示意框图; 图2为本发明图1中子波束形成模块的内部构架示意框图; 图3为本发明子波束形成器波束形成计算流程示意框图; 图4为本发明全波束形成器波束形成计算流程示意框图。
具体实施例方式
如图l所示, 一种基于多FPGA的并行波束形成器,由N/2个通过高 速串行总线相连的全波束形成器120以及N个子波束形成模块130组成, 每个全波束形成器与2个子波束形成模块通过高速串行总线相连。
如图2所示,每个子波束形成模块由P个通过高速串行总线相连的子 波束形成器组成;子波束形成器通过高速串行总线与全波束形成器进行数 据的交互。
子波束形成器和全波束形成器为FPGA芯片,用于完成波束形成计算。
输入的数据矩阵通过上述波束形成器进行波束形成计算,该波束形成
计算方法分两级,包括以下步骤
(1 )将输入的M x M的数据矩阵划分成N x N个P x p的子数据矩
阵,其中N, P, M为正整数且N为偶数,同时满足关系式M二Nxp。
(2 )每个子波束形成模块中的P个子波束形成器釆样得到N个P x p
的子数据矩阵,以高速串行方式进行数据交互,对该N个子数据矩阵进行
子波束形成计算。
如图3所示,子波束形成器进行子波速形成计算的具体过程如下 1)子波束形成器进行上电或复位,此时子波束形成器处于空闲状态。 2 )子波束形成器接收到"开始计算"的命令后,子波束形成器的FPGA
芯片对内部变量进行初始化,将中间结果存储单元清零,并根据接收到的
参数设置配置本波束形成器所需要的参数。
3)子波束形成器初始化完成后,读入需要进行计算的数据开始进行
波束形成计算,首先对输入的数据矩阵进行子波束形成第一步计算,然后
子波束形成器之间交互数据进行子波束形成第二步计算,在进行波束形成
计算的过程中子波束形成器若收到"终止计算"命令,则强制终止子波束
形成器的波束形成计算,否则一直计算直到得到最终的计算结果。 子波束形成的计算通过下面的公式进行计算,如下
尸 似 附=1 w=l
其中6(《)表示第q个结果,子波束形成的计算得到的结果数目越多, 表明分辨率越高,结果的数目可以由用户设定,q为所有结果中的第q个结果。
Am,n(t)表示输入的数据矩阵的第m行、第n列的采样数据,1《nK N xP, 1《n《Nxp , v>m9, ^q为波束的时延参it,可以查询波束的时延
参数表得到。
波束形成的第一步计算就是先计算~(附)=£% ^,(0,然后各个子
=1 一
波束形成器之间将这些结果进行相互交互后,再进行6(《)=f>wj^(m)的
m=l
计算,即波束形成的第二步计算。这里所有子波束形成器产生的结果数据 6&)可以组成QxQ的子数据矩阵,参与主波束形成器的计算,其中Q为 正整数,可以由用户设定,Q值越大,表明分辨率越高。
4)子波束形成器在计算完成或被终止后,本次计算的结果将通过高 速串行总线传输至全波束形成器,同时整个子波束形成器的计算单元将进 入空闲状态。
(3) 每个全波束形成器以高速串行方式接收2个子波束形成模块的 子波束形成计算结果,即2尸个子波束形成器的波束形成计算结果。
(4) N/2全波束形成器以高速串行方式交互数据,对接收到的N/2 个子波束形成计算结果进行全波束形成计算,并将计算结果保存或输出。
如图4所示,全波束形成器进行全波速形成计算的具体过程如下
1 )全波束形成器进行上电或复位,此时全波束形成器处于空闲状态。
2 )全波束形成器接收到"开始计算"的命令后,全波束形成器的FPGA 芯片对内部变量进行初始化,将中间结果存储单元清零,并根据接收到的 参数设置配置本全波束形成器所需要的参数。
3)全波束形成器初始化完成后,全波束形成器开始与子波束形成器 建立通讯,控制子波束形成器进行子波束形成,子波束形成器将计算结果 传输至全波束形成器,全波束形成器对该数据进行全波束形成计算第一步 计算,同时与其他的全波束形成器建立通讯交互数据,进行全波束形成计 算第二步计算,最终得到整个波束形成计算结果。
全波束形成的计算通过下面的公式进行计算,如下
5(0 = |>w—其中S(/)表示第/个结果,全波束形成的计算得到的结果数目越多,表明分辨率越高,结果的数目可以由用户设 定。
W表示子波束形成器的波束形成计算结果形成的数据矩阵的第m 行第n列通道的采样数据,1《m《Q, 1《n《Q , vw ,,化,为波束的时
延参数,可以查询波束的时延参数表得到。
全波束形成的第一步计算就是先计算S,(m):f;0C(0,然后各个
w=l 一
全波束形成器之间将这些结果进行相互交互后,再进行^(/)二f^
附=1
的计算,即波束形成的第二步计算。这里所有全波束形成器产生的结果数 据5(/)可以组成LxL的最终数据结果矩阵,其中L为正整数,可以由用 户设定,L的值越大,系统分辨率越高。
4)全波束形成器得到整个波束形成计算结果后可以与外部设备建立 通讯将计算结果传输到外部设备中,或将计算结果暂时存储在本地存储器 中,计算完成后全波束形成器整个计算单元将进入空闲状态。
权利要求
1、一种基于多FPGA的并行波束形成器,其特征在于由N/2个通过高速串行总线相连的全波束形成器以及N个子波束形成模块组成,每个全波束形成器与2个子波束形成模块通过高速串行总线相连,每个子波束形成模块由P个通过高速串行总线相连的子波束形成器组成,其中N,P为正整数,且N为偶数;所述的子波束形成器为FPGA芯片,用于对输入所述并行波束形成器的数据矩阵进行子波束形成计算;所述的全波束形成器为FPGA芯片,用于对所述子波束形成器子波束形成计算得到的结果进行全波束形成计算。
2、 一种权利要求1所述的并行波束形成器的波束形成计算方法,包 括以下步骤(1 )将输入的M x M的数据矩阵划分成N x N个P x p的子数据矩阵;其中N, P, M为正整数且N为偶数,同时满足关系式M-Nxp; (2 )每个子波束形成模块中的P个子波束形成器采样得到N个P x p 的子数据矩阵,以高速串行方式进行数据交互,对该N个子数据矩阵进行 子波束形成计算;(3) 每个全波束形成器以高速串行方式接收2个子波束形成模块的 子波束形成计算结果;(4) N/2全波束形成器以高速串行方式交互数据,对接收到的N/2 个子波束形成计算结果进行全波束形成计算,并将计算结果保存或输出。
全文摘要
本发明公开了一种基于多FPGA的并行波束形成器,由N/2个通过高速串行总线相连的全波束形成器以及N个子波束形成模块组成,每个全波束形成器与2个子波束形成模块通过高速串行总线相连,每个子波束形成模块由P个通过高速串行总线相连的子波束形成器组成;子波束形成器和全波束形成器为FPGA芯片。本发明还公开了一种基于多FPGA的波束形成器的波束形成计算方法,方法分两级计算,数据先经子波束形成模块做子波束形成计算后将结果输入到全波束形成器,全波束形成器对子波束形成器计算得到的结果进行全波束形成计算得到最终计算结果,并将结果保存或输出,本发明能对大规模的波束矩阵进行并行实时处理,大大提高波束形成计算性能。
文档编号H04L29/08GK101453486SQ20081016357
公开日2009年6月10日 申请日期2008年12月30日 优先权日2008年12月30日
发明者祝晓平, 朋 陈, 陈耀武 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1