• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于NIOS的濕度傳感器數(shù)據(jù)處理RBF神經(jīng)網(wǎng)絡實現(xiàn)

      2014-07-24 18:30:34李建龍陳向東倪進權謝冰青
      現(xiàn)代電子技術 2014年14期
      關鍵詞:RBF神經(jīng)網(wǎng)絡

      李建龍+陳向東+倪進權+謝冰青

      摘 要: RBF神經(jīng)網(wǎng)絡具有較強的擬合能力和穩(wěn)定性,得到了廣泛的應用。以FPGA芯片為核心器件,設計實現(xiàn)RBF神經(jīng)網(wǎng)絡。利用SOPC Builder設計硬件架構,通過添加指令,在NIOS環(huán)境下利用C語言進行設計,這樣就解決了利用Verilog或VHDL設計消耗資源多和軟件模擬耗時多的問題。最后以Altera公司的Cyclone IV系列芯片作為驗證器件,結果表明該方法實現(xiàn)簡單,可靠性強,消耗資源少。

      關鍵詞: SOPC; NIOS; RBF神經(jīng)網(wǎng)絡; 歐氏距離; 高斯函數(shù)

      中圖分類號: TN711?34; TP332 文獻標識碼: A 文章編號: 1004?373X(2014)14?0103?04

      Implementation of NIOS based RBF neural network for

      processing of humidity sensor data

      LI Jian?long1, CHEN Xiang?dong1, NI Jin?quan1, XIE Bing?qing2

      (1. School of Information Science and Technology, Southwest Jiaotong University, Chengdu 610031, China;

      2. School of Mathematics and Computer Engineering, Xihua University, Chengdu 610039, China)

      Abstract: RBF neural network with fitting ability and stability has been widely used. Based on the FPGA chip as a core device, the RBF neural network is designed in this paper. The hardware architecture was designed by means of SOPC Builder, the added instructions and C language in NIOS environment. In this way, the problems existing in the design were solved, because they consume too many resources by using Verilog or VHDL to carry out the design and take much more time in software simulation. The Cyclone IV series chip of Altera Company was taken to perform the verification. The result shows that the method is simple, and has high reliability and less consumption of resources.

      Keywords: SOPC; NIOS; RBF neural network; Euclidean distance; Gaussian function

      0 引 言

      徑向基神經(jīng)網(wǎng)絡相對于BP神經(jīng)網(wǎng)絡具有最佳逼近和全局最優(yōu)的性能,已在圖像識別和曲線擬合得到廣泛應用,采用專門定制的神經(jīng)網(wǎng)絡芯片成本高、靈活性差[1]。Alteral 公司開發(fā)的SOPC Builder是基于SOC和IP的思想進行的設計,集成了許多參數(shù)化的IP核,使得硬件設計變得相對簡單。同時它也提供了完備的C語言頭文件,隱藏了很多硬件細節(jié),軟件開發(fā)難度就會降低,用戶也可以把自己設計的IP集成到SOPC Builder中,以實現(xiàn)重用[2]。本文設計實現(xiàn)基于NIOS Ⅱ的RBF神經(jīng)網(wǎng)絡繼承了NIOS Ⅱ嵌入式處理器面向用戶、可靈活定制的通用RISC嵌入式處理器特性,使得產(chǎn)品成本低、易用性、適應性和不會過時等優(yōu)勢,使得實現(xiàn)產(chǎn)品滿足現(xiàn)在和今后的要求[3]。

      1 RBF神經(jīng)網(wǎng)絡原理

      1988年Broomhead和Lowe將RBF應用于神經(jīng)網(wǎng)絡設計[4],構成了RBF神經(jīng)網(wǎng)絡。RBF神經(jīng)網(wǎng)絡由輸入層、隱含層、輸出層三層構成。第一層為輸入層,由源節(jié)點組成,是網(wǎng)絡輸入矢量;第二層為隱含層,隱含層的節(jié)點數(shù)由實際問題決定;第三層為輸出層,是對輸入做出的響應。輸入層到隱含層是非線性映射,其激活函數(shù)為徑向基函數(shù);隱含層到輸出層為線性映射。如圖1所示[5]。

      隱含層的節(jié)點就是一個神經(jīng)元,其結構如圖2所示[5]。徑向基函數(shù)采用高斯(Gaussian)函數(shù),其表達式為:

      [Rx=exp-x-c22σ2] (1)

      高斯函數(shù)的變量為輸入與中心的歐氏距離,當輸入越靠近中心時,隱含節(jié)點將產(chǎn)生較大的輸出。由此看出網(wǎng)絡具有很強局部逼近能力。

      圖1 RBF神經(jīng)網(wǎng)絡結構圖

      圖2 神經(jīng)元結構圖

      由于高斯函數(shù)是非線性的,用描述語言實現(xiàn)很難,使用軟件模擬需要花費時間比較長。所以,在高斯函數(shù)實現(xiàn)過程中采用分段線性化的方法進行擬合,這樣利用描述語言就很容易實現(xiàn),高斯函數(shù)曲線關于y軸對稱,可以先對x取絕對值,這樣只要擬合x正半軸即可。高斯函數(shù)線性化采用求導區(qū)間劃分法,然后取平均值作為斜率,這樣有利于劃分,擬合精度也相對較高,通過仿真和實際值比較如表1所示。

      表1 Gaussian函數(shù)各區(qū)間逼近函數(shù)及誤差

      輸出層實現(xiàn)從隱含層到輸出節(jié)點的線性輸出,即:

      [yk=i=1mωikRix] (2)

      RBF神經(jīng)網(wǎng)絡訓練需要得出以下幾個參數(shù):基函數(shù)中心、隱含層閾值、隱含層到輸出層權值、輸出層閾值。

      (1) 基函數(shù)中心的選取

      徑向基函數(shù)中心的選取方法有隨機選取中心法、自組織選取中心法、有監(jiān)督選取中心法和正交最小二乘法等,采用不同的方法,網(wǎng)絡的學習算法也就不同[6]。本文為了簡化學習算法、減少選取中心的時間,以樣本為每個基函數(shù)的中心。

      (2) 隱含層閾值

      隱含層閾值是調整神經(jīng)元的靈敏度,當輸入權值為±b1時,徑向基輸出為0.5,這就決定了每個神經(jīng)元輸入?yún)^(qū)間所響應的輸出寬度。因此,b1應足夠大,使得徑向基神經(jīng)元來激活徑向基神經(jīng)元的輸入?yún)^(qū)間,以致每個神經(jīng)元在任意點總有相當大的輸出,這使網(wǎng)絡函數(shù)平滑和更好的在設計中輸入量之間產(chǎn)生新的輸入量。然而,b1也不應該特別大,以致每個神經(jīng)元在重疊的輸入?yún)^(qū)間都能產(chǎn)生有效的響應[5]。通常b1取值0.832 6。

      (3) 隱含層到輸出層權值及輸出層閾值

      從隱含層到輸出層可以通過最小二乘法直接計算[7],以得到最小平方和誤差的權值及閾值,其計算公式為:

      [ωb×A1;ones=T] (3)

      [ωb=T/A1;ones] (4)

      2 SOPC硬件平臺設計

      2.1 SOPC硬件平臺的建立

      根據(jù)設計需求需要添加CPU,JTAG,PIO,SDRAM,EPCS,UART等IP核[8],如圖3所示。

      圖3 SOPC軟核構建

      在添加以后還需進行地址分配和中斷號分配,在這里構建的軟核中以EPCS作為代碼和變量存儲器件,用SDRAM為代碼運行存儲器件。增加串口是為了方便手動修改和輸入權值、閾值。

      在頂層實體創(chuàng)建中還需要添加PLL、I/O,硬件使用的時鐘為20 MHz,而CPU軟核時鐘設計為100 MHz,因此需要PLL進行倍頻,并且也要為SDRAM產(chǎn)生相移的時鐘信號。頂層實體如圖4所示。

      圖4 頂層實體設計

      2.2 定制指令的實現(xiàn)

      本系統(tǒng)中對神經(jīng)網(wǎng)絡實現(xiàn)過程中的歐氏距離、乘累加和傳輸函數(shù)采用了定制指令的方法實現(xiàn),用來減少用軟件模擬實現(xiàn)過程中時間問題,定制指令需要在CPU核的custom instruction欄進行添加,添加后如圖5所示。

      圖5 指令添加

      操作指令的實現(xiàn)一個重點解決問題就是數(shù)的表示形式,本文采用了IEEE?754[9]浮點數(shù)運算標準,IEEE?754也被許多CPU和浮點運算器所采用。它定義了4種浮點數(shù)的表示形式,文中采用了32位單精度表示形式,包括1位符號位、8位指數(shù)位和23位小數(shù)位,其表示精度達到1.18×10-38,滿足算法的設計要求,如圖6所示。

      圖6 浮點數(shù)表示

      歐氏距離[dist=x-w]實現(xiàn)過程中沒有對其開根號,直接取他的平方值,即[dist2=x-w2],在傳入傳遞函數(shù)時代入平方值,這樣減少了歐氏距離的開根號和平方帶來的復雜度和時間消耗,通過Modelsim仿真結果如圖7所示,從數(shù)值輸入到輸出只需要6個時鐘周期。

      圖7 徑向基仿真

      每個乘累加需要6個時鐘周期,N個輸入值在N*6個時鐘周期后產(chǎn)生輸出結果,仿真如圖8所示。

      激勵函數(shù)是設計中另一個重點解決的問題,也是一個關鍵問題,激勵函數(shù)的逼近能力關系到最終結果的誤差大小。仿真結果如圖9所示。

      圖8 乘累加仿真

      圖9 激勵函數(shù)仿真

      完成硬件設計以后在NIOS Ⅱ環(huán)境下建立軟件工程[10],并對工程編譯就會產(chǎn)生對應命令如下,這樣就可以方便通過C語言調用。

      #define ALT_CI_DISTANCE_INST_N 0x00000000

      #define ALT_CI_DISTANCE_INST(A,B)

      _builtin_custom_inii(ALT_CI_DISTANCE_INST_N,(A),(B))

      #define ALT_CI_GAUSSIAN_INST_N 0x00000001

      #define ALT_CI_GAUSSIAN_INST(A)

      _builtin_custom_inii(ALT_CI_GAUSSIAN_INST_N,(A)

      #define ALT_CI_MULT_ADD_INST_N 0x00000002

      #define ALT_CI_ MULT_ADD_INST(A,B)

      _builtin_custom_inii(ALT_CI_MULT_ADD_INST_N,(A),(B))

      3 實驗結果分析

      該系統(tǒng)的驗證使用了Altera公司的Cyclone IV系列的EP4CE30VE20C8 FPGA芯片,該芯片含有28 848個邏輯單元、329個引腳及其他豐富的專用硬核資源,并且在該芯片可以嵌入NIOS軟核,進行FPGA嵌入式開發(fā),完全滿足系統(tǒng)設計硬件資源的需求。圖10為系統(tǒng)設計占用資源情況。系統(tǒng)總共使用了6 855個邏輯單元,占總資源的24%。通過測試從數(shù)據(jù)輸入到輸出延時僅3 μs。

      圖10 系統(tǒng)資源使用情況

      系統(tǒng)驗證使用氧化石墨烯濕度傳感器隨溫度漂移測得的24組溫漂實驗數(shù)據(jù),選取其中6組數(shù)據(jù)作為系統(tǒng)驗證值,其余18組數(shù)據(jù)作為網(wǎng)絡訓練樣本,數(shù)據(jù)見表2。

      表2 氧化石墨烯濕度傳感器測量數(shù)據(jù)

      通過在Matlab軟件仿真和在FPGA開發(fā)板對RBF神經(jīng)網(wǎng)絡系統(tǒng)驗證以后得到表3結果。

      表3 Matlab仿真值和實驗值及誤差

      通過表格分析可以看出,Matlab仿真可以得到誤差較小的值,絕對誤差小于0.3。而實驗驗證值絕對誤差由于數(shù)值表示形式和位數(shù)的限制,以及激勵函數(shù)逼近,致使誤差結果變大。不過誤差平均1%范圍以內,滿足設計需求。

      4 結 語

      本文介紹了一種在FPGA上實現(xiàn)RBF神經(jīng)網(wǎng)絡的方法。大多實現(xiàn)神經(jīng)網(wǎng)絡多采用Verilog或者VHDL語言編程,這相對難度較大,資源消耗量大,準確度低;或者采用軟件模擬實現(xiàn),這種方法實現(xiàn)難度相對簡單,但每次輸出耗時較多,并行性差。利用FPGA芯片在其上嵌入軟核,構建硬件架構,通過Vorilog編寫指令,添加到軟核,在NIOS環(huán)境中利用C語言對其指令的調用和程序開發(fā),這樣軟硬件結合實現(xiàn)的神經(jīng)網(wǎng)絡使得實現(xiàn)難度、資源消耗和速度達到一個均衡。

      參考文獻

      [1] 謝真真,張肅宇.一種基于FPGA的硬件神經(jīng)網(wǎng)絡設計實現(xiàn)[J].科技廣場,2011(4):6?9.

      [2] 李蘭英.NIOS Ⅱ嵌入式軟核[M].北京:北京航空航天大學出版社,2006.

      [3] 侯建軍,郭勇.SoPC技術基礎教程[M].北京:北京理工大學出版社,2008.

      [4] 鐘珞,饒文碧,鄒承明.人工神經(jīng)網(wǎng)絡及其融合應用技術[M].北京:科學出版社,2007.

      [5] MathWorks Corp. Radial basis functions [M]. [S.l.]: MathWorks, 2011.

      [6] 李俊.硅壓阻式智能壓力傳感器的溫度補償系統(tǒng)研究與實現(xiàn)[D].廣州:華南理工大學,2011.

      [7] 高雋.人工神經(jīng)網(wǎng)絡原理及仿真實例[M].北京:機械工業(yè)出版社,2003.

      [8] Altera Corp. SOPC Builder user guide [M]. America: Altera Corp, 2010.

      [9] ASNI/IEEE. Std 754?1985 IEEE standard for binary floating?point Arithmetie [S]. America: IEEE, 1985.

      [10] Altera Corp. NIOS Ⅱ software developer's [M]. America: Altera Corp, 2011.

      猜你喜歡
      RBF神經(jīng)網(wǎng)絡
      基于BP和RBF的手機網(wǎng)民規(guī)模預測方法研究
      計算機時代(2017年2期)2017-03-06 20:22:47
      基于RBF神經(jīng)網(wǎng)絡的交通事故預測
      商情(2016年46期)2017-03-06 04:08:38
      無線Mesh網(wǎng)絡發(fā)展
      無線Mesh網(wǎng)絡安全性研究
      無線Mesh網(wǎng)絡基礎知識
      基于RBF神經(jīng)網(wǎng)絡的PID自校正控制研究
      基于RBF神經(jīng)網(wǎng)絡的一回路核動力裝置典型故障診斷
      科技視界(2016年18期)2016-11-03 23:59:24
      基于RBF神經(jīng)網(wǎng)絡的數(shù)據(jù)挖掘方法探究
      RBF神經(jīng)網(wǎng)絡在創(chuàng)業(yè)板新股定價問題上的研究
      基于遺傳優(yōu)化RBF神經(jīng)網(wǎng)絡的電動負載模擬器控制
      临洮县| 阜新市| 沿河| 弥渡县| 惠来县| 新民市| 渑池县| 宜良县| 美姑县| 扶风县| 波密县| 庄浪县| 织金县| 云阳县| 灵石县| 金昌市| 云阳县| 牟定县| 明光市| 焉耆| 盐源县| 桑植县| 江阴市| 荆州市| 宝清县| 广南县| 孙吴县| 察隅县| 德阳市| 杭锦旗| 浦县| 杭锦后旗| 石泉县| 兴仁县| 南通市| 皮山县| 宁津县| 三原县| 汝阳县| 清镇市| 游戏|