數字調制解調技術的 MATLAB 與 FPGA 實現 — Altera/Verilog 版, 2/e

數字調制解調技術的 MATLAB 與 FPGA 實現 — Altera/Verilog 版, 2/e

作者: 杜勇
出版社: 電子工業
出版在: 2020-03-01
ISBN-13: 9787121386435
ISBN-10: 7121386437
總頁數: 424 頁





內容描述


本書以Altera公司的FPGA為開發平臺,以MATLAB及Verilog HDL為開發工具,詳細闡述數字調制解調技術的FPGA實現原理、結構、方法和模擬測試過程,並通過大量工程實例分析FPGA實現過程中的具體技術細節。主要內容包括FPGA實現數字信號處理基礎、ASK調制解調、PSK調制解調、FSK調制解調、QAM調制解調以及擴頻通信等。本書思路清晰、語言流暢、分析透徹,在簡明闡述設計原理的基礎上,追求對工程實踐的指導性,力求使讀者在較短的時間內掌握數字調制解調技術的FPGA設計的知識和技能。作者精心設計了與本書配套的FPGA開發板,詳細講解了工程實例的板載測試步驟及方法,形成了從理論到實踐的完整學習過程,可以有效加深讀者對調制解調技術的理解。本書的配套資料收錄了完整的MATLAB及Verilog HDL代碼,讀者可登錄華信教育資源網(www.hxedu.com.cn)免費註冊後下載。


目錄大綱


第1章 數位通信及FPGA概述 (1)
1.1 數位通信系統概述 (1)
1.1.1 數位通信的一般處理流程 (1)
1.1.2 本書討論的通信系統模型 (3)
1.1.3 數位通信的特點及優勢 (4)
1.1.4 數位通信的發展概述 (6)
1.2 數位通信中的幾個基本概念 (7)
1.2.1 與頻譜相關的概念 (7)
1.2.2 頻寬的定義 (10)
1.2.3 採樣與頻譜搬移 (13)
1.2.4 雜訊與信噪比 (17)
1.3 FPGA的基礎知識 (18)
1.3.1 從電晶體到FPGA (18)
1.3.2 FPGA的發展趨勢 (21)
1.3.3 FPGA的組成結構 (22)
1.3.4 FPGA的工作原理 (27)
1.4 FPGA與其他處理平臺的比較 (29)
1.4.1 ASIC、DSP及ARM的特點 (29)
1.4.2 FPGA的特點及優勢 (30)
1.5 Altera公司FPGA簡介 (31)
1.6 FPGA開發板CRD500 (33)
1.6.1 CRD500簡介 (33)
1.6.2 CRD500典型應用 (35)
1.7 小結 (36)
參考文獻 (36)

第2章 設計語言及環境介紹 (38)
2.1 HDL簡介 (38)
2.1.1 HDL的特點及優勢 (38)
2.1.2 選擇VHDL還是Verilog HDL (39)
2.2 Verilog HDL基礎 (40)
2.2.1 Verilog HDL的特點 (40)
2.2.2 Verilog HDL程式結構 (41)
2.3 FPGA開發工具及設計流程 (43)
2.3.1 Quartus II開發軟體 (43)
2.3.2 ModelSim模擬軟體 (46)
2.3.3 FPGA設計流程 (48)
2.4 MATLAB軟體 (50)
2.4.1 MATLAB簡介、工作介面和優勢 (50)
2.4.2 MATLAB中常用的信號處理函數 (53)
2.5 MATLAB與Quartus II的資料交換 (60)
2.6 小結 (60)
參考文獻 (61)

第3章 FPGA實現數位信號處理基礎 (62)
3.1 FPGA中數的表示 (62)
3.1.1 萊布尼茲與二進位 (62)
3.1.2 定點數表示 (63)
3.1.3 浮點數表示 (64)
3.2 FPGA中數的運算 (67)
3.2.1 加、減法運算 (67)
3.2.2 乘法運算 (70)
3.2.3 除法運算 (71)
3.2.4 有效資料位元的計算 (71)
3.3 有限字長效應 (74)
3.3.1 有限字長效應的產生原因 (74)
3.3.2 A/D轉換的有限字長效應 (75)
3.3.3 系統運算中的有限字長效應 (76)
3.4 FPGA中的常用處理模組 (78)
3.4.1 加法器模組 (78)
3.4.2 乘法器模組 (80)
3.4.3 除法器模組 (82)
3.4.4 浮點數運算模組 (83)
3.5 小結 (84)
參考文獻 (85)

第4章 濾波器的MATLAB與FPGA實現 (86)
4.1 濾波器概述 (86)
4.1.1 濾波器的分類 (86)
4.1.2 濾波器的特徵參數 (88)
4.2 FIR濾波器與IIR濾波器的原理 (89)
4.2.1 FIR濾波器原理 (89)
4.2.2 IIR濾波器原理 (90)
4.2.3 IIR濾波器與FIR濾波器的比較 (90)
4.3 FIR濾波器的MATLAB設計 (91)
4.3.1 利用fir1函數設計FIR濾波器 (91)
4.3.2 利用kaiserord函數設計FIR濾波器 (94)
4.3.3 利用fir2函數設計FIR濾波器 (94)
4.3.4 利用firpm函數設計FIR濾波器 (96)
4.4 IIR濾波器的MATLAB設計 (98)
4.4.1 利用butter函數設計IIR濾波器 (98)
4.4.2 利用cheby1函數設計IIR濾波器 (99)
4.4.3 利用cheby2函數設計IIR濾波器 (100)
4.4.4 利用ellip函數設計IIR濾波器 (100)
4.4.5 利用yulewalk函數設計IIR濾波器 (101)
4.4.6 幾種濾波器設計函數的比較 (101)
4.5 FIR濾波器的FPGA實現 (103)
4.5.1 FIR濾波器的實現結構 (103)
4.5.2 採用IP核實現FIR濾波器 (107)
4.5.3 MATLAB模擬測試資料 (112)
4.5.4 模擬測試Verilog HDL的設計 (114)
4.5.5 FPGA實現後的模擬測試 (116)
4.6 IIR濾波器的FPGA實現 (118)
4.6.1 IIR濾波器的結構形式 (118)
4.6.2 級聯型結構IIR濾波器的係數量化 (120)
4.6.3 級聯型結構IIR濾波器的FPGA實現 (124)
4.6.4 FPGA實現後的模擬測試 (127)
4.7 IIR濾波器的板載測試 (128)
4.7.1 硬體介面電路 (128)
4.7.2 板載測試程式 (129)
4.7.3 板載測試驗證 (131)
4.8 小結 (132)
參考文獻 (132)

第5章 ASK調製解調技術的FPGA實現 (134)
5.1 ASK調製解調原理 (134)
5.1.1 ASK信號的產生 (134)
5.1.2 ASK信號的解調 (136)
5.1.3 ASK解調的性能 (137)
5.1.4 多進制振幅調製 (138)
5.2 ASK信號的MATLAB模擬 (138)
5.3 ASK信號的FPGA實現 (141)
5.3.1 FPGA實現模型及參數說明 (141)
5.3.2 ASK信號的Verilog HDL設計 (143)
5.3.3 FPGA實現ASK信號後的模擬測試 (144)
5.4 非相干解調法的MATLAB模擬 (146)
5.5 非相干解調法的FPGA實現 (148)
5.5.1 非相干解調法的FPGA實現模型及參數說明 (148)
5.5.2 非相干解調法的Verilog HDL設計 (148)
5.5.3 FPGA實現非相干解調法後的模擬測試 (150)
5.6 符號判決門限的FPGA實現 (151)
5.6.1 確定ASK解調信號的判決門限 (152)
5.6.2 判決門限模組的Verilog HDL實現 (152)
5.6.3 FPGA實現判決門限模組後的模擬測試 (154)
5.7 位同步技術的FPGA實現 (154)
5.7.1 位同步技術的工作原理 (154)
5.7.2 位元同步模組的Verilog HDL實現 (157)
5.7.3 雙相時鐘信號的Verilog HDL實現 (159)
5.7.4 微分鑒相模組的Verilog HDL實現 (160)
5.7.5 單穩態觸發器的Verilog HDL實現 (162)
5.7.6 控制分頻模組的Verilog HDL實現 (164)
5.7.7 FPGA實現及模擬測試 (165)
5.8 ASK信號解調系統的FPGA實現及模擬 (166)
5.8.1 解調系統的Verilog HDL實現 (166)
5.8.2 完整系統的模擬測試 (168)
5.9 ASK調製解調系統的板載測試 (171)
5.9.1 硬體介面電路 (171)
5.9.2 板載測試程式 (171)
5.9.3 板載測試驗證 (174)
5.10 小結 (175)
參考文獻 (176)

第6章 FSK調製解調技術的FPGA實現 (177)
6.1 FSK調製解調原理 (177)
6.1.1 2FSK信號的時域表示 (177)
6.1.2 相關係數與頻譜特性 (178)
6.1.3 非相干解調法的原理 (180)
6.1.4 相干解調法原理 (182)
6.1.5 解調方法的應用條件分析 (183)
6.2 2FSK信號的MATLAB模擬 (184)
6.2.1 不同調製指數的2FSK信號模擬 (184)
6.2.2 2FSK信號非相干解調的模擬 (185)
6.2.3 2FSK信號相干解調的模擬 (191)
6.3 FSK信號的FPGA實現 (194)
6.3.1 FSK信號的產生方法 (194)
6.3.2 2FSK信號的Verilog HDL實現 (195)
6.3.3 FPGA實現後的模擬測試 (196)
6.4 2FSK信號解調的FPGA實現 (197)
6.4.1 解調模型及參數設計 (197)
6.4.2 2FSK信號解調系統的Verilog HDL實現 (198)
6.4.3 FPGA實現後的模擬測試 (203)
6.5 MSK信號的產生原理 (205)
6.5.1 MSK信號的時域特徵 (205)
6.5.2 MSK信號的頻譜特性 (206)
6.5.3 MSK信號的產生方法 (207)
6.6 MSK信號的FPGA實現 (209)
6.6.1 實例參數及模型設計 (209)
6.6.2 MSK信號的Verilog HDL實現及模擬 (210)
6.7 MSK信號的解調原理 (211)
6.7.1 延遲差分解調法 (211)
6.7.2 平方環相干解調法 (212)
6.8 MSK信號解調的MATLAB模擬 (214)
6.8.1 模擬模型及參數說明 (214)
6.8.2 MSK信號的平方環相干解調的MATLAB模擬 (214)
6.9 平方環的FPGA實現 (217)
6.9.1 鎖相環的工作原理 (217)
6.9.2 平方環的工作原理 (220)
6.9.3 平方環性能參數設計 (221)
6.9.4 平方環的Verilog HDL設計 (223)
6.9.5 FPGA實現後的模擬測試 (227)
6.10 MSK信號解調的FPGA實現 (228)
6.10.1 MSK信號解調環路參數設計 (228)
6.10.2 頂層模組的Verilog HDL設計 (230)
6.10.3 脈衝成形及解調模組的Verilog HDL設計 (234)
6.10.4 MSK信號解調環路FPGA實現後的模擬測試 (236)
6.11 2FSK調製解調的板載測試 (237)
6.11.1 硬體介面電路 (237)
6.11.2 板載測試程式 (238)
6.11.3 板載測試驗證 (239)
6.12 小結 (240)
參考文獻 (241)

第7章 PSK調製解調技術的FPGA實現 (243)
7.1 DPSK調製解調原理 (243)
7.1.1 DPSK信號的調製原理 (243)
7.1.2 採用Costas環解調DPSK信號 (245)
7.1.3 DPSK調製解調的MATLAB模擬 (246)
7.2 DPSK信號解調的FPGA實現 (249)
7.2.1 Costas環的參數設計 (249)
7.2.2 Costas環的Verilog HDL設計 (251)
7.2.3 FPGA實現後的模擬測試 (254)
7.3 DQPSK調製解調原理 (254)
7.3.1 QPSK調製原理 (254)
7.3.2 雙比特碼元的差分編/解碼原理 (256)
7.3.3 DQPSK信號的解調原理 (257)
7.3.4 DQPSK調製解調的MATLAB模擬 (260)
7.4 DQPSK信號的FPGA實現 (264)
7.4.1 差分編/解碼的Verilog HDL設計 (264)
7.4.2 DQPSK信號的Verilog HDL設計 (267)
7.5 DQPSK信號解調的FPGA實現 (272)
7.5.1 極性Costas環的Verilog HDL設計 (272)
7.5.2 FPGA實現後的模擬測試 (276)
7.5.3 跟蹤策略和解調性能 (277)
7.5.4 DQPSK信號解調系統的設計 (279)
7.5.5 DQPSK信號解調系統的模擬測試 (282)
7.6 ?/4 QPSK調製解調原理 (283)
7.6.1 ?/4 QPSK調製原理 (283)
7.6.2 匹配濾波器與成形濾波器 (285)
7.6.3 ?/4 QPSK信號的差分解調原理 (290)
7.6.4 ?/4 QPSK調製解調的MATLAB模擬 (291)
7.7 ?/4 QPSK調製解調的FPGA實現 (295)
7.7.1 基帶編碼的Verilog HDL設計 (295)
7.7.2 差分解調的Verilog HDL設計 (299)
7.7.3 FPGA實現後的模擬測試 (304)
7.8 DQPSK調製解調系統的板載測試 (305)
7.8.1 硬體介面電路 (305)
7.8.2 板載測試程式 (305)
7.8.3 板載測試驗證 (307)
7.9 小結 (308)
參考文獻 (309)

第8章 QAM調製解調技術的FPGA實現 (310)
8.1 QAM調製解調的原理 (310)
8.1.1 QAM調製解調系統的組成 (310)
8.1.2 差分編碼與星座映射 (311)
8.1.3 16QAM調製解調的MATLAB模擬 (313)
8.2 16QAM信號編/解碼的FPGA實現 (317)
8.2.1 16QAM信號編碼的Verilog HDL設計 (317)
8.2.2 16QAM信號解碼的Verilog HDL設計 (321)
8.2.3 FPGA實現16QAM信號編/解碼的模擬測試 (322)
8.3 QAM載波同步的FPGA實現 (323)
8.3.1 QAM中常用的載波同步演算法[10] (323)
8.3.2 極性判決演算法的FPGA實現 (326)
8.3.3 DD演算法載波同步的FPGA實現 (330)
8.4 插值演算法位元同步技術原理 (337)
8.4.1 位同步技術的分類及組成 (337)
8.4.2 內插濾波器的原理及結構 (339)
8.4.3 Gardner定時誤差檢測演算法 (341)
8.4.4 環路濾波器與數控振盪器 (342)
8.5 插值演算法位元同步技術的MATLAB模擬 (343)
8.5.1 環路濾波器係數的設計 (343)
8.5.2 Gardner定時誤差檢測演算法的MATLAB模擬程式 (344)
8.5.3 16QAM信號位元同步演算法的模擬 (349)
8.6 插值演算法位元同步技術的FPGA實現 (351)
8.6.1 頂層模組的Verilog HDL設計 (351)
8.6.2 內插濾波器模組的Verilog HDL設計 (353)
8.6.3 定時誤差檢測及環路濾波器模組的Verilog HDL設計 (355)
8.6.4 數控振盪器及插值間隔產生模組的Verilog HDL設計 (358)
8.6.5 插值演算法位元同步技術FPGA實現後的模擬測試 (359)
8.7 插值演算法位元同步環的板載測試 (362)
8.7.1 硬體介面電路 (362)
8.7.2 板載測試程式 (363)
8.7.3 板載測試驗證 (364)
8.8 小結 (365)
參考文獻 (365)

第9章 擴頻調製解調技術的FPGA實現 (367)
9.1 擴頻通信的基本原理 (367)
9.1.1 擴頻通信的概念 (367)
9.1.2 擴頻通信的種類 (368)
9.1.3 直擴系統的工作原理 (370)
9.2 直擴系統調製信號的MATLAB模擬 (372)
9.2.1 虛擬碼序列的產生原理 (372)
9.2.2 MATLAB模擬直擴系統調製信號 (373)
9.3 直擴系統調製信號的FPGA實現 (377)
9.3.1 虛擬碼模組的Verilog HDL設計 (377)
9.3.2 擴頻調製模組的Verilog HDL設計 (378)
9.4 虛擬碼同步的原理 (381)
9.4.1 滑動相關捕獲原理 (382)
9.4.2 延遲鎖相環的跟蹤原理 (383)
9.5 虛擬碼同步演算法的設計及模擬 (384)
9.5.1 虛擬碼同步演算法的設計 (384)
9.5.2 捕獲及跟蹤門限的MATLAB模擬 (385)
9.6 虛擬碼同步的FPGA實現 (388)
9.6.1 頂層模組的Verilog HDL設計 (388)
9.6.2 虛擬碼模組的Verilog HDL設計 (390)
9.6.3 相關積分模組的Verilog HDL設計 (392)
9.6.4 虛擬碼相位調整模組的Verilog HDL設計 (393)
9.6.5 FPGA實現後的模擬測試 (396)
9.7 直擴系統解調環路的FPGA實現 (397)
9.7.1 Costas環的Verilog HDL設計 (398)
9.7.2 FPGA實現後的模擬測試 (401)
9.8 小結 (403)
參考文獻 (403)


作者介紹


杜勇,四川省廣安市人,高級工程師。1999年于湖南大學獲電子工程專業學士學位,2005年于國防科技大學獲資訊與通信工程專業碩士學位。主要從事數位 信號處理、無線通訊以及FPGA應用技術研究。發表學術論文十餘篇,出版《數字濾波器的MATLAB與FPGA實現(第2版)》、《數位通信同步技術的 MATLAB與FPGA實現》、《數位調製解調技術的MATLAB與FPGA實現》等多部著作。




相關書籍

Access Data Analysis Cookbook (Paperback)

作者 Ken Bluttman Wayne S. Freeze

2020-03-01

超圖解!認識 AI人工智慧的第一本書

作者 大西可奈子 許郁文

2020-03-01

Hands-on DevOps: Explore the concept of continuous delivery and integrate it with data science concepts

作者 Sricharan Vadapalli

2020-03-01