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