• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    sigmoid函數(shù)的高效率硬件實現(xiàn)研究

    2018-09-25 05:52:32薛治天王正茂楊宇飛郝思源
    電子測試 2018年16期
    關鍵詞:近似算法浮點數(shù)尾數(shù)

    薛治天,王正茂,楊宇飛,郝思源

    (合肥市合肥工業(yè)大學,安徽合肥,230000)

    0 引言

    由于數(shù)據(jù)格式是與精度和資源消耗相關的,現(xiàn)有方案大多選取自定義的數(shù)據(jù)格式以在降低邏輯資源消耗同時保證擬合精度,而工程應用中常用的是IEEE754標準的32bit單精度浮點格式,使得這種方法設計的模塊再與其它模塊進行運算時,需要進行數(shù)據(jù)格式轉(zhuǎn)換,通信代價較大;若采用單精度浮點格式,采用以上現(xiàn)有方案,則難以達到逼近精度要求。

    1 Remez提出的近似算法

    根據(jù)切比雪夫定理給出,若 f (x)∈ C[a,b]存在n次的最佳一致逼近多項式(x)的充要條件是區(qū)間[a,b]上至少存在n+ 2 個交錯點 { x1,x2, ...,xn+2}使得 f (x) ?(x)在這些點上正負相間的取得最值,即滿足:

    切比雪夫定理從理論上給出了最佳一致逼近多項式的特性,而且給出了尋求最佳一致逼近多項式的方法,但是尋求交錯點組十分困難。Remez于1957年,采用逐次逼近的思想,提出了一個求連續(xù)函數(shù)的最佳一致逼近多項式的近似算法,取得了良好效果。

    Remez提出的近似算法由以下三步構成:

    在[a,b]上選 n + 2 個由小到大排列的初始點列{x1, x2, ...,xn+2}作為近似交錯點組,并設置精度ε>0;

    利用上式求解方程組(2)得近似多項式和近似偏差En′(f,x);則迭代終止;否則,若取得中的點,構成一新的近似交錯組。使在新點組在 f (x) ? p*n(x)上仍然正負相間,返回步驟(2)。

    2 運用Remez算法構造多項式逼近Sigmoid函數(shù)

    針對sigmoid函數(shù)的最佳逼近,我們對傳統(tǒng)的remez算法進行一定的改進以提高算法效率。

    針對步驟(1),由于sigmoid函數(shù)的最佳逼近函數(shù)實際交錯點在區(qū)間內(nèi)近似均勻分布,故取均分區(qū)間的點作為初始近似交錯點組,減少迭代步數(shù)。

    針對步驟(3),傳統(tǒng)的remez算法采用單一交換法,用 x*點取代{xi}中的點。我們采用同時交換法,對于求區(qū)間的最值,由于誤差函數(shù)連續(xù)可導且容易得到其導函數(shù),故采用牛頓法找到誤差導函數(shù)列 Ki(x) =( x) ?(x) xi≤x ≤ xi+1的零點列,可以證明該點列即為所求的{}點列。

    圖1 流程圖

    綜合考慮逼近的精確程度以及硬件實現(xiàn)的特殊性,我們在區(qū)間[0,10]分為10段逼近模塊,10段區(qū)間分別為[0,0.5][0.5,1] [1,1.5] [1.5,2] [2,3] [3,4] [4,5] [5,6] [6,8][8,10]

    得到如下的逼近多項式:

    表1 Sigmoid函數(shù)各段逼近多項式

    3 根據(jù)Sigmoid函數(shù)達到高效率硬件實現(xiàn)

    根據(jù)Sigmoid函數(shù)的性質(zhì)可知在區(qū)間[10,+∞]和[-∞,-10]距離1和0的誤差小于。如果總體誤差控制在以內(nèi),三次多項式就可以達到要求。為了便于硬件二進制處理,選擇區(qū)域左右端點均為2的冪次。

    EEE754標準中規(guī)定float單精度浮點數(shù)在機器中表示用1位表示數(shù)字的符號,用8位來表示指數(shù),用23位來表示尾數(shù),即小數(shù)部分。

    IEEE754標準中,一個規(guī)格化32位的浮點數(shù)x的真值表示為:

    其中尾數(shù)域表示的值是1.M。因為規(guī)格化的浮點數(shù)的尾數(shù)域最左位總是1,故這一位不予存儲,而認為隱藏在小數(shù)點的左邊。在計算指數(shù)e時,對階碼E的計算采用源碼的計算方式,因此32位浮點數(shù)的8bits的階碼E的取值范圍是0到255。其中當E為全0或者全1時,是IEEE754規(guī)定的特殊情況。

    圖2 分段最佳一致逼近函數(shù)

    32位單精度浮點數(shù)的階碼E由8位表示,取值范圍為0-255,去除0和255這兩種特殊情況,那么指數(shù)e的取值范圍就是1-127=-126到254-127=127。階碼的二進制位數(shù)決定浮點數(shù)的表示范圍,尾數(shù)的二進制位數(shù)表示浮點數(shù)的精度。32位浮點數(shù)尾數(shù)域有23位。那么浮點數(shù)以二進制表示的話精度是23位,23位所能表示的最大數(shù)是223-1=8388607,所以十進制的尾數(shù)部分最大數(shù)值是8388607,也就是說尾數(shù)數(shù)值超過這個值,float將無法精確表示,所以float最多能表示小數(shù)點后7位,但絕對能保證的為6位,也即float的十進制的精度為為6~7位。這樣的數(shù)據(jù)表示格式可以滿足我們對于計算范圍和精度的要求。

    流水線結構(pipeline architecture)是指在系統(tǒng)處理數(shù)據(jù)時,每個時鐘脈沖都接受下一條處理數(shù)據(jù)的指令。流水線機構提高了系統(tǒng)處理數(shù)據(jù)的速度,同時對時序有嚴格的要求。

    在仿真測試階段,通過輸入?yún)^(qū)間范圍內(nèi)的一組穩(wěn)定遞增的數(shù)據(jù),每過3個周期輸入一個data值,采用的流水線結構第一組數(shù)據(jù)會在24個周期后輸出擬合值,我們與手工計算的實際值作比較,精度達到了10-6數(shù)量級,滿足預期值。

    圖3 流水線架構實現(xiàn)

    4 基于Remez算法的Sigmoid函數(shù)硬件高效率實現(xiàn)

    本實施例中基于Remez算法的Sigmoid函數(shù)硬件高效率實現(xiàn)方法是:首先采用Remez最佳一致算法對Sigmoid函數(shù)進行四次多項式分段逼近,然后用流水線結構優(yōu)化硬件實現(xiàn)模塊。Remez給出了逐次逼近的思想,提出求連續(xù)函數(shù)的最佳一致逼近多項式的近似算法,取得了良好效果;由Remez提出的近似算法由以下三步構成:

    第1步:在[a,b]上選 n + 2 個由小到大排列的初始點列{x1, x2, ...,xn+2}作為近似交錯點組,并設置精度ε>0;

    第2步:求解獲得近似多項式 Pn(x ) 和近似偏差′(f,x);

    綜合考慮逼近的精確程度以及硬件實現(xiàn)的特殊性,本實施例中在區(qū)間[0,8]分為5段逼近模塊,5段區(qū)間分別為[0,0.5],[0.5,1],[1,2],[2,4],[4,8],獲得Sigmoid函數(shù)各段逼近多項式如表1所示。

    表2 Sigmoid函數(shù)各段逼近多項式

    根據(jù)Sigmoid函數(shù)的性質(zhì)可知在區(qū)間[8,+∞]和[-∞,-8]距離1和0的誤差小于。如果總體誤差控制在以內(nèi),三次多項式就可以達到要求。為了便于硬件二進制處理,選擇區(qū)域左右端點均為2的冪次。

    流水線結構(pipeline architecture)是指在系統(tǒng)處理數(shù)據(jù)時,每個時鐘脈沖都接受下一條處理數(shù)據(jù)的指令。流水線機構提高了系統(tǒng)處理數(shù)據(jù)的速度,同時對時序有嚴格的要求。

    通過在quartusⅡ用Verilog HDL硬件語言編寫程序然后結合modelsim強大的仿真功能進行聯(lián)合仿真,Sigmoid函數(shù)時序仿真波形符合預期要求。在仿真測試階段,通過輸入?yún)^(qū)間范圍內(nèi)的一組穩(wěn)定遞增的數(shù)據(jù),每過5個時鐘周期輸入一個data值,采用的流水線結構第一組數(shù)據(jù)會在45個周期后輸出擬合值,通過與手工計算的實際值作比較,精度達到了10-6數(shù)量級,滿足預期值。

    5 總結

    本文運用Remez算法構造多項式逼近Sigmoid函數(shù),優(yōu)化多項式逼近后的Sigmoid函數(shù)硬件實現(xiàn)架構,對優(yōu)化后的多項式逼近的Sigmoid函數(shù)進行verilog硬件語言建模,并進行仿真分析通過算例分析證明了本文所采用的使用Remez算法構造多項式逼近Sigmoid函數(shù)擬合誤差較低,運算速度快,精度較高,滿足預期值,達到了高效率的硬件實現(xiàn)。

    猜你喜歡
    近似算法浮點數(shù)尾數(shù)
    “改寫”與“省略”三不同
    四種Python均勻浮點數(shù)生成方法
    電腦報(2021年11期)2021-07-01 08:26:31
    連續(xù)自然數(shù)及乘積的尾數(shù)和奇偶性的分析
    2019年度下半年《啟迪與智慧》上下半月刊、《幽默與笑話》上下半月刊、《拳擊與格斗》上半月刊抽大獎中獎結果
    在C語言中雙精度浮點數(shù)線性化相等比較的研究
    船電技術(2017年1期)2017-10-13 04:23:24
    非精確浮點數(shù)乘法器設計
    應用自適應交叉近似算法快速計算導體RCS
    求投影深度最深點的近似算法
    考試周刊(2016年88期)2016-11-24 13:32:14
    有趣的九九乘法表
    無壓流六圓弧蛋形斷面臨界水深近似算法
    图们市| 高州市| 开封县| 泌阳县| 临安市| 彰化市| 海城市| 山阳县| 新龙县| 林芝县| 罗城| 牟定县| 石阡县| 长寿区| 武胜县| 岳阳市| 金塔县| 汉源县| 辽宁省| 定州市| 太保市| 石泉县| 建瓯市| 东乡县| 蒲江县| 张家港市| 叙永县| 全州县| 清镇市| 即墨市| 金门县| 云霄县| 蒙城县| 甘谷县| 乳山市| 宿松县| 攀枝花市| 高雄市| 本溪市| 遂溪县| 土默特左旗|