㈠ 什麼是dsp技術
20世紀60年代以來,隨著計算機和信息技術的飛速發展,數字信號處理技術應運而生並得到迅速的發展。在過去的二十多年時間里,數字信號處理已經在通信等領域得到極為廣泛的應用。數字信號處理是利用計算機或專用處理設備,以數字形式對信號進行採集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。數字信號處理是圍繞著數字信號處理的理論、實現和應用等幾個方面發展起來的。數字信號處理在理論上的發展推動了數字信號處理應用的發展。反過來,數字信號處理的應用又促進了數字信號處理理論的提高。而數字信號處理的實現則是理論和應用之間的橋梁。數字信號處理是以眾多學科為理論基礎的,它所涉及的范圍極其廣泛。例如,在數學領域,微積分、概率統計、隨機過程、數值分析等都是數字信號處理的基本工具,與網路理論、信號與系統、控制論、通信理論、故障診斷等也密切相關。近來新興的一些學科,如人工智慧、模式識別、神經網路等,都與數字信號處理密不可分。可以說,數字信號處理是把許多經典的理論體系作為自己的理論基礎,同時又使自己成為一系列新興學科的理論基礎。世界上第一個單片DSP晶元應當是1978年AMI公司發布的S2811,1979年美國Intel公司發布的商用可編程器件2920是DSP晶元的一個主要里程碑。這兩種晶元內部都沒有現代DSP晶元所必須有的單周期乘法器。1980年,日本NEC公司推出的μPD7720是第一個具有乘法器的商用DSP晶元。在這之後,最成功的DSP晶元當數美國德州儀器公司(TexasInstruments,簡稱TI)的一系列產品。TI公司在1982年成功推出其第一代DSP晶元TMS32010及其系列產品TMS32011、TMS320C10/C14/C15/C16/C17等,之後相繼推出了第二代DSP晶元TMS32020、TMS320C25/C26/C28,第三代DSP晶元TMS320C30/C31/C32,第四代DSP晶元TMS320C40/C44,第五代DSP晶元TMS320C5X/C54X,第二代DSP晶元的改進型TMS320C2XX,集多片DSP晶元於一體的高性能DSP晶元TMS320C8X以及目前速度最快的第六代DSP晶元TMS320C62X/C67X等。TI將常用的DSP晶元歸納為三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。如今,TI公司的一系列DSP產品已經成為當今世界上最有影響的DSP晶元。TI公司也成為世界上最大的DSP晶元供應商,其DSP市場份額佔全世界份額近50%。DSP處理器與通用處理器的比較考慮一個數字信號處理的實例,比如有限沖擊響應濾波器(FIR)。用數學語言來說,FIR濾波器是做一系列的點積。取一個輸入量和一個序數向量,在系數和輸入樣本的滑動窗口間作乘法,然後將所有的乘積加起來,形成一個輸出樣本。 類似的運算在數字信號處理過程中大量地重復發生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:1、對密集的乘法運算的支持GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬體來實現單周期乘法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結果bits的額外bits來避免溢出。同時,為了充分體現專門的乘法-累加硬體的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。2、存儲器結構傳統上,GPP使用馮.諾依曼存儲器結構。這種結構中,只有一個存儲器空間通過一組匯流排(一個地址匯流排和一個數據匯流排)連接到處理器核。通常,做一次乘法會發生4次存儲器訪問,用掉至少四個指令周期。大多數DSP採用了哈佛結構,將存儲器空間劃分成兩個,分別存儲程序和數據。它們有兩組匯流排連接到處理器核,允許同時對它們進行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數據與指令。在這種布局下,DSP得以實現單周期的MAC指令。還有一個問題,即現在典型的高性能GPP實際上已包含兩個片內高速緩存,一個是數據,一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。從物理上說,這種片內的雙存儲器和匯流排的結構幾乎與哈佛結構的一樣了。然而從邏輯上說,兩者還是有重要的區別。GPP使用控制邏輯來決定哪些數據和指令字存儲在片內的高速緩存里,其程序員並不加以指定(也可能根本不知道)。與此相反,DSP使用多個片內存儲器和多組匯流排來保證每個指令周期內存儲器的多次訪問。在使用DSP時,程序員要明確地控制哪些數據和指令要存儲在片內存儲器中。程序員在寫程序時,必須保證處理器能夠有效地使用其雙匯流排。此外,DSP處理器幾乎都不具備數據高速緩存。這是因為DSP的典型數據是數據流。也就是說,DSP處理器對每個數據樣本做計算後,就丟棄了,幾乎不再重復使用。3、零開銷循環如果了解到DSP演算法的一個共同的特點,即大多數的處理時間是花在執行較小的循環上,也就容易理解,為什麼大多數的DSP都有專門的硬體,用於零開銷循環。所謂零開銷循環是指處理器在執行循環時,不用花時間去檢查循環計數器的值、條件轉移到循環的頂部、將循環計數器減1。與此相反,GPP的循環使用軟體來實現。某些高性能的GPP使用轉移預報硬體,幾乎達到與硬體支持的零開銷循環同樣的效果。4、定點計算大多數DSP使用定點計算,而不是使用浮點。雖然DSP的應用必須十分注意數字的精確,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的。定點機器比起相應的浮點機器來要便宜(而且更快)。為了不使用浮點機器而又保證數字的准確,DSP處理器在指令集和硬體方面都支持飽和計算、舍入和移位。5、專門的定址方式DSP處理器往往都支持專門的定址模式,它們對通常的信號處理操作和演算法是很有用的。例如,模塊(循環)定址(對實現數字濾波器延時線很有用)、位倒序定址(對FFT很有用)。這些非常專門的定址模式在GPP中是不常使用的,只有用軟體來實現。 6、執行時間的預測大多數的DSP應用(如蜂窩電話和數據機)都是嚴格的實時應用,所有的處理必須在指定的時間內完成。這就要求程序員准確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間。如果打算用低成本的GPP去完成實時信號處理的任務,執行時間的預測大概不會成為什麼問題,應為低成本GPP具有相對直接的結構,比較容易預測執行時間。然而,大多數實時DSP應用所要求的處理能力是低成本GPP所不能提供的。這時候,DSP對高性能GPP的優勢在於,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動態特性,如轉移預測和推理執行等。因此,由一段給定的代碼來預測所要求的執行時間是完全直截了當的。從而使程序員得以確定晶元的性能限制。7、定點DSP指令集定點DSP指令集是按兩個目標來設計的:·使處理器能夠在每個指令周期內完成多個操作,從而提高每個指令周期的計算效率。·將存貯DSP程序的存儲器空間減到最小(由於存儲器對整個系統的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要)。為了實現這些目標,DSP處理器的指令集通常都允許程序員在一個指令內說明若干個並行的操作。例如,在一條指令包含了MAC操作,即同時的一個或兩個數據移動。在典型的例子里,一條指令就包含了計算FIR濾波器的一節所需要的所有操作。這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。GPP的程序通常並不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言。而對於DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優化的)。這里有兩個理由:首先,大多數廣泛使用的高級語言,例如C,並不適合於描述典型的DSP演算法。其次,DSP結構的復雜性,如多存儲器空間、多匯流排、不規則的指令集、高度專門化的硬體等,使得難於為其編寫高效率的編譯器。即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優化的任務仍然很重。典型的DSP應用都具有大量計算的要求,並有嚴格的開銷限制,使得程序的優化必不可少(至少是對程序的最關鍵部分)。因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員。8、開發工具的要求因為DSP應用要求高度優化的代碼,大多數DSP廠商都提供一些開發工具,以幫助程序員完成其優化工作。例如,大多數廠商都提供處理器的模擬工具,以准確地模擬每個指令周期內處理器的活動。無論對於確保實時操作還是代碼的優化,這些都是很有用的工具。GPP廠商通常並不提供這樣的工具,主要是因為GPP程序員通常並不需要詳細到這一層的信息。
㈡ DSP技術講的是什麼
數字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用於許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發展,數字信號處理技術應運而生並得到迅速的發展。數字信號處理是一種通過使用數學技巧執行轉換或提取信息,來處理現實信號的方法,這些信號由數字序列表示。在過去的二十多年時間里,數字信號處理已經在通信等領域得到極為廣泛的應用。德州儀器、Freescale等半導體廠商在這一領域擁有很強的實力。
DSP(digital signal processor)是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號。再對數字信號進行修改、刪除、強化,並在其他系統晶元中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦晶元。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
DSP微處理器(晶元)一般具有如下主要特點:
(1)在一個指令周期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據匯流排在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬體支持;
(5)快速的中斷處理和硬體I/O支持;
(6)具有在單周期內操作的多個硬體地址產生器;
(7)可以並行執行多個操作;
(8)支持流水線操作,使取指、解碼和執行等操作可以重疊執行。
㈢ 什麼是DSP處理什麼是播放增益
dspDSP(digital singnal processor)是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,並在其他系統晶元中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,源源超過通用微處理器,是數字化電子世界中日益重要的電腦晶元。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
DSP晶元,也稱數字信號處理器,是一種特別適合於進行數字信號處理運算的微處理器器,其主要應用是實時快速地實現各種數字信號處理演算法。根據數字信號處理的要求,DSP晶元一般具有如下主要特點:
(1)在一個指令周期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據匯流排在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬體支持;
(5)快速的中斷處理和硬體I/O支持;
(6)具有在單周期內操作的多個硬體地址產生器;
(7)可以並行執行多個操作;
(8)支持流水線操作,使取指、解碼和執行等操作可以重疊執行。
當然,與通用微處理器相比,DSP晶元的其他通用功能相對較弱些。
它可以將播放內容保存到音軌裡面。當兩個音頻文件或者專輯的默認音量不同的時候,我們就不用再手工調整音量了。我們可以通過播放增益將音頻文件的音量統一起來。播放增益有一個好處就是,增益信息並沒有改變音頻文件本身。它與編碼中的將每一條音軌標准化並不是一回事。就像ID3標簽,增益信息能夠被移除或者改變。另外,增益信息能夠解決許多音頻文件所存在的削波失真問題。
㈣ dsp的演算法指的是計算機演算法嗎
通常意義來說,DSP是指Digital Signal Processing,還可以指Digital Signal Processor。
前者是數字信號處理的意思,後者是用於數字信號處理的數字信號處理器。《演算法導論》一書還是有必要看一看的,因為無論你將來要從事軟體還是硬體的研發,這門課程都會起到良好的基礎作用。當然,這門課是「軟」的。此書沒有直接的東西,但是會滲透出一種軟體設計的邏輯思想,一些常用的演算法的理論。
要是將來想從事DSP的相關工作,可以再看一門《數字信號處理》的書,兩者雖然不是直接耦合,就如你自己所說,多儲備一些總是好的。
還有,進一步的深入研究可以研究FPGA,這是數字信號處理的利器。要是用專用處理器的話,可以看德州儀器的相應資料,它是DSP器件領域的老大。
祝學業順利。
㈤ dsp原理及應用
DSP原理與特點
數字信號處理是將信號以數字方式表示並處理的理論和技術。數字信號處理與模擬信號處理是信號處理的子集。DPS原理就是利用計算機或專用處理設備,以數字形式對信號進行採集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。
數字信號處理的目的是對真實世界的連續模擬信號進行測量或濾波。因此在進行數字信號處理之前需要將信號從模擬域轉換到數字域,這通常通過模數轉換器實現。而數字信號處理的輸出經常也要變換到模擬域,這是通過數模轉換器實現的。
數字信號處理的演算法需要利用計算機或專用處理設備如數字信號處理器(DSP)和專用集成電路(ASIC)等。數字信號處理技術及設備具有靈活、精確、抗干擾強、設備尺寸小、造價低、速度快等突出優點,這些都是模擬信號處理技術與設備所無法比擬的。
數字信號處理的實現方法很多,比如 在通用計算機上用軟體(如Fortran、C語言)實現;在通用計算機系統中加上專用的加速處理機實現;用通用的單片機實現,這種方法可用於一些不太復雜的數字信號處理,如數字控制等;
用通用的可編程DSP晶元實現。與單片機相比,DSP晶元具有更加適合於數字信號處理的軟體和硬體資源,可用於復雜的數字信號處理演算法;
用專用的DSP晶元實現,在一些特殊的場合,要求的信號處理速度極高,用通用DSP晶元很難實現,例如專用於FFT、數字濾波、卷積等演算法的DSP晶元,這種晶元將相應的信號處理演算法在晶元內部用硬體實現,無需軟體編程。
DSP普遍採用數據匯流排和程序匯流排分離的哈佛結構,允許取指令和執行指令進行全部重疊進行;可直接在程序和數據空間之間進行信息傳送,減少訪問沖突,從而獲得高速運算能力。
而且大多採用流水技術,即每條指令都由片內多個功能單元分別完成取指、解碼、取數、執行等步驟,從而在不提高時鍾頻率的條件下減少了每條指令的執行時間。DSP通常有三級以上的流水線。
在每個時鍾周期執行多個操作。針對濾波、相關、矩陣運算等需要大量乘法累加運算的特點,DSP大都配有獨立的乘法器和加法器,使得在同一周期內可以完成相乘、累加兩個運算。有的DSP可以同時進行乘、加、減運算,大大加快了FFT的蝶形運算速度。
DSP系統的應用領域
(1)通用數字信號處理:數字濾波、卷積、相關、FFT、自適應濾波、波形發生等。
(2)通信領域:高速數據機、編/解碼器、傳真、程式控制交換機、衛星通信、IP電話等。
(3)語音處理:語音識別、合成、矢量編碼、語音信箱等。
㈥ 什麼是DSP處理器
數字信號處理器,主要對數字信號進行高速運算。汽車音響處理器應該是解碼用的吧
㈦ DSP技術的特點
考慮一個數字信號處理的實例,比如有限沖擊響應濾波器(FIR)。用數學語言來說,FIR濾波器是做一系列的點積。取一個輸入量和一個序數向量,在系數和輸入樣本的滑動窗口間作乘法,然後將所有的乘積加起來,形成一個輸出樣本。
類似的運算在數字信號處理過程中大量地重復發生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流: GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬體來實現單周期乘法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結果bits的額外bits來避免溢出。
同時,為了充分體現專門的乘法-累加硬體的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。 傳統上,GPP使用馮.諾依曼存儲器結構。這種結構中,只有一個存儲器空間通過一組匯流排(一個地址匯流排和一個數據匯流排)連接到處理器核。通常,做一次乘法會發生4次存儲器訪問,用掉至少四個指令周期。
大多數DSP採用了哈佛結構,將存儲器空間劃分成兩個,分別存儲程序和數據。它們有兩組匯流排連接到處理器核,允許同時對它們進行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數據與指令。在這種布局下,DSP得以實現單周期的MAC指令。
還有一個問題,即現在典型的高性能GPP實際上已包含兩個片內高速緩存,一個是數據,一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。從物理上說,這種片內的雙存儲器和匯流排的結構幾乎與哈佛結構的一樣了。然而從邏輯上說,兩者還是有重要的區別。
GPP使用控制邏輯來決定哪些數據和指令字存儲在片內的高速緩存里,其程序員並不加以指定(也可能根本不知道)。與此相反,DSP使用多個片內存儲器和多組匯流排來保證每個指令周期內存儲器的多次訪問。在使用DSP時,程序員要明確地控制哪些數據和指令要存儲在片內存儲器中。程序員在寫程序時,必須保證處理器能夠有效地使用其雙匯流排。
此外,DSP處理器幾乎都不具備數據高速緩存。這是因為DSP的典型數據是數據流。也就是說,DSP處理器對每個數據樣本做計算後,就丟棄了,幾乎不再重復使用。 如果了解到DSP演算法的一個共同的特點,即大多數的處理時間是花在執行較小的循環上,也就容易理解,為什麼大多數的DSP都有專門的硬體,用於零開銷循環。所謂零開銷循環是指處理器在執行循環時,不用花時間去檢查循環計數器的值、條件轉移到循環的頂部、將循環計數器減1。
與此相反,GPP的循環使用軟體來實現。某些高性能的GPP使用轉移預報硬體,幾乎達到與硬體支持的零開銷循環同樣的效果。 大多數的DSP應用(如蜂窩電話和數據機)都是嚴格的實時應用,所有的處理必須在指定的時間內完成。這就要求程序員准確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間。
如果打算用低成本的GPP去完成實時信號處理的任務,執行時間的預測大概不會成為什麼問題,應為低成本GPP具有相對直接的結構,比較容易預測執行時間。然而,大多數實時DSP應用所要求的處理能力是低成本GPP所不能提供的。
這時候,DSP對高性能GPP的優勢在於,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動態特性,如轉移預測和推理執行等。因此,由一段給定的代碼來預測所要求的執行時間是完全直截了當的。從而使程序員得以確定晶元的性能限制。 定點DSP指令集是按兩個目標來設計的:
·使處理器能夠在每個指令周期內完成多個操作,從而提高每個指令周期的計算效率。
·將存貯DSP程序的存儲器空間減到最小(由於存儲器對整個系統的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要)。
為了實現這些目標,DSP處理器的指令集通常都允許程序員在一個指令內說明若干個並行的操作。例如,在一條指令包含了MAC操作,即同時的一個或兩個數據移動。在典型的例子里,一條指令就包含了計算FIR濾波器的一節所需要的所有操作。這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。
GPP的程序通常並不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言。而對於DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優化的)。這里有兩個理由:首先,大多數廣泛使用的高級語言,例如C,並不適合於描述典型的DSP演算法。其次,DSP結構的復雜性,如多存儲器空間、多匯流排、不規則的指令集、高度專門化的硬體等,使得難於為其編寫高效率的編譯器。
即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優化的任務仍然很重。典型的DSP應用都具有大量計算的要求,並有嚴格的開銷限制,使得程序的優化必不可少(至少是對程序的最關鍵部分)。因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員。 因為DSP應用要求高度優化的代碼,大多數DSP廠商都提供一些開發工具,以幫助程序員完成其優化工作。例如,大多數廠商都提供處理器的模擬工具,以准確地模擬每個指令周期內處理器的活動。無論對於確保實時操作還是代碼的優化,這些都是很有用的工具。
GPP廠商通常並不提供這樣的工具,主要是因為GPP程序員通常並不需要詳細到這一層的信息。GPP缺乏精確到指令周期的模擬工具,是DSP應用開發者所面臨的的大問題:由於幾乎不可能預測高性能GPP對於給定任務所需要的周期數,從而無法說明如何去改善代碼的性能。
㈧ 2,dsp演算法的實現方法有哪些
dsp:英文原名叫digital signal processing,簡稱DSP。數字信號處理就是用數值計算的方式對信號進行加工的理論和技術。另外DSP也是digital signal processor的簡稱,即數字信號處理器
數字信號處理的目的是對真實世界的連續模擬信號進行測量或濾波。因此在進行數字信號處理之前需要將信號從模擬域轉換到數字域,這通常通過模數轉換器實現。而數字信號處理的輸出經常也要變換到模擬域,這是通過數模轉換器實現的。即將事物的運動變化轉變為一串數字,並用計算的方法從中提取有用的信息,以滿足我們實際應用的需求。
㈨ 什麼是DSP技術
數字信號處理(Digital Signal
Processing——DSP)強調的是通過專用集成電路晶元,利用數字信號處理理論,在晶元上運行目標程序,實現對信號的某種處理.
數位訊號處理(Digital Signal Processing)是二十一世紀形成科學和工程最具威力的技術之一。在各領域內廣泛的范圍中已經發生革命性的改變:通訊、醫療影像、雷達和聲納、高保真度(fidelity)音樂重製,和原油探勘,只有這些有被命名。每一個領域的DSP技術都已發展到一定的深度,有它們自個兒的演演算法、數學和特定的技巧。結合廣度與深度使得任何人都不能精通所有已被發展的DSP技術。DSP教育包含二項工作:學習一般可套用於整體的概念,以及對你感興趣的特定領域學習專業的技巧。本章藉由描述DSP已在數個不同領域中造成的戲劇般效應來開啟我們進入數位訊號處理(Digital Signal Processing)世界的旅程。革命已經開始了。
DSP的起源(The Roots of DSP)
數位訊號處理不同於其它電腦科學中的領域是由於它使用的資料型別的唯一性:訊號(signals)。在大多情況下,這些訊號起源於現實世界中知覺的(sensory)資料:地震的擺動(seismic vibrations)、視覺影像、聲波等……。在訊號已經被轉換為數位型式後,DSP是數學、演演算法和用來處理這些訊號的技術。這包含廣泛、多變化的目標,例如:強化視覺影像,辨識和產生對話(語音),為了儲存和傳送的資料壓縮,等……。假設我們加一個「對比到數位的轉換器」給電腦,並用它來擷取一部份真實世界的資料。DSP回答了問題:下一步是什麼?
DSP的起源是在1960和1970年代,當數位電腦首度變成可用時。電腦在這個時代是很昂貴的,而DSP受限於只有一些關鍵性的應用。先鋒們主要努力於四個關鍵領域:冒著國際的安全性危險的雷達和聲納,可以賺大把鈔票的原油探勘,資料有不可取代性的太空探索和可以救命的醫學影像。1980和1990時個人電腦的革命使得DSP新的應用突然遽增。動機並非是由於軍事和政府的需求,DSP突然被商業市場驅動了。任何認為他們可以在快速擴大的領域中賺錢的人全都突然變成是DSP的廠商。DSP在這樣的產品中變成眾所皆知的了:行動電話,CD(compact disc players),和電子語音郵件。圖1-1列舉了這些應用中的一部份。
此技術革命由上而下發生。在1980早期,DSP在電子電機領域中是在研究所課程中教授的課程。十年後,DSP已經變成大學標准課程的一部份。今日,DSP變成在許多領域中被科學家和工程師需要的基本技巧。以此類推,DSP可以被和之前技術革命中的「電子學(electronics)」相比。雖然仍是電子電機領域,幾乎每個科學家和工程師都有些基礎電路設計的背景。沒有的話,他們可能會迷失在技術的世界中。DSP也有相同的未來。
圖1-1
DSP已經在科學與工程的許多領域中發動革命。一些多樣化的應用列於此。
近來的歷史更是超令人好奇的;它對你學習和使用DSP的能力上有極大的影響。假設你遇到了一個DSP問題,並且轉向教科書或其它出版品以尋求答案。你通常找到的是一頁又一頁的方程式,難解的(obscure)數學符號和不熟悉的術語。這真是場惡夢!即使對那些在此領域中有經驗的人而言,許多DSP文獻仍令人困惑(baffling)。這並不是在文獻上有錯,它只是預期要給非常特定的讀者群。目前發展中之科技的研究者需要這種復雜(詳細)的數學以了解工作的理論的意涵(theoretical implications)。
本書基本的假設是大部份實用的DSP技術可以在沒有傳統復雜的數學和理論的藩籬下被學習和使用。《科學家和工程師的數位訊號處理指引手冊》(《The Scientist and Engineer』s Guide to Digital Signal Processing》)是為了那些想要使用DSP作為工具、而非新的職業的人寫的。
本章剩餘的部份列舉了一些DSP已經產生革命性變革的領域。當你看過每個應用,注意到DSP是非常介於各學科間的(interdisciplinary),依賴於許多相鄰領域中的技術性工作。如圖1-2所建議的,介於DSP和其它技術學科間的邊界並不明顯也沒有完善的定義,而是模糊和重疊的。如果你想要專攻DSP,你也需要去研讀一些相關的領域。
圖1-2
數位訊號處理在很多科學、工程和數學領域上有模糊和重疊的邊界。
電信(Telecommunications)
電信是關於從一個位置傳送資訊給另一個。這包含許多資訊的型式:電話交談、電視訊號、電腦檔案和其它類型的資料。要傳送資訊,你需要一個介於二個位置間的通道(channel)。這可能是一對導線(wire pair),無線電廣播訊號,光纖,等……。電信公司接收傳送他們的客戶的資訊的付費款項,然而他們必須付費來建立和維護通道(channel)。財務上的帳本盈虧結算線(bottom line)很簡單:他們可以經由單一通道來傳遞愈多的資訊,他們可以賺愈多的錢。DSP已經在許多領域中的電信產業發動革命:聲調(tone)訊號的產生及偵測,頻帶(frequency band)平移,為了移除電力線的嗡嗡聲(power line hum)的濾波動作(filtering),等等……。從電話網路中有三個特殊的例子在此會被討論:多路傳輸(multiplexing)、壓縮和回聲控制(echo control)。
多路傳輸(Multiplexing)
世界上大約有十億的電話。按下幾個鍵,交換網路允許在任何地方的任何人只要幾秒鍾就可以被連結起來。此項無限大(immensity)的任務讓人猶豫。直到1960時,介於二支電話間的連結需要經由機械的交換器和擴大器(amplifiers)來傳送類比聲音訊號。一個連結需要一對導線。比較起來,DSP將音訊轉換成序列數位資料串流。因為位元可以被輕易地編結(interwinded)並且稍後被分開,許多電話談話可以被在單一通道(channel)上傳送。例如,電話的標准已知為T-carier system,它可以同時傳送24個聲音訊號。每個聲音訊號使用8 bit companded(對數壓縮,logarithmic compressed)類比對數位的轉換來每秒抽樣8000次。每個聲音訊號中的結果被表成64,000 bits/sec,且所有的24個channel都包含在1.544 megabits/sec內。使用傳統的22 gauge銅制電話線,訊號可被傳送約6000英呎,典型的互相連接的距離。數位傳輸在財務上的優點很多。電線和類比交換器很貴,數位邏輯閘(digital logic gates)很便宜。
壓縮(Compression)
當聲音訊號以8000 samples/sec被數位化,大部份的數位資訊會是多餘的(rendant)。也就是說,由任何一個樣本承載的資訊會被鄰近的樣本大量地復制。數以打計的DSP演演算法已經被發展來轉換數位化的聲音訊號成需要較少bits/sec的資料串流。這些被稱作資料壓縮(data compression)演演算法。相對應的解壓縮(uncompression)演演算法則被用來回復訊號到它原本的型式。這些演演算法在進行壓縮的數目和結果的聲音品質上變化。一般而言,可將資料速率從64 kilobits/sec減少到32 kilobits/sec,而不損失聲音的品質。當壓縮成資料速率8 kilobits/sec時,聲音會明顯地被影響,不過仍然對長距離電話網路很有用。最長的可達到的壓縮約是2 kilobits/sec,導致高度扭曲的聲音,不過可用於一些應用,例如軍隊和海底通訊。
回聲控制(Echo control)
回聲在長距離電話連結中是一個嚴重的問題。當你對電話說話時,一個代表你的聲音的訊號傳導(travel)到連接的接收器上,其中部份的訊號會回傳,即為回聲(echo)。如果連結在數百英哩之內,用來接收回聲所花費的時間僅有幾毫秒(milliseconds)。人耳習慣於聽這些小的時間延遲的回聲,而連結似乎相當正常。當距離變得較長,回聲變得越來越顯著且惱人(irritating)。對於州際間的通訊,延遲可以是數百微秒,而且特別令人不愉快(objectionable)。數位訊號處理藉由量測傳回的訊號並產生適當的反訊號(antisignal)以消除煩擾的回聲,來著手處理此類的問題。同樣的技術讓喇叭擴音器使用者可以同時聽和說而沒有抗爭的(fighting)音訊回饋(長而尖的聲音, squealing)。它也可藉由數位產生的反噪音(anitnoise)來抵消它,以減少環境噪音。
音訊處理(Audio Processing)
人類的二大主要感官是視覺和聽覺。相對應地,許多DSP與影像及音訊處理相關。人們聽音樂和語言(語音)。DSP已經在這二大領域上有革命性的變化。
音樂(Music)
從音樂家的麥克風到愛玩高級音響的人的揚聲器的路徑是相當長的。數位資料表示法很重要,因為它會防止「一般和類比式儲存和處理相關」的降級。這對任何比較過卡帶和CD的音樂品質的人來講會很熟悉。在一般的情境(scenario)中音樂片段在錄音室(sound studio)中被錄起來在數個頻道或音軌(track)上。在某些情況下,這甚至包含各別錄制單獨的樂器和歌手。這麼做是為了給予聲音工程師在製作最後的成品時較大的彈性。組合各別的音軌到最後的成品的復雜過程被稱作mix down。DSP可以在mix down時,提供數種重要的功能,包括了:濾聲(filtering),訊號加和減,訊號編輯,等……。
譯註:把 X 聲道的 audio 混成 Y 聲道,其中 X 是大於 Y 的數字,例如說你的 DVD 上面是 5.1 聲道,但是你只有耳機,耳機只有雙聲道,所以就需要 mix down 成 2 channel,感謝Jedi提供解釋。
最有趣的DSP在音樂准備上的應用之一是人工余韻(artificial reverberation)。如果各別的頻道被簡單地加在一起,結果的片段聽起來渺茫無力(frail and diluted),很像是音樂家在戶外演奏。這是因為聽者被音樂的迴音或余韻的內容大大地影響了,而通常在錄音室內這些都被最小化了。DSP允許人造回聲和余韻在mix down時被加總以模擬各種理想的聆聽環境。有數百微秒延遲的回聲給予人像教堂般地點的印象。增加10-20微秒延遲的回聲讓人感覺在更適當大小的聆聽空間。
語音的產生(Speech generation)
語音的產生和辨識被用來作為人與機器間的溝通。並不是用你的手和眼,而是用你的嘴和耳。當你的手和眼應該做些別的事,例如:開車,開刀,或(不幸地)用武器對敵人開火時,這非常方便。對於電腦所產生的語音,會使用二個方法:數位錄音和聲道模擬(vocal tract simulation)。在數位錄音中,人聲被數位化並儲存,通常在一種壓縮表格(compressed form)里。在錄放時,儲存的資料被解壓縮並且被轉回到類比訊號。整整一小時錄下來的語音只需要大約3 megabytes來儲存,甚至在小電腦系統里也能。這是今日使用的、最常見的數位語音產生的方法。
聲道模擬(vocal tract simulation)更復雜,藉由人類建立語音的方法來試著模仿身體的(physical)機制。人類聲道模擬是由室內(chamber)的尺寸和形狀決定的具共鳴頻率(resonant frequency)的聲腔(acoustic cavity)。在比較上,摩擦音源於在狹窄的壓縮下嘈雜的空氣雜訊,就好像牙齒和嘴唇。聲道模擬藉由產生模仿這二種刺激(excitation)的數位訊號來運作。共鳴室(resonate chamber)的特性是經由具相似共振的數位濾波器來傳送刺激訊號來模擬。此方法被用於非常早期的DSP成功故事的其中一個,Speak & Spell是賣得很好的、給兒童的電子輔助學習器。
語音辨識(Speech recognition)
自動地人類語音辨識比產生語音更加地困難。語音辨識是人腦做的好,但數位電腦做的很差的經典範例。數位電腦可以儲存並且記得非常大量的資料,以極快的速度執行數學計算,並且做重覆的工作而不會厭煩或沒有效率。不幸地,當面對未加工的感知資料(raw sensory data)時,今日的電腦執行地非常差。教導電腦每月寄給你帳單很容易。教導同一台電腦去了解你的聲音是件大工程。
數位訊號處理一般在二個步驟中處理語音辨識問題:在特色配對(feature matching)之後做特色擷取(feature extraction)。
進入的音訊訊號中的每個字要先被隔離,然後分析以辨識刺激和共振頻率的類型。然後這些參數與之前說話的字的範例做比較以辨識出最接近的配對。常常,這些系統受限於只有幾百字,只能接受字與字間有可分辨的中斷的語音;且每個說話者需被個別再訓練。雖然這對許多商業應用是適當的,當與人類的聽力比較時,這些限制是簡陋的(humbling)。在此領域有很多工作要被完成,成功的商業性產品的那些人會有巨大的金錢上的獎賞。
回聲位置(Echo Location)
獲得關於遠端物件資訊的常見方法是彈出一個離開它的波(bounce a wave off of it)。例如,雷達藉由傳送無線電波的脈沖波,並且對每個從飛機回聲檢查接收到的訊號來運作。在聲納上,聲波經由水傳送以偵測潛水艇和其它水面下的物體。地球物理學家已經藉由設定長期爆破並聽取從岩石的深埋層(deeply buried layers of rock)的回聲來針測地球。雖然這些應用有共同的思路(thread),它們每個都有自個兒特定的問題和需求。數位訊號處理已經在三個領域中都已產生了革命性的變化。
雷達(Radar)
雷達(Radar)是 RAdio Detection And Ranging的首字縮寫。在最簡單的雷達系統里,無線電傳送器產生一個好幾微秒長的無線電頻率能量脈沖。此脈沖被餵進高度的指向天線(directional antenna),在那裡導致無線電波傳播(propagate)並以光速離開。在此波路徑上的飛機會反射回來一小部份的能量到位於傳送站附近的接收天線。到物體的距離由介於被傳送的脈沖和接收的回聲間花費的時間來計算。物體的方向更容易發現,當回聲被接收時,你知道你在哪裡指到指向天線(directional antenna)。
雷達系統的運作范圍由二個參數決定:初始脈沖內有多少能量,及無線電接收器的噪音水準。不幸地,要在脈沖波里增加能量通常需要更長的脈沖波。接著,較長的脈沖波減少正確性和消耗時間測度的精度。這導致了二個重要參數間的沖突:偵測遠距離物體的能力,和正確地決定物體的距離的能力。
DSP在三個領域有革命性的雷達,它們全都與基本問題相關。第一個,DSP可以在脈沖波被接收後壓縮它,提供較佳距離測定而不需減小其作業范圍。第二個,DSP可以過濾掉所接收的訊號來減少雜訊。這增加了范圍,而不用將距離測定降級。第三,DSP能夠快速選取並產生不同脈沖波形和長度。除了其它的(問題)外,這讓脈沖波對特定的偵測問題被最佳化。現在是令人印象深刻的部份:這裡面很多是由和所使用的無線電頻率差不多的抽樣率(sampling rate),約是數百megahertz!當它涉及雷達這方面時,DSP與高速硬體設計高度相關就和它與演演算法的關系一樣。
聲納(Sonar)
聲納是SOund NAvigation and Ranging的首字縮寫。它被分成二大類,主動式(active)和被動式(passive)。在主動式聲納中,介於2 kHz 和40 kHz 間的聲音脈沖波被傳送到水裡,而結果的回聲被偵測和分析。使用主動式聲納包含:偵測和定位水面下的物體、航海、通訊和映射(mapping)到海底(sea floor)。一般最大操作范圍是10到100公里。與其相比,被動式聲納只聆聽海面下的聲音,包含:自然的亂流(turbulence)、海洋生物和從潛艇和表面船艦發出的機械聲。因為被動式聲納沒有消除能量,它對於轉換作業而言很理想。你想要偵測其它人(the other guy),而不要他偵測你。被動式聲納最重要的應用是軍事監視(surveillance)系統,它偵測並追蹤潛水艇。被動式聲納一般使用比主動式聲納較低的頻率,因為它們經由水以較少的吸收作用被傳播(propagate)。偵測范圍可達到數千公里。
DSP在聲納方面已經與雷達方面有許多相同的領域都有革命性的發展:脈沖波的產生、脈沖波壓縮和過濾偵測到的訊號。有個聲納比雷達簡單的觀點:因為包含了較低的頻率。另一個觀點是,聲納比雷達更難,因為環境較不一致也較不穩定。聲納系統通常使用昂貴的陣列來傳送和接收元素,而不是只有單一個頻道。藉由適當地控制和混合這許多元素的訊號,聲納系統可以指引被消除的脈沖波到想要的位置並且決定迴音被接收的方向。要處理這許多的頻道,聲納系統需要與雷達同樣大規模的DSP運算能力。
反射地震學(Reflection seismology )
大約是1920年代早期,地球物理學家發現地球外殼的結構可以用聲音來探測。探勘者可以引爆並從在表面下超過十公里的邊界層(boundary layer)紀錄回聲。這些回聲震動圖(seismograms)由肉眼解讀來對應到次表面(subsurface)的結構。反射地震法(reflection seismic method)很快地變成主要確定石油和礦藏位置的方法,且直到今日仍是。
在理想的情況下,傳送到地面的聲音脈沖波從每個脈沖波經過的邊界層產生一個回聲。不幸地,情況通常不會這麼簡單。每一個傳回到地表的回聲必須經過所有其它上面(它源自的)邊界層。這會導致回聲在層與層之間跳躍,產生回聲的回聲在表面被偵測到。這些次要的回聲可以使被偵測的訊號非常地復雜和難以解讀。自從1960年代,數位訊號處理已經被廣泛地運用來從反射震動圖(reflection seismograms)中的次要回聲隔離主要的回聲。早期的地球物理學家如何在沒有DSP的情況下處理?答案很簡單:他們看簡單的地方,在那裡多重反射被最小化。DSP允許原油在困難的位置被發現,例如在海的下方。
影像處理(Image Processing)
影像是具有特性的訊號。首先,它們是空間(距離)上參數的測度,雖然大部份訊號是時間參數的測度。第二,它們包含很多資訊。例如,可能需要超過10 megabytes來儲存二分之一的電視錄影。這比一個相似長度的聲音訊號大了超過1000倍。第三,最終品質的判斷通當會受限於人類的評估,而非客觀存在的評斷標准。這些特性已經使得影像處理變成DSP內不同的子群組。
醫療的(Medical)
在1895年,Wilhelm Conrad R?ntgen發現了X光可穿透相當數量的實際物體。醫學藉由可以看到活生生的人體內而有了革命性的進步。醫療用X光系統只在幾年內便散布全球。盡管它明顯的成功,直到DSP及相關技術在1970年出現之前,醫療用X光影像一直受限於四個問題。笫一,人體內重疊的結構可以藏在另一個之後。例如,在肋骨後方的部份心藏可能無法被看見第二,並不總是能區分相似的組織(tissue)。例如,可能可以從軟組織分開骨頭,不過不能從肝藏分辨腫瘤。第三,X光影像顯示解剖結構(anatomy),身體的結構,而不是生理學,身體的運作。活人的X光影像看起來就像是死人的X光影像!第四,曝露在X光下會引起癌症,需要謹慎地(sparingly)且只能在有適當的理由時才能使用它。
重疊結構的問題在1971年引入第一台計算式斷層攝影法(computed tomography)掃描器被解決了(正式地名稱是computed axial tomography或CAT 掃描器)。計算式斷層攝影法(CT)是一經典的數位訊號處理的例子。從許多方向的X光會穿透病人被檢查時的身體各部份(section)。並非簡單地以偵測到的X光形成影像,而是訊號被轉成數位資料並儲存在電腦中。然後此資訊被用於計算要顯示為身體各切片(slice)的影像。這些影像比傳統的技術顯示更多的細節,允許值得注目地更好的檢測和治療。CT的影響幾乎和原本引入X光影像本身一樣大。在幾年之內,世界上的每家大醫院都已經使用CT掃描器了。在1979年時, CT原理的貢獻者中其中的二位,Godfrey N. Hounsfield 和 Allan M. Cormack,共享了諾貝爾醫學獎(Nobel Prize in Medicine)。那是好DSP!
最後的三個X光問題已經藉由使用不是X光的穿透性能源(penetrating energy)被解決了,例如無線電和聲波。DSP在所有這些技術中扮演一個關鍵的角色。例如,核磁共振影像(Magnetic Resonance Imaging,MRI)使用磁場連結無線電波來探測人體的內部。適當地調整磁場強度和頻率讓在身體區域范圍內的原子核可以介於量子能源狀態間共振。此共振導致次要的無線電波放射,由放在靠近身體的天線偵測。這個偵測到的訊號的強度和其它特性提供了關於共振局部區域的資訊。磁場的調整讓被經此身體掃描的共振區域對應到內部的結構。此資訊通常被表示成影像,就像是計算式斷層攝影般。除了提供介於不同類型軟組織間傑出的辨識外,MRI可以提供關於生理學(physiology)的資訊,例如經由動脈的血液流。MRI完全依賴數位訊號處理技術,沒有它們無法被實作。
外太空(Space)
有時候,你只是必須把一張爛相片弄到最好。這情況屢次都是因為影像從無人管理的衛星和太空探索火箭拍的。沒有人會送一個修理工到火星只是去扭轉像機的旋鈕!DSP可以用數種方法來增進在非常不適宜的情況下所拍的影像的品質,它們是:亮度和對比調整,邊界偵測,雜訊減少,焦點調整,動作模糊減少,等……。有空間扭曲的影像,例如拍攝球面星球的平面影像所遇到的,可以被變形(warped)成一種正確的表示法。許多各別的影像可以被結合成單一的資料庫,讓資訊以唯一的方式被顯示。例如,一個電視影像序列模擬飛機在不同星球的表面飛行。
商業化的影像產品(Commercial Imaging Procts)
對於在大量出售給大眾的系統而言,在影像內大量的資訊內容是個問題。商業化的系統必須要便宜,且這不是大量記憶體和高度資料傳輸速率配合的結果。一個對此定理的解答是影像壓縮(image compression)。就好像聲音訊號,影像包含極大數目的多餘資訊,且可經由減少「需要用來表示的bits數目」的演演算法來回傳。電視和其它動作片尤其適合壓縮,因為大部份的影像從一個frame到另一個frame仍舊是一樣的。商業化的影像處理軟體利用此技術,包含了:視訊電話、顯示移動中圖片的電腦程式和數位電視。
㈩ 什麼是DSP
DSP晶元,也稱數字信號處理器,是一種特別適合於進行數字信號處理運算的微處理器具,其主機應用是實時快速地實現各種數字信號處理演算法。根據數字信號處理的要求,DSP晶元一般具有如下主要特點:
(1)在一個指令周期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據匯流排在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬體支持;
(5)快速的中斷處理和硬體I/O支持;
(6)具有在單周期內操作的多個硬體地址產生器;
(7)可以並行執行多個操作;
(8)支持流水線操作,使取指、解碼和執行等操作可以重疊執行。
當然,與通用微處理器相比,DSP晶元的其他通用功能相對較弱些