內容簡介
本書以Altera公司的FPGA器件為開發平台,採用MATLAB及Verilog HDL語言為開發工具,詳細闡述數字調製解調技術的FPGA實現原理、結構、方法和仿真測試過程,並通過大量工程實例分析FPGA實現過程中的具體技術細節。主要包括FPGA實現數位訊號處理基礎、ASK調製解調、PSK調製解調、FSK調製解調、QAM調製解調,以及擴頻通信的設計與實現等內容。本書思路清晰、語言流暢、分析透徹,在簡明闡述設計原理的基礎上,追求對工程實踐的指導性,力求使讀者在較短的時間內掌握數字調製解調技術的FPGA設計知識和技能。本書的配套光碟收錄了完整的MATLAB及Verilog HDL實例工程代碼,有利於工程技術人員參考學習。
目錄
第1章 數字通信及FPGA概述 1
1.1 數字通信系統概述 2
1.1.1 數字通信的一般處理流程 2
1.1.2 本書討論的通信系統模型 4
1.1.3 數字通信的特點及優勢 5
1.1.4 數字通信的發展概述 8
1.2 數字通信中的幾個基本概念 10
1.2.1 與頻譜相關的概念 10
1.2.2 頻寬是如何定義的 13
1.2.3 採樣與頻譜搬移 16
1.2.4 噪聲與信噪比 19
1.3 FPGA的基礎知識 21
1.3.1 從電晶體到FPGA 21
1.3.2 FPGA的發展趨勢 25
1.3.3 FPGA的組成結構 26
1.3.4 FPGA的工作原理 31
1.4 FPGA與其他處理平台的比較 33
1.4.1 ASIC、DSP及ARM的特點 33
1.4.2 FPGA的特點及優勢 34
1.5 Altera器件簡介 35
1.6 小結 37
參考文獻 37
第2章 設計語言及環境介紹 39
2.1 HDL語言簡介 40
2.1.1 HDL語言的特點及優勢 40
2.1.2 選擇VHDL還是Verilog 41
2.2 Verilog HDL語言基礎 42
2.2.1 Verilog HDL語言特點 42
2.2.2 Verilog HDL程式結構 44
2.3 FPGA開發工具及設計流程 45
2.3.1 Quartus II開發套件 45
2.3.2 ModelSim仿真軟體 49
2.3.3 FPGA設計流程 50
2.4 MATLAB軟體 53
2.4.1 MATLAB軟體簡介 53
2.4.2 常用的信號處理函式 55
2.5 MATLAB與Quartus的數據交換 62
2.6 小結 63
參考文獻 63
第3章 FPGA實現數位訊號處理基礎 65
3.1 FPGA中數的表示 66
3.1.1 萊布尼茲與二進制 66
3.1.2 定點數表示 67
3.1.3 浮點數表示 68
3.2 FPGA中數的運算 71
3.2.1 加/減法運算 71
3.2.2 乘法運算 74
3.2.3 除法運算 75
3.2.4 有效數據位的計算 75
3.3 有限字長效應 78
3.3.1 字長效應的產生因素 78
3.3.2 A/D轉換的字長效應 79
3.3.3 系統運算中的字長效應 80
3.4 FPGA中的常用處理模組 82
3.4.1 加法器模組 82
3.4.2 乘法器模組 84
3.4.3 除法器模組 87
3.4.4 浮點運算模組 88
3.5 小結 89
參考文獻 90
第4章 濾波器的MATLAB與FPGA實現 91
4.1 濾波器概述 92
4.1.1 濾波器的分類 92
4.1.2 濾波器的特徵參數 94
4.2 FIR與IIR濾波器的原理 94
4.2.1 FIR濾波器原理 94
4.2.2 IIR濾波器原理 96
4.2.3 IIR與FIR濾波器的比較 96
4.3 FIR濾波器的MATLAB設計 97
4.3.1 採用fir1函式設計 97
4.3.2 採用kaiserord函式設計 100
4.3.3 採用fir2函式設計 100
4.3.4 採用firpm函式設計 102
4.4 IIR濾波器的MATLAB設計 104
4.4.1 採用butter函式設計 104
4.4.2 採用cheby1函式設計 105
4.4.3 採用cheby2函式設計 106
4.4.4 採用ellip函式設計 106
4.4.5 採用yulewalk函式設計 107
4.4.6 幾種設計函式的比較 107
4.5 FIR濾波器的FPGA實現 109
4.5.1 FIR濾波器的實現結構 109
4.5.2 採用IP核實現FIR濾波器 113
4.5.3 MATLAB仿真測試數據 118
4.5.4 測試激勵的Verilog HDL設計 120
4.5.5 FPGA實現後的仿真測試 123
4.6 IIR濾波器的FPGA實現 125
4.6.1 IIR濾波器的結構形式 125
4.6.2 量化級聯型結構的係數 127
4.6.3 級聯型結構的FPGA實現 130
4.6.4 FPGA實現後的測試仿真 134
4.7 小結 135
參考文獻 135
第5章 ASK調製解調技術的實現 137
5.1 ASK信號的調製解調原理 138
5.1.1 二進制振幅調製信號的產生 138
5.1.2 二進制振幅調製信號的解調 139
5.1.3 二進制振幅調製系統的性能 141
5.1.4 多進制振幅調製 142
5.2 ASK調製信號的MATLAB仿真 142
5.3 ASK調製信號的FPGA實現 145
5.3.1 FPGA實現模型及參數說明 145
5.3.2 ASK調製信號的Verilog HDL設計 147
5.3.3 FPGA實現後的仿真測試 149
5.4 ASK解調技術的MATLAB仿真 150
5.5 ASK解調技術的FPGA實現 152
5.5.1 FPGA實現模型及參數說明 152
5.5.2 ASK信號解調的Verilog HDL設計 153
5.5.3 FPGA實現後的仿真測試 154
5.6 符號判決門限的FPGA實現 156
5.6.1 確定ASK解調後的判決門限 156
5.6.2 判決門限模組的Verilog HDL設計 157
5.6.3 FPGA實現後的仿真測試 158
5.7 鎖相環位同步技術的FPGA實現 159
5.7.1 位同步技術的工作原理 159
5.7.2 位同步頂層模組的Verilog HDL設計 162
5.7.3 雙相時鐘信號的Verilog HDL實現 164
5.7.4 微分鑒相模組的Verilog HDL實現 166
5.7.5 單穩觸發器的Verilog HDL實現 168
5.7.6 控制及分頻模組的Verilog HDL實現 169
5.7.7 FPGA實現及仿真測試 171
5.8 ASK解調系統的FPGA實現及仿真 173
5.8.1 完整解調系統的Verilog HDL設計 173
5.8.2 完整系統的仿真測試 175
5.9 小結 177
參考文獻 177
第6章 FSK調製解調技術的實現 179
6.1 FSK信號的調製解調原理 180
6.1.1 FSK信號的時域表示 180
6.1.2 相關係數與頻譜特性 181
6.1.3 非相干解調原理 183
6.1.4 相干解調原理 184
6.1.5 解調方法的套用條件分析 186
6.2 FSK調製解調的MATLAB仿真 186
6.2.1 不同調製度的FSK信號仿真 186
6.2.2 非相干解調FSK仿真 188
6.2.3 相干解調FSK仿真 193
6.3 FSK調製信號的FPGA實現 196
6.3.1 FSK信號的產生方法 196
6.3.2 FSK調製信號的Verilog HDL設計 197
6.3.3 FPGA實現後的仿真測試 198
6.4 FSK解調的FPGA實現 199
6.4.1 解調模型及參數設計 199
6.4.2 解調FSK信號的Verilog HDL設計 200
6.4.3 FPGA實現後的仿真測試 206
6.5 MSK信號產生原理 208
6.5.1 MSK信號時域特徵 208
6.5.2 MSK信號頻譜特性 209
6.5.3 MSK信號的產生方法 210
6.6 MSK調製信號的FPGA實現 212
6.6.1 實例參數及模型設計 212
6.6.2 MSK調製信號的Verilog HDL設計及仿真 213
6.7 MSK解調原理 214
6.7.1 延遲差分解調 214
6.7.2 平方環相干解調 216
6.8 MSK解調的MATLAB仿真 217
6.8.1 仿真模型及參數說明 217
6.8.2 平方環解調MSK的MATLAB仿真 217
6.9 平方環的FPGA實現 220
6.9.1 鎖相環的工作原理 220
6.9.2 平方環的工作原理 223
6.9.3 平方環路性能參數設計 224
6.9.4 平方環的Verilog HDL設計 227
6.9.5 FPGA實現後的仿真測試 231
6.10 MSK解調的FPGA實現 232
6.10.1 MSK解調環路參數設計 232
6.10.2 頂層模組的Verilog HDL設計 234
6.10.3 脈衝成形及解調模組的Verilog HDL設計 239
6.10.4 FPGA實現後的仿真測試 242
6.11 小結 243
參考文獻 244
第7章 PSK調製解調技術的實現 245
7.1 DPSK信號的調製解調原理 246
7.1.1 DPSK信號的調製原理 246
7.1.2 Costas環解調DPSK信號 247
7.1.3 DPSK調製解調的MATLAB仿真 249
7.2 DPSK解調的FPGA實現 252
7.2.1 環路性能參數設計 252
7.2.2 Costas環的Verilog HDL設計 254
7.2.3 FPGA實現後的仿真測試 258
7.3 DQPSK信號的調製解調原理 258
7.3.1 QPSK信號的調製原理 258
7.3.2 雙比特碼元差分編解碼原理 260
7.3.3 DQPSK信號解調原理 261
7.3.4 DQPSK調製解調的MATLAB仿真 264
7.4 DQPSK調製信號的FPGA實現 268
7.4.1 差分編/解碼的Verilog HDL設計 268
7.4.2 DQPSK調製信號的Verilog HDL設計 271
7.5 DQPSK解調的FPGA實現 277
7.5.1 極性Costas環的Verilog HDL設計 277
7.5.2 FPGA實現後的仿真測試 282
7.5.3 調整跟蹤策略獲取良好的跟蹤性能 283
7.5.4 完整的DQPSK解調系統設計 285
7.5.5 DQPSK解調系統的仿真測試 289
7.6 /4 QPSK調製解調原理 289
7.6.1 /4 QPSK信號的調製原理 289
7.6.2 匹配濾波器與成形濾波器 291
7.6.3 /4 QPSK信號的差分解調原理 297
7.6.4 /4 QPSK調製解調的MATLAB仿真 297
7.7 /4 QPSK調製解調的FPGA實現 301
7.7.1 基帶編碼的Verilog HDL設計 301
7.7.2 差分解調的Verilog HDL設計 305
7.7.3 FPGA實現後的仿真測試 311
7.8 小結 312
參考文獻 312
第8章 QAM調製解調技術的FPGA實現 315
8.1 QAM信號的調製解調原理 316
8.1.1 QAM調製解調系統組成 316
8.1.2 差分編碼與星座映射 317
8.1.3 QAM調製解調的MATLAB仿真 319
8.2 QAM編/解碼的FPGA實現 323
8.2.1 編碼映射的Verilog HDL設計 323
8.2.2 解碼模組的Verilog HDL設計 326
8.2.3 FPGA實現後的仿真測試 328
8.3 QAM載波同步的FPGA實現 328
8.3.1 QAM載波同步原理 329
8.3.2 極性判決法載波同步的FPGA實現 332
8.3.3 DD算法載波同步的FPGA實現 336
8.4 插值算法位同步技術原理 344
8.4.1 位同步技術分類及組成 344
8.4.2 內插濾波器原理及結構 346
8.4.3 Gardner誤差檢測算法 348
8.4.4 環路濾波器與數控振盪器 349
8.5 插值算法位同步技術的MATLAB仿真 350
8.5.1 設計環路濾波器係數 351
8.5.2 分析位定時算法MATLAB仿真程式 351
8.5.3 完整的QAM位定時算法仿真 356
8.6 插值算法位同步技術的FPGA實現 358
8.6.1 頂層模組的Verilog HDL設計 358
8.6.2 插值濾波模組的Verilog HDL設計 361
8.6.3 誤差檢測及環路濾波器模組的Verilog HDL設計 363
8.6.4 數控振盪器模組的Verilog HDL設計 366
8.6.5 FPGA實現後的仿真測試 367
8.7 小結 371
參考文獻 372
第9章 擴頻調製解調技術的FPGA實現 375
9.1 擴頻通信的基本原理 376
9.1.1 擴頻通信的概念 376
9.1.2 擴頻通信的種類 377
9.1.3 直擴系統工作原理 380
9.2 直擴調製信號MATLAB仿真 381
9.2.1 偽碼序列的產生原理 381
9.2.2 MATLAB仿真直擴調製信號 382
9.3 直擴信號調製的FPGA實現 386
9.3.1 偽碼模組的Verilog HDL設計 386
9.3.2 擴頻調製模組的Verilog HDL設計 388
9.4 偽碼同步的一般原理 391
9.4.1 滑動相關捕獲原理 392
9.4.2 延遲鎖相環跟蹤原理 393
9.5 偽碼同步算法設計及仿真 394
9.5.1 同步算法設計 394
9.5.2 捕獲及跟蹤門限的MATLAB仿真 396
9.6 偽碼同步的FPGA實現 398
9.6.1 頂層模組的Verilog HDL設計 398
9.6.2 偽碼產生模組的Verilog HDL設計 401
9.6.3 相關積分模組的Verilog HDL設計 404
9.6.4 偽碼相位調整模組的Verilog HDL設計 405
9.6.5 FPGA實現後的仿真測試 407
9.7 直擴解調系統的FPGA實現 409
9.7.1 Costas載波環的Verilog HDL設計 409
9.7.2 FPGA實現後的仿真測試 415
9.8 小結 416
參考文獻 417