掌桥专利:专业的专利平台
掌桥专利
首页

一种基于人工智能的FPGA芯片雷达信号处理设备

文献发布时间:2023-06-19 18:30:43


一种基于人工智能的FPGA芯片雷达信号处理设备

技术领域

本发明涉及脉冲雷达、FPGA和无人机领域,具体为一种基于人工智能的FPGA芯片雷达信号处理设备。

背景技术

雷达信号处理是雷达系统的一个极其重要的组成部分,现代雷达技术的发展越来越倚重于信号处理,雷达信号处理不仅在很大程度上提高了雷达用于复杂背景下对目标的检测能力,而且提供了更多的信息,因此,雷达信号处理是当前雷达技术研究中最为活跃、进展最为迅速的部分之一,脉冲雷达是一种精密跟踪雷达。它每发射一个脉冲,天线能同时形成若干个波束,将各波束回波信号的振幅和相位进行比较,当目标位于天线轴线上时,各波束回波信号的振幅和相位相等,信号差为零;当目标不在天线轴线上时,各波束回波信号的振幅和相位不等,产生信号差,驱动天线转向目标直至天线轴线对准目标,这样便可测出目标的高低角和方位角,从各波束接收的信号之和,可测出目标的距离,从而实现对目标的测量和跟踪,脉冲测量雷达通过测量脉冲电磁波往返时间延迟得到目标的距离信息,根据接收脉冲载波中的多普勒频率测量目标的径向速度,利用等信号法获得目标的方位角和俯仰角数据。

脉冲测量雷达有三种工作方式:①反射式:雷达接收目标的反射信号。这种工作方式常用于近距离目标的跟踪,获得火箭动力段信息和再入目标的特性数据。②应答式:雷达接收飞行器上应答机转发的信号。这种方式转发信号强,雷达作用距离远,抗干扰能力强,用于远距离目标的测量。应答式工作又可分为相参应答式和非相参应答式两种。采用相参应答式工作时,应答机的收、发频率之间保持严格的倍数关系。③信标式:雷达只接收飞行器上信标机发射的信号,不能测距,只用于捕获目标。为了扩大航区测量范围,常沿航区纵列配置多台雷达,实现对目标的接力跟踪测量,称为雷达链,即当前一站雷达在不能继续跟踪或“看不见”目标之前,后一站雷达已将其捕获。各台雷达同步工作,给出实时截获数据。脉冲测量雷达对飞行器进行跟踪和精密测量的无线电设备。它为航天器定轨和目标特性测量提供测量信息。常用的脉冲测量雷达有圆锥扫描雷达和单脉冲雷达。是一种跟踪雷达。天线同时发射几个波束,然后接收它们的“和”与“差”信号,由“和”信号确定距离信息,由“差”信号确定角信息,由差信号与和信号的相位差确定角误差的方向,从而驱动天线跟踪目标。

传统的雷达信号处理系统设备量大,结构复杂,可靠性较低,成本较高。随着集成电路自身的不断发展、器件尺寸的不断缩小、集成度的不断提高、多种工艺水平的突飞猛进,将整个雷达信号处理系统集成到一块板卡上变得可能。

脉冲测量雷达广泛应用于飞行器的跟踪和精密测量的无线电设备中。它为航天器定轨和目标特性测量提供测量信息,且使用成本较低,脉冲雷达具有以上优势,但雷达所获得信息也有限,无法获得更深层次信息,因此无人机在有限载荷运行的情况下,需要设计一种能够支持无人机进行实时处理信息的硬件设备。

发明内容

本发明的目的在于提供一种基于人工智能的FPGA芯片雷达信号处理设备,以解决上述背景技术中提出的问题。

为了解决上述技术问题,本发明提供如下技术方案:

一种基于人工智能的FPGA芯片雷达信号处理设备,其特征在于,所述处理设备包括支持安装无人机上的实时处理信息的硬件设备和低功耗设备;

所述支持安装无人机上的实时处理信息的硬件设备通过采用FPGA+ARM异构架构,在不改变原无人机控制数据传输及控制链路的情况下执行相应指令;

所述低功耗设备根据所需要移植的算法及帧率需求,确定FPGA具体型号,针对逻辑进行优化,达到降低功耗的目的,延长无人机巡航时间。

进一步的,所述不改变原无人机控制数据传输及控制链路的情况下执行相应指令的方法包括以下步骤:

S1.11、根据无人机功耗和重量体积参数进行核心计算单元参数设定;其中在本发明中核心计算单元使用型号为JFM7VX690T20的FPGA芯片;

S1.21、根据核心计算单元内部算法进行数据处理,并将处理后的数据作为RJ45接口的输入;

S1.31、根据输入的数据进行数据预处理以及FPGA超参数计算,其中数据预处理以及FPGA超参数计算由ARM完成,在本发明中使用型号为4Core ARM Cortex-A53的AMR核心处理芯片;

S1.41、根据Command驱动程序初始化指令集,并将参数以及输入数据输入到DataBuffer;

S1.51、通过RS232串口传输判断决策命令,实现不改变原无人机控制数据传输及控制链路。

本发明根据无人机起飞重量及吊舱空间有限,且对于功耗和重量体积皆有限制,本发明设备核心计算芯片采用FPGA+ARM异构架构,其体积可满足无人机吊舱要求,功耗低,满足无人机使用需求,完整设备工作流程为:核心计算单元使用FPGA设备,FPGA处理后的数据通过RJ45接口输入,其中数据预处理及FPGA超参数计算由ARM完成,指令集由Command驱动程序初始化,最后将参数及输入数据输入到DataBuffer,在不改变原无人机控制数据传输及控制链路的情况下,判断决策等命令由RS232串口传输执行。

进一步的,所述核心计算单元内部算法进行数据处理的方法包括以下步骤:

S2.1、获取输入数据,并将数据通过FIFO进行缓存,缓存的同时调用补零模块进行数据处理;

S2.2、获取该层输入特征图通道数大小并进行补零操作;

S2.3、通过运算得到补零操作后的数据,并通过FIFO输出特征数据;

S2.4、通过FPGA Conv 1*3读取权重数据;

S2.5、将特征数据组装成1*3的窗口后和权重数据一起进行卷积计算并将运算后的结果进行输出。

本发明核心计算单元为FPGA,其中核心逻辑部分为人工智能算法,对于算法中不同卷积核,采用模块复用的设计,将窗口1*3进行补零卷积3*3(对应窗口空缺位置补0),其余流程相同,包含输入补零,特征图窗口组装,权重缓存以及权卷积计算等部分,输入数据首先需要进入FIFO进行缓存同时通知补零模块启动,按照该层输入特征图通道数大小进行补零操作,结束后控制FIFO输出特征数据,特征数据组装成1*3的窗口后和权重数据一起进行卷积计算,得到结果输出。

进一步的,所述获取该层输入特征图通道数大小并进行补零操作的方法包括以下步骤:

S3.1、分析输入数据并进行补零操作;

S3.2、获取窗口大小为1*3,根据本发明设定算法模型卷积步长统一为1,针对1*3窗口进行添加0填充值,以保证所有数据都能遍历到;

S3.3、根据公式

S3.4、将输入数据与权重数据进行矩阵内积计算,并将计算结果与对应偏置值一一相加得到3*3输出矩阵中对应行列值。

本发明通过获取输入数据后进行补零操作,获取窗口为1*3,卷积步长为1,并针对1*3窗口进行添加0填充值,通过公式得到数据维度值,在将数据输入后直接和权重数据一起进行乘累加操作,输出结果。

进一步的,所述针对逻辑进行优化的方法包括以下步骤:

S1.12、获取输入数据,读取权重数据,并将数据输入后直接和权重数据进行乘累加操作;

S1.22、对FPGA计算结果进行8bit量化,并通过Softmax算子进行定点数到浮点数的转换;

S1.32、对大数据范围内高离散分布数据进行量化;

S1.42、将神经网络算法中的算子进行合并,并输出结果。

进一步的,所述通过Softmax算子进行定点数到浮点数的转换的方法包括以下步骤:

S5.11、获取样本属于类别i的概率为

S5.21、添加一个C-1维列向量T(y),y=1,2,3,...,C-1,样本属于第i类,则第i行元素为1,其余为0,即

S5.31、根据y∈1类,即当y≠K时,T(y)中只有一个元素为1,其余元素为0,则y的期望值为:

S5.41、根据公式

S5.51、根据将

S5.61、将分母中i替换C,得到

S5.71、通过Softmax算子将FPGA处理得到的数据进行定点数到浮点数的转换。

本发明通过FPGA计算出卷积结果后得到8bit量化后的数据,通过Softmax算子对FPGA运算结果得到的定点数数据进行浮点数转换,计算过程采用浮点数,对应的输出结果也为浮点数。

进一步的,所述8bit量化的方法包括以下步骤:

S5.12、获取特征图训练集中考虑尺度参数和偏移参数;

S5.22、根据公式

S5.32、根据公式

S5.42、根据公式

S5.52、通过采用对称有符号量化方法可以观察到层权重在零附对称分布,从而实现权重量化,因此,与双堆成量化相比,激活的非对称量化在推理过程中有额外的成本,因为额外的偏移项可以预先计算在编译时合并到偏差中,根据公式

S5.62、基于8bit量化方案完成对大数据范围,高离散分布数据的量化。

本发明重点是在以上核心量化基理下完成对大数据范围内高离散分布数据的量化,且能满足硬件部署需求,在硬件设备上移植部署算法,具体量化过程通过Soffmax算子以及量化公式进行处理,其中卷积部分输出为24bit的定点数,通过Soffmax算子可以将24bit定点数量化到8bit,并将原本算法中的BN,Relu,Scale(神经网络算法中的算子)等部分进行合并,为后续结果数据提供数据参照。

进一步的,所述基于8bit量化方案完成对大数据范围,高离散分布数据的量化的方法包括以下步骤:

S7.1、获取S5.62量化后的数据值;

S7.2、通过卷积函数输出24bit的定点数,并根据Softmax算子将24bit定点数量化到8bit;

S7.3、将原本神经网络算法中的算子进行合并,输出结果。

本发明中核心计算单元FPGA设备无需通过拆卸无人机后进行程序烧录,只需在FPGA处于空闲状态下时通过上位机(PC)向FPGA发送配置指令,FPGA接收到指令后会转为更新状态,接收上位机传送的新模型数据,重构内部的算法模型,还可通过参数配置动态修改模型分类数,其中更新状态下无法进行算法检测,更新完成后FPGA从更新状态转为空闲状态或工作状态,可以接收新的输入监测数据,并使用新的模型进行检测,FPGA可以根据需求进行开发,通过外部输入参数的方式,适配不同的算法模型权重,在发明中FPGA上电即启动预训练的检测模型,无需配置即可使用,只需要输入检测数据即可以输出检测结果。

附图说明

图1是本发明一种基于人工智能的FPGA芯片雷达信号处理设备的FPGA Conv 1*3模块流程图;

图2是本发明一种基于人工智能的FPGA芯片雷达信号处理设备的FPGA Conv 1*1模块流程图;

图3是本发明一种基于人工智能的FPGA芯片雷达信号处理设备的FPGAQuantization模块流程图;

表1是本发明一种基于人工智能的FPGA芯片雷达信号处理设备的主要元器件示例列表。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-图3,本发明提供技术方案:

一种基于人工智能的FPGA芯片雷达信号处理设备,其特征在于,所述处理设备包括支持安装无人机上的实时处理信息的硬件设备和低功耗设备;

所述支持安装无人机上的实时处理信息的硬件设备通过采用FPGA+ARM异构架构,在不改变原无人机控制数据传输及控制链路的情况下执行相应指令;

所述低功耗设备根据所需要移植的算法及帧率需求,确定FPGA具体型号,针对逻辑进行优化,达到降低功耗的目的,延长无人机巡航时间。

所述不改变原无人机控制数据传输及控制链路的情况下执行相应指令的方法包括以下步骤:

S1.11、根据无人机功耗和重量体积参数进行核心计算单元参数设定;其中在本发明中核心计算单元使用型号为JFM7VX690T20的FPGA芯片;

S1.21、根据核心计算单元内部算法进行数据处理,并将处理后的数据作为RJ45接口的输入;

S1.31、根据输入的数据进行数据预处理以及FPGA超参数计算,其中数据预处理以及FPGA超参数计算由ARM完成,在本发明中使用型号为4Core ARM Cortex-A53的AMR核心处理芯片;

S1.41、根据Command驱动程序初始化指令集,并将参数以及输入数据输入到DataBuffer;

S1.51、通过RS232串口传输判断决策命令,实现不改变原无人机控制数据传输及控制链路(如表1所述为主要元器件示例列表)。

所述核心计算单元内部算法进行数据处理的方法包括以下步骤:

S2.1、获取输入数据,并将数据通过FIFO进行缓存,缓存的同时调用补零模块进行数据处理;

S2.2、获取该层输入特征图通道数大小并进行补零操作;

S2.3、通过运算得到补零操作后的数据,并通过FIFO输出特征数据;

S2.4、通过FPGA Conv 1*3读取权重数据(如图1所示为FPGA Conv 1*3流程图);

S2.5、将特征数据组装成1*3的窗口后和权重数据一起进行卷积计算并将运算后的结果进行输出。

所述获取该层输入特征图通道数大小并进行补零操作的方法包括以下步骤:

S3.1、分析输入数据并进行补零操作;

S3.2、获取窗口大小为1*3,根据本发明设定算法模型卷积步长统一为1,针对1*3窗口进行添加0填充值,以保证所有数据都能遍历到;

S3.3、根据公式

S3.4、将输入数据与权重数据进行矩阵内积计算,并将计算结果与对应偏置值一一相加得到3*3输出矩阵中对应行列值(如图2所示为FPGA Conv 1*1流程图)。

所述针对逻辑进行优化的方法包括以下步骤:

S1.12、获取输入数据,读取权重数据,并将数据输入后直接和权重数据进行乘累加操作;

S1.22、对FPGA计算结果进行8bit量化,并通过Softmax算子进行定点数到浮点数的转换;

S1.32、对大数据范围内高离散分布数据进行量化;

S1.42、将神经网络算法中的算子进行合并,并输出结果。

所述通过Softmax算子进行定点数到浮点数的转换的方法包括以下步骤:

S5.11、获取样本属于类别i的概率为

S5.21、添加一个C-1维列向量T(y),y=1,2,3,...,C-1,样本属于第i类,则第i行元素为1,其余为0,即(T(i))

S5.31、根据y∈1类,即当y≠K时,T(y)中只有一个元素为1,其余元素为0,则y的期望值为:

S5.41、根据公式

S5.51、根据将

S5.61、将分母中i替换C,得到

S5.71、通过Softmax算子将FPGA处理得到的数据进行定点数到浮点数的转换。

所述8bit量化的方法包括以下步骤:

S5.12、获取特征图训练集中考虑尺度参数和偏移参数;

S5.22、根据公式

S5.32、根据公式

S5.42、根据公式

S5.52、通过采用对称有符号量化方法可以观察到层权重在零附对称分布,从而实现权重量化,因此,与双堆成量化相比,激活的非对称量化在推理过程中有额外的成本,因为额外的偏移项可以预先计算在编译时合并到偏差中,根据公式

S5.62、基于8bit量化方案完成对大数据范围,高离散分布数据的量化。

所述基于8bit量化方案完成对大数据范围,高离散分布数据的量化的方法包括以下步骤:

S7.1、获取S5.62量化后的数据值;

S7.2、通过卷积函数输出24bit的定点数,并根据Soffmax算子将24bit定点数量化到8bit;

S7.3、将原本神经网络算法中的算子进行合并,输出结果(如图3所示为FPGAQuantization流程图)。

本实施例中,通过计算机程序的运行,由代数指令集(Command)驱动程序初始化,将参数以及输入数据输入到DataBuffer,控制参数会自动选择整个设备的计算逻辑(Convolution、BN、Scale、Relu、Eltwisee)及计算顺序进行运算,运算完成后返回到DDR,完成Memory to Memory(数据内存到内存交换)的操作。

PE单元代表着CNN中重要的卷积运算单元,Assist Calculation代表着非卷积运算单元。卷积和非卷积的运算流程由控制参数来控制,通过提前定义好的General ParaControl部分,输出结果经过量化模块(Quantize)后写入DDR中。经过一套完整的SDK程序来部署FPGA,该SDK是支撑一整套人工智能算法计算所需参数的软件包,包括数据预处理,量化,参数配置部分,可快速配置FPGA中的计算逻辑。

数据端通过串口网口传输,当接收到启动信号,初始化FPGA程序,通过访问FPGA的寄存器来对FPGA传送指令,完成参数的读写功能。量化模块可以将训练好的浮点数模型通过软件转换为量化模型,直接用仿真软件得到量化后的输出结果,并保留对应输出的参数,该参数即为FPGA所需计算参数和控制参数。参数配置软件可快速修改FPGA参数,在产品软件结构的情况下还能支持修改不同人工智能算法权重,只需要修改控制参数即可。

FPGA可以根据需求进行开发,通过外部输入参数的方式,适配不同的算法模型权重。在发明中FPGA上电即启动预训练的检测模型,无需配置即可使用,只需要输入检测数据即可以输出检测结果。

本发明设计的算法针对脉冲雷达信号做实时处理,在传统方法只能计算距离及速度信息的情况下,设计了一套应用于识别其他飞机类别的算法,并成功部署于无人机,满足实时处理的要求,并且识别准去率和召回率均大于90%,F1(F1-Score,是统计学中用来衡量二分类模型精确度的一种指标)指标大于85%。平均功耗30W,满足中长航时无人机续航需求。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于FPGA的雷达信号处理机调试方法、设备及介质
  • 基于FPGA的雷达信号处理机调试方法、设备及介质
技术分类

06120115597565