CN110531314A - 一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 - Google Patents
一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 Download PDFInfo
- Publication number
- CN110531314A CN110531314A CN201910940741.0A CN201910940741A CN110531314A CN 110531314 A CN110531314 A CN 110531314A CN 201910940741 A CN201910940741 A CN 201910940741A CN 110531314 A CN110531314 A CN 110531314A
- Authority
- CN
- China
- Prior art keywords
- module
- algorithm
- signal
- fpga
- hardware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S3/00—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
- G01S3/80—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
- G01S3/802—Systems for determining direction or deviation from predetermined direction
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2612—Data acquisition interface
Abstract
本发明公开一种基于FPGA异构计算的光纤矢量水听器目标方位估计方法及装置,该方法包括:采集光纤矢量水听器每个通道原始模拟信号并转换为FPGA可处理的多路并行数字信号;对多路并行数字信号进行解调并获得解调信号;硬件加速模块将目标方位估计算法中的FIR、FFT和Hilbert变换等步骤采用FPGA逻辑资源实现并行加速运算;软件算法模块运行目标方位估计算法,在运行FIR、FFT和Hilbert变换等步骤时调用硬件加速模块,其余流程由软件实现,并负责计算结果的输出管理。基于单片FPGA软硬件异构协同计算的高度集成化解决方案,解决现有技术中光纤矢量水听器信号采集与处理系统体积大功耗高的问题,提高目标方位估计算法的运行效率,实现光纤矢量水听器小型化和水下自主工作需求。
Description
技术领域
本发明涉及光纤水听器技术领域,具体是一种基于FPGA异构计算的矢量水听器信号处理系统架构设计,通过异构计算实现光纤水量水听器信号处理软硬件协同加速,包含硬件及软件架构设计。
背景技术
随着水声探测技术的快速发展,矢量水听器由于可以同时测量声场中声压和三个正交方向的声速分量,单一基元即可实现目标波达方向估计,可以消除常规标量水听器的左右舷模糊问题,在端射方向也具有更好的指向性。这些优点使得矢量水听器在警戒声纳、水听器阵列、鱼雷探测声纳、水下定位等领域具备广阔的应用前景。由于光纤水听器具有灵敏度高、抗电磁干扰强等优势,光纤矢量水听器是矢量水听器与光纤水听器技术结合的必然趋势,光线矢量水听器成为水声探测领域的研究热点。光纤矢量水听器与传统的压电矢量水听器相比,由于传感原理不同,信号采集需要经过光信号调制、光电信号转换、信号解调等步骤,复杂度较高。此外,光纤矢量水听器相比于标量光纤水听器拥有更多传感通道,数据量更大,为了能够充分利用矢量水听器的特点,相应的信号处理(如目标方向估计)算法的复杂度和运算量方面远远大于传统标量水听器。
由于矢量水听器具有单基元定向的优势,在水下无人潜航器等小型工作平台上具有良好的应用前景。无人平台的应用场景要求单矢量水听器在信号采集的同时,实时完成目标方位等参数估计,同时对体积尺寸和系统功耗提出了严苛的要求。传统的实时解决方案采用DSP或CPU芯片实现相关信号处理,DSP和CPU虽然性能强大,但系统复杂、功耗较大的缺点限制了系统在小型或微型平台中的应用。还有一些方案采用低功耗的单片机进行信号处理,但由于单片机运算性能低,无法实时实现较为复杂的信号处理算法。FPGA虽然具有可重构多发并行运算的能力与低功耗的优点,但是传统FPGA程序开发基于硬件描述语言,相对于CPU等处理器的开发难度更大,周期更久。
综上所述,基于FPGA研制高性能、低功耗、小尺寸的光纤矢量水听器DOA((Direction Of Arrival)波达方向定位技术)估计算法的实现方法,对于光纤矢量水听器,特别是小型化单基元光纤矢量水听器在小型水下无人平台自主工作的需求,具有非常现实和紧迫的意义。
发明内容
本发明提供一种基于FPGA异构计算的光纤矢量水听器目标方位估计方法及装置,用于克服现有技术中由于系统复杂、功耗大或运算性能低、无法实时实现复杂信号处理限制光纤矢量水听器在小型平台上应用等缺陷,基于FPGA研制高性能、低功耗、小尺寸的光纤矢量水听器DOA估计算法的实现方法,对于光纤矢量水听器,特别是实现小型化单基元光纤矢量水听器在小型水下无人平台自主工作的需求。
为实现上述目的,本发明提供一种基于FPGA异构计算的光纤矢量水听器目标方位估计方法,包括:
步骤1,将光纤水听器传感器的多路传感光信号转换为多路电信号,将多路电信号转换为多路数字电信号,通过FPGA逻辑资源实现ADC接口协议对接以接收多路数字信号,并将多路数字信号转为FPGA内部可以处理的多路并行数字信号;
步骤2,对多路并行数字信号进行PGC解调并获得解调后的声压信号;
步骤3,读取声压信号并通过处理器运行目标方位估计算法对声压信号进行处理;
步骤4,在对声压信号处理过程中,将目标方位估计算法中通过硬件逻辑资源完成占用CPU资源比例较大的算法处理的数据与目标方位估计算法中通过软件程序完成其他算法的数据按照目标方位估计算法中设定的流程交互以获得目标方位估计算法的运算结果;
步骤5,将运算结果通过以太网驱动模块发给以太网口,实现运算结果对外输出。
为实现上述目的,本发明还提供一种基于FPGA异构计算的光纤矢量水听器目标方位估计装置,包括:
多路光电转换模块,用于将光纤水听器传感器的传感光信号转换为多路电信号;
多通道ADC,内部具有ADC芯片,用于通过ADC芯片采集多路电信号,并转换为多路数字电信号;
FPGA控制器,所述FPGA控制器集成了ARM处理器的PS部分和Xilinx的PL部分,所述PL部分包括:
ADC控制IP模块,用于通过FPGA逻辑资源实现与多通道ADC的接口协议对接以接收多路数字信号;
PGC IP解调模块,用于对所述多路并行数字信号进行PGC解调并获得解调后的声压信号;
Datamover模块,用于读取声压信号并完成硬件加速模块与信号处理算法模块之间的数据传输;
硬件加速模块,用于在ARM处理器运行目标方位估计算法时接收PS端的信号处理算法模块传递过来的算法输入数据,完成目标方位估计算法中占用CPU资源比例较大的指定算法运算,获得加速运算结果并返回给PS端的信号处理算法模块;完成对指定算法的加速实现;
所述PS部分包括:
信号处理算法模块,根据ARM处理器运行目标方位估计算法,通过Datamover模块调用PL端的硬件加速模块的运算数据,结合该运算数据执行目标方法估计算法中除硬件加速模块完成的算法之外的其他算法,最终得到目标方位估计算法的运行结果。
本发明提供的基于FPGA异构计算的光纤矢量水听器目标方位估计方法及装置,该方案在单片FPGA内实现光纤矢量水听器的解调和信号处理,同时将信号处理的算法模块进行分割,算法的主体运行在FPGA内部的ARM处理系统(Processing System,PS)中,将算法中FIR滤波、FFT变换、卷积、互相关等复杂的运算步骤提取出来,由FPGA的可编程逻辑(Programmable Logic,PL)部分进行加速运算。与PS端软件逐条执行指令的串行运行算法流程不同的是,PL端硬件加速模块采用FPGA逻辑资源实现并行运算、查找表运算、流水线操作、乒乓运算等加速方法,运行速度远远超过PS端。例如,N点的FFT运算在PS端软件实现的时间复杂度为O(N*logN),而在PL端通过调用FFT IP,最快可以在N个时钟周期内完成,时间复杂度降低为O(N)。而PS端相比于PL端又具有算法流程控制逻辑简单、灵活性强、事务管理能力强等优点。因此,PL和PS部分构成异构运算平台进行协同工作,不仅可以提高算法的执行效率,同时基于Xilinx公司提供的SDSoc开发平台,所有算法均由C/C++语言开发,相比硬件描述语言开发PL逻辑的方法,大大提高PL部分的开发效率,基于FPGA研制高性能、低功耗、小尺寸的光纤矢量水听器DOA估计算法的实现方法,对于光纤矢量水听器,特别是实现小型化单基元光纤矢量水听器在小型水下无人平台自主工作的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例提供的基于FPGA异构计算的光纤矢量水听器目标方位估计装置的示意图;
图2为图1中Vivado搭建的SDSoc硬件平台示意图;
图3为本发明实施例提供的基于异构加速实现的矢量水听器信号处理流程。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
本发明实施例提供一种基于FPGA异构计算的光纤矢量水听器目标方位估计方法,包括如下步骤:
步骤01,基于Vivado开发环境,搭建光纤矢量水听器信号采集处理的FPGA(FieldProgrammable Gate Array)SDSoc开发硬件平台和Linux系统环境;
步骤02,在Linux环境下用C/C++语言编写光纤矢量水听器水声信号处理算法;
步骤03,将水声信号处理算法中部分复杂的运算函数移植到Xilinx SDSoc开发环境下,对水声信号处理算法代码进行软硬件分区编译,将需要硬件加速的代码分配到PL部分并编译为加速IP,其余代码由PS部分运行;
步骤04,将编译完的算法可执行程序和包含FPGA加载文件的Linux启动文件集成到硬件平台中运行,PS部分算法程序和PL部分加速IP协同工作,实现异构加速运算;算法运行的数据流程如下:
步骤1,将光纤水听器传感器的多路传感光信号转换为多路电信号,将多路电信号转换为多路数字电信号,通过FPGA逻辑资源实现ADC接口协议对接以接收多路数字信号,并将多路数字信号转为FPGA内部可以处理的多路并行数字信号;
FPGA外部的多路光电转换模块将光纤水听器传感器的传感光信号转换为电信号,多通道ADC将光纤水听器传感的模拟电信号转换为数字电信号,FPGA内部PL端的ADC控制IP模块通过FPGA逻辑资源实现ADC接口协议对接,并接收ADC芯片采集得到的光纤矢量水听器原始数字信号,将ADC的采样结果转为FPGA内部可以处理的多路并行数字信号;其中ADC芯片嵌于多通道ADC内部;
FPGA内部的逻辑资源包括:CLB(包括LUT、加法器、寄存器、MUX(多路选择器))、时钟网络资源(全局时钟网络,区域时钟网络,IO时钟网络)、时钟处理单元(PLL,DCM)、BLOCKRAM(用于缓存数据)、DSP核以及兼容不同电平标准的IO接口资源。各种逻辑与接口资源均支持可编程配置,可根据用户编程实现各种时序逻辑或组合逻辑。
步骤2,对多路并行数字信号进行PGC解调并获得解调后的声压信号;PGC IP模块对ADC采样的多路并行数字信号进行PGC解调并获得解调后的声压信号;
步骤3,读取声压信号并通过处理器运行目标方位估计算法对声压信号进行处理;
FPGA的PS端的软件实现的信号处理算法模块,通过Datamover读取PL端解调后的声压信号,通过PS处理器运行目标方位估计算法,对声压信号进行处理;
步骤4,在对声压信号处理过程中,将目标方位估计算法中通过硬件逻辑资源完成占用CPU资源比例较大的算法的处理数据与目标方位估计算法中通过软件程序完成其他算法的数据按照目标方位估计算法中设定的流程交互以获得目标方位估计算法的运算结果;
在PS端软件运行目标方位估计算法过程中,信号处理算法模块将算法中的FIR、FFT和Hilbert变换等算法步骤交由PL端硬件加速模块中的FIR IP、FFT IP和Hilbert IP完成。算法模块通过Datamover将需要加速处理的数据传递给硬件加速模块,硬件加速模块完成相应的加速运算后,再通过Datamover将结果返回给信号处理算法模块,实现对FIR、FFT和Hilbert变换等算法步骤的加速;与PS端软件逐条指令串行运行算法的流程不同的是,PL端硬件加速模块采用FPGA逻辑资源实现并行运算、查找表运算、流水线操作、乒乓运算等加速方法,运行速度远远超过PS端。
步骤5,信号处理算法模块完成目标方位估计算法的所有算法流程后,将运算结果通过以太网驱动模块发给以太网口,实现算法结果对外输出。
本实施例中的过滤模块为PL部分的硬件逻辑电路实现,通过硬件执行复杂的滤波算法,提高运算效率及整个装置的小型化。本发明方法提出一种基于ZYNQ系列(赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列)FPGA和异构加速方法的光纤矢量水听器信号处理实现方案,该方案在单片FPGA内实现光纤矢量水听器的解调和信号处理,同时将信号处理的算法模块进行分割,算法的主体运行在FPGA内部的ARM处理系统(Processing System,PS)中,将算法中FIR滤波((Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统)、FFT变换(快速傅里叶变换(fast Fourier transform))、卷积、互相关等复杂的运算步骤提取出来,由FPGA的可编程逻辑(Programmable Logic,PL)部分进行加速运算,PL和PS部分构成异构运算平台进行协同工作,不仅可以提高算法的执行效率,同时基于Xilinx公司提供的SDSoc开发平台,所有算法均由C/C++语言开发,相比硬件描述语言开发PL逻辑的方法,大大提高PL部分的开发效率。
实施例二
如附图1-3所示,本实例中以基于复声强法的二维压差式光纤矢量水听器目标波达方向估计算法作为信号处理算法的实例,FPGA以Xilinx公司的XCZ7020为例,对本发明做进一步详细说明。基于复声强法的二维压差式光纤矢量水听器目标波达方向估计算法是已经公开的算法,其算法流程如图3所示。本发明的主要工作是通过异构运算将该算法通过FPGA的PS端和PL端以异构运算的方式实现协同加速。
在Vivado开发环境中搭建如图2所示的硬件平台,基于该平台生成Linux系统平台;
在SDSoc开发环境的Linux平台中,用C语言实现基于复声强法的二维压差式光纤矢量水听器目标波达方向估计算法;
将图3中的FIR滤波、FFT变换、Hilbert变换(希尔伯特变换)等三个复杂的运算函数标记为PL硬件实现,对算法进行软硬综合编译,标记为硬件加速的函数将编译为PL端的硬件FIR IP,FFT IP和Hilbert IP;
将SDSoc编译得到的Linux系统文件和算法可执行软件程序加载到硬件中运行,算法运行的数据流程如下所述;
矢量水听器的六路探头的声压传感光信号经光电转换和ADC采样后,六路原始采样数据Ox+、Ox-、Oy+、Oy-、Oz+和Oz-通过FPGA的ADC控制模块进入FPGA的PL端,并传递给PGC解调模块;
FPGA PL端的PGC解调模块将六路原始采样数据分别解调后得到六路声压信号Px+、Px-、Py+、Py-、Pz+和Pz-,并将结果传递给PS端的复声强目标波达方向估计算法模块;六路通过下标分别表示为x、y、z轴正向和负向;
算法模块对六路数据分别进行FIR高通滤波滤除低频干扰,FIR函数调用PL端的FIR IP进行加速,FIR IP运算的结果返回PS端的算法模块;
PS端算法模块对将滤波之后的结果分别进行对向通道相减,得到三路压差信号,和所有通道求平均得到平均声压信号;
将平均声压信号数据传入PL端的FFT IP,通过PL端硬件加速进行FFT变换,FFT变换结果返回PS端;
PS端对三路压差信号取共轭后分别与平均声压相乘,相乘结果进行求和取实部后得到复声强的三个正交方向(x、y、z轴)分量分别为:Ix、Iy、Iz;
对三个正交分量Ix、Iy、Iz进行图3所示的Angle(φ)和Angle(θ)函数模块,计算得到目标的水平方位角φ和垂直方位角θ,方位估计结果由PS端的网口输出或保存,其中
在上述流程中,算法不仅在PS端的ARM处理器运行,FIR、FFT变换和Hilbert变换等复杂的运算均由PL端以硬件加速的方式实现,PS端负责协调软硬件数据调度和协同运算,在保证算法正确性的前提下,可以显著提高算法整体运行速度,降低计算功耗。
实施例三
与上述方法实施例对应地提供装置的实施例,基于FPGA异构计算的光纤矢量水听器信号处理装置,包括:
多路光电转换模块,用于将光纤水听器传感器的传感光信号转换为多路电信号;
多通道ADC,内部具有ADC芯片,用于通过ADC芯片采集多路电信号,并转换为多路数字电信号;将采集的光纤矢量水听器每个通道的原始模拟信号,转换为指定位宽(由ADC芯片的量化性能决定)的数字信号;多通道ADC采样芯片,用于对矢量水听器的六路探头的声压传感光信号进行光电转换后ADC采样,形成多通道数字信号;
FPGA控制器,所述FPGA控制器集成了ARM处理器的PS部分和Xilinx的PL部分,所述PL部分包括:
ADC控制IP模块,用于通过FPGA逻辑资源实现与多通道ADC的接口协议对接以接收多路数字信号;
PGC IP解调模块,用于对所述多路并行数字信号进行PGC解调并获得解调后的声压信号;
Datamover模块,用于读取声压信号并完成硬件加速模块与信号处理算法模块之间的数据传输;
硬件加速模块,用于在ARM处理器运行目标方位估计算法时接收PS端的信号处理算法模块传递过来的算法输入数据,完成目标方位估计算法中占用CPU资源比例较大的指定算法运算,获得加速运算结果并返回给PS端的信号处理算法模块;完成对指定算法的加速实现;
所述PS部分包括:
信号处理算法模块,根据ARM处理器运行目标方位估计算法,通过Datamover模块调用PL端的硬件加速模块的运算数据,结合该运算数据执行目标方法估计算法中除硬件加速模块完成的算法之外的其他算法,最终得到目标方位估计算法的运行结果。
FPGA控制器,所述FPGA控制器集成了ARM处理器的PS部分和Xilinx的PL部分,所述PL部分包括:
ADC控制模块用于接收由FPGA外部的光电转换及ADC芯片采样得到的光纤矢量水听器多通道原始数字信号,FPGA IO连接ADC芯片的数据输出接口,通过PL内部逻辑资源实现ADC接口协议转换(如串并数据转换、并行低压差分信号转换等),将ADC的采样结果转换为FPGA内部的数字信号,便于进行后续数字信号处理;PGC解调模块,对所述感光信号进行解调后获得解调信号;硬件加速模块,接收PS端的信号处理算法模块传递过来的算法输入数据,通过硬件IP完成指定运算,获得加速运算结果并返回给PS端的信号处理算法模块;所述PS部分包括:PS端基于内嵌的ARM处理器运行Linux操作系统,在操作系统中编写并运行光纤矢量水听器目标方位估计算法程序,实现光纤矢量水听器目标方位估计。在算法软件运行过程中,通过Datamover调用PL端的硬件加速模块,完成对特定算法步骤的加速实现,最终得到目标方位估计算法的运行结果。
所述PGC((Professional Generated Content),专业生产内容)IP解调模块,用于将六路原始采样数据分别解调后得到六路声压信号Px+、Px-、Py+、Py-、Pz+和Pz-,并将结果传递给PS部分的复声强目标波达方向估计的算法模块;
所述算法模块,用于对六路数据分别进行FIR高通滤波滤除低频干扰,对将滤波之后的结果分别进行对向通道相减,得到三路压差信号,和所有通道求平均得到平均声压信号;
将平均声压信号数据传入PL部分的FFT IP模块;
对三路压差信号取共轭后分别与平均声压相乘,相乘结果进行求和取实部后得到复声强的三个正交分量Ix、Iy、Iz;
对三个正交分量进行图3所示的Angle(φ)和Angle(θ)函数模块,计算得到目标的水平方位角φ和垂直方位角θ,方位估计结果由PS端的网口输出或保存;
所述逻辑加速模块包括:
FIR IP模块,PL端基于FIR硬件IP模块实现滤波函数,对六路数据分别进行FIR高通滤波滤除低频干扰,滤波之后的结果返回PS部分的算法模块;
FFT IP模块,PL端基于FFT硬件IP模块将平均声压信号数据进行FFT变换,并FFT变换结果返回PS部分的算法模块;
Hilbert IP模块,PL端基于Hilbert硬件IP模块对输入数组进行希尔伯特变换,并将变换结果返回PS部分的算法模块。
优选地,本装置还包括外围电路,所述外围电路包括:光纤水听器传感器和多路光电转换器,多通道ADC采样芯片的输入端与所述多路光电转换器的输出端连接,所述多路光电转换器的输入端与所述光纤水听器传感器的输出端连接;
所述PL部分还包括:
数据高速通道,用于将所述PGC解调模块输入的解调信号传递给FIR IP模块、FFTIP模块及Hilbert IP模块,再将FIR IP模块、FFT IP模块及Hilbert IP模块的计算结果通过输出端传递给PS部分的算法模块;
所述PS部分还包括:
以太网驱动模块,用于连接并驱动网口,将算法模块的计算数据通过网口输出;
DDR3同步动态随机存储模块,用于存储算法模块的计算数据。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (7)
1.一种基于FPGA异构计算的光纤矢量水听器目标方位估计方法,其特征在于,包括:
步骤1,将光纤水听器传感器的多路传感光信号转换为多路电信号,将多路电信号转换为多路数字电信号,通过FPGA逻辑资源实现ADC接口协议对接以接收多路数字信号,并将多路数字信号转为FPGA内部可以处理的多路并行数字信号;
步骤2,对多路并行数字信号进行PGC解调并获得解调后的声压信号;
步骤3,读取声压信号并通过处理器运行目标方位估计算法对声压信号进行处理;
步骤4,在对声压信号处理过程中,将目标方位估计算法中通过硬件逻辑资源完成占用CPU资源比例较大的算法处理的数据与目标方位估计算法中通过软件程序完成其他算法的数据按照目标方位估计算法中设定的流程交互以获得目标方位估计算法的运算结果;
步骤5,将运算结果通过以太网驱动模块发给以太网口,实现运算结果对外输出。
2.如权利要求1所述的基于FPGA异构计算的光纤矢量水听器目标方位估计方法,其特征在于,所述步骤1之前包括:
步骤01,基于Vivado开发环境,搭建光纤矢量水听器信号采集处理的FPGA SDSoc开发硬件平台和Linux系统环境;
步骤02,在Linux环境下用C/C++语言编写光纤矢量水听器目标方位估计处理算法;
步骤03,将水声信号处理算法中的FIR、FFT和Hilbert运算函数移植到Xilinx SDSoc开发环境下,对水声信号处理算法代码进行软硬件分区编译,将需要硬件加速的代码分配到PL部分并编译为加速IP,其余代码由PS部分运行;
步骤04,将编译完的算法可执行程序和包含FPGA加载文件的Linux启动文件集成到硬件平台中运行,PS部分算法程序和PL部分加速IP协同工作,实现异构加速运算。
3.如权利要求1或2所述的基于FPGA异构计算的光纤矢量水听器目标方位估计方法,其特征在于,所述步骤02中的光纤矢量水听器目标方位估计处理算法包括基于复声强法的二维压差式矢量水听器目标波达方向估计算法;
所述步骤03,将上述算法中的FIR滤波、FFT变换、Hilbert变换的运算函数标记为PL部分硬件实现,对上述算法进行软硬综合编译,将标记为硬件加速的函数编译为PL部分的硬件FIR IP模块、FFT IP模块和Hilbert IP模块;
所述步骤04,将SDSoc编译得到的Linux系统文件和算法可执行软件程序加载到PL部分硬件中运行,算法运行的数据流程如下:
所述步骤1,矢量水听器的六路探头的声压传感光信号经光电转换和ADC采样后,六路原始采样数据Ox+、Ox-、Oy+、Oy-、Oz+和Oz-通过FPGA的ADC控制IP模块进入FPGA的PL部分,并传递给PGC IP解调模块;
所述步骤2,FPGA PL部分的PGC IP解调模块将六路原始采样数据分别解调后得到六路声压信号Px+、Px-、Py+、Py-、Pz+和Pz-,并将所述声压信号传递给PS部分的复声强目标波达方向估计的算法模块;
所述步骤3,FPGA的PS端的信号处理算法模块通过Datamover模块读取六路声压信号数据进行目标方位估计算法运算;
所述步骤4,信号处理算法模块在运行过程中,将FIR函数、FFT函数和Hilbert函数通过调用PL部分的硬件加速模块进行运算,硬件加速模块运算的结果通过Datamover模块返回PS部分的算法模块;
所述步骤5,PS部分的信号处理算法模块的数据处理流程为:首先对数据进行FIR滤波,滤波之后的结果分别进行对向通道相减,得到三路压差信号,和所有通道求平均得到平均声压信号;将平均声压信号数据传入PL部分的FFT IP模块,通过PL部分硬件加速进行FFT变换,将FFT变换结果返回PS端;
PS部分的信号处理算法模块对三路压差信号取共轭后分别与平均声压相乘,相乘结果进行求和取实部后得到复声强的三个正交分量Ix、Iy、Iz;对三个正交分量Ix、Iy、Iz进行Angle(φ)和Angle(θ)函数计算,得到目标的水平方位角φ,和垂直方位角θ,方位估计结果由PS部分的网口输出或保存。
4.如权利要求3所述的基于FPGA异构计算的光纤矢量水听器目标方位估计方法,其特征在于,其中所述Angle(φ)和Angle(θ)满足以下关系:
5.一种基于FPGA异构计算的光纤矢量水听器目标方位估计装置,其特征在于,包括:
多路光电转换模块,用于将光纤水听器传感器的传感光信号转换为多路电信号;
多通道ADC,内部具有ADC芯片,用于通过ADC芯片采集多路电信号,并转换为多路数字电信号;
FPGA控制器,所述FPGA控制器集成了ARM处理器的PS部分和Xilinx的PL部分,所述PL部分包括:
ADC控制IP模块,用于通过FPGA逻辑资源实现与多通道ADC的接口协议对接以接收多路数字信号;
PGC IP解调模块,用于对所述多路并行数字信号进行PGC解调并获得解调后的声压信号;
Datamover模块,用于读取声压信号并完成硬件加速模块与信号处理算法模块之间的数据传输;
硬件加速模块,用于在ARM处理器运行目标方位估计算法时接收PS端的信号处理算法模块传递过来的算法输入数据,完成目标方位估计算法中占用CPU资源比例较大的指定算法运算,获得加速运算结果并返回给PS端的信号处理算法模块;完成对指定算法的加速实现;
所述PS部分包括:
信号处理算法模块,根据ARM处理器运行目标方位估计算法,通过Datamover模块调用PL端的硬件加速模块的运算数据,结合该运算数据执行目标方法估计算法中除硬件加速模块完成的算法之外的其他算法,最终得到目标方位估计算法的运行结果。
6.如权利要求5所述的基于FPGA异构计算的光纤矢量水听器目标方位估计装置,其特征在于:
所述PGC IP解调模块,用于将六路原始采样数据分别解调后得到六路声压信号Px+、Px-、Py+、Py-、Pz+和Pz-,并将结果传递给PS部分的复声强目标波达方向估计的信号处理算法模块;
所述信号处理算法模块,用于对六路数据分别进行FIR高通滤波滤除低频干扰,对将滤波之后的结果分别进行对向通道相减,得到三路压差信号,和所有通道求平均得到平均声压信号;
将平均声压信号数据传入PL部分的FFT IP模块;
对三路压差信号取共轭后分别与平均声压相乘,相乘结果进行求和取实部后得到复声强的三个正交分量Ix、Iy、Iz;
对三个正交分量进行图3所示的Angle(φ)和Angle(θ)函数模块,计算得到目标的水平方位角φ和垂直方位角θ,方位估计结果由PS端的网口输出或保存;
所述硬件加速模块包括:
FIR IP模块,PL端基于FIR硬件IP模块实现滤波函数,对进行六路数据分别进行FIR高通滤波滤除低频干扰,滤波之后的结果返回PS部分的算法模块;
FFT IP模块,PL端基于FFT硬件IP模块将平均声压信号数据进行FFT变换,并FFT变换结果返回PS部分的算法模块;
Hilbert IP模块,PL端基于Hilbert硬件IP模块对输入数组进行希尔伯特变换,并将变换结果返回PS部分的算法模块。
7.如权利要求6所述的基于FPGA异构计算的光纤矢量水听器目标方位估计装置,其特征在于,还包括外围电路,所述外围电路包括:光纤水听器传感器和所述多路光电转换器,多通道ADC采样芯片的输入端与所述多路光电转换器的输出端连接,所述多路光电转换器的输入端与所述光纤水听器传感器的输出端连接;
所述Datamover模块,还用于将所述PGC IP模块输出的解调信号传递给硬件加速模块的FIR IP模块、FFT IP模块及Hilbert IP模块,再将FIR IP模块、FFT IP模块及Hilbert IP模块的计算结果输出给PS部分的信号处理算法模块;
所述PS部分还包括:
以太网驱动模块,用于连接并驱动网口,将算法模块的计算数据通过网口输出;
DDR3同步动态随机存储模块,用于存储算法模块的计算数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940741.0A CN110531314B (zh) | 2019-09-30 | 2019-09-30 | 一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940741.0A CN110531314B (zh) | 2019-09-30 | 2019-09-30 | 一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110531314A true CN110531314A (zh) | 2019-12-03 |
CN110531314B CN110531314B (zh) | 2021-01-15 |
Family
ID=68671058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910940741.0A Active CN110531314B (zh) | 2019-09-30 | 2019-09-30 | 一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110531314B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597432A (zh) * | 2020-12-28 | 2021-04-02 | 华力智芯(成都)集成电路有限公司 | 基于fft算法的复序列互相关在fpga上的加速实现方法及系统 |
CN112649787A (zh) * | 2020-11-30 | 2021-04-13 | 海鹰企业集团有限责任公司 | 一种基于低频圆环阵的目标方位估计方法 |
CN113079138A (zh) * | 2021-03-23 | 2021-07-06 | 哈尔滨理工大学 | 一种生物信息数据在线过滤系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201125A (zh) * | 2011-04-14 | 2011-09-28 | 浙江大学 | 一种三维成像声纳的数据可视化方法 |
CN102768358A (zh) * | 2011-05-05 | 2012-11-07 | 中国科学院声学研究所 | 一种基于fpga的水下实时成像方法及系统 |
CN103323821A (zh) * | 2012-03-23 | 2013-09-25 | 中国科学院声学研究所 | 一种水面目标辐射噪声模拟方法 |
CN104754249A (zh) * | 2013-12-30 | 2015-07-01 | 中国科学院声学研究所 | 一种应用于水下成像声纳的信号处理系统 |
CN205562797U (zh) * | 2015-12-31 | 2016-09-07 | 苏州桑泰海洋仪器研发有限责任公司 | 一种基于多核dsp的三维成像声纳并行数据处理系统 |
US10175042B2 (en) * | 2016-10-22 | 2019-01-08 | Gopro, Inc. | Adaptive compass calibration based on local field conditions |
-
2019
- 2019-09-30 CN CN201910940741.0A patent/CN110531314B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201125A (zh) * | 2011-04-14 | 2011-09-28 | 浙江大学 | 一种三维成像声纳的数据可视化方法 |
CN102768358A (zh) * | 2011-05-05 | 2012-11-07 | 中国科学院声学研究所 | 一种基于fpga的水下实时成像方法及系统 |
CN103323821A (zh) * | 2012-03-23 | 2013-09-25 | 中国科学院声学研究所 | 一种水面目标辐射噪声模拟方法 |
CN104754249A (zh) * | 2013-12-30 | 2015-07-01 | 中国科学院声学研究所 | 一种应用于水下成像声纳的信号处理系统 |
CN205562797U (zh) * | 2015-12-31 | 2016-09-07 | 苏州桑泰海洋仪器研发有限责任公司 | 一种基于多核dsp的三维成像声纳并行数据处理系统 |
US10175042B2 (en) * | 2016-10-22 | 2019-01-08 | Gopro, Inc. | Adaptive compass calibration based on local field conditions |
Non-Patent Citations (1)
Title |
---|
方民权: "面向GPU异构系统的测评与应用研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112649787A (zh) * | 2020-11-30 | 2021-04-13 | 海鹰企业集团有限责任公司 | 一种基于低频圆环阵的目标方位估计方法 |
CN112649787B (zh) * | 2020-11-30 | 2022-04-12 | 海鹰企业集团有限责任公司 | 一种基于低频圆环阵的目标方位估计方法 |
CN112597432A (zh) * | 2020-12-28 | 2021-04-02 | 华力智芯(成都)集成电路有限公司 | 基于fft算法的复序列互相关在fpga上的加速实现方法及系统 |
CN113079138A (zh) * | 2021-03-23 | 2021-07-06 | 哈尔滨理工大学 | 一种生物信息数据在线过滤系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110531314B (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110531314A (zh) | 一种基于fpga异构计算的光纤矢量水听器目标方位估计方法及装置 | |
JP3173777B2 (ja) | データ処理装置 | |
CN112231626A (zh) | 一种fft处理器 | |
CN103345379B (zh) | 一种复数乘法器及其实现方法 | |
CN105975436B (zh) | 一种SoC系统中通用可配置加速单元的IP电路 | |
He et al. | The Realization of FFT Algorithm based on FPGA Co-processor | |
CN102646262B (zh) | 一种可重构的视觉前处理器和视觉处理系统 | |
CN108510533B (zh) | 基于fpga的傅立叶梅林配准与拉普拉斯融合图像加速系统 | |
Kestur et al. | An algorithm-architecture co-design framework for gridding reconstruction using FPGAs | |
CN113708916B (zh) | 一种基于gpu的pcm/fm遥测信号并行多符号检测方法 | |
Yamamoto et al. | Direct estimation of deformable motion parameters from range image sequence | |
Chen et al. | A parallel reconfigurable architecture for real-time stereo vision | |
Wu et al. | Real-time low-power binocular stereo vision based on FPGA | |
CN103654853A (zh) | 基带波束合成超声成像方法及其系统 | |
US11748622B1 (en) | Saving intermediate outputs of a neural network | |
Ila et al. | Vlsi architecture for an underwater robot vision system | |
CN109931935A (zh) | 基于距离和环境特征的导航系统及其参数摄动解决方法 | |
Belloch et al. | Optimized fundamental signal processing operations for energy minimization on heterogeneous mobile devices | |
Li et al. | A scalable systolic accelerator for estimation of the spectral correlation density function and its FPGA implementation | |
da Silva et al. | Exploiting partial reconfiguration through PCIe for a microphone array network emulator | |
Sinigaglia et al. | ECHOES: a 200 GOPS/W Frequency Domain SoC with FFT Processor and I 2 S DSP for Flexible Data Acquisition from Microphone Arrays | |
Long et al. | A Multi-mode SAR Imaging Chip based on a Dynamically Reconfigurable SoC Architecture Consisting of Dual-operation Engines and Multilayer Switching Network | |
Chai et al. | Design of SINS/GPS integrated navigation system based on dual NiosII soft-core | |
Svensson | A study of design efficiency with a high-level language for FPGAs | |
US20090144461A1 (en) | Method and system for configuration of a hardware peripheral |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |