深入了解DSP芯片:DSP芯片浮點(diǎn)與定點(diǎn)有什么區(qū)別?
芯片" target="_blank">DSP芯片廣泛應(yīng)用于數(shù)字控制、運(yùn)動(dòng)控制等諸多方面,由此可見DSP芯片的重要性。為增進(jìn)大家對DSP芯片的了解和認(rèn)識(shí),本文將對DSP芯片的浮點(diǎn)和定點(diǎn)的區(qū)別予以介紹。如果你對DSP芯片具有興趣,不妨和小編一起來繼續(xù)往下閱讀哦。
在選擇DSP器件的時(shí)候,是采用浮點(diǎn)還是采用定點(diǎn),如果用定點(diǎn)是16位還是32位?其實(shí)這個(gè)問題和你的算法所要求的信號(hào)的動(dòng)態(tài)范圍有關(guān)。
浮點(diǎn)運(yùn)算DSP比定點(diǎn)運(yùn)算DSP的動(dòng)態(tài)范圍(動(dòng)態(tài)范圍:如音響系統(tǒng)重放時(shí)最大不失真輸出功率與靜態(tài)時(shí)系統(tǒng)噪聲輸出功率之比的對數(shù)值,又如一個(gè)多媒體硬盤播放器輸出圖像的最亮和最暗部分之間的相對比值)要大很多。定點(diǎn)DSP的字長每增加1bit,動(dòng)態(tài)范圍擴(kuò)大6dB,16bit字長的動(dòng)態(tài)范圍為96dB。程序員必須時(shí)刻關(guān)注溢出的發(fā)生。例如:在做圖像處理時(shí),圖像做旋轉(zhuǎn)、移動(dòng)等,就很容易產(chǎn)生溢出。這時(shí),要么不斷地移位定標(biāo),要么作截尾。前者要耗費(fèi)大量的程序空間和執(zhí)行時(shí)間,后者則很快帶來圖像質(zhì)量的劣化。
總之,是使整個(gè)系統(tǒng)的性能下降。在處理低信噪比信號(hào)的場合,例如進(jìn)行語音識(shí)別、雷達(dá)和聲納信號(hào)處理時(shí),也會(huì)發(fā)生類似的問題。而32bit浮點(diǎn)運(yùn)算DSP的動(dòng)態(tài)范圍可以作到1536dB,這不僅大大擴(kuò)大了動(dòng)態(tài)范圍,提高了運(yùn)算精度,還大大節(jié)省了運(yùn)算時(shí)間和存儲(chǔ)空間,因?yàn)榇蟠鬁p少了定標(biāo),移位和溢出檢查。
由于浮點(diǎn)DSP的浮點(diǎn)運(yùn)算用硬件來實(shí)現(xiàn),可以在單周期內(nèi)完成,因而其處理速度大大高于定點(diǎn)DSP,這一優(yōu)點(diǎn)在實(shí)現(xiàn)高精度復(fù)雜算法時(shí)尤為突出。
定點(diǎn)的計(jì)算不過是把一個(gè)數(shù)據(jù)當(dāng)作整數(shù)來處理,通常AD采樣來的都是整數(shù),這個(gè)數(shù)相對于真實(shí)的模擬信號(hào)有一個(gè)刻度因子,大家都知道用一個(gè)16位的AD 去采樣一個(gè)0到5V的信號(hào),那么AD輸出的整數(shù)除以2^16再乘以5V就是對應(yīng)的電壓。在定點(diǎn)DSP中是直接對這個(gè)16位的采樣進(jìn)行處理,并不將它轉(zhuǎn)換成以小數(shù)表示的電壓,因?yàn)槎c(diǎn)DSP無法以足夠的精度表示一個(gè)小數(shù),它只能對整數(shù)進(jìn)行計(jì)算。
而浮點(diǎn)DSP的優(yōu)勢在于它可以把這個(gè)采樣得到的整數(shù)轉(zhuǎn)換成小數(shù)表示的電壓,并不損失精度(這個(gè)小數(shù)用科學(xué)記數(shù)法來表示),原因在于科學(xué)記數(shù)法可以表示很大的動(dòng)態(tài)范圍的一個(gè)信號(hào),以IEEE754浮點(diǎn)數(shù)為例,單精度浮點(diǎn)格式:[31] 1位符號(hào)[30-23]8位指數(shù)[22-00]23位小數(shù)。這樣的能表示的最小的數(shù)是+-2^-149,最大的數(shù)是+-(2-2^23)*2^127,動(dòng)態(tài)范圍為20*log(最大的數(shù)/最小的數(shù))=1667.6dB這樣大的動(dòng)態(tài)范圍使得在編程的時(shí)候幾乎不必考慮乘法和累加的溢出,而如果使用定點(diǎn)處理器編程,對計(jì)算結(jié)果進(jìn)行舍入和移位則是家常便飯,這在一定程度上會(huì)損失精度。
原因在于定點(diǎn)處理的信號(hào)的動(dòng)態(tài)范圍有限,比如16位定點(diǎn)DSP,可以表示整數(shù)范圍為1-65536,其動(dòng)態(tài)范圍為 20*log(65536/1)=96dB.對于32定點(diǎn)DSP,動(dòng)態(tài)范圍為20*log(2^32/1)=192dB,遠(yuǎn)小于32位ieee浮點(diǎn)數(shù)的1667.6dB,但是實(shí)際上192dB對絕大多數(shù)應(yīng)用所處理的信號(hào)已經(jīng)足夠了。由于AD轉(zhuǎn)換器的位數(shù)限制,一般輸入信號(hào)的動(dòng)態(tài)范圍都比較小,但在 DSP的信號(hào)處理中,由于點(diǎn)積運(yùn)算會(huì)使中間節(jié)點(diǎn)信號(hào)的動(dòng)態(tài)范圍增加,所以主要考慮信號(hào)處理流程中中間結(jié)果的動(dòng)態(tài)范圍,以及算法對中間結(jié)果的精度要求,來選擇相應(yīng)的DSP。另外就是浮點(diǎn)的DSP更易于編程,定點(diǎn)DSP編程中程序員要不斷調(diào)整中間結(jié)果的PQ值,實(shí)際就是不斷對中間結(jié)果進(jìn)行移位調(diào)整和舍入。
實(shí)數(shù)運(yùn)算可直接透過代碼加入硬件運(yùn)算中,而定點(diǎn)元件必須透過軟件才能間接執(zhí)行實(shí)數(shù)運(yùn)算,這就增加了運(yùn)算法指令并延長了開發(fā)時(shí)間。
整體上說,定點(diǎn)DSP在成本上具有優(yōu)勢而浮點(diǎn)DSP在易用上較優(yōu)。
以上便是此次小編帶來的DSP芯片相關(guān)內(nèi)容,通過本文,希望大家對DSP芯片已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!