日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DSP技术

發(fā)布時(shí)間:2024/8/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DSP技术 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

DSP技術(shù)概況  

數(shù)字信號(hào)處理(DigitalSignalProcessing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。在過去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛 的應(yīng)用。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對(duì)信號(hào)進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,以得到符合人們需要的信號(hào)形式。

  數(shù)字信號(hào)處理是圍繞著數(shù)字信號(hào)處理的理論、實(shí)現(xiàn)和應(yīng)用等幾個(gè)方面發(fā)展起來的。數(shù)字信號(hào)處理在理論上的發(fā)展推動(dòng)了數(shù)字信號(hào)處理應(yīng)用的發(fā)展。

考慮一個(gè)數(shù)字信號(hào)處理的實(shí)例,比如有限沖擊響應(yīng)濾波器(FIR)。用數(shù)學(xué)語言來說,FIR濾波器是做一系列的點(diǎn)積。取一個(gè)輸入量和一個(gè)序數(shù)向量,在系數(shù)和輸入樣本的滑動(dòng)窗口間作乘法,然后將所有的乘積加起來,形成一個(gè)輸出樣本。

  類似的運(yùn)算在數(shù)字信號(hào)處理過程中大量地重復(fù)發(fā)生,使得為此設(shè)計(jì)的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:

  1、對(duì)密集的乘法運(yùn)算的支持

  GPP不是設(shè)計(jì)來做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個(gè)指令周期來做一次乘法。而DSP處理器使用專門的硬件來實(shí)現(xiàn)單周期乘法。DSP處理器還增加了累加器寄存器來處理多個(gè)乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。

  同時(shí),為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。

  2、存儲(chǔ)器結(jié)構(gòu)

  傳統(tǒng)上,GPP使用馮.諾依曼存儲(chǔ)器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個(gè)存儲(chǔ)器空間通過一組總線(一個(gè)地址總線和一個(gè)數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會(huì)發(fā)生4次存儲(chǔ)器訪問,用掉至少四個(gè)指令周期。

  大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲(chǔ)器空間劃分成兩個(gè),分別存儲(chǔ)程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時(shí)對(duì)它們進(jìn)行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時(shí)為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實(shí)現(xiàn)單周期的MAC指令。

  還有一個(gè)問題,即現(xiàn)在典型的高性能GPP實(shí)際上已包含兩個(gè)片內(nèi)高速緩存,一個(gè)是數(shù)據(jù),一個(gè)是指令,它們直接連接到處理器核,以加快運(yùn)行時(shí)的訪問速度。從物理上說,這種片內(nèi)的雙存儲(chǔ)器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。

  GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲(chǔ)在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個(gè)片內(nèi)存儲(chǔ)器和多組總線來保證每個(gè)指令周期內(nèi)存儲(chǔ)器的多次訪問。在使用DSP時(shí),程序員要明確地控制哪些數(shù)據(jù)和指令要存儲(chǔ)在片內(nèi)存儲(chǔ)器中。程序員在寫程序時(shí),必須保證處理器能夠有效地使用其雙總線。

  此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存。這是因?yàn)镈SP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對(duì)每個(gè)數(shù)據(jù)樣本做計(jì)算后,就丟棄了,幾乎不再重復(fù)使用。

  3、零開銷循環(huán)

  如果了解到DSP算法的一個(gè)共同的特點(diǎn),即大多數(shù)的處理時(shí)間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán)。所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時(shí),不用花時(shí)間去檢查循環(huán)計(jì)數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計(jì)數(shù)器減1。

  與此相反,GPP的循環(huán)使用軟件來實(shí)現(xiàn)。某些高性能的GPP使用轉(zhuǎn)移預(yù)報(bào)硬件,幾乎達(dá)到與硬件支持的零開銷循環(huán)同樣的效果。

  4、定點(diǎn)計(jì)算

  大多數(shù)DSP使用定點(diǎn)計(jì)算,而不是使用浮點(diǎn)。雖然DSP的應(yīng)用必須十分注意數(shù)字的精確,用浮點(diǎn)來做應(yīng)該容易的多,但是對(duì)DSP來說,廉價(jià)也是非常重要的。定點(diǎn)機(jī)器比起相應(yīng)的浮點(diǎn)機(jī)器來要便宜(而且更快)。為了不使用浮點(diǎn)機(jī)器而又保證數(shù)字的準(zhǔn)確,DSP處理器在指令集和硬件方面都支持飽和計(jì)算、舍入和移位。

  5、專門的尋址方式

  DSP處理器往往都支持專門的尋址模式,它們對(duì)通常的信號(hào)處理操作和算法是很有用的。例如,模塊(循環(huán))尋址(對(duì)實(shí)現(xiàn)數(shù)字濾波器延時(shí)線很有用)、位倒序?qū)ぶ?#xff08;對(duì)FFT很有用)。這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實(shí)現(xiàn)。

  6、執(zhí)行時(shí)間的預(yù)測

  大多數(shù)的DSP應(yīng)用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴(yán)格的實(shí)時(shí)應(yīng)用,所有的處理必須在指定的時(shí)間內(nèi)完成。這就要求程序員準(zhǔn)確地確定每個(gè)樣本需要多少處理時(shí)間,或者,至少要知道,在最壞的情況下,需要多少時(shí)間。

  如果打算用低成本的GPP去完成實(shí)時(shí)信號(hào)處理的任務(wù),執(zhí)行時(shí)間的預(yù)測大概不會(huì)成為什么問題,應(yīng)為低成本GPP具有相對(duì)直接的結(jié)構(gòu),比較容易預(yù)測執(zhí)行時(shí)間。然而,大多數(shù)實(shí)時(shí)DSP應(yīng)用所要求的處理能力是低成本GPP所不能提供的。

  這時(shí)候,DSP對(duì)高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會(huì)放進(jìn)去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲(chǔ)器中讀取。DSP一般不使用動(dòng)態(tài)特性,如轉(zhuǎn)移預(yù)測和推理執(zhí)行等。因此,由一段給定的代碼來預(yù)測所要求的執(zhí)行時(shí)間是完全直截了當(dāng)?shù)摹亩钩绦騿T得以確定芯片的性能限制。

  7、定點(diǎn)DSP指令集

  定點(diǎn)DSP指令集是按兩個(gè)目標(biāo)來設(shè)計(jì)的:

  ·使處理器能夠在每個(gè)指令周期內(nèi)完成多個(gè)操作,從而提高每個(gè)指令周期的計(jì)算效率。

  ·將存貯DSP程序的存儲(chǔ)器空間減到最小(由于存儲(chǔ)器對(duì)整個(gè)系統(tǒng)的成本影響甚大,該問題在對(duì)成本敏感的DSP應(yīng)用中尤為重要)。

  為了實(shí)現(xiàn)這些目標(biāo),DSP處理器的指令集通常都允許程序員在一個(gè)指令內(nèi)說明若干個(gè)并行的操作。例如,在一條指令包含了MAC操作,即同時(shí)的一個(gè)或兩個(gè)數(shù)據(jù)移動(dòng)。在典型的例子里,一條指令就包含了計(jì)算FIR濾波器的一節(jié)所需要的所有操作。這種高效率付出的代價(jià)是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。

  GPP的程序通常并不在意處理器的指令集是否容易使用,因?yàn)樗麄円话闶褂孟驝或C++等高級(jí)語言。而對(duì)于DSP的程序員來說,不幸的是主要的DSP應(yīng)用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的)。這里有兩個(gè)理由:首先,大多數(shù)廣泛使用的高級(jí)語言,例如C,并不適合于描述典型的DSP算法。其次,DSP結(jié)構(gòu)的復(fù)雜性,如多存儲(chǔ)器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器。

  即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務(wù)仍然很重。典型的DSP應(yīng)用都具有大量計(jì)算的要求,并有嚴(yán)格的開銷限制,使得程序的優(yōu)化必不可少(至少是對(duì)程序的最關(guān)鍵部分)。因此,考慮選用DSP的一個(gè)關(guān)鍵因素是,是否存在足夠的能夠較好地適應(yīng)DSP處理器指令集的程序員。

  8、開發(fā)工具的要求

  因?yàn)镈SP應(yīng)用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作。例如,大多數(shù)廠商都提供處理器的仿真工具,以準(zhǔn)確地仿真每個(gè)指令周期內(nèi)處理器的活動(dòng)。無論對(duì)于確保實(shí)時(shí)操作還是代碼的優(yōu)化,這些都是很有用的工具。

  GPP廠商通常并不提供這樣的工具,主要是因?yàn)镚PP程序員通常并不需要詳細(xì)到這一層的信息。GPP缺乏精確到指令周期的仿真工具,是DSP應(yīng)用開發(fā)者所面臨的的大問題:由于幾乎不可能預(yù)測高性能GPP對(duì)于給定任務(wù)所需要的周期數(shù),從而無法說明如何去改善代碼的性能。

2應(yīng)用

編輯

  現(xiàn)代社會(huì)對(duì)數(shù)據(jù)通信需求正向多樣化、個(gè)人化方向發(fā)展。而無線數(shù)據(jù)通信作為向社會(huì)公眾迅速、準(zhǔn)確、安全、靈活、高效地提供數(shù)據(jù)交流的有力手段,其市場需求也日益迫切。正是在這種情況下,3G、4G通信才會(huì)不斷地被推出,但是無論是3G還是4G,未來通信都將離不開DSP技術(shù)(數(shù)字信號(hào)處理器),DSP作為一種功能強(qiáng)大的特種微處理器,主要應(yīng)用在數(shù)據(jù)、語音、視像信號(hào)的高速數(shù)學(xué)運(yùn)算和實(shí)時(shí)處理方面,可以說DSP將在未來通信領(lǐng)域中起著舉足輕重的作用。

  為了確保未來的通信能在各種環(huán)境下自由高效地工作,這就要求組成未來通信的DSP要具有非常高的處理信號(hào)的運(yùn)算速度,才能實(shí)現(xiàn)各種繁雜的計(jì)算、解壓縮和編譯碼。而目前DSP按照功能的側(cè)重點(diǎn)不一樣,可以分為定點(diǎn)DSP和浮點(diǎn)DSP,定點(diǎn)DSP以成本低見長,浮點(diǎn)DSP以速度快見長。如果單一地使用一種類型的DSP,未來通信的潛能就不能得到最大程度的發(fā)揮。為了能將定點(diǎn)與浮點(diǎn)的優(yōu)勢集于一身,突破DSP技術(shù)上的瓶頸,人們又推出了一種高級(jí)多重處理結(jié)構(gòu)--VLIW結(jié)構(gòu),該結(jié)構(gòu)可以在不提高時(shí)鐘速度的情況下,實(shí)現(xiàn)很強(qiáng)的數(shù)字信號(hào)處理能力,而且它能同時(shí)具備定點(diǎn)DSP和浮點(diǎn)DSP所有的優(yōu)點(diǎn)。為了能推出一系列更高檔的新技術(shù)平臺(tái),人們又開始注重DSP的內(nèi)核技術(shù)的開發(fā),因?yàn)镈SP的內(nèi)核就相當(dāng)于計(jì)算機(jī)的CPU一樣,被譽(yù)為DSP的心臟,大量的算法和操作都得通過它來完成,因此該內(nèi)核結(jié)構(gòu)的質(zhì)量如何,將會(huì)直接影響整個(gè)DSP芯片的性能、 功耗和成本。

  考慮到未來無線訪問Internet因特網(wǎng)和開展多媒體業(yè)務(wù)的需要,現(xiàn)在美國的Sun公司又開始準(zhǔn)備準(zhǔn)將該公司的拳頭產(chǎn)品--PersonalJava語言嵌入到DSP中,以便能進(jìn)一步提高DSP在處理信號(hào)方面的自動(dòng)化程度和智能化程度。當(dāng)然,在以前DSP中也潛入了其他軟件語言,例如高級(jí)C語言,但這種語言在處理網(wǎng)絡(luò)資源以及多媒體信息方面無能為力;而PersonalJava是一種適合個(gè)人網(wǎng)絡(luò)連接和應(yīng)用的Java環(huán)境,基于該環(huán)境的個(gè)人通信系統(tǒng)可以從網(wǎng)絡(luò)和Internet網(wǎng)上下載數(shù)據(jù)和圖像。此外,人們還在研究開發(fā)符合MPEG-4無線解壓縮標(biāo)準(zhǔn)DSP,該壓縮標(biāo)準(zhǔn)將為未來通信傳輸各種多媒體信息提供了依據(jù)。

  作為一個(gè)案例研究,我們來考慮數(shù)字領(lǐng)域里最通常的功能:濾波。簡單地說,濾波就是對(duì)信號(hào)進(jìn)行處理,以改善其特性。例如,濾波可以從信號(hào)里清除噪聲或靜電干擾,從而改善其信噪比。為什么要用微處理器,而不是模擬器件來對(duì)信號(hào)做濾波呢?我們來看看其優(yōu)越性:

  模擬濾波器(或者更一般地說,模擬電路)的性能要取決于溫度等環(huán)境因素。而數(shù)字濾波器則基本上不受環(huán)境的影響。

  數(shù)字濾波易于在非常小的寬容度內(nèi)進(jìn)行復(fù)制,因?yàn)槠湫阅懿⒉蝗Q于性能已偏離正常值的器件的組合。

  一個(gè)模擬濾波器一旦制造出來,其特性(例如通帶頻率范圍)是不容易改變的。使用微處理器來實(shí)現(xiàn)數(shù)字濾波器,就可以通過對(duì)其重新編程來改變?yōu)V波的特性。

總結(jié)

以上是生活随笔為你收集整理的DSP技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。