您的位置:網站首頁 > 電器維修資料網 > 正文 >
神經網絡在測控系統中的實現
來源: 日期:2013-11-15 15:35:31 人氣:標簽:
由于神經網絡模型是一種較為復雜的運算,要在單片機中實現神經網絡算法,無論是單片機硬件還是神經網絡模型的軟件算法都會受到其復雜性的影響。由于單片機的浮點運算能力較差,所以我們除了要對硬件電路進行優化以外還要對軟件算法上進行修改。
首先,簡化復雜函數。用單片機實現神經網絡模型算法時,進行浮點運算和計算復雜的函數,例如tant函數,是造成計算速度減慢的兩大因素。單片機系統的特點就決定了其浮點運算能力不會得到提高,但是對于復雜函數的計算,可以利用分段多項式擬合的方法提高運算精度。例如我們擬合tanh函數,由于多項式函數不是連續的,在訓練神經網絡時是不可以替代tanh的,但是為了簡化運算,對于訓練后網絡用多項式擬合其傳遞函數是符合實際需要的。例如我們選擇12mhz的at89c51單片機,分別采用tanh函數和多項式擬合函數所得的神經網絡模型的輸出,如下表所示。
從上面我們可以看出,雖然簡化傳遞函數之后,運算時間減少了,但是實現神經網絡模型算法對單片機而言還是一個沉重的負擔,在實際設計中要考慮設計應用條件的限制,在保證一定預測精度的前提下,神經網絡模型應當是越簡單越好。
其次,減少中間變量。神經網絡模型的權值、閾值以及中間變量很多,但是單片機的程序區rom和數據區ram存儲量都是有限的,勢必要增加外部儲存器,但是又因為測控系統受體積的限制避免增減外接存儲器,因此在實現算法時要將權值和閾值等參數寫成立即數的形式,減少資源的占用,如下表所示。
我們可以看出,基于單片機的測控系統能實現神經網絡算法并且滿足實際測控的需要,但是神經網絡算法也要簡化,保證在一定預測精度的前提下選用簡單的網絡模型,簡化傳遞函數。該例的程序可以分為兩個部分,分別是神經網絡簡化前的程序和簡化后用多項式擬合的程序。
下面是單片機完成神經網絡模型算法的c語言程序代碼。
上面介紹了單片機實現神經網絡算法的原理、實現方式及程序源代碼。神經網絡方法可以用在測控等領域,例如可以用來作為模型飛機的預測航向,模式識別、信號處理、知識工程、專家系統、優化組合、機器人控制等。隨著神經網絡理論本身以及相關理論、相關技術的不斷發展,神經網絡的應用定將更加深入。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 神經網絡的概述
- 下一篇: 信號數據的FFT變換介紹