首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的RBF神经网络的硬件实现(3)

基于FPGA的RBF神经网络的硬件实现(3)

2.3.2 CORDIC迭代法
   
坐标旋转计算机(CORDIC:Coordinate Rotation Digital Computer)由Voider.J于1959年提出,1971年J.S.Wahher提出统一CORDIC算法。
    该算法是用于计算一些常用的非线性函数的循环迭代算法。其基本思想是用一系列与运算基数相关的角度的不断偏摆从而逼近所需旋转的角度,从而达到非线性函数的逼近。
    由CORDIC算法可知,计算指数函数exp(x)的迭代公式为:

    在实现指数函数exp时,采用MATLAB仿真与CORDIC迭代结合的方式。因为迭代过程中有限字长的截断将造成截断误差,所以如果CORDIC输入数据为N bit,则x,y迭代过程需log2(N)的保护位。具体迭代过程为:首先,把CORDIC输入数据映射到CORDIC迭代收敛区间,并根据相应数值的某位数字寻址查表;然后,以为z路径的初始值按公式(15)进行CODIC迭代,直到满足迭代次数,此时得到x1为Kh·exp(zin)。
2.4 系统整体设计框图
    RBF神经网络训练部分的系统框图如图2所示。



3 系统仿真
   
本实验以Altera公司开发的EDA工具QuartusⅡ作为编译、仿真平台,选用Cyclone系列中的EP1C6Q240C8器件。且以经典非线性问题XOR问题为算例。仿真结果如表1所示。



4 结束语
    FPGA作为一种可编程资源,在提高设计灵活性及加快算法效率上,比较适合硬件实现神经网络,可以加快。而文中采用STAM算法,可以有效地节省存储空间,且CORDIC迭代算法实现了RBF网络中的非线性高斯映射函数,所耗资源较少,适合于作为硬件实现网络的算法。从经典非线性XOR算例在基于文中所设计的RBF网络中有较好结果,不仅精度上得到较满意的结果,且网络的总体误差也较小。
继承事业,薪火相传
返回列表