數字信號處理技術(英語:Digital Signal Processing,DSP)是指利用計算機、微處理器或專用處理設備,以數字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理的理論與方法。
數字信號處理技術的發展可歸納為兩個階段:第一階段是以1965年Colley與Tukey提出快速傅里葉變換算法為標志的,這時DSP技術主要用于圖像處理、快速數據傳輸、生物醫學系統等;第二階段時現代數字信號處理階段,其特點是隨著數字信號處理的飛速發展,新理論、新算法不斷涌現。20世紀80年代初,第一片單片可編程DSP芯片誕生,使理論研究結果廣泛應用到低成本的實際系統中,并且推動了新的理論和應用領域的發展。
數字信號處理是以眾多學科為理論基礎的,它所涉及的范圍極其廣泛。例如,微積分、概率統計、隨機過程、數值分析等都是數字信號處理的基本工具,它與網絡理論、信號與系統、控制理論、通信理論、故障診斷等也密切相關。如人工智慧、模式識別、神經網絡等熱門研究,都與數字信號處理密不可分。數字信號處理以許多經典的理論體系為理論基礎,同時又成為一系列新興學科的理論基礎。
發展歷程
1805年高斯給出的快速傅里葉變換(FFT)基本原理為快速離散時間信號計算提供了基本思想。1958年,Ragazzini等人發表了有關數字信號處理的第一本近代著作《Sampled Data Control System》,但受限于當時的工藝水平,只能對一些低頻的控制或地震信號的數字處理問題做一些實踐性的嘗試。20世紀60年代中期,較為定型的數字信號處理理論產生,但絕大部分信號處理還屬于連續時間信號處理。
1965年,Cooley和Turkey發表FFT算法,這使數字信號處理從理論概念到應用實現發生了重大轉折。FFT的出現使得數字信號處理的計算量縮小了幾個數量級,從而使數字信號處理技術得到廣泛應用。
隨著數字信號處理的飛速發展,一些新的算法出現,如利用數論變換進行卷積運算的方法、WFTA算法、沃爾什變換(WT)及其快速算法(小波變換)等。20世紀70年代開始,許多科學工作者對數字信號處理中的有限字長效應進行了研究,解釋了數字信號處理中出現的許多現象,使數字信號處理的基本理論進入了成熟階段。1975年,A.V.Oppenheim與TW.Schafer發表了數字信號處理理論的代表作《Digital Signal Processing》。
從數字處理技術的實現上看,大規模集成電路技術是推動數字信號處理發展的重要因素。由于大規模集成電路的出現,數字信號處理不僅可以在計算機上實現,還出現了專用DSP芯片及相應的電路芯片,DSP產品已經發展成為一個龐大的家族,數字信號處理的速度有了更大的提高。
技術細節
DSP系統
系統構成
數字信號的處理是由數字信號處理系統完成的。凡是對數字信號進行處理的物理裝置都可以看成是數字信號處理系統。
狹義的數字信號處理系統指輸入的是數字信號,經過處理后輸出的也是數字信號的系統,如數字濾波器。廣義的數字信號處理系統包括狹義的數字信號處理系統,還可能包含模擬低通濾波器、A/D變換器 (模擬/數字變換器)、D/A 變換器(數字/模擬變換器)等。
上圖為DSP系統的典型模型,并不是所有的DSP系統都必須具有模型中的所有部件,如語音識別系統在輸出端并不是連續的波形,而是識別結果;有些輸入信號本身就是數字信號,不必進行模數變換。
工作流程
DSP系統的輸入信號可以有各種各樣的形式,例如麥克風輸出的語音信號,由電話線來的已調數據信號,編碼后在數字鏈路上傳輸或存儲在計算機里的圖像信號等。輸入信號首先進行帶限濾波和抽樣,然后進行 A/D(Analog to Digital) 變換將信號變換成數字比特流。DSP芯片的輸入是由A/D變換后得到的以抽樣形式表示的數字信號,DSP芯片對輸入的數字信號進行某種形式的處理,如進行一系列的乘、累加操作(MAC)等。數字處理是DSP的關鍵。最后,經過處理后的數字樣值經D/A(Digital to Analog)變換轉換為模擬樣值,再進行內插和平滑濾波就可得到連續的模擬波形。
DSP芯片
DSP芯片,即數字信號處理芯片,也稱DSP芯片(digital signal processor,DSP),是一種特別適合于進行數字信號處理運算的處理器,其主要應用是實時快速地實現各種數字信號處理算法。
DSP芯片的內部采用程序和數據分開的哈佛結構,具有專門的硬件乘法器,采用流水線操作,提供特殊的DSP指令,可以用來快速地實現各種數字信號處理算法。DSP芯片一般具有如下的主要特點:在一個指令周期內可以完成一次乘法和一次加法;程序和數據空間分開,可以同時訪問數據空間和程序空間;片內具有快速RAM,通??赏ㄟ^獨立的數據總線同時訪問兩塊芯片;具有低開銷或零開銷循環及跳轉的硬件支持;具有快速的中斷處理和硬件I/O支持;具有在單周期內操作的多個硬件地址產生器;可以并行執行多個操作;支持流水線操作,取指令、譯碼和執行等操作可以流水執行。
DSP算法
傅里葉變換是常用于數字信號處理的重要算法,是一種將信號從時域到頻域的變換形式,是聲學、語音、電信和信號處理等領域中的一種重要分析工具。離散傅里葉變換(DFT)是連續傅里葉變換在離散系統中的表現形式,其功能是將一段數字信號轉換成其各個頻率的正弦信號分量。但DFT的計算量很大,因此在很長一段時間內其應用受到很大的限制。快速傅里葉變換(FFT)是離散傅里葉變換的一種高效運算方法。FFT使DFT的運算大大簡化,運算時間一般可以縮短1~2個數量級,FFT的出現提高了DFT的運算速度,從而使 DFT 得到廣泛的應用。
DSP芯片的出現使FFT的實現方法變得更為方便。由于多數DSP芯片都能在一個指令周期內完成一次乘法和一次加法,而且提供專門的FFT指令,使得FFT算法在 DSP 芯片上實現的速度更快。
DSP的實現
大部分DSP系統需要執行密集運算操作,這些操作可以在微處理器、微控制器、DSP芯片或定制集成電路等數字硬件上實現?;蛲ㄟ^所給應用,基于性能、成本和功耗的要求來選擇恰當的硬件。
專用集成電路(ASIC) 器件通常面向要求進行密集計算的特定任務而進行設計。ASIC器件的體系結構為需要的操作進行了專門優化,因此能夠非常快地執行要求的功能。但它們缺乏靈活性,適用于實現已經定義好的和流行的DSP算法的可大規模生產的產品或者要求高速只能采用ASIC實現的應用??晒灿肈SP功能的核心模塊的出現使ASIC設計得到簡化,但原型ASIC器件仍存在成本較高、設計周期較長、缺少標準開發工具支持和可重編程的靈活性等缺點。
FPGA(FPGA)可作為膠連邏輯、總線橋和外設用于DSP系統,以降低系統成本和提高系統集成度最近。FPGA也可與DSP芯片結合起來工作,以便集成預處理或后處理功能。FPGA器件是硬件可重構的,因此可通過優化硬件結構來實現更高性能和更低產品成本的算法。此外,也可通過讓器件中的一部分實現高性能復雜DSP功能,其余部分實現系統邏輯或接口功能,來實現低成本和高系統集成度。
通用處理器和微控制器(μP/μC)的體系結構通常分為兩類:哈佛(Harvard)結構和馮·諾依曼(Von Neumann)結構。哈佛結構針對程序和數據具有分開的存儲空間,兩個存儲區可以同時被訪問;馮·諾依曼結構將程序和數據都存儲在相同的存儲器中。通用μP/μC變得越來越快,有能力處理一些DSP應用。許多電子產品,例如汽車控制器,采用微控制器進行引擎、剎車和懸掛控制。若μP/μC產品需要新的DSP功能,應盡量在軟件上進行實現,而不是修改硬件。
DSP芯片從本質上講是一個微處理器,包含了為DSP應用特別設計的體系結構和指令集。相較于ASIC和FPGA解決方案,數字信號處理器在易于開發和現場可重編程來升級產品特性或修復錯誤等方面具有很多優勢。它們通常比ASIC和FPGA等定制硬件更具成本效率,特別是針對小規模應用。相較于通用μP/μC,數字信號處理器在很多DSP應用中具有更快的速度、更好的能量效率或功耗,以及更低的成本。數字信號處理器可應用于電動機、運動控制、汽車系統、家用設備、消費電子、醫療和保健設備、通信和廣播設備。這些可編程的DSP芯片采用集成元件開發工具進行支持,包括C編譯器、匯編器優化器、鏈接器、調試器仿真器和仿真器。
應用
通信
數字信號處理在移動通信、數字無線電、adsl、IP電話、軟件無線電、衛星通信等方向都有大量應用。從第二代通信開始就是基于數字技術的數字通信。通信中采用數字信號進行信源編碼、信道編碼、多路復用、數據壓縮。在因特網中傳輸的是數字信號,信號在傳輸交換中可以經過壓縮、編碼等數字處理,也可以以數字方式進行存儲。
消費電子產品
數字信號處理在數字語音、汽車多媒體、MP3/MP4/MP5、數字掃面儀、數字電視機頂盒、醫院監視系統、生物指紋系統等領域都有大量應用。
數碼相機、數字電視、數字計算機都是數字信號的處理系統。數碼相機將外界的模擬圖像變換成數字圖像,根據一定的數字壓縮算法處理,獲得占用存儲空間較小的數字文檔;數字電視則是將模擬視頻轉換為數字視頻后進行數字壓縮編碼,再經過數字廣播發送出去,接收方獲得數字電視信號后再進行逆變換;計算機中的文檔、表格、圖片、歌曲、視頻等多媒體都是經過數字處理的結果,可以存儲、傳輸、編輯、轉化等,并可以通過輸出設備進行輸出。此外,數字語音中的語音分析、合成、識別、增強、編碼,數字圖像中圖像的增強、恢復、去噪、壓縮,都需要用到數字信號處理。
工業
工業中的數控機床、數控加工中心、3D打印、數碼排版印刷數字雕刻機、機器視覺、頻譜分析儀、函數發生器、地震信號分析二維碼掃描、物聯網通信、RFID等都與數字信號處理密切相關。
其他
雷達中采用數字技術對目標進行探測、定位、成像。聲吶處理導航、衛星偵察等也都用到數字信號處理技術。
特點
信號處理可分為數字信號處理和模擬信號處理,與模擬信號處理相比,數字信號處理有許多明顯的優越性。其在處理方式上有如下特點。
可程控:當模擬系統的功能和性能發生改變時,必須重新進行系統設計,至少需要改變系統中的某些器件或參數,然后再重新裝配和調試。對于以DSP處理器為核心的數字電路而言,則可以只設計和實現一個硬件平臺,然后用各種軟件來執行各種各樣的數字信號處理任務。改變系統的功能與性能時,只需要改變相應的軟件或軟件中的參數,而不需要改變硬件平臺本身。這就使以可編程DSP處理器為核心的數字信號處理系統具有極大的靈活性。
穩定性好:模擬集成電路中的電阻、電容、電感和運算放大器等器件的特性會隨著環境的改變而改變,也會隨著時間的改變而改變。與此相比,數字系統的更為穩定,即受時間和環境的影響要小得多。
可重復性好:數字電路本身具有很好的可重復性。兩臺字長相同的計算機,在任何不同的時間,計算同一個數學模型,得到的結果一定是一樣的。但由于生產工藝可能造成模擬系統與標準性能間存在誤差,并且時間環境會導致模擬系統性能發生變化,用同樣的信號送入兩個配置相同的模擬系統,輸出的結果是存在差異的。因此,數字系統的穩定性和可重復性與模擬系統相比,具有明顯的優勢。
抗干擾性能好:信號在處理和傳輸過程中會受到噪聲的干擾。數字信號抗干擾的性能優于模擬信號。數字信號在受到噪聲干擾時,只要能夠正確地識別0和1,并將其再生,就可以完全消除噪聲的影響。迅速發展的各種數字糾錯編解碼技術,能夠在極為復雜的噪聲環境中,甚至信號完全被噪聲所淹沒的情況下,正確地識別和恢復原有的信號。
實現自適應算法:從信號與系統的角度講,自適應就是使系統的特性隨輸入信號的改變而改變,從而在某種準則下,得到最優的輸出。就模擬系統而言,只有改變系統的設計和元器件的參數,才能改變系統的特性,因而很難實現實時自適應。對于特定的自適應算法,以DSP處理器為核心的數字電路能根據確定的準則,實時地改變系統的參數,從而實現實時自適應;對于不同的自適應算法,只需要更換適當的軟件即可。
數據壓縮效果好:隨著對信號質量的要求越來越高,信號傳輸的帶寬和存儲的代價也越來越高。模擬信號的信息量也可以進行壓縮,但信號的質量會受到比較大的影響。而數字信號處理中壓縮算法不斷改進,已經可以在對原信號質量影響很小的前提下,取得很高的壓縮比。
相關概念
信號
信號是傳遞信息的載體,是信息的物理表現形式。信號可以表現為多種形式,如電信號、磁信號、聲信號、光信號、機械信號、熱信號等。信號在數學上可表示為一個或多個自變量的函數,或表示成一個或幾個獨立變量的函數。
分類
一維信號、二維信號和多維信號:信號的自變量可以是時間、頻率、空間位置或其他物理量。若信號是一個變量的函數,則該信號為一維信號,例如,語音可以看成是時間的一維信號;如果信號是兩個變量的函數,則稱為二維信號,例如圖像可以看成是平面空間坐標位置的二維信號;視頻則可以看成是空間位置以及時間的多維信號 (信號的自變量大于兩個)等。
模擬信號、離散時間信號和數字信號:若t是定義在時間軸上的連續變量,那么函數x(t)表示的信號為連續時間信號,又稱模擬信號。若t僅在時間軸的離散點上取值,那么x(t)為離散時間信號。通過將模擬信號的時間離散而得到的信號其幅度還是可以取連續的值。若將模擬信號的幅度離散,即幅度取離散的值,而時間取連續的值,則得到量化信號。若時間和幅度都離散,即信號的時間取離散的值,幅度也取離散的值,則稱為數字信號。數字信號的自變量是離散取值,函數也是離散的取值。
周期信號和非周期信號:對信號x(n),若有x(n)=x(n+kN)、x(n)=x(n-kN),k和N均為正整數,則稱x(n)為周期信號,周 期為N;否 則x(n)為非周期信號。一個非周期信號也可視為周期信號,這時其周期N趨于無窮。
確定性信號和隨機信號:信號x(n)在任意n時刻的值若能被精確地確定(或是被預測),那么x(n)是一個確定性的信號;隨機信號則是指在時刻n的取值是隨機的,不能給以精確預測的信號。隨機信號又可分為平穩隨機信號與非平穩隨機信號,平穩隨機信號又可分為各態遍歷信號與非各態遍歷信號。
能量信號和功率信號:若信號能量有限,則稱信號為能量信號;若信號功率有限,則稱信號為功率信號。
噪聲
在信號處理中,噪聲—般被認為是有害的,即它“污染”了信號。噪聲的存在促使一系列的信號處理算法產生,并形成了內容豐富的信號處理的理論。
在信號處理中,為了模擬所研究的客觀對象,常常需要人為地產生不同類型的噪聲, 最常用的一種噪聲模型是所謂的“白噪聲”,白噪聲的名稱來源于白色光的性質,意即在白噪聲中含有所有頻率的成分。
濾波器
濾波器是指能夠使輸入信號中某些頻率分量充分地衰減,同時保留那些需要的頻率分量的一類系統,它在信號傳輸與信號處理中有著重要作用。根據處理信號的不同可將濾波器分為模擬濾波器和數字濾波器兩種。模擬濾波器和數字濾波器的概念相同,只是信號的形式和實現濾波的方法不同。
模擬濾波器要用硬件電路來實現,即用由模擬元件(比如電阻、電容、電感)組成的電路來完成濾波功能。數字濾波是譜分析、通信信號處理等應用中的基本處理算法,它能夠滿足濾波器對幅度和相位的嚴格要求,解決了模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題,同時又有很高的可編程性和靈活性。因此數字濾波器在各種領域有廣泛的應用,例如數字音響、音樂和語言合成、噪聲消除、數據壓縮、頻率合成、諧波消除、相關檢測等。
數字濾波是DSP最基本的應用領域,一個DSP芯片執行數字濾波算法的能力反映了這種芯片的功能強弱,用DSP實現數字濾波器可以十分方便的改變濾波器特性。數字濾波器有兩種類型:有限沖激響應濾波器(FIR)和無限沖激響應濾波器(IIR)。
預濾波器
預濾波器也稱為抗混疊濾波器,是一個模擬濾波器。它有兩個作用:確保采樣信號的帶寬限制在預期的頻率范圍內;限制破壞期望信號的加性噪聲頻譜及其他干擾。通常,加性噪聲是寬頻帶的,超過了期望信號的帶寬。通過預濾波,可以降低落在期望信號頻帶范圍內的加性噪聲功率,并抑制帶外噪聲。
在確定了預濾波器的需求并選擇了預期的采樣率后,就可進行設計用于離散時間信號的數字信號處理。
模數轉換
將模擬信號轉換為數字信號的過程稱為“模數轉換”,通常由A/D轉換器完成。A/D轉換的目的是將模擬信號轉換為可以由數字硬件處理的數字形式。模擬信號由一個適合的電子傳感器進行拾取,傳感器將壓力、溫度或聲音轉換為電子信號。
任何A/D轉換器都要實現三個基本的功能:采樣、量化和編碼。采樣是指將模擬信號在時間上離散化,使之變成采樣信號,對模擬信號的采樣是通過采樣保持(S/H)電路實現的;量化是指將采樣信號的幅度離散化,使之變成數字信號;編碼則是將數字信號最終表示成為數字電路所能接收的形式。三個功能的實現方式決定了A/D轉換器的形式和性能。
數模轉換
數模轉換通常由具有采樣保持(S/H)功能的模數(D/A)轉換器緊接著一個低通(平滑)濾波來實現。D/A轉換器將數字信號轉換成模擬信號,其任務是完成樣本之間的插值。D/A轉換器以對應于二進制字的電信號作為輸入,產生與二進制字的值成比例的輸出電壓或電流。
參考資料 >