基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)
2.3.2 CORDIC迭代法
坐標(biāo)旋轉(zhuǎn)計(jì)算機(jī)(CORDIC:Coordinate Rotation Digital Computer)由Voider.J于1959年提出,1971年J.S.Wahher提出統(tǒng)一CORDIC算法。
該算法是用于計(jì)算一些常用的非線性函數(shù)的循環(huán)迭代算法。其基本思想是用一系列與運(yùn)算基數(shù)相關(guān)的角度的不斷偏擺從而逼近所需旋轉(zhuǎn)的角度,從而達(dá)到非線性函數(shù)的逼近。
由CORDIC算法可知,計(jì)算指數(shù)函數(shù)exp(x)的迭代公式為:
在實(shí)現(xiàn)指數(shù)函數(shù)exp時(shí),采用MATLAB仿真與CORDIC迭代結(jié)合的方式。因?yàn)榈^(guò)程中有限字長(zhǎng)的截?cái)鄬⒃斐山財(cái)嗾`差,所以如果CORDIC輸入數(shù)據(jù)為N bit,則x,y迭代過(guò)程需log2(N)的保護(hù)位。具體迭代過(guò)程為:首先,把CORDIC輸入數(shù)據(jù)映射到CORDIC迭代收斂區(qū)間,并根據(jù)相應(yīng)數(shù)值的某位數(shù)字尋址查表;然后,以為z路徑的初始值按公式(15)進(jìn)行CODIC迭代,直到滿足迭代次數(shù),此時(shí)得到x1為Kh·exp(zin)。
2.4 系統(tǒng)整體設(shè)計(jì)框圖
RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練部分的系統(tǒng)框圖如圖2所示。本文引用地址:http://2s4d.com/article/189759.htm
3 系統(tǒng)仿真
本實(shí)驗(yàn)以Altera公司開(kāi)發(fā)的EDA工具QuartusⅡ作為編譯、仿真平臺(tái),選用Cyclone系列中的EP1C6Q240C8器件。且以經(jīng)典非線性問(wèn)題XOR問(wèn)題為算例。仿真結(jié)果如表1所示。
4 結(jié)束語(yǔ)
FPGA作為一種可編程資源,在提高設(shè)計(jì)靈活性及加快算法效率上,比較適合硬件實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),可以加快。而文中采用STAM算法,可以有效地節(jié)省存儲(chǔ)空間,且CORDIC迭代算法實(shí)現(xiàn)了RBF網(wǎng)絡(luò)中的非線性高斯映射函數(shù),所耗資源較少,適合于作為硬件實(shí)現(xiàn)網(wǎng)絡(luò)的算法。從經(jīng)典非線性XOR算例在基于文中所設(shè)計(jì)的RBF網(wǎng)絡(luò)中有較好結(jié)果,不僅精度上得到較滿意的結(jié)果,且網(wǎng)絡(luò)的總體誤差也較小。
評(píng)論