[发明专利]一种基于FPGA的全流水粒子群优化算法实现方法在审
申请号: | 201710081434.2 | 申请日: | 2017-02-15 |
公开(公告)号: | CN106874999A | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 韩方剑;余莉;黄少冰 | 申请(专利权)人: | 湖南省瞬渺通信技术有限公司 |
主分类号: | G06N3/00 | 分类号: | G06N3/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410000 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 流水 粒子 优化 算法 实现 方法 | ||
技术领域
本发明涉及人工智能算法的高速实时信号处理领域,特别涉及一种大规模粒子群优化算法硬件实现方案,具体是一种基于现场可编程门阵列(Field Programmable Gate Array,简称FPGA)硬件全流水粒子群优化算法的实现方法。
背景技术
粒子群算法(Particles Swarm Optimization,PSO)属于进化类人工智能算法,于1995年由Kennedy和Eberhart两位学者提出,是一种群体智能搜索算法,其原理在于模拟鸟群觅食的过程搜索全局最优解。经过20多年的探索和发展,PSO算法性能趋于完善,与诸如遗传算法、退火算法等进化算法相比,在搜索全局最优值和收敛速度方面的性能更加优越,而且其迭代更新公式的简单数学形式表达,表明其具有易于硬件实现的优势。
目前,PSO算法更多地应用于软件领域,在硬件领域实现的情况少之又少。纵使有少部分学者提出相关实现方案,也仅采用规模很小的种群进行实现,且需耗费大量的硬件资源,而粒子群算法性能与粒子种群大小有着很大的关系,种群越多性能自然越好。因此,原有的小规模种群实现方案完全无法适用于高速实时数字信号处理领域。
FPGA是拥有大规模可编程的门逻辑阵列,具有高度的并行性。近年来,随着FPGA产品性能的快速提升,其在高速实时数字信号处理领域发挥的作用越来越大。从理论上说,采用FPGA非常有利于PSO等并行性搜索算法的实现,但由于传统的并行实现方案是对所有种群粒子采用单独模块的并行实现方式,这样,当PSO的种群规模较大时,这种传统做法需耗费相当多的硬件资源,不适合工程化。
发明内容
本发明要解决的技术问题是:现有的PSO实现方案耗费大量硬件资源,且实时性处理存在困难,针对这些不足之处,本发明利用FPGA全水流信号处理框架,采用多相信号处理方式,在不消耗大量硬件资源的情况下,实现大规模种群的PSO算法,并使其应用到高速实时数字处理领域。
本发明的基本思路是:基于FPGA高速实时运算特性,采用全流水并行实现架构,在FPGA上实现大规模种群PSO算法。本发明的基本原理是:实现PSO算法中一个基本粒子单元的全流水结构,利用全流水特性,采用多相信号处理方式,对特定的相位通道数据给予特定的粒子。这种采用流水线的多相结构方法,完全可以替代多个粒子分别采用独立模块而不得不独占硬件资源的原有方案,这样,便可在不降低工作时钟情况下实现资源的复用。
本发明的技术方案是:一种基于FPGA的全流水粒子群优化算法实现方法,其特征在于,包括以下步骤:
第一步,构建单个种群粒子的流水化处理流程;
第(1)步,描述粒子的处理过程:
为表述方便,记种群规模大小为N,即粒子群数量,种群记为P=(P1,P2,P3,…,PN)T,迭代速度向量记为V=(V1,V2,V3,…,VN)T,种群个体最优值记为Ppbest=(Ppbest1,Ppbest2,...PpbestN)T,种群的全局最优值为Pgbest,对于特定的粒子i在第k次迭代时,其速度和位置的更新过程描述如下等式:
其中,c1,c2是两个常数,取为2;r1,r2是两个范围为[0,1]的随机数;ωk是惯性权重,主要用来平衡算法的局部和全局搜索能力;
其中,1>ωmax>ωmin>0,ωmax,ωmin分别为ω的最大值和最小值,分别取值为0.9和0.4,k为当前迭代次数,K在FPGA实现中记为粒子更新的总次数。
第(2)步,依据更新公式,构建单个粒子硬件流水化实现处理过程;为得到流水化处理结构,其过程可以表示为如图1所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南省瞬渺通信技术有限公司,未经湖南省瞬渺通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710081434.2/2.html,转载请声明来源钻瓜专利网。