新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用矢量旋轉(zhuǎn)求解平方根的算法及其FPGA實(shí)現(xiàn)*

利用矢量旋轉(zhuǎn)求解平方根的算法及其FPGA實(shí)現(xiàn)*

——
作者:鐘花 孫松林 景曉軍 北京郵電大學(xué)信息與通信工程學(xué)院 時(shí)間:2009-08-07 來源:電子產(chǎn)品世界 收藏

  實(shí)驗(yàn)結(jié)果

本文引用地址:http://2s4d.com/article/96987.htm

  在Quartus Ⅱ6.0環(huán)境下使用語言完成了上述算法,并在Stratix系列EP2S60開發(fā)板上實(shí)現(xiàn)。時(shí)鐘頻率為100MHz,綜合和布局布線后,需要不到1%的ALUT和56個(gè)寄存器,因此實(shí)現(xiàn)該算法只需要占用很少的資源。仿真波形如圖3所示。

  波形圖中的被開方數(shù)范圍在[0,1]之間,由于以16位二進(jìn)制數(shù)表示,需要對(duì)其進(jìn)行歸一化。如圖中輸入數(shù)值65000,歸一化后為0.9918,實(shí)驗(yàn)中輸出值65345,歸一化后為0.9971,通過計(jì)算,0.9918的理論值約為0.9959,實(shí)驗(yàn)值和理論值之間的誤差約為0.1195%。

  由于迭代計(jì)算中沒有復(fù)雜的乘法運(yùn)算,每次迭代都只需要一次加法運(yùn)算和一次移位操作。因此本文提出的算法只需要一個(gè)時(shí)鐘周期就可以計(jì)算出結(jié)果,在理論上沒有時(shí)延。圖3所示的仿真圖中有時(shí)延是因?yàn)闉榱朔抡鏁r(shí)間考慮,將循環(huán)過程以犧牲時(shí)間來實(shí)現(xiàn)的,因此該算法具有處理速度快的特點(diǎn)。

  試驗(yàn)分析

  在輸入數(shù)據(jù)為16位寬,的條件下進(jìn)行仿真,得到實(shí)驗(yàn)數(shù)據(jù)。

  圖4是實(shí)驗(yàn)值與理論值的比較,由此可見,筆者提出的算法可以很好地逼近理論值,計(jì)算誤差非常小。

  在相同器件和相同精度的條件下,對(duì)不同的算法的性能進(jìn)行比較。在輸入均為16位的被開方數(shù)時(shí),對(duì)本算法、參考文獻(xiàn)[8]采用的牛頓迭代算法和文獻(xiàn)[9]采用的不恢復(fù)余數(shù)的開平方算法進(jìn)行比較,結(jié)果見表1。

矢量控制相關(guān)文章:矢量控制原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉