數(shù)字信號處理技術(shù)
數(shù)字信號處理(DSP)是指利用計算機、微處理器或?qū)S锰幚碓O(shè)備,對數(shù)字形式的信號進行采集、轉(zhuǎn)換、濾波、評估、增強、壓縮和識別的理論和方法。數(shù)字信號處理技術(shù)的發(fā)展可以概括為兩個階段:第一階段以1965年Colley和Tukey提出的快速傅里葉變換算法為標志,當時DSP技術(shù)主要應用于圖像處理、快速數(shù)據(jù)傳輸、生物醫(yī)學系統(tǒng)等。第二階段是現(xiàn)代數(shù)字信號處理階段,以數(shù)字信號處理的快速發(fā)展和新的理論、算法的出現(xiàn)為特征。20世紀80年代初,第一塊單片可編程DSP芯片誕生,使理論研究成果廣泛應用于低成本實用系統(tǒng),促進了新理論和應用領(lǐng)域的發(fā)展。
數(shù)字信號處理是基于許多學科的,它涉及的范圍很廣。比如微積分、概率統(tǒng)計、隨機過程、數(shù)值分析等都是數(shù)字信號處理的基本工具,也與網(wǎng)絡(luò)理論、信號與系統(tǒng)、控制理論、通信理論、故障診斷等密切相關(guān)。如人工智能、模式識別、神經(jīng)網(wǎng)絡(luò)等熱門研究,都離不開數(shù)字信號處理。數(shù)字信號處理基于許多經(jīng)典的理論體系,同時也成為一系列新興學科的理論基礎(chǔ)。
發(fā)展歷史
高斯在1805年給出的快速傅立葉變換的基本原理為快速離散時間信號計算提供了基本思想。1958年,Ragazzini等人發(fā)表了第一本關(guān)于數(shù)字信號處理的現(xiàn)代著作《采樣數(shù)據(jù)控制系統(tǒng)》,但受限于當時的技術(shù)水平,他們只能在地震信號的一些低頻控制或數(shù)字處理上做一些實際的嘗試。20世紀60年代中期,數(shù)字信號處理的一套理論應運而生,但大部分信號處理仍屬于連續(xù)時間信號處理。
1965年,Cooley和Turkey發(fā)表了FFT算法,使數(shù)字信號處理從理論概念到應用實現(xiàn)發(fā)生了巨大的轉(zhuǎn)折。FFT的出現(xiàn)使數(shù)字信號處理的計算量減少了幾個數(shù)量級,從而使數(shù)字信號處理技術(shù)得到廣泛應用。
隨著數(shù)字信號處理的快速發(fā)展,出現(xiàn)了一些新的算法,如利用數(shù)論變換的卷積運算、WFTA算法、沃爾什變換及其快速算法(小波變換)。自20世紀70年代以來,許多科學家研究了數(shù)字信號處理中的有限字長效應,解釋了數(shù)字信號處理中的許多現(xiàn)象,使數(shù)字信號處理的基礎(chǔ)理論進入了成熟階段。1975年A.V .奧本海默和TW。斯查費發(fā)表了數(shù)字信號處理理論的代表作。
從數(shù)字處理技術(shù)的實現(xiàn)來看,大規(guī)模集成電路技術(shù)是推動數(shù)字信號處理發(fā)展的重要因素。由于大規(guī)模集成電路的出現(xiàn),數(shù)字信號處理不僅可以在計算機上實現(xiàn),還出現(xiàn)了專用的DSP芯片和相應的電路芯片。DSP產(chǎn)品已經(jīng)發(fā)展成為一個龐大的家族,數(shù)字信號處理的速度有了很大的提高。
技術(shù)細節(jié)
DSP系統(tǒng)
系統(tǒng)組成:數(shù)字信號處理由數(shù)字信號處理系統(tǒng)完成。任何處理數(shù)字信號的物理設(shè)備都可以被視為數(shù)字信號處理系統(tǒng)。狹義的數(shù)字信號處理系統(tǒng)是指輸入數(shù)字信號,經(jīng)過處理后輸出的系統(tǒng),如數(shù)字濾波器。廣義的數(shù)字信號處理系統(tǒng)包括狹義的數(shù)字信號處理系統(tǒng),也可能包括模擬低通濾波器、A/D轉(zhuǎn)換器(模擬/數(shù)字轉(zhuǎn)換器)、D/A轉(zhuǎn)換器(數(shù)字/模擬轉(zhuǎn)換器)等。
上圖是典型的DSP系統(tǒng)模型。并非所有的DSP系統(tǒng)都必須包含模型中的所有元件。例如,語音識別系統(tǒng)在輸出端不是連續(xù)的波形,而是識別結(jié)果。有些輸入信號本身就是數(shù)字信號,所以不需要模數(shù)轉(zhuǎn)換。
工作流程:DSP系統(tǒng)的輸入信號可以有多種形式,如麥克風輸出的語音信號、電話線傳來的調(diào)制數(shù)據(jù)信號、編碼后在數(shù)字鏈路上傳輸或存儲在計算機中的圖像信號等。首先對輸入信號進行限帶濾波和采樣,然后通過A/D(模數(shù))轉(zhuǎn)換將信號轉(zhuǎn)換為數(shù)字比特流。DSP芯片的輸入是經(jīng)過A/D轉(zhuǎn)換得到的采樣數(shù)字信號,DSP芯片對輸入的數(shù)字信號進行某種形式的處理,比如一系列的乘法和累加運算(MAC)。數(shù)字處理是DSP的關(guān)鍵。最后將處理后的數(shù)字樣本通過D/A(數(shù)模)變換轉(zhuǎn)換成模擬樣本,再通過插值和平滑濾波得到連續(xù)的模擬波形。
數(shù)字信號處理:DSP芯片,即數(shù)字信號處理芯片,也稱數(shù)字信號處理器(DSP),是一種特別適合數(shù)字信號處理運算的處理器,主要應用是實時、快速地實現(xiàn)各種數(shù)字信號處理算法。
DSP芯片內(nèi)部采用程序和數(shù)據(jù)分離的哈佛結(jié)構(gòu),具有專用硬件乘法器,采用流水線操作,提供專用DSP指令,可用于快速實現(xiàn)各種數(shù)字信號處理算法。DSP芯片一般有以下幾個主要特點:一個指令周期可以完成一次乘法和一次加法;程序和數(shù)據(jù)空間是分開的,所以你可以同時訪問數(shù)據(jù)空間和程序空間;片內(nèi)有快速RAM,通常兩個芯片可以通過獨立的數(shù)據(jù)總線同時訪問。硬件支持低開銷或零開銷循環(huán)和跳轉(zhuǎn);具有快速中斷處理和硬件I/O支持;具有在單個周期中操作的多個硬件地址生成器;多個操作可以并行執(zhí)行;支持流水線操作,取指令、解碼、執(zhí)行等操作都可以流水線化。
DSP算法
傅立葉變換是數(shù)字信號處理中常用的一種重要算法。它是將信號從時域轉(zhuǎn)換到頻域的一種形式,是聲學、語音、電信和信號處理等領(lǐng)域的重要分析工具。離散傅立葉變換(DFT)是離散系統(tǒng)中連續(xù)傅立葉變換的一種形式,其功能是將數(shù)字信號轉(zhuǎn)換成其各種頻率的正弦波分量。然而,DFT的計算量非常大,因此長期以來其應用受到很大限制??焖俑盗⑷~變換(FFT)是離散傅立葉變換的一種有效運算方法。FFT大大簡化了DFT的運算,運算時間一般可以縮短1 ~ 2個數(shù)量級。FFT的出現(xiàn)提高了DFT的運算速度,從而使DFT得到廣泛應用。
DSP芯片的出現(xiàn)使得FFT的實現(xiàn)更加方便。由于大部分DSP芯片可以在一個指令周期內(nèi)完成乘法和加法運算,并提供專門的FFT指令,因此FFT算法在DSP芯片上實現(xiàn)的速度更快。
DSP實現(xiàn)
大多數(shù)DSP系統(tǒng)需要執(zhí)行密集型操作,這些操作可以在微處理器、微控制器、數(shù)字信號處理器或定制集成電路等數(shù)字硬件上實現(xiàn)?;蛘吒鶕?jù)給定應用對性能、成本和功耗的要求選擇合適的硬件。
專用集成電路(ASIC)設(shè)備通常被設(shè)計用于需要密集計算的特定任務。ASIC器件的架構(gòu)專門針對所需的操作進行了優(yōu)化,因此可以非??焖俚貓?zhí)行所需的功能。但缺乏靈活性,適用于可批量生產(chǎn)的產(chǎn)品或要求高速度、只能用ASIC實現(xiàn)的應用。可共享DSP功能的核心模塊的出現(xiàn)簡化了ASIC設(shè)計,但原型ASIC器件仍存在成本高、設(shè)計周期長、缺乏標準開發(fā)工具支持和重編程靈活性等缺點。
近年來,現(xiàn)場可編程門陣列(FPGA)可用作DSP系統(tǒng)的膠合邏輯、總線橋和外圍設(shè)備,以降低系統(tǒng)成本和提高系統(tǒng)集成度。FPGA還可以與數(shù)字信號處理器結(jié)合,集成預處理或后處理功能。FPGA器件在硬件上是可重構(gòu)的,因此通過優(yōu)化硬件結(jié)構(gòu)可以實現(xiàn)更高性能和更低產(chǎn)品成本的算法。此外,通過使一些器件實現(xiàn)高性能復雜DSP功能,其余器件實現(xiàn)系統(tǒng)邏輯或接口功能,也可以實現(xiàn)低成本和高系統(tǒng)集成度。
通用處理器和微控制器(P/C)的架構(gòu)通常分為兩類:哈佛架構(gòu)和馮諾依曼架構(gòu)。哈佛結(jié)構(gòu)對程序和數(shù)據(jù)有單獨的存儲空間,可以同時訪問兩個存儲區(qū);馮諾依曼結(jié)構(gòu)將程序和數(shù)據(jù)存儲在同一個存儲器中。通用P/C越來越快,可以處理一些DSP的應用。許多電子產(chǎn)品,如汽車控制器,使用微控制器來控制發(fā)動機、剎車和懸架。如果P/C產(chǎn)品需要新的DSP功能,盡量用軟件實現(xiàn),而不是修改硬件。
數(shù)字信號處理器本質(zhì)上是一個微處理器,它包含專門為DSP應用設(shè)計的體系結(jié)構(gòu)和指令集。與ASIC和FPGA解決方案相比,數(shù)字信號處理器在易于開發(fā)和現(xiàn)場重新編程以升級產(chǎn)品功能或修復錯誤方面具有許多優(yōu)勢。它們通常比ASIC和FPGA等定制硬件更具成本效益,尤其是對于小規(guī)模應用。與一般的P/C相比,數(shù)字信號處理器在許多DSP應用中具有更快的速度、更好的能效或功耗以及更低的成本。數(shù)字信號處理器可應用于電機、運動控制、汽車系統(tǒng)、家用設(shè)備、消費電子、醫(yī)療保健設(shè)備、通信和廣播設(shè)備。這些可編程數(shù)字信號處理器由集成組件開發(fā)工具支持,包括C編譯器、匯編優(yōu)化器、鏈接器、調(diào)試器模擬器和仿真器。
主要應用
溝通:數(shù)字信號處理廣泛應用于移動通信、數(shù)字無線電、非對稱數(shù)字用戶線路、IP電話、軟件無線電和衛(wèi)星通信。從第二代通信來說,是基于數(shù)字技術(shù)的數(shù)字通信。數(shù)字信號在通信中用于信源編碼、信道編碼、多路復用和數(shù)據(jù)壓縮。互聯(lián)網(wǎng)中傳輸?shù)氖菙?shù)字信號,可以在傳輸和交換過程中進行數(shù)字壓縮、編碼和存儲。
消費電子產(chǎn)品:數(shù)字信號處理廣泛應用于數(shù)字語音、車載多媒體、MP3/MP4/MP5、數(shù)字掃描儀、數(shù)字電視機頂盒、醫(yī)院監(jiān)控系統(tǒng)、生物指紋系統(tǒng)等領(lǐng)域。
數(shù)碼相機、數(shù)字電視和數(shù)字計算機都是數(shù)字信號處理系統(tǒng)。數(shù)碼相機將外部的模擬圖像轉(zhuǎn)換成數(shù)字圖像,按照一定的數(shù)字壓縮算法進行處理,得到占用存儲空間較少的數(shù)字文檔;數(shù)字電視將模擬視頻轉(zhuǎn)換成數(shù)字視頻,然后進行數(shù)字壓縮編碼,再通過數(shù)字廣播發(fā)送出去,接收機獲得數(shù)字電視信號后進行逆變換;計算機中的文件、表格、圖片、歌曲、視頻等多媒體都是數(shù)字化處理的結(jié)果,可以存儲、傳輸、編輯、轉(zhuǎn)換等。,并可以通過輸出設(shè)備輸出。此外,數(shù)字信號處理需要用于數(shù)字語音中的語音分析、合成、識別、增強和編碼,以及數(shù)字圖像中的圖像增強、恢復、去噪和壓縮。
工業(yè):數(shù)控機床、數(shù)控加工中心、3D打印、用于排版印刷的數(shù)字雕刻機、機器視覺、頻譜分析儀、函數(shù)發(fā)生器、用于地震信號分析的二維碼掃描、物聯(lián)網(wǎng)通信、RFID等等都與數(shù)字信號處理密切相關(guān)。
其他的:雷達使用數(shù)字技術(shù)來探測、定位和成像目標。數(shù)字信號處理技術(shù)也用于聲納處理導航和衛(wèi)星偵察。
特性特點
信號處理可以分為數(shù)字信號處理和模擬信號處理。與模擬信號處理相比,數(shù)字信號處理有許多明顯的優(yōu)勢。其加工方法有以下特點。可編程:當模擬系統(tǒng)的功能和性能發(fā)生變化時,必須重新設(shè)計系統(tǒng),至少需要改變系統(tǒng)中的某些器件或參數(shù),然后重新組裝和調(diào)試。對于以DSP處理器為核心的數(shù)字系統(tǒng),可以只設(shè)計實現(xiàn)一個硬件平臺,然后利用各種軟件完成各種數(shù)字信號處理任務。在改變系統(tǒng)的功能和性能時,只需要改變相應的軟件或軟件中的參數(shù),而不需要改變硬件平臺本身。這使得以可編程DSP處理器為核心的數(shù)字信號處理系統(tǒng)具有很大的靈活性。
穩(wěn)定性好:模擬電路中電阻、電容、電感、運算放大器的特性會隨著環(huán)境和時間的變化而變化。與此相比,數(shù)字系統(tǒng)更穩(wěn)定,即受時間和環(huán)境的影響要小得多。
重復性好:數(shù)字系統(tǒng)本身具有良好的重復性。當兩臺字長相同的計算機在任意不同的時間計算同一個數(shù)學模型時,結(jié)果一定是相同的。但由于生產(chǎn)過程可能會造成仿真系統(tǒng)與標準性能之間的誤差,且時間環(huán)境會導致仿真系統(tǒng)性能的變化,所以同一信號發(fā)送到兩個配置相同的仿真系統(tǒng)時,輸出結(jié)果是不同的。因此,數(shù)字系統(tǒng)的穩(wěn)定性和可重復性與模擬系統(tǒng)相比具有明顯的優(yōu)勢。
抗干擾性能好:信號在處理和傳輸過程中會受到噪聲的干擾。數(shù)字信號的抗干擾性能優(yōu)于模擬信號。當數(shù)字信號受到噪聲干擾時,只要能夠正確識別0和1并重新生成,就可以完全消除噪聲的影響??焖侔l(fā)展的數(shù)字糾錯編碼和解碼技術(shù)能夠在極其復雜的噪聲環(huán)境中正確識別和恢復原始信號,即使信號完全被噪聲淹沒。
自適應算法的實現(xiàn):從信號和系統(tǒng)的角度來看,自適應是使系統(tǒng)的特性隨著輸入信號的變化而變化,從而在一定準則下得到最優(yōu)輸出。就模擬系統(tǒng)而言,只有改變系統(tǒng)的設(shè)計和元件的參數(shù)才能改變系統(tǒng)的特性,因此很難實現(xiàn)實時自適應。對于特定的自適應算法,基于DSP處理器的數(shù)字系統(tǒng)可以按照一定的準則實時改變系統(tǒng)的參數(shù),從而實現(xiàn)實時自適應;對于不同的自適應算法,換合適的軟件就行了。
數(shù)據(jù)壓縮效果好:隨著對信號質(zhì)量要求的提高,信號傳輸?shù)膸捄痛鎯Φ某杀疽苍谠黾?。模擬信號的信息也可以壓縮,但信號質(zhì)量會受到很大影響。但是數(shù)字信號處理中的壓縮算法不斷改進,可以在對原始信號質(zhì)量影響不大的情況下達到很高的壓縮比。