本書以全新的編排方式,由淺入深、循序漸進,并引入MATLAB現(xiàn)代仿真方法,介紹離散時間信號處理的基本內(nèi)容,包括離散時間信號與系統(tǒng)的基本概念;離散時間信號的頻域分析;離散傅里葉變換;數(shù)字濾波器的基本結(jié)構(gòu);IIR與FIR濾波器設(shè)計方法;MATLAB基礎(chǔ);序列及離散系統(tǒng)仿真;傅里葉變換仿真;IIR與FIR濾波器設(shè)計仿真。
離散時間信號處理是指把信號用數(shù)字或符號表示的序列,通過計算機或通用(專用)信號處理設(shè)備,用數(shù)字的數(shù)值計算方法進行處理(如濾波、變換、壓縮、增強、估計、識別等),以達到提取有用信息便于應(yīng)用的目的。
信號是信息的物理表現(xiàn)形式,或者是傳遞信息的函數(shù),而信息則是信號的具體內(nèi)容。同一種信號,如電信號,可以從不同角度進行分類。按照信號的變量進行分類,可將信號分為一維信號、二維信號、多維信號等。其中,若信號是一個變量(如時間)的函數(shù),則稱為一維信號;若信號是兩個變量(如空間坐標 , )的函數(shù),則稱為二維信號;推而廣之,若信號是多個變量的函數(shù),則稱為多維信號。本書僅討論一維信號。
變量的取值方式有連續(xù)與離散兩種,若變量(一般都看成時間)是連續(xù)的,則稱為連續(xù)時間信號;若變量是離散數(shù)值,則稱為離散時間信號。信號幅值的取值方式又分為連續(xù)和離散兩種方式(幅值的離散稱之為量化),因此組合起來應(yīng)該有以下4種情況。(1)連續(xù)時間信號:時間是連續(xù)的,幅值可以是連續(xù)的也可以是離散(量化)的;(2)模擬信號:時間是連續(xù)的,幅值是連續(xù)的;(3)離散時間信號(或稱為序列):時間是離散的,幅值是連續(xù)的;(4)數(shù)字信號:時間是離散的,幅值是量化的。由于幅值是量化的,故數(shù)字信號可用一串數(shù)來表示,而每個數(shù)又可表示為二進制碼的形式。本書僅討論離散時間信號的分析和處理。
系統(tǒng)一般指處理(或變換)信號的物理設(shè)備,或者進一步說,凡是能將信號加以變換以達到人們要求的各種設(shè)備都稱為系統(tǒng)。實際上,因為系統(tǒng)是完成某種運算或操作的,因而我們還可把軟件編程也看成一種系統(tǒng)的實現(xiàn)方法,按所處理的信號種類的不同可將系統(tǒng)分為四類。(1)模擬系統(tǒng):處理模擬信號,系統(tǒng)輸入、輸出均為連續(xù)時間連續(xù)幅度的模擬信號;(2)連續(xù)時間系統(tǒng):處理連續(xù)時間信號,系統(tǒng)輸入、輸出均為連續(xù)時間信號。(3)離散時間系統(tǒng):處理離散時間信號(序列),系統(tǒng)輸入、輸出均為離散時間信號;(4)數(shù)字系統(tǒng):處理數(shù)字信號,系統(tǒng)輸入、輸出均為數(shù)字信號。
離散時間信號處理的實現(xiàn)方法基本上可以分為兩種,即軟件實現(xiàn)方法和硬件實現(xiàn)方法。軟件實現(xiàn)方法是指按照原理和算法編寫計算機程序在通用計算機上實現(xiàn);硬件實現(xiàn)是指按照具體的要求和算法,設(shè)計硬件結(jié)構(gòu)圖,用乘法器、加法器、延遲器、控制器、存儲器以及輸入/輸出接口等基本部件實現(xiàn)的一種方法。兩者比較起來,軟件實現(xiàn)方法更加靈活,只需更改程序中的有關(guān)參數(shù)即可調(diào)整系統(tǒng)的功能,但軟件實現(xiàn)方法的運算速度較慢,一般達不到實時處理要求;而硬件實現(xiàn)方法的運算速度快,可以達到實時處理要求,但是不靈活。采用專用的數(shù)字信號處理芯片(DSP芯片)實現(xiàn)的方法屬于軟硬件結(jié)合的方法。DSP芯片結(jié)合了離散時間信號處理的特點,內(nèi)部配有乘法器和累加器,結(jié)構(gòu)上采用了流水線工作方式以及并行結(jié)構(gòu)、多總線結(jié)構(gòu),且配有適合離散時間信號處理的指令,是一類可實現(xiàn)高速運算的微處理器。使用DSP芯片實現(xiàn)離散時間信號處理已經(jīng)變成工程技術(shù)領(lǐng)域中的主要實現(xiàn)方法。
在實際中,離散時間信號處理通常通過數(shù)字系統(tǒng)來實現(xiàn),因而具有數(shù)字系統(tǒng)的諸多優(yōu)點。例如,離散時間信號處理具有精度高、可靠性強的特點。模擬系統(tǒng)的精度由元器件決定,而模擬元器件的精度很難達到 以上,而數(shù)字系統(tǒng)只要14位字長就可達到 的精度。又因為數(shù)字系統(tǒng)只有兩個信號電平0和1,因而受周圍環(huán)境的溫度及噪聲的影響較小。而模擬系統(tǒng)的各元器件易受到溫度、噪聲、電磁感應(yīng)等的影響。另外,離散時間信號處理還具有靈活性高、容易大規(guī)模集成的特點。數(shù)字系統(tǒng)中乘法器的系數(shù)等是存放在存儲器中的,因而只需要改變存儲的系數(shù)就可得到不同的系統(tǒng),比改變模擬系統(tǒng)方便。而且由于數(shù)字部件具有高度規(guī)范性,便于大規(guī)模集成、大規(guī)模生產(chǎn),而對電路參數(shù)要求不嚴,故產(chǎn)品成品率高。此外,離散時間信號處理還便于實現(xiàn)時分復(fù)用、獲得高性能指標,以及實現(xiàn)二維與多維處理等。
由于離散時間信號處理的突出優(yōu)點,使得它在通信、語音、雷達、地震探測、聲吶、遙感、生物醫(yī)學(xué)、電視、儀器中得到越來越廣泛的應(yīng)用。離散時間信號處理在濾波和變換方面的應(yīng)用包括數(shù)字濾波、卷積、相關(guān)、快速傅里葉變換、希爾伯特變換、自適應(yīng)濾波等;在通信方面的應(yīng)用包括自適應(yīng)差分脈沖調(diào)制、自適應(yīng)均衡、糾錯編碼、信道復(fù)用、移動電話、調(diào)制解調(diào)器、數(shù)據(jù)或數(shù)字信號的加密、擴頻技術(shù)、回波抵消、軟件無線電等;在語音方面的應(yīng)用包括聲碼器、語音壓縮、數(shù)字錄音系統(tǒng)、語音識別、語音合成、語音增強、文本語音變換、神經(jīng)網(wǎng)絡(luò)等;在圖形圖像方面的應(yīng)用包括圖像壓縮、圖像增強、圖像復(fù)原、圖像重建、圖像變換、圖像分割、計算機視覺等;在軍事方面的應(yīng)用包括雷達處理、聲吶處理、導(dǎo)航、射頻調(diào)制解調(diào)器、偵察衛(wèi)星、航空航天測試、自適應(yīng)波束形成、陣列天線信號處理、水聽器陣列信號處理等。
本書內(nèi)容主要分為兩部分,其中,第1章至第6章主要介紹離散時間信號處理的基本概念和相關(guān)理論知識,第7章至第11章主要介紹離散時間信號處理的MATLAB仿真方法。
第1章介紹了離散時間信號與系統(tǒng),包括離散時間信號、線性移不變(LTI)系統(tǒng)、離散時間系統(tǒng)的輸入/輸出關(guān)系、連續(xù)時間信號的采樣等。
第2章介紹了離散時間信號的頻域分析,包括z變換的定義與收斂域、逆z變換、z變換的基本性質(zhì)和定理、離散時間傅里葉變換、離散時間傅里葉變換的性質(zhì)、周期序列的離散傅里葉級數(shù)、離散系統(tǒng)的頻域分析等。
第3章介紹了離散傅里葉變換,包括離散傅里葉變換的定義、離散傅里葉變換的矩陣表示、離散傅里葉變換的性質(zhì)、離散傅里葉變換的應(yīng)用、快速傅里葉變換等。
第4章介紹了數(shù)字濾波器的基本結(jié)構(gòu),包括數(shù)字濾波器的分類及表示方法、IIR濾波器的基本結(jié)構(gòu)、FIR濾波器的基本結(jié)構(gòu)等。
第5章介紹了IIR濾波器設(shè)計方法,包括數(shù)字濾波器的基本概念、模擬濾波器的設(shè)計、沖激響應(yīng)不變法、雙線性變換法、數(shù)字IIR濾波器的譜變換等。
第6章介紹了FIR濾波器設(shè)計方法,包括線性相位、窗函數(shù)設(shè)計法等。
第7章介紹了MATLAB的基礎(chǔ)知識,包括MATLAB概述,MATLAB工作界面,數(shù)值、變量及表達式,數(shù)組和矩陣運算,圖形繪制等。
第8章介紹了序列及離散系統(tǒng)的MATLAB仿真,包括離散時間信號及采樣定理、典型的離散序列、序列的運算、離散時間系統(tǒng)、z變換和逆z變換、離散系統(tǒng)的z域描述等內(nèi)容的MATLAB仿真。
第9章介紹了傅里葉變換的MATLAB仿真,包括離散時間傅里葉變換、周期序列的離散傅里葉級數(shù)、離散傅里葉變換、快速傅里葉變換等內(nèi)容的MATLAB仿真。
第10章介紹了IIR濾波器設(shè)計的MATLAB仿真,包括模擬濾波器的設(shè)計、IIR數(shù)字濾波器的設(shè)計、IIR數(shù)字濾波器的應(yīng)用等內(nèi)容的MATLAB仿真。
第11章介紹了FIR濾波器設(shè)計的MATLAB仿真,包括FIR濾波器的窗函數(shù)設(shè)計、FIR濾波器的應(yīng)用等內(nèi)容的MATLAB仿真。
本書由江西師范大學(xué)的王芳、陳勇,以及西北工業(yè)大學(xué)的何成兵等合作編寫完成,本書的編寫得到了國家自然科學(xué)基金(61601209),江西省自然科學(xué)基金(20171BAB202003),以及江西省教育廳科學(xué)技術(shù)研究項目(GJJ160338)等的支持。限于編者水平,難免有錯誤或不完善之處,懇請廣大讀者予以批評指正。
編著者
王芳,2008年至今,江西師范大學(xué)物理與通信電子學(xué)院,從事信號處理方面的課程教學(xué)與研究,獲江西師范大學(xué)教學(xué)成果獎二等獎;承擔國家自然科學(xué)基金項目1項,江西省自然科學(xué)基金項目1項,江西省教育廳科技項目1項。
第1章 離散時間信號與系統(tǒng)1
1.1 離散時間信號1
1.1.1 典型序列2
1.1.2 序列的運算及應(yīng)用6
1.2 線性移不變系統(tǒng)8
1.2.1 離散時間系統(tǒng)舉例8
1.2.2 離散時間系統(tǒng)分類9
1.3 離散時間系統(tǒng)的輸入/輸出關(guān)系13
1.3.1 常系數(shù)線性差分方程13
1.3.2 線性卷積15
1.4 連續(xù)時間信號的采樣18
1.4.1 時域采樣定理18
1.4.2 時域信號的恢復(fù)21
習(xí)題123
第2章 離散時間信號的頻域分析26
2.1 z變換的定義與收斂域26
2.2 逆z變換28
2.3 z變換的基本性質(zhì)和定理33
2.4 離散時間傅里葉變換42
2.5 離散時間傅里葉變換的性質(zhì)44
2.6 周期序列的離散傅里葉級數(shù)50
2.7 離散系統(tǒng)的頻域分析54
2.7.1 系統(tǒng)函數(shù)54
2.7.2 系統(tǒng)的因果性與穩(wěn)定性55
2.7.3 頻率響應(yīng)56
2.7.4 零極點與頻率響應(yīng)的關(guān)系57
習(xí)題264
第3章 離散傅里葉變換67
3.1 離散傅里葉變換的定義67
3.1.1 離散傅里葉變換的定義67
3.1.2 DFT變換與DTFT變換及z變換的聯(lián)系72
3.2 離散傅里葉變換的矩陣表示73
3.2.1 正交序列與正交空間73
3.2.2 DFT變換的矩陣形式解釋76
3.3 離散傅里葉變換的性質(zhì)78
3.4 離散傅里葉變換的應(yīng)用85
3.4.1 線性卷積的計算85
3.4.2 信號譜分析88
3.5 快速傅里葉變換94
習(xí)題399
第4章 數(shù)字濾波器的基本結(jié)構(gòu)101
4.1 數(shù)字濾波器的分類及表示方法101
4.2 IIR濾波器的基本結(jié)構(gòu)104
4.2.1 直接I型104
4.2.2 直接II型105
4.2.3 級聯(lián)型105
4.2.4 并聯(lián)型106
4.3 FIR濾波器的基本結(jié)構(gòu)110
4.3.1 直接型110
4.3.2 級聯(lián)型110
4.3.3 頻率采樣型111
4.3.4 線性相位型113
習(xí)題4119
第5章 IIR濾波器設(shè)計方法121
5.1 數(shù)字濾波器的基本概念121
5.2 模擬濾波器的設(shè)計122
5.2.1 巴特沃斯模擬濾波器設(shè)計原理122
5.2.2 切比雪夫模擬濾波器設(shè)計原理125
5.3 沖激響應(yīng)不變法126
5.4 雙線性變換法131
5.5 IIR數(shù)字濾波器的譜變換135
習(xí)題5138
第6章 FIR濾波器設(shè)計方法140
6.1 線性相位140
6.1.1 線性相位的基本概念140
6.1.2 線性相位的實現(xiàn)條件143
6.2 窗函數(shù)設(shè)計法146
習(xí)題6152
第7章 MATLAB基礎(chǔ)154
7.1 MATLAB概述154
7.1.1 MATLAB發(fā)展史154
7.1.2 MATLAB主要功能154
7.2 MATLAB工作界面155
7.2.1 命令行窗口155
7.2.2 MATLAB幫助系統(tǒng)156
7.2.3 圖形窗口157
7.2.4 M文件編輯窗口158
7.2.5 當前目錄窗口159
7.2.6 MATLAB搜索路徑160
7.2.7 工作區(qū)窗口160
7.3 數(shù)值、變量與表達式162
7.3.1 數(shù)值162
7.3.2 變量163
7.3.3 表達式164
7.4 數(shù)組和矩陣運算165
7.4.1 數(shù)組的創(chuàng)建與尋訪165
7.4.2 數(shù)組運算169
7.4.3 矩陣的創(chuàng)建、尋訪及運算173
7.5 圖形繪制178
7.5.1 繪制二維圖形178
7.5.2 繪制三維圖形189
習(xí)題7194
第8章 序列及離散系統(tǒng)的MATLAB仿真195
8.1 離散時間信號及采樣定理的MATLAB仿真195
8.1.1 離散時間信號195
8.1.2 采樣定理196
8.2 典型離散序列的MATLAB仿真197
8.2.1 單位脈沖序列197
8.2.2 單位階躍序列198
8.2.3 斜坡序列199
8.2.4 正弦和余弦序列200
8.2.5 指數(shù)序列201
8.2.6 周期序列203
8.3 序列運算的MATLAB仿真204
8.3.1 序列的加法和乘法204
8.3.2 序列的尺度變換207
8.3.3 序列的翻轉(zhuǎn)及移位208
8.3.4 序列的奇偶性209
8.3.5 序列的卷積和211
8.4 離散時間系統(tǒng)的MATLAB仿真212
8.4.1 離散時間系統(tǒng)的零狀態(tài)響應(yīng)212
8.4.2 離散時間系統(tǒng)的單位脈沖響應(yīng)213
8.4.3 離散時間系統(tǒng)的單位階躍響應(yīng)214
8.5 z變換及逆z變換的MATLAB仿真215
8.5.1 z變換215
8.5.2 逆z變換216
8.6 離散系統(tǒng)z域描述的MATLAB仿真217
8.6.1 離散系統(tǒng)的頻域分析217
8.6.2 離散系統(tǒng)的零極點與幅頻響應(yīng)分析219
8.6.3 離散系統(tǒng)的全響應(yīng)222
習(xí)題8225
第9章 傅里葉變換的MATLAB仿真226
9.1 離散時間傅里葉變換的MATLAB仿真226
9.2 周期序列的離散傅里葉級數(shù)的MATLAB仿真227
9.3 離散傅里葉變換的MATLAB仿真228
9.3.1 離散傅里葉變換的定義及其物理意義228
9.3.2 DFT的應(yīng)用231
9.4 快速傅里葉變換的MATLAB仿真238
習(xí)題9244
第10章 IIR濾波器設(shè)計的MATLAB仿真246
10.1 模擬濾波器的設(shè)計的MATLAB仿真246
10.1.1 巴特沃斯濾波器的設(shè)計246
10.1.2 切比雪夫I型濾波器的設(shè)計251
10.1.3 切比雪夫II型濾波器的設(shè)計256
10.1.4 橢圓濾波器的設(shè)計257
10.2 數(shù)字濾波器設(shè)計的MATLAB仿真259
10.2.1 沖激響應(yīng)不變法259
10.2.2 雙線性變換法260
10.3 IIR數(shù)字濾波器應(yīng)用的MATLAB仿真263
習(xí)題10268
第11章 FIR濾波器設(shè)計的MATLAB仿真270
11.1 窗函數(shù)法設(shè)計的MATLAB仿真270
11.1.1 典型窗函數(shù)270
11.1.2 窗函數(shù)的應(yīng)用277
11.2 FIR濾波器應(yīng)用的MATLAB仿真282
習(xí)題11287
參考文獻289