



免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
好,我先拋點(diǎn)玉吧DSP芯片的定點(diǎn)運(yùn)算3.1 數(shù) 的 定 標(biāo)在定點(diǎn)DSP芯片中,采用定點(diǎn)數(shù)進(jìn)行數(shù)值運(yùn)算,其操作數(shù)一般采用整型數(shù)來表示。一個(gè)整型數(shù)的最大表示范圍取決于DSP芯片所給定的字長,一般為16位或24位。顯然,字長越長,所能表示的數(shù)的范圍越大,精度也越高。如無特別說明,本書均以16位字長為例。DSP芯片的數(shù)以2的補(bǔ)碼形式表示。每個(gè)16位數(shù)用一個(gè)符號(hào)位來表示數(shù)的正負(fù),0表示數(shù)值為正,1則表示數(shù)值為負(fù)。其余15位表示數(shù)值的大小。因此二進(jìn)制數(shù)0010000000000011b8195二進(jìn)制數(shù)1111111111111100b-4對(duì)DSP芯片而言,參與數(shù)值運(yùn)算的數(shù)就是16位的整型數(shù)。但在許多情況下,數(shù)學(xué)_運(yùn)算過程中的數(shù)不一定都是整數(shù)。那么,DSP芯片是如何處理小數(shù)的呢?應(yīng)該說,DSP芯片本身無能為力。那么是不是說DSP芯片就不能處理各種小數(shù)呢?當(dāng)然不是。這其中的關(guān)鍵就是由程序員來確定一個(gè)數(shù)的小數(shù)點(diǎn)處于16位中的哪一位。這就是數(shù)的定標(biāo)。通過設(shè)定小數(shù)點(diǎn)在16位數(shù)中的不同位置,就可以表示不同大小和不同精度的小數(shù)了。數(shù)的定標(biāo)有Q表示法和S表示法兩種。表3.1列出了一個(gè)16位數(shù)的16種Q表示、S表示及它們所能表示的十進(jìn)制數(shù)值范圍。從表3.1可以看出,同樣一個(gè)16位數(shù),若小數(shù)點(diǎn)設(shè)定的位置不同,它所表示的數(shù)也就不同。例如:16進(jìn)制數(shù)2000H8192,用Q0表示16進(jìn)制數(shù)2000H0.25,用Q15表示但對(duì)于DSP芯片來說,處理方法是完全相同的。從表3.1還可以看出,不同的Q所表示的數(shù)不僅范圍不同,而且精度也不相同。Q越大,數(shù)值范圍越小,但精度越高;相反,Q越小,數(shù)值范圍越大,但精度就越低。例如,Q0的數(shù)值范圍是-32768到+32767,其精度為1,而Q15的數(shù)值范圍為-1到0.9999695,精度為 1/32768 = 0.00003051。因此,對(duì)定點(diǎn)數(shù)而言,數(shù)值范圍與精度是一對(duì)矛盾,一個(gè)變量要想能夠表示比較大的數(shù)值范圍,必須以犧牲精度為代價(jià);而想提高精度,則數(shù)的表示范圍就相應(yīng)地減小。在實(shí)際的定點(diǎn)算法中,為了達(dá)到最佳的性能,必須充分考慮到這一點(diǎn)。浮點(diǎn)數(shù)與定點(diǎn)數(shù)的轉(zhuǎn)換關(guān)系可表示為:浮點(diǎn)數(shù)(x)轉(zhuǎn)換為定點(diǎn)數(shù)( ): 定點(diǎn)數(shù)( )轉(zhuǎn)換為浮點(diǎn)數(shù)(x): 例如,浮點(diǎn)數(shù) x=0.5,定標(biāo) Q15,則定點(diǎn)數(shù) ,式中 表示下取整。反之,一個(gè)用 Q15 表示的定點(diǎn)數(shù)16384,其浮點(diǎn)數(shù)為163842-1516384/32768=0.5。表3.1 Q表示、S表示及數(shù)值范圍Q表示 S表示 十進(jìn)制數(shù)表示范圍Q15 S0.15 -1X0.9999695Q14 S1.14 -2X1.9999390Q13 S2.13 -4X3.9998779Q12 S3.12 -8X7.9997559Q11 S4.11 -16X15.9995117Q10 S5.10 -32X31.9990234Q9 S6.9 -64X63.9980469Q8 S7.8 -128X127.9960938Q7 S8.7 -256X255.9921875Q6 S9.6 -512X511.9804375Q5 S10.5 -1024X1023.96875Q4 S11.4 -2048X2047.9375Q3 S12.3 -4096X4095.875Q2 S13.2 -8192X8191.75Q1 S14.1 -16384X16383.5Q0 S15.0 -32768X327673.2 高級(jí)語言:從浮點(diǎn)到定點(diǎn)在編寫DSP模擬算法時(shí),為了方便,一般都是采用高級(jí)語言(如C語言)來編寫模擬程序。程序中所用的變量一般既有整型數(shù),又有浮點(diǎn)數(shù)。如例3.1程序中的變量i是整型數(shù),而pi是浮點(diǎn)數(shù),hamwindow則是浮點(diǎn)數(shù)組。例3.1 256點(diǎn)漢明窗計(jì)算int i;float pi=3.14159;float hamwindow256;for(i=0;iQy,加法/減法結(jié)果z的定標(biāo)值為Qz,則zx+y Þ= = Þ所以定點(diǎn)加法可以描述為:int x,y,z;long temp; /*臨時(shí)變量*/tempy(QxQz), 若QxQzz(int)(temp(QzQx), 若QxQz例3.2 定點(diǎn)加法設(shè)x0.5,y3.1,則浮點(diǎn)運(yùn)算結(jié)果為zx+y0.5+3.13.6;Qx15,Qy13,Qz13,則定點(diǎn)加法為:x16384;y25395;temp253952)29491;因?yàn)閦的Q值為13,所以定點(diǎn)值z(mì)29491即為浮點(diǎn)值z(mì)29491/81923.6。例3.3 定點(diǎn)減法設(shè)x3.0,y3.1,則浮點(diǎn)運(yùn)算結(jié)果為zx-y3.0-3.1-0.1;Qx13,Qy13,Qz15,則定點(diǎn)減法為:x24576;y25295;temp25395;tempx-temp24576-25395-819;因?yàn)镼xQz,故 z(int)(-819Qy,加法結(jié)果z的定標(biāo)值為Qz,則定點(diǎn)加法為:int x,y;long temp,z;tempy(Qx-Qz),若QxQzztemp32767,因此Qx1,Qy0,Qz0,則定點(diǎn)加法為:x30000;y20000;temp20000135000;因?yàn)閦的Q值為0,所以定點(diǎn)值z(mì)=35000就是浮點(diǎn)值,這里z是一個(gè)長整型數(shù)。當(dāng)加法或加法的結(jié)果超過16位表示范圍時(shí),如果程序員事先能夠了解到這種情況,并且需要保證運(yùn)算精度時(shí),則必須保持32位結(jié)果。如果程序中是按照16位數(shù)進(jìn)行運(yùn)算的,則超過16位實(shí)際上就是出現(xiàn)了溢出。如果不采取適當(dāng)?shù)拇胧?,則數(shù)據(jù)溢出會(huì)導(dǎo)致運(yùn)算精度的嚴(yán)重惡化。一般的定點(diǎn)DSP芯片都設(shè)有溢出保護(hù)功能,當(dāng)溢出保護(hù)功能有效時(shí),一旦出現(xiàn)溢出,則累加器ACC的結(jié)果為最大的飽和值(上溢為7FFFH,下溢為8001H),從而達(dá)到防止溢出引起精度嚴(yán)重惡化的目的。3.2.2 乘法運(yùn)算的C語言定點(diǎn)模擬設(shè)浮點(diǎn)乘法運(yùn)算的表達(dá)式為:float x,y,z;z = xy;假設(shè)經(jīng)過統(tǒng)計(jì)后x的定標(biāo)值為Qx,y的定標(biāo)值為Qy,乘積z的定標(biāo)值為Qz,則z = xy Þ= Þ= 所以定點(diǎn)表示的乘法為:int x,y,z;long temp;temp = (long)x;z = (tempy) (Qx+Qy-Qz);例3.5 定點(diǎn)乘法設(shè)x = 18.4,y = 36.8,則浮點(diǎn)運(yùn)算值為z =18.436.8 = 677.12;根據(jù)上節(jié),得Qx = 10,Qy = 9,Qz = 5,所以x = 18841;y = 18841;temp = 18841L;z = (18841L*18841)(10+9-5) = 354983281L14 = 21666;因?yàn)閦的定標(biāo)值為5,故定點(diǎn) z = 21666即為浮點(diǎn)的 z = 21666/32 = 677.08。3.2.3 除法運(yùn)算的C語言定點(diǎn)模擬設(shè)浮點(diǎn)除法運(yùn)算的表達(dá)式為:float x,y,z;z = x/y;假設(shè)經(jīng)過統(tǒng)計(jì)后被除數(shù)x的定標(biāo)值為Qx,除數(shù)y的定標(biāo)值為Qy,商z的定標(biāo)值為Qz,則z = x/y Þ= Þ所以定點(diǎn)表示的除法為:int x,y,z;long temp;temp = (long)x;z = (temp(Qz-Qx+Qy)/y;例3.6 定點(diǎn)除法設(shè)x = 18.4,y = 36.8,浮點(diǎn)運(yùn)算值為z = x/y = 18.4/36.8 = 0.5;根據(jù)上節(jié),得Qx = 10,Qy = 9,Qz = 15;所以有x = 18841, y = 18841;temp = (long)18841;z = (18841L(15-10+9)/18841 = 308690944L/18841 = 16384;因?yàn)樯蘻的定標(biāo)值為15,所以定點(diǎn)z = 16384即為浮點(diǎn) z = 16384/215= 0.5。3.2.4 程序變量的Q值確定在前面幾節(jié)介紹的例子中,由于x、y、z的值都是已知的,因此從浮點(diǎn)變?yōu)槎c(diǎn)時(shí)Q值很好確定。在實(shí)際的DSP應(yīng)用中,程序中參與運(yùn)算的都是變量,那么如何確定浮點(diǎn)程序中變量的Q值呢?從前面的分析可以知道,確定變量的Q值實(shí)際上就是確定變量的動(dòng)態(tài)范圍,動(dòng)態(tài)范圍確定了,則Q值也就確定了。設(shè)變量的絕對(duì)值的最大值為 ,注意 必須小于或等于32767。取一個(gè)整數(shù)n,使它滿足則有Q = 15-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豫北方言處所介詞研究
- 發(fā)熱查因病例討論
- 科學(xué)做好入學(xué)準(zhǔn)備活動(dòng)銜接教育
- 小班健康勇敢告訴老師
- 頜下腺護(hù)理課件
- 牙體牙髓科護(hù)理
- 股骨骨折患者護(hù)理查房
- 領(lǐng)克品牌介紹
- 2025年四川省德陽市中考招生考試數(shù)學(xué)真題試卷(真題+答案)
- 預(yù)防毒品班會(huì)課件
- 2025-2030中國智慧政務(wù)行業(yè)發(fā)展策略及投資潛力預(yù)測(cè)報(bào)告
- 【中考真題】2025年福建中考數(shù)學(xué)真題試卷(含解析)
- 2025年四川省宜賓市中考數(shù)學(xué)真題試卷及答案解析
- 2025年時(shí)事政治考試題及答案(300題)
- 楊浦區(qū)“十五五”規(guī)劃綱要及專項(xiàng)規(guī)劃編制工作方案
- 2025年中國氧化鎂項(xiàng)目投資計(jì)劃書
- T/CIE 186-2023業(yè)務(wù)研發(fā)安全運(yùn)營一體化能力成熟度模型
- 2025屆內(nèi)蒙古自治區(qū)呼和浩特市七年級(jí)數(shù)學(xué)第二學(xué)期期末檢測(cè)試題含解析
- 2025年汽車服務(wù)項(xiàng)目投資分析及可行性報(bào)告
- 企業(yè)安全生產(chǎn)管理制度課件
- 機(jī)械租賃投標(biāo)服務(wù)方案
評(píng)論
0/150
提交評(píng)論