国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

基于DSP TMS320LF2407A的浮點(diǎn)數(shù)開(kāi)方算法研究探析

時(shí)間:2024-07-13 22:25:57 計(jì)算機(jī)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于DSP TMS320LF2407A的浮點(diǎn)數(shù)開(kāi)方算法研究探析

畢業(yè)論文

基于DSP TMS320LF2407A的浮點(diǎn)數(shù)開(kāi)方算法研究探析

摘 要: 研究DSP TMS320LF2407A浮點(diǎn)數(shù)開(kāi)平方的理論方法,采用改進(jìn)Newton下山算法為Newton迭代法提供了更為精確的初值,從而使得收斂速度加快,精度更高。在DSP TMS320LF2407A上編寫了1套算法,計(jì)算結(jié)果與理論分析基本吻合。該算法思路新穎,精度高,速度快,可移植到其它浮點(diǎn)數(shù)運(yùn)算的單片機(jī)上。

關(guān)鍵詞: 浮點(diǎn)數(shù)開(kāi)平方;改進(jìn)Newton下山算法;TMS320LF2407A;

A Research of Float Square Root Algorithm Based on DSP TMS320LF2407A
WANG Zhen1, CHENG Wen-feng1, ZHOU Wen-hui2
(1。Electric Power College, South China University of Technology, Guangzhou, 510640,China;
2。 PLA 76321army, Guangzhou, 5110560,China)
Abstract: It presents a new theoretical method of float square root algorithm based on TMS320LF2407A。 Using the advanced Newton descent method, the more precise starting value is given to improve Newton iteration of extracting square root, which would be faster in convergent speed and more accurate。 The arithmetic on TMS320LF2407A was programmed and the result of experiment basically accords with the theory。 The conclusion shows its features of simplicity, high precision and rapid speed。 This method may be used in other float calculation of single chipped-microprocessor。
Keywords: float square root; advanced Newton descent method; TMS320LF2407A
0引言

 在較為復(fù)雜的單片機(jī)、數(shù)字信號(hào)處理器(DSP)系統(tǒng)中,為擴(kuò)大取值范圍,實(shí)現(xiàn)復(fù)雜的計(jì)算和控制,1般都要涉及浮點(diǎn)數(shù)的運(yùn)算。而在1般單片機(jī)、部分定點(diǎn)數(shù)字信號(hào)處理器(DSP)中,沒(méi)有浮點(diǎn)數(shù)運(yùn)算指令,只能利用多位定點(diǎn)2進(jìn)制數(shù)實(shí)現(xiàn)高精度浮點(diǎn)數(shù)運(yùn)算。在單片機(jī)、DSP進(jìn)行開(kāi)方運(yùn)算時(shí),實(shí)現(xiàn)方法有多種,如牛頓迭代法、查表法、直線逼近法(線性化方法)和減奇數(shù)法等。對(duì)于查表法,當(dāng)被開(kāi)方數(shù)變化范圍較大時(shí),提高運(yùn)算精度和減少內(nèi)存占用量是相矛盾的。直線逼近法需要存貯各段線性逼近函數(shù)的斜率和截距值,當(dāng)要求的運(yùn)算精度增加時(shí),線性段的劃分越密,運(yùn)算處理時(shí)間就越長(zhǎng)。減奇數(shù)法的缺點(diǎn)是運(yùn)算時(shí)間與被開(kāi)方數(shù)的大小有關(guān),被開(kāi)方數(shù)很大時(shí),運(yùn)算執(zhí)行時(shí)間將很長(zhǎng)。牛頓迭代法是1種1致收斂的開(kāi)平方算法,若初始值選取得合適,則只需很少的次數(shù)甚至是1次迭代運(yùn)算,即可得到滿足給定精度要求的運(yùn)算結(jié)果,其唯1的缺點(diǎn)就是若初始值選取不合適的話,會(huì)影響收斂速度,甚至?xí)䦟?dǎo)致算法發(fā)散。針對(duì)牛頓迭代法的初始值選取問(wèn)題,本文用改進(jìn)Newton下山算法予以解決。該方法充分利用TI公司TMS320LF2407A的強(qiáng)大功能,可以很方便的實(shí)現(xiàn)浮點(diǎn)數(shù)的開(kāi)方。TMS320LF2407A具有較強(qiáng)的控制能力,但無(wú)浮點(diǎn)數(shù)邏輯結(jié)構(gòu),如果開(kāi)發(fā)出良好的浮點(diǎn)數(shù)算法程序,它將能實(shí)現(xiàn)更強(qiáng)大的功能。
1。 TMS320LF2407A基本特點(diǎn)概述[1]

 TMS320LF2407A是TI公司推出的1款定點(diǎn)DSP控制器,它采用了高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,減小了控制器的功耗。其40MIPS的執(zhí)行速度使得指令周期縮短到25ns(40MHz),從而提高了控制器的實(shí)時(shí)控制能力。它集成了32k字的閃存(可加密)、2.5k的RAM和500ns轉(zhuǎn)換時(shí)間的A/D轉(zhuǎn)換器,片上事件管理器提供了可以滿足各種電機(jī)的PWM接口和I/O功能。此外,它還提供了適用于工業(yè)控制領(lǐng)域的1些特殊功能,如看門狗電路、SPI、SCI和CAN控制器等,從而可被廣泛應(yīng)用于工業(yè)控制領(lǐng)域。
2。 2進(jìn)制浮點(diǎn)數(shù)表示方法[2]
 浮點(diǎn)數(shù)由階碼和尾數(shù)組成。IEEE的浮點(diǎn)數(shù)標(biāo)準(zhǔn)規(guī)定了單精度(4 b)、雙精度(8 b)和擴(kuò)展精度(10 b)三種浮點(diǎn)數(shù)的格式。最常用的是單精度浮點(diǎn)數(shù),如圖1所示。但這種格式的階碼不在同1個(gè)字節(jié)單元內(nèi),不易尋址,從而會(huì)影響運(yùn)算速度。通常在DSP上采用的是1種變形格式的浮點(diǎn)數(shù)[3],前三個(gè)字節(jié)表示尾數(shù),后1個(gè)字節(jié)表示階碼,尾數(shù)小數(shù)點(diǎn)在高字節(jié)左端,且最高位表示符號(hào)位,當(dāng)尾數(shù)為正時(shí),最高位為“0”(對(duì)規(guī)格化數(shù)隱含了最高位的“1”),如圖2所示。

圖1 常用單精度浮點(diǎn)數(shù)

圖2 變形格式的浮點(diǎn)數(shù)
 浮點(diǎn)數(shù)均按規(guī)格化方式存放,即尾數(shù)的最高位總是1,這樣,對(duì)于尾數(shù)為M的規(guī)格化浮點(diǎn)數(shù)有 。
3。 改進(jìn)Newton下山算法求解開(kāi)方問(wèn)題的算法原理
利用改進(jìn)Newton下山算法求解平方根問(wèn)題,如求 。令 ,則 ,得方程:         、
其正根 即 。按改進(jìn)Newton下山算法公式有:
 、       
其中 。
由 和⑴式代入⑵式中,得方程:
 ⑶        
當(dāng) 時(shí),就是1般情況的Newton迭代公式[4]。Newton迭代法已經(jīng)證明當(dāng)初始值 時(shí),迭代法公式總能收斂到精確值 ,其證明如下:
由⑵式可得:
     ⑷        
由⑷式配方得:
  ⑸        
  ⑹
由⑸式得:    
故對(duì)任意 ,均有 。而由⑷式又有:

所以迭代序列 是下有界的單調(diào)遞減序列,從而有極限 。這說(shuō)明只要 ,⑷式總能收斂于 。
另外,由⑸和⑹式可以確定相對(duì)誤差:
⑸和⑹式相比得:    
遞推得:        
令 ,則
相對(duì)誤差為:      
 因此,由 的取值就可以確定相對(duì)誤差的大小。類似的,如果確定了具體的相對(duì)誤差精度,也就可以求得 的取值,而初值 的選擇決定了收斂速度的快慢。
 正因?yàn)楫?dāng)初始值取為正數(shù)時(shí),Newton迭代法總是能收斂,所以在微機(jī)、單片機(jī)等構(gòu)成的實(shí)時(shí)控制系統(tǒng)和測(cè)量?jī)x器中計(jì)算開(kāi)平方時(shí),1般都簡(jiǎn)單地取 。但是如果 很大,或很小時(shí),即 偏離1很遠(yuǎn)時(shí),收斂的步數(shù)就會(huì)很多,收斂所需要的時(shí)間就相對(duì)比較長(zhǎng)。用改進(jìn)Newton下山算法的優(yōu)勢(shì)在于收斂速度快,雖然只有1階收斂(Newton迭代法有平方收斂),但可以用它來(lái)快速收斂到真實(shí)值的鄰域內(nèi),獲得初值,再用Newton迭代法得出精確解。
在這里由于函數(shù)的特殊性,從理論上確定 和c的關(guān)系,才是解決問(wèn)題的關(guān)鍵。為了求出這個(gè)關(guān)系,這里首先確定三個(gè)條件:
1) 改進(jìn)Newton下山算法的初值 ;
2) 約束條件 ,其中 為1個(gè)很小的正數(shù);
3) 收斂結(jié)果 在 的鄰域內(nèi),即: 。
 由這三個(gè)條件構(gòu)造出1函數(shù) : ,實(shí)驗(yàn)檢驗(yàn),只需要1-2步就可以得到 。最后用Newton迭代法的初值 ,實(shí)驗(yàn)檢驗(yàn),只需要2-3步就可以得到精確值。
4。 改進(jìn)Newton下山算法的軟件實(shí)現(xiàn)
本軟件編程是用C語(yǔ)言編寫,其算法流程如下:
1) 輸入初始條件 以及迭代公式;
2) 由構(gòu)造函數(shù) 迭代1次,得到 ;
3) 將 代入約束條件 檢驗(yàn),如果符合條件則 ,相反則轉(zhuǎn)到2)再迭代1次;
4) 初始值 ,代入Newton迭代法公式進(jìn)行迭代;
5) 判斷約束條件 ,滿足則終止迭代, 即為所求的平方根值,否則轉(zhuǎn)到4)繼續(xù)迭代。
6) 輸出平方根值 。
 在編程時(shí),在DSP TMS320LF2407A的RAM數(shù)據(jù)空間B1塊的1AH-2FH進(jìn)行,相鄰的兩個(gè)字表示1個(gè)2進(jìn)制浮點(diǎn)數(shù),把這個(gè)16位數(shù)送到32 bit累加器時(shí),最低8位數(shù)屏蔽為0,另把階碼送到寄存器保存,不影響計(jì)算精度。整個(gè)算法每次循環(huán)需要進(jìn)行1次浮點(diǎn)數(shù)加法、減法和除法運(yùn)算,迭代收斂速度越快,計(jì)算循環(huán)次數(shù)越少。從上述算法可以看出,本算法編程思路清晰、簡(jiǎn)單。Newton迭代法第1次x0取下山算法的終值,以后進(jìn)行迭代計(jì)算,直到最后兩次近似根的差小于控制精度。
5. 結(jié)論 畢業(yè)論文 論文網(wǎng)
 用DSP TMS320LF2407A 的C語(yǔ)言編寫了以改進(jìn)Newton下山算法求平方根的程序,并同標(biāo)準(zhǔn)值進(jìn)行了比較,發(fā)現(xiàn)下山算法只需要1-2步。因?yàn)橛辛吮容^好的初值,所以Newton迭代公式只需要迭代2-3步,收斂速度很快,而且其精度非常高,可達(dá)到10e-6以上。隨著數(shù)據(jù)變大,收斂速度也變快。如果改變控制精度,其精度還可以提高,收斂速度也可隨之改變。
參考文獻(xiàn)
[1] 張芳蘭,TMS320C2xx用戶指南[M]。北京:電子工業(yè)出版社,1999,79-200
[2] TI。TMS320F/C24x DSP Controller Reference Guide。
[3] 曹海歐,微機(jī)保護(hù)開(kāi)平方計(jì)算中牛頓迭代的改進(jìn)[J]。江蘇電機(jī)工程,2006。9
[4] 鄭咸義,計(jì)算方法[M]。廣州:華南理工大學(xué)出版社,2002。9

【基于DSP TMS320LF2407A的浮點(diǎn)數(shù)開(kāi)方算法研究探析】相關(guān)文章:

基于DSP的信道譯碼算法優(yōu)化03-19

FFT算法的研究與DSP實(shí)現(xiàn)03-07

基于DSP的數(shù)控二維橢圓及圓插補(bǔ)算法簡(jiǎn)化編程研究11-22

基于LDPC碼保護(hù)的DWT數(shù)字水印算法研究03-07

基于802.11a的信道估計(jì)算法設(shè)計(jì)與研究03-07

基于DCT變換域自適應(yīng)水印算法的研究03-07

基于DSP技術(shù)的MP3播放器的研究與設(shè)計(jì)03-18

基于MIMO的分層空時(shí)碼檢測(cè)算法研究03-07

基于NNVD的網(wǎng)絡(luò)化軟件多步控制算法研究03-11