《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 多項式擬合在log-add算法單元中的應用及其FPGA實現
多項式擬合在log-add算法單元中的應用及其FPGA實現
來源:電子技術應用2011年第2期
魏開容,吉立新,楊鎮西
國家數字交換系統工程技術研究中心,河南 鄭州450002
摘要: 綜合考慮面積和速度等因素,采用一次多項式擬合實現了簡單快速的log-add算法單元。實驗結果表明,在相同的精度要求下,其FPGA實現資源占用合理,硬件開銷好于其他次數的多項式擬合實現方案。
中圖分類號: TN402
文獻標識碼: A
文章編號: 0258-7998(2011)02-0046-03
Application and FPGA implementation of polynomial fitting in log-add algorithm
Wei Kairong,Ji Lixin,Yang Zhenxi
National Digital Switch System Engineering & Technological R&D Center, Zhengzhou 450002,China
Abstract: This paper is about using one order polynomial fitting to implement the log-add algorithm for simple and fast units, considering factors such as size and speed. Experimental results show that the resource utilization of FPGA implementation is reasonable and hardware cost is better than other orders of the polynomial fitting in the same accuracy requirement.
Key words : polynomial fitting;log-add algorithm;FPGA implementation


    在多路實時語音處理系統中,基于高斯混合概率模型[1,2]的系統后端運算量非常大,采用log-add算法單元可以簡化運算,提高運算效率。其函數形式為[3]:

   查表法可以認為是多項式次數為0的情況,隨著精度要求的增加,查找表會變得很大[5]。函數逼近可以采用多項式擬合,首先根據所需要的精度確定多項式次數和分段的大小,然后計算每一段的多項式系數。
    設分段的大小為d(d=2-k,k=0,1,2…),計算各段系數時,各段函數平移到區間[0,d),如圖2所示。用Matlab進行多項式擬合依次得到各段系數。由此可以得出各段的擬合多項式為:

    這樣實現時可以把二進制的定點數x分為MSBs和LSBs兩段。MSBs對應段標號i,由段標號取出系數ci0,ci1,ci2…;LSBs對應浮點數xl,代表段內偏移值。由圖3可以計算出f(x)。

    MSBs和LSBs應該這樣選取,例如定標為Q32.f,選擇d=1/2,則MSBs為高32-(f-1)位,LSBs為低f-1位;選擇d=1/4, 則MSBs為高32-(f-2)位,LSBs為低f-2位……;如果MSBs為32或31,則變成了查表法。
2 多項式擬合的實現方案
2.1 多項式次數與分段大小、精度的關系

    用Matlab進行仿真,表1列出了各種精度要求下各次多項式所需的分段大小(d),其中?啄為精度要求,?茁為多項式的次數。
    由表1可以看出,相同次數的情況下,精度要求越高,分段大小d越??;而相同精度的情況下,次數越高,分段大小d越大。另外,次數越低,精度越高,分段大小d下降的數量級越快。



    表2列出各次多項式在不同精度要求下,所需要系數個數(n)的分布情況。

    由表2可以看出,其結果與表1趨于一致。相同次數下,精度要求越高,所需要的系數個數n越多;而相同精度下,次數越高,所需要系數個數n越少。n隨著次數的降低和精度的提高迅速增大。
    與n相反,多項式的計算量隨著多項式次數的增加而增加。根據horner算法[3]多項式的表達式如下:
  
    式(6)表明,多項式次數增加1次,計算多項式的函數值增加1次乘法和1次加法。多項式系數存儲量與多項式的計算量是其FPGA實現時互相制約的兩個因素。
3 仿真結果
    為了取得面積與速度的平衡,根據測試結果及實際系統的要求,選擇δ=10-4、β=1來實現。本文采用Xilinx ISE Design Suite 10.1進行仿真測試。定標取Q32.23,其硬件實現計算流程如圖4,輸入為定點數x,由MSBs和LBSs取得系數和xl,經過reg系數寄存器及1次乘法和1次加法,輸出y。

    時序仿真結果結果如圖5。輸入x是32 bit的無符號定點數,輸出為y;clk是時鐘;reset為復位信號;MSBs是x的高位,用于得到多項式系數;LSBs是x的低位即自變量;temp是用于緩存中間結果,coef[...]是多項式系數。輸出延遲3個時鐘周期,流水線填滿后,每個時鐘周期輸出一個結果。

    例如輸入32’h00333333(浮點數0.4),從圖中可以看出其輸出y為24’h41aba5,與實際函數值24’h41aa7c存在誤差。其實現結果與浮點結果比較誤差如圖6。可以看出定點數誤差在800以內,也就是浮點數約10-4以內,誤差范圍與表1相一致。

    使用ISE軟件的XST工具綜合,選擇設備為Xilinx公司Virtex5系列的XC5VFX100T(speed-2)。其資源占用情況如表3,其中Xilinx公司的乘加硬件設備DSP48E用于算法中的乘法運算及加法運算[6]。

    可以對比δ=10-4,β=0,1,2,3四種實現方式的硬件開銷,如表4。

    由表4可以看出,雖然多項式次數為0時使用寄存器(Registers)和查找表(LUTs)最少,且乘法和加法次數(DSP48Es)為0,但由于其使用了24×40 960 ROM,占用存儲面積較大;而一次多項式擬合雖然所占用查找表(LUTs)一項相對較多,但綜合考慮,其他資源占用都比較均衡。其整體的資源開銷要好于其他方案。
    log-add算法單元作為高斯混合概率模型FPGA實現的基本算法單元,能夠簡化運算、提高運算效率。在系統精度要求10-4的情況下,采用一次多項式擬合能夠有效地節省硬件開銷,實現簡單快速log-add算法單元,為大規模實時處理多路語音數據提供了重要保證。
參考文獻
[1] Douglas A.Reynolds,THOMAS E.Quatieri,Robert B.Dunn. Speaker verification using adapted gaussian mixture models[J].Digital Signal Processing,2000(10).
[2] Kazuo Miura,Hiroki Noguchi,Hiroshi Kawaguchi,et al.A  low memory bandwidth gaussian mixture model(GMM)  processor for 20,000-word real-time speech recognition FPGA system[J].ICECE Technology,2008.FPT.2008.
[3] MELNIKOFF S J,FQUIGLEY S.Implementing the Log-add  Algorithm in Hardware[J].Electronics Letters,2003.
[4] LEE B R,BURGESS N.A pallrallel Look-up logarithmic number system addition subtraction scheme for FPGA[J]. Proc.FPT,2003.
[5] 李煒,沈緒榜.對數數值系統的研究[J].微電子學與計算機,2004.
[6] 胡彬.Xilinx ISE Design Suite 10.x FPGA開發指南—邏輯設計篇[M].北京:人民郵電出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 538免费视频| 久久久老熟女一区二区三区| 综合欧美亚洲日本| 国产精品一区12P| 一个人看的免费高清视频www| 日韩精品人妻系列无码专区| 亚洲精品国产电影| 精品视频在线观看一区二区三区 | 在人间电影在线观看完整版免费| 中文字幕在线观看亚洲视频| 最新无码a∨在线观看| 亚洲永久中文字幕在线| 精品国产一区二区三区2021| 国产凌凌漆国语| 1000部拍拍拍18勿入免费视频软件 | 性高湖久久久久久久久| 久香草视频在线观看免费| 毛片免费在线视频| 免费看特级淫片日本| 色婷婷欧美在线播放内射| 国产无套中出学生姝| 91亚洲精品第一综合不卡播放| 女网址www女高清中国| 中文字幕无码视频专区| 日本黄色动画片| 亚洲av永久无码精品三区在线4| 毛片亚洲AV无码精品国产午夜| 免费日本黄色网址| 美女被的在线网站91| 国产在线a不卡免费视频| 中文字幕色网站| 国产美女一级做受在线观看| a级精品国产片在线观看| 恋恋视频2mm极品写真| 中文字幕资源在线| 日本边摸边吃奶边做很爽视频 | 中文字幕人成人乱码亚洲电影| 日韩专区亚洲精品欧美专区| 亚洲三级在线播放| 欧美日韩国产伦理| 亚洲精品亚洲人成在线观看|