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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 定點(diǎn)DSP中高精度除法的實(shí)現(xiàn)方法

          定點(diǎn)DSP中高精度除法的實(shí)現(xiàn)方法

          作者: 時(shí)間:2012-10-22 來(lái)源:網(wǎng)絡(luò) 收藏

          引 言

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

          各種集成化單片數(shù)字信號(hào)處理器()以其功能強(qiáng)、集成度高、應(yīng)用靈活、性?xún)r(jià)比高等優(yōu)點(diǎn),在信號(hào)處理和系統(tǒng)控制中的主導(dǎo)性地位日益明顯。許多信號(hào)處理和控制需要運(yùn)用運(yùn)算。一般的數(shù)字信號(hào)處理器中沒(méi)有現(xiàn)成的指令。十多年前誕生的浮點(diǎn),由于其用硬件完成浮點(diǎn)數(shù)的運(yùn)算,在數(shù)據(jù)處理和運(yùn)算能力上大大超出,處理運(yùn)算也比DSP更為簡(jiǎn)單。但是DSP每器件產(chǎn)品的價(jià)格更低,這對(duì)大規(guī)模的大眾市場(chǎng)應(yīng)用而言是相當(dāng)重要的優(yōu)勢(shì),也是定點(diǎn)器件至今仍是業(yè)界主流的主要原因。所以,討論定點(diǎn)DSP中除法的仍不失其意義。在定點(diǎn)DSP中雖然已經(jīng)有人給出除法的算法,但是由于其運(yùn)算的復(fù)雜和精度難以如愿,致使一些帶有除法的好的算法在信號(hào)處理中難以得到應(yīng)用。

          為了提高運(yùn)算結(jié)果的精度,本文在已有除法算法的基礎(chǔ)上進(jìn)行了一些改進(jìn),最大限度地保證了結(jié)果的精度。最后在TI公司的TMS320C5416芯片里具體并驗(yàn)證了這一度除法。

          1 經(jīng)典算法

          DSP中沒(méi)有現(xiàn)成的除法指令,除法是靠被除數(shù)與除數(shù)之間的移位相減來(lái)的。在C54X系列里利用減法指令SUBC和循環(huán)指令RPT實(shí)現(xiàn)2個(gè)16位數(shù)的相除。下面以C54X為例來(lái)具體實(shí)現(xiàn)經(jīng)典的除法:

          C54X提供的SuBC指令僅對(duì)無(wú)符號(hào)數(shù)進(jìn)行操作,所以在移位相減開(kāi)始之前必須先將被除數(shù)和除數(shù)取絕對(duì)值,僅考慮2個(gè)正數(shù)的除法。此時(shí)除法運(yùn)算有兩種情況:

          當(dāng)|被除數(shù)||除數(shù)|時(shí),將|被除數(shù)|存放在累加器的高16位,然后用SUBC完成15次移位相減,相減之后在累加器A的低16位中存放商的絕對(duì)值。根據(jù)運(yùn)算前被除數(shù)和除數(shù)的符號(hào)是否相同來(lái)決定是否要改變所得結(jié)果的符號(hào)。

          當(dāng)|被除數(shù)|≥|除數(shù)|時(shí),將|被除數(shù)|存放在累加器的低16位,然后用SUBC完成16次移位相減,相減之后在累加器A的低16位中存放商的絕對(duì)值。根據(jù)運(yùn)算前被除數(shù)和除數(shù)的符號(hào)是否相同來(lái)決定是否要改變所得結(jié)果的符號(hào)。

          從實(shí)現(xiàn)的過(guò)程分析,當(dāng)|被除數(shù)||除數(shù)|時(shí),移位相減開(kāi)始時(shí)|被除數(shù)|和|除數(shù)|的小數(shù)點(diǎn)位置正好相差一位。第一次相減后在累加器A的O位最低位存進(jìn)的數(shù)值正是商的最高位,該位為商的小數(shù)點(diǎn)后第一位。在15次移位相減之后,累加器A低16位所得的結(jié)果為Q值為15的小數(shù)。當(dāng)|被除數(shù)|≥|除數(shù)|時(shí),在第l6次相減時(shí),|被除數(shù)|位于A的高16位(30~15位)上,小數(shù)點(diǎn)位在A的15位后,和|除數(shù)|的小數(shù)點(diǎn)位正好對(duì)齊,則此次相減后在A的0位加上的值正好是商的最低有效整數(shù)位,相當(dāng)于十進(jìn)制數(shù)中的個(gè)位。所以在16次移位相減之后,累加器A低16位所得的結(jié)果為Q值為0的整數(shù)。以此分析,當(dāng)商的精確值不是整數(shù),或者超出Q值15所表示的范圍時(shí),此算法所得結(jié)果就達(dá)不到16位數(shù)據(jù)所能表達(dá)的精確度。

          表1中任取幾組數(shù)據(jù)來(lái)說(shuō)明。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();