當前位置:編程學習大全網 - 源碼下載 - 數字信號處理器的知識簡介

數字信號處理器的知識簡介

DSP的算法有多種。絕大多數的DSP處理器使用定點算法,數字表示為整數或-1.0到+1.0之間的小數形式。有些處理器采用浮點算法,數據表示成尾數加指數的形式:尾數×2指數。

浮點算法是壹種較復雜的常規算法,利用浮點數據可以實現大的數據動態範圍(這個動態範圍可以用最大和最小數的比值來表示)。浮點DSP在應用中,設計工程師不用關心動態範圍和精度壹類的問題。浮點DSP比定點DSP更容易編程,但是成本和功耗高。

由於成本和功耗的原因,壹般批量產品選用定點DSP。編程和算法設計人員通過分析或仿真來確定所需要的動態範圍和精度。如果要求易於開發,而且動態範圍很寬、精度很高,可以考慮采用浮點DSP。

也可以在采用定點DSP的條件下由軟件實現浮點計算,但是這樣的軟件程序會占用大量處理器時間,因而很少使用。有效的辦法是“塊浮點”,利用該方法將具有相同指數,而尾數不同的壹組數據作為數據塊進行處理。“塊浮點”處理通常用軟件來實現。 所有浮點DSP的字寬為32位,而定點DSP的字寬壹般為16位,也有24位和20位的DSP,如摩托羅拉的DSP563XX系列和Zoran公司的ZR3800X系列。由於字寬與DSP的外部尺寸、管腳數量以及需要的存儲器的大小等有很大的關系,所以字寬的長短直接影響到器件的成本。字寬越寬則尺寸越大,管腳越多,存儲器要求也越大,成本相應地增大。在滿足設計要求的條件下,要盡量選用小字寬的DSP以減小成本。

在關於定點和浮點的選擇時,可以權衡字寬和開發復雜度之間的關系。例如,通過將指令組合連用,壹個16位字寬的DSP器件也可以實現32位字寬雙精度算法(當然雙精度算法比單精度算法慢得多)。如果單精度能滿足絕大多數的計算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數的計算要求精度很高,則需要選用較大字寬的處理器。

請註意,絕大多數DSP器件的指令字和數據字的寬度壹樣,也有壹些不壹樣,如ADI(模擬器件公司)的ADSP-21XX系列的數據字為16位而指令字為24位。 處理器是否符合設計要求,關鍵在於是否滿足速度要求。測試處理器的速度有很多方法,最基本的是測量處理器的指令周期,即處理器執行最快指令所需要的時間。指令周期的倒數除以壹百萬,再乘以每個周期執行的指令數,結果即為處理器的最高速率,單位為每秒百萬條指令MIPS。

但是指令執行時間並不能表明處理器的真正性能,不同的處理器在單個指令完成的任務量不壹樣,單純地比較指令執行時間並不能公正地區別性能的差異。現在壹些新的DSP采用超長指令字(VLIW)架構,在這種架構中,單個周期時間內可以實現多條指令,而每個指令所實現的任務比傳統DSP少,因此相對VLIW和通用DSP器件而言,比較MIPS的大小時會產生誤導作用。

即使在傳統DSP之間比較MIPS大小也具有壹定的片面性。例如,某些處理器允許在單個指令中同時對幾位壹起進行移位,而有些DSP的壹個指令只能對單個數據位移位;有些DSP可以進行與正在執行的ALU指令無關的數據的並行處理(在執行指令的同時加載操作數),而另外有些DSP只能支持與正在執行的ALU指令有關的數據並行處理;有些新的DSP允許在單個指令內定義兩個MAC。因此僅僅進行MIPS比較並不能準確得出處理器的性能。

解決上述問題的方法之壹是采用壹個基本的操作(而不是指令)作為標準來比較處理器的性能。常用到的是MAC操作,但是MAC操作時間不能提供比較DSP性能差異的足夠信息,在絕大多數DSP中,MAC操作僅在單個指令周期內實現,其MAC時間等於指令周期時間,如上所述,某些DSP在單個MAC周期內處理的任務比其它DSP多。MAC時間並不能反映諸如循環操作等的性能,而這種操作在所有的應用中都會用到。

最通用的辦法是定義壹套標準例程,比較在不同DSP上的執行速度。這種例程可能是壹個算法的“核心”功能,如FIR或IIR濾波器等,也可以是整個或部分應用程序(如語音編碼器)。圖1為使用BDTI公司的工具測試的幾款DSP器件性能。

在比較DSP處理器的速度時要註意其所標榜的MOPS(百萬次操作每秒)和MFLOPS(百萬次浮點操作每秒)參數,因為不同的廠商對“操作”的理解不壹樣,指標的意義也不壹樣。例如,某些處理器能同時進行浮點乘法操作和浮點加法操作,因而標榜其產品的MFLOPS為MIPS的兩倍。

其次,在比較處理器時鐘速率時,DSP的輸入時鐘可能與其指令速率壹樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不壹樣。另外,許多DSP具有時鐘倍頻器或鎖相環,可以使用外部低頻時鐘產生片上所需的高頻時鐘信號。 語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。

圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。

軍事;保密通信、雷達處理、聲吶處理、導航、全球定位、跳頻電臺、搜索和反搜索等。

儀器儀表:頻譜分析、函數發生、數據采集、地震處理等。

自動控制:控制、深空作業、自動駕駛、機器人控制、磁盤控制等。

醫療:助聽、超聲設備、診斷工具、病人監護、心電圖等。

家用電器:數字音響、數字電視、可視電話、音樂合成、音調控制、玩具與遊戲等。

生物醫學信號處理舉例:

CT:計算機X射線斷層攝影裝置。(其中發明頭顱CT英國EMI公司的豪斯菲爾德獲諾貝爾獎。)

CAT:計算機X射線空間重建裝置。出現全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀幹圖像重建。

心電圖分析。 DSP的性能受其對存儲器子系統的管理能力的影響。如前所述,MAC和其它壹些信號處理功能是DSP器件信號處理的基本能力,快速MAC執行能力要求在每個指令周期從存儲器讀取壹個指令字和兩個數據字。有多種方法實現這種讀取,包括多接口存儲器(允許在每個指令周期內對存儲器多次訪問)、分離指令和數據存儲器(“哈佛”結構及其派生類)以及指令緩存(允許從緩存讀取指令而不是存儲器,從而將存儲器空閑出來用作數據讀取)。圖2和圖3顯示了哈佛存儲器結構與很多微控制器采用的“馮·諾曼”結構的差別。

另外要註意所支持的存儲器空間的大小。許多定點DSP的主要目標市場是嵌入式應用系統,在這種應用中存儲器壹般較小,所以這種DSP器件具有小到中等片上存儲器(4K到64K字左右),備有窄的外部數據總線。另外,絕大多數定點DSP的地址總線小於或等於16位,因而可外接的存儲器空間受到限制。

壹些浮點DSP的片上存儲器很小,甚至沒有,但外部數據總線寬。例如TI公司的TMS320C30只有6K片上存儲器,外部總線為24位,13位外部地址總線。而ADI的ADSP2-21060具有4Mb的片上存儲器,可以多種方式劃分為程序存儲器和數據存儲器。

選擇DSP時,需要根據具體應用對存儲空間大小以及對外部總線的要求來選擇。 DSP處理器和諸如英特爾、奔騰或Power

PC的通用處理器(GPPs)有很大的區別,這些區別產生於DSPs的結構和指令是專門針對信號處理而設計和開發的,它具有以下特點。

·硬件乘法累加操作(MACs)

為了有效完成諸如信號濾波的乘法累加運算,處理器必需進行有效的乘法操作。GPPs起初並不是為繁重的乘法操作設計的,把DSPs同早期的GPPs區別開來的第壹個重大技術改進就是添加了能夠進行單周期乘法操作的專門硬件和明確的MAC指令。

·哈佛結構

傳統的GPPs使用馮.諾曼存儲結構,在這種結構中,有壹個存儲空間通過兩條總線(壹條地址總線和壹條數據總線)連接到處理器內核,這種結構不能滿足MAC必須在壹個指令周期中對存儲器進行四次訪門的要求。DSPs壹般使用哈佛結構,在哈佛結構中,有兩個存儲空間:程序存儲空間和數據存儲空間。處理器內核通過兩套總線與這些存儲空間相連,允許對存儲器同時進行兩訪問,這種安排使處理器的帶寬加倍。在哈佛結構中,有時通過增加第二個數據存儲空間和總線來實現更大的存儲帶寬。現代高性能GPPs通常具有兩個片上超高速緩沖存儲器壹個存放數據,壹個存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同於哈佛結構,但是,GPPs使用控制邏輯來確定哪些數據和指令字駐留在片上高速緩存裏,這個過程通常不為程序設計者所見,而在DSPs裏,程序設計者能明確的控制哪些數據和指令被存儲在片上的存儲單元或緩存中。

·零消耗循環控制

DSP算法的***同特征:大部分處理時間花在執行包含在相對小循環內的少量指令上。因此,大部分DSP處理器具有零消耗循環控制的專門硬件。零消耗循環是指處理器不用花時間測試循環計數器的值就能執行壹組指令的循環,硬件完成循環跳轉和循環計數器的衰減。有些DSPs還通過壹條指令的超高速緩存實現高速的單指令循環。

·特殊尋址模式

DSPs經常包含有專門的地址產生器,它能產生信號處理算法需要的特殊尋址,如循環尋址和位翻轉尋址。循環尋址對應於流水FIR濾波算法,位翻轉尋址對應於FFT算法。

·執行時間的可預測性

大多數DSP應用都具有硬性實時要求,在每種情況下所有處理工作都必須在指定時間內完成。這種實時限制要求程序設計者確定每個樣本究竟需要多少時間或者在最壞情況下至少用去多少時間。DSPs執行程序的進程對程序員來說是透明的,因此很容易預測處理每項工作的執行時間。但是,對於高性能GPPs來說,由於大量超高速數據和程序緩存的使用,動態分配程序,因此執行時間的預測變得復雜和困難。

·具有豐富的外設

DSPs具有DMA、串口、Link口、定時器等外設。

  • 上一篇:潮汕為什麽發展不起來?
  • 下一篇:煙臺燈會活動介紹
  • copyright 2024編程學習大全網