<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 插值查找表:實(shí)現(xiàn)DSP功能的簡(jiǎn)便方法

          插值查找表:實(shí)現(xiàn)DSP功能的簡(jiǎn)便方法

          作者:DanieleBagni 賽靈思公司DSP專家兼現(xiàn)場(chǎng)應(yīng)用工程師 時(shí)間:2010-03-02 來(lái)源:電子產(chǎn)品世界 收藏

          本文引用地址:http://www.ex-cimer.com/article/106456.htm

            圖1顯示了System Generator中ILUT方案的頂層結(jié)構(gòu)圖。為讓這個(gè)方法盡可能一般化,假設(shè)nx=16位中的輸入變量x的取值范圍為0≤x<1,因此其格式為“無(wú)符號(hào)16位加上二進(jìn)制點(diǎn)右邊的16位”,也稱為Ufix_16_16格式。最高有效位(MSB)和最低有效位(LSB)模塊分別對(duì)應(yīng)輸入數(shù)據(jù)nb=10的最高位和nx-nb=6的最低位。這些信號(hào)被命名為x0和dx。y=sqrt(x)輸出則以ny=17位二進(jìn)制數(shù)表示,格式為:Ufix_17_17。

            圖2顯示了1000字小容量LUT通過雙端口RAM模塊的部署步驟。由于該模塊系只讀存儲(chǔ)器,布爾常數(shù)模塊We_const強(qiáng)制將寫入歸零。信號(hào)X0和X0+1則用作ROM表上后續(xù)的兩個(gè)地址。Data_const模塊的零常數(shù)定義了任何ROM字的大小(即本例中的ny)。

            下面的公式顯示了以x0為x的最高有效位的情況下,如何在兩個(gè)已知點(diǎn)(x0,y0)和(x1,y1)之間插入坐標(biāo)為(x,y)的點(diǎn):

            注意X1和X0是這個(gè)小容量LUT的相鄰地址,它們之間只隔了一個(gè)最低有效位。由于這個(gè)小容量LUT的地址空間為nb位,那么該LSB的值為2-nb。內(nèi)插步驟見圖3。“Reinterpret”模塊在不改變二進(jìn)制表示法的情況下,可改變dx=x-x0信號(hào)。其重置了二進(jìn)制小數(shù)點(diǎn)(從UFix_6_0到UFix_6_6格式),并輸出nx-nb位二進(jìn)制數(shù)的一個(gè)分?jǐn)?shù),從而計(jì)算出(x-x0)/2-nb的值。

            從硬件角度來(lái)看,這些模塊什么都不占用。總的來(lái)說(且根據(jù)我們通過ILUT方法應(yīng)用的函數(shù)類型),如果y1=0且y0=0,我們可以強(qiáng)制y1-y0=1,這樣我們就可以得到1/2-nb而不是0。我們采用Mux、Rational、Constant和Constant1模塊來(lái)執(zhí)行這項(xiàng)工作。剩下的Mult、Add和Sub模塊則執(zhí)行線性內(nèi)插公式。在本例中,我強(qiáng)制Mult模塊的輸出信號(hào)為17位分辨率,而非理論上要求的23位,因?yàn)榭傮w數(shù)值精度對(duì)本試驗(yàn)來(lái)說已經(jīng)足夠。此外,由于y=sqrt(x)函數(shù)呈單調(diào)遞增,因此所有結(jié)果都無(wú)符號(hào)。換句話說,不同的函數(shù)需要對(duì)數(shù)據(jù)類型進(jìn)行不同的精心調(diào)整,但不會(huì)與圖3所示的原理相去甚遠(yuǎn)。

          合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理


          關(guān)鍵詞: Xilinx DSP 插值查找表

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();