-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

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

( 簡體 字)
作者:杜勇類別:1. -> 工程繪圖與工程計算 -> Matlab
   2. -> 電子工程 -> FPGA
   3. -> 電子工程 -> Verilog
譯者:
出版社:電子工業出版社數字調制解調技術的MATLAB與FPGA實現——Altera/Verilog版 3dWoo書號: 41036
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:3/1/2015
頁數:436
光碟數:1
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121255823
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書
為什么要寫這本書?或者說,為什么要寫數字通信的MATLAB與FPGA實現技術相關內容的書?記得在電子工業出版社首次出版《數字濾波器的MATLAB與FPGA實現》這本書時,我在前言中提到寫作的原因主要有三條:其一是FPGA技術在電子通信領域得到了越來越廣泛的應用,并已逐漸成為電子產品實現的首選方案;其二是國內市場上專門討論如何采用FPGA實現數字通信技術的書籍相對欠缺;其三是數字通信技術本身十分復雜,關鍵技術較多,在一本書中全面介紹數字通信技術的FPGA實現難免有所遺漏,且內容難以翔實。因此,根據作者從業經驗,將數字通信技術的關鍵技術大致分為濾波器技術、同步技術和解調技術三種,并嘗試著先寫濾波器技術,再逐漸完成其他兩種關鍵技術的寫作。在廣大讀者的支持和鼓勵下,先后又出版了《數字通信同步技術的MATLAB與FPGA實現》和《數字調制解調技術的MATLAB與FPGA實現》兩本書。這樣,關于數字通信的MATLAB與FPGA實現的系列著作總算完成,多年前的構想總算得以成為現實!
數字通信的MATLAB與FPGA實現的系列著作出版后,陸續通過郵件或博客的方式收到廣大讀者的反饋意見。一些讀者直接通過郵件告知書中的內容對工作中提供的直接或間接的幫助;一些讀者提出了很多中肯的有建設性的意見和建議;更多的讀者通過郵件交流書中的相關設計問題。在《數字濾波器的MATLAB與FPGA實現》一書出版后,不少讀者就建議出版采用Verilog HDL語言作為設計平臺的版本。這是很好的建議。其實,雖然在初次寫數字濾波器一書時已規劃過要完成這一系列的著作,但還沒有想到要編寫Altera/Verilog HDL版本,否則就會在前面三本書的書名中都加上“Xilinx/VHDL版本”的字樣了。時間過得很快,幾年時間過去了,在用Xilinx/VHDL平臺寫完這個系列著作之后,終于可以開始用Altera/Verilog HDL平臺將這三本著作重新寫一遍,以滿足不同讀者的需求。
回顧開始策劃寫作這個系列著作時的想法,顯然是受了中學時代閱讀的金庸武俠小說的影響,幾本經典的小說在人物和情節的安排上很有一脈相承的意味,因此,在這三本著作的內容安排上也考慮了一定的銜接。數字濾波器一書的最后一章討論解調電路的設計內容,一方面涉及解調電路中的濾波器設計,一方面簡單介紹了載波同步的知識;同步技術一書中介紹的濾波器設計內容多引用自濾波器一書,同時重點對載波同步、位同步、幀同步等經典同步技術進行了詳細闡述;而濾波器及同步技術又是調制解調技術中的核心功能電路。
著名的計算機科學研究學者李開復先生在他的博客中有下面這樣一段話:
西方有一句名言,“聽過的我會忘記,看過的我能記得,做過的我才理解”。在學校學習,一定要融會貫通,不能只是死背書本,一定要動手實踐。不但要學習知識,還要知道知識應該如何使用。融會貫通意味著高校培養出的學生必須善于將學習到的知識應用于實踐中去。在IT領域,許多成功的公司都希望加入公司的畢業生擁有十萬行以上的編程經驗(例如在Google,很多應聘者都是因為實際動手能力不足而沒能通過面試),但不少計算機相關專業的中國學生告訴我說,他們在學校的四年時間里,真正自己動手編寫過的程序還不超過一千行。這一方面說明一些學校在教學時不重視對學生實踐能力的培養,另一方面也說明許多學生只知道學習“死”的知識,而不知道去尋找或創造機會,以便將學到的知識用在具體的實踐當中。
上面這段話道出了絕大多數剛畢業的大學生的狀態。回想自己剛離開大學校園后,在初次從事具體的電路設計時所感覺到的茫然仍然清晰如昨日!
通常來講,一名電子通信專業的技術人員,在從業之初都會遇到類似的困惑:如何將從教材中所學的理論與實際中的工程設計結合起來?如何能夠將這些教材中的理論轉換成實際的電路?絕大多數數字通信類教材對通信的原理講解十分透徹,但理論與實踐之間顯然需要有一座可以順利通過的橋梁。一個常用的方法是通過采用MATLAB等工具進行軟件仿真的方法來加深對理論的理解,但更好的方法顯然是直接參與工程的設計與實現。
然而,剛畢業的工科院校學生極少有機會參加實際工程設計,工作中往往感到學校所學的理論知識很難與實際工程產品的實現聯系起來。教科書上多是講解通信原理性的內容,即使可以很好地解答教材后面的習題,或者說能夠熟練地對書中的基本公式進行推導,在實際進行產品設計時,如何將這些理論及公式用具體的電路或硬件平臺實現出來,仍然是擺在廣大工程師面前的一個巨大難關。尤其對于數字通信專業來講,由于涉及的理論知識比較復雜,真正進行工程設計時才發現根本無從下手。采用MATLAB、System View等軟件對通信理論進行仿真,雖然可以直觀地驗證算法的正確性,并查看仿真結果,但這類軟件的仿真畢竟只停留在算法或模型的仿真上,與真正的工程設計及實現還完全是兩個不同的概念。FPGA技術很好地解決了這一問題。FPGA技術本來就是基于工程應用的技術,其仿真技術可以很好地仿真產品實際的工作情況,尤其是時序仿真技術,在計算機上通過了時序仿真的程序設計,幾乎不再需要修改就可以直接應用到工程中。這種設計、驗證、仿真的一體化方式可以極好地將理論與工程應用結合起來,從而提高學習興趣。
FPGA技術因其快速的并行運算能力,以及獨特的組成結構,在電子通信領域已成為必不可少的實現平臺之一。本書的目的正是架起一座教科書理論知識與工程設計實踐之間的橋梁,通過具體的設計實例,詳細講解從理論到工程實現的方法、步驟和過程,以便于工程技術人員盡快掌握利用FPGA平臺實現數字通信技術的方法。
目前,市場上已有很多介紹ISE、QuartusⅡ等FPGA開發環境,以及VHDL、Verilog HDL等硬件編程語言的書籍。如果我們僅僅使用FPGA來實現一些數字邏輯電路,或者理論性不強的控制電路設計,掌握FPGA開發工具及VHDL語法就可以開始工作了。數字通信技術的理論性要強得多,采用FPGA平臺實現數字通信技術的前提條件是對理論知識首先要有深刻的理解,在理解理論知識的基礎上,關鍵的問題是根據這些通信理論或公式,利用FPGA的特點,找到合適的算法實現結構,理清工程實現的思路,并采用VHDL等硬件編程語言對其進行正確的實現。因此,要順利地讀懂本書,掌握用FPGA實現數字通信技術的知識和技能,讀者還需要對FPGA的開發環境和設計語言有一定的了解。
作者在寫作本書的過程中,兼顧數字通信技術的理論和工程設計過程的完整性,重點突出FPGA設計方法、結構、實現細節,以及仿真測試方法。在講解理論知識的時候,重點從工程應用的角度進行介紹,主要介紹工程設計時必須掌握和理解的知識點,并且結合FPGA的特點進行討論,便于讀者盡快找到理論與工程實現之間的結合點。在講解實例的FPGA實現時,不僅絕大多數實例給出了完整的程序代碼,并且從思路和結構上對每段代碼均進行詳細的分析和說明。根據作者的理解,針對一些似是而非的概念,結合工程實例的仿真測試加以闡述,希望能夠對讀者提供更多有用的參考。相信讀者按照書中講解的步驟完成一個個工程實例時,會逐步感覺到理論與工程實現之間完美結合的暢快。隨著讀者掌握的工程實現技能的提高,對通信理論知識的理解也必將越來越深刻,重新閱讀以前學過的通信原理時,頭腦里就更容易構建起理論知識與工程實踐之間的橋梁。
本書的內容安排
第1章首先對數字通信技術的概念及FPGA基礎知識進行了簡要介紹。本章耗費一些筆墨來講述一些最基本的概念,一則是為了使全書所講述的內容更成體系,二則想重申一個老掉牙的理由——基本的概念永遠是最重要的。在介紹這些基本概念時,盡量避免使用一些復雜的公式及理論推導,更多地從直觀角度來討論。根據作者自身的經歷和對數字通信的理解,對頻譜、帶寬、采樣、信噪比等最基本的定義做了較為全面的闡述,希望能夠對讀者加深數字通信系統原理的理解有所幫助。大概是由于職業的原因,長期以來都對那些偉大的技術創新者倍感敬意,因此在寫FPGA發展歷程時,更多地從人物的角度去描述那些科技創新的故事,這些故事確實非常有趣,那些偉大的科學家和技術創新者從來都不缺乏鮮明的個性。
采用MATLAB及FPGA來實現數字通信的相關技術,設計工程師首先需要熟練掌握一整套設計工具。設計語言及開發環境就是工程師手中的裝備。要設計出完美的產品需要很多因素之間的相互配合,而掌握好手中的開發工具無疑是最基本的因素之一。第2章主要對本書所使用到的設計語言和開發環境進行簡要介紹。之所以說是簡要介紹,因為這一整套的開發工具本身的功能十分強大,每一種工具都有種類繁多的專門著述進行詳細闡述。隨著工程師設計經驗的積累,設計水平的提高,越能更全面地掌握設計工具的特點,從而更好地發揮設計工具的性能,以最小的代價設計出理想的產品。好比一把寶劍,只有握在高手的手中才能發揮出最大的威力。
第3章介紹了FPGA中數的表示方法、數的運算、有限字長效應及常用的數字信號處理模塊。數字信號在FPGA等硬件系統中實現時,因受寄存器長度的限制,不可避免地產生了有效字長效應。設計工程師必須了解字長效應對數字系統可能帶來的影響,并在實際設計中通過仿真來確定最終的量化位數、寄存器長度等內容。本章最后對幾種常用的運算模塊IP核進行介紹,詳細闡述了各IP核控制參數的設置方法,并給出了幾個簡單的模塊應用實例。IP核的應用在FPGA設計中十分普遍,尤其在數字信號處理領域,采用設計工具提供的IP核進行設計,不僅可以提高設計效率,而且可以保證設計的性能。因此,在進行FPGA工程設計時,工程師可以先瀏覽一下選定目標器件所能提供的IP核,便于通過使用IP核來減少設計工作量并提高系統性能。當然,工程師也可以根據設計需要,根據是否具有相應的IP核來選擇目標器件。這一章討論的都是一些非常基礎的知識,但正因為基礎,所以顯得尤其重要。其中討論的有效數據位運算,以及字長效應等內容在后續的工程實例講解中都會多次涉及,因此建議讀者不要急于閱讀后續章節的工程實例講解,先切實練好基本功,才可以達到事半功倍的效果。
對于從事電子通信行業的技術人員來說,濾波器是一個再普通不過的概念了。數字濾波器本身已成為一個專業性很強的研究方向,第4章所要講述的僅僅是最常用的FIR(Finite Impulse Response,有限脈沖響應)濾波器和IIR(Infinite Impulse Response,無限脈沖響應)濾波器。不過這不并不影響讀者對數字通信調制解調技術內容的理解,因為后續章節所討論的工程實例中,只使用到這兩種類型的數字濾波器。讀者如果有興趣了解更多與濾波器的FPGA實現相關的內容,可以參考《數字濾波器的MATLAB與FPGA實現》一書。
第5章正式開始討論各種通信體制的調制解調技術。眾所周知,無論是數字通信還是模擬通信,幅度調制解調都被認為最簡單的一種通信技術。事實也確實如此,因此這種調制體制也幾乎成為了學習掌握通信原理的基礎。在討論ASK解調技術時采用了非相干方法,又進一步降低了FPGA實現的難度。雖然看似簡單,但并非不重要,因為本章介紹了一個非常完整的數字通信傳輸系統。我們在介紹通信原理方面的教材中可以很容易找到講解ASK調制解調方面的內容,但如何將這個看似簡單的系統真正應用到工程中,用FPGA實現出來,清楚了解輸入數據到輸出數據之間各種信號的變化過程,這并不是一件容易的事。讀者根據本章所介紹的步驟及方法,完成整個系統的仿真測試之后,相信對ASK調制解調技術會有一個更深入的理解。
經過前面對ASK調制解調技術的討論,相信大家對數字調制解調技術的整個設計流程有了一個初步認識,甚至覺得工程設計并不是多么困難的事。建立信心是很重要的,但也要有一定的思想準備,并非所有數字調制解調技術都如前面一章所講的那么簡單。第6章前半部分討論了常規FSK信號的調制解調技術,無論是理論知識還是工程實現的難度都不大;后半部分詳細討論了MSK信號的調制解調技術,其實現原理及工程實現都已有一定規模了,無論是從原理還是工程實現方面來講,要完全掌握其設計流程和方法,都需要花一翻工夫才行。不過也不用過于擔心,所謂“難者不會,會者不難”,相信大家跟著書中討論的步驟,一步步完成整個MSK解調的FPGA工程實現,并在ModelSim仿真波形中看到一條條光滑的收斂曲線時,一定會產生一種成就感,設計的信心也會隨之增加。
第7章討論了三種典型的相位調制系統:BPSK、QPSK及 QPSK。Costas環是一種非常經典的鎖相環路,是解調BPSK信號的常用電路,相信絕大多數電子通信專業畢業的讀者對此都不會陌生。在設計完成Costas環后,用ModelSim仿真環路的收斂性能時,在波形界面看到完美的收斂曲線時,相信讀者會感覺到工程設計成功的喜悅,一些原本只存在于教科書中的理論,經過這個設計過程,已經演變成了現實的工程設計。本章進一步探討了QPSK及 QPSK調制解調制過程。為了給讀者更多的參考,分別采用了相干及非相干方法對解調進行了實現。
第8章討論了一個比較完整的QAM調制解調系統,從原理到MATLAB仿真,再到FPGA實現過程都進行了比較詳細的介紹。QAM是一種應用十分廣泛的多進制調制體制,相比前面章節討論的調制系統來講,無論是工作原理還是FPGA實現過程,都顯得更為復雜些。從整個調制解調系統的實現過程來看,關鍵問題仍然還是載波同步及位同步的問題。其中,載波同步的相關內容與前面章節所討論的載波鎖相環有很強的關聯性,因此,如果讀者通過前面章節已經對載波鎖相環有較深刻的認識,則理解本章中的QAM載波同步原理及實現方法也就比較容易了。插值算法的位同步技術是本章的重點和難點。為了給讀者更多的參考,本章還花費了一定的筆墨對作者理解其工作原理及仿真的過程進行了介紹。之所以寫這些,是想說明,作為一名工程技術人員,掌握一項技術,首先需要從原理上準確把握其工作機理,對仿真出的各種結果需要做出合理的解釋。在遇到理解上的困難時,可以采用各種方式學習借鑒,如查閱資料或論壇求助等,但前提是需要首先花費大量精力對已有的一些基本知識進行消化。掌握的知識越多,積累的工程經驗越豐富,學習的速度就越快,對相關領域知識的理解能力就越強,這一定是一個正反饋不斷增強的過程。
本書最后一章討論的是擴頻通信系統,偽碼同步是其中最核心的技術,擴頻通信的抗干擾性能也體現在偽碼同步后的解擴上。本章首先對直接序列擴頻通信系統的一般原理做了介紹,而后較詳細地討論了直接序列擴頻通信系統中的同步原理及方法,并重點分析了本系統所采用的基于滑動相關的捕獲方法及基于延遲鎖相環的跟蹤方法。利用FPGA實現偽碼同步電路的關鍵問題在于合理劃分功能模塊及準確掌握各功能模塊之間的控制與被控制關系和整個系統的時序關系。如果沒有Costas載波環的FPGA設計基礎,直接學習這一章的內容是比較困難的,不僅是因為直擴解調系統本身需要將載波同步環與偽碼同步環有機結合在一起,同時還因為本章在介紹整個環路的Verilog HDL設計時有意略去了載波環相關參數的詳細設計方法。學習的過程總是需要循序漸進的,好比共產主義是一個美好的理想,從社會主義初級階段一步跨入共產主義,從理論和實踐上都證明是行不通的。學習過程中的艱難曲折不可避免,但要相信,當徹底掌握到所學的知識后,并熟練應用知識成功解決產品設計中的問題后,再回憶那些冥思苦想、廢寢忘食的片段,才可以真正體會到學習的快樂。
關于FPGA開發環境的說明
眾所周知,目前兩大廠商Xilinx和Altera的產品占據全球90%的FPGA市場。可以說,在一定程度上正是由于兩家FPGA公司的相互競爭態勢,有力地推動了FPGA技術的不斷發展。雖然HDL的編譯及綜合環境可以采用第三方公司所開發的產品,如ModelSim、Synplify等,但FPGA器件的物理實現必須采用各自公司開發的軟件平臺,無法通用。Xilinx公司目前的主流開發平臺是ISE系列套件,Altera公司目前的主流開發平臺是Quartus II系列套件。與FPGA開發平臺類似,HDL也存兩種難以取舍的選擇:VHDL和Verilog HDL。
如何選擇開發平臺以及HDL語言呢?其實,對于有志于從事FPGA技術開發的技術人員,選擇哪種平臺及HDL語言并不重要,因為兩種平臺具有很多相似的地方,精通一種HDL語言后,再學習另一種HDL語言也不是一件困難的事。通常來講,可以根據周圍同事、朋友、同學或公司的主要使用情況進行選擇,這樣在學習的過程中,可以很方便地找到能夠給你指點迷津的專業人士,從而加快學習進度。
本書采用的是Altera公司的FPGA器件作為開發平臺,采用Quartus II 12.1作為開發環境,采用Verilog HDL語言作為實現手段。由于Verilog HDL語言并不依賴于某家公司的FPGA產品,因此本書的Verilog HDL程序文件可以很方便地移植到Xilinx公司的FPGA產品上。如果程序中應用了IP核資源,兩家公司的IP核通常是不能通用的,這就需要根據IP核的功能參數,在另外一個平臺上重新生成IP核,或編寫Verilog HDL代碼來實現。
有人曾經說過,“技術只是一個工具,關鍵在于思想。”將這句話套用過來,對于本書來講,具體的開發平臺以及HDL語言只是實現數字通信技術的工具,關鍵在于設計的思路和方法。因此,讀者完全不必要過于在意開發平臺的差別,相信只要掌握本書所講述的設計思路和方法,加上讀者已經具備的FPGA開發經驗,采用任何一種FPGA平臺都可以很快地設計出滿足用戶需求的產品。
如何使用本書
本書討論的是數字調制解調技術的MATLAB與FPGA實現。相信大部分工科院校的學生和電子通信的從業人員對MATLAB軟件都會有一個基本的了解。由于它的易用性及強大的功能,已經成為數學分析、信號仿真、數字處理必不可少的工具。由于MATLAB具有大量專門針對數字信號處理的常用函數,如濾波器函數、傅里葉分析函數等,十分有利于對一些通信的概念及信號進行功能性仿真,因此,在具體講解某個實例時,通常會采用MATLAB作為仿真驗證工具。雖然書中的MATLAB程序相對比較簡單,主要應用一些數字信號處理函數進行仿真驗證,如果讀者沒有MATLAB的知識基礎,建議最好還是先簡單學習一下MATLAB的編程概念及基本語法。考慮到程序及函數的兼容性,書中所有MATLAB程序的開發驗證平臺均為MATLAB 7.0版軟件。
在講解具體的FPGA工程應用實例時,通常會先采用MATLAB對所需設計的工程進行仿真,一方面仿真算法過程及結果,另一方面生成FPGA仿真所需要的測試數據;然后在Quartus II平臺上編寫Verilog HDL程序對實例進行設計實現,為便于講述,通常會先討論程序的設計思路,或者先給出程序清單,再對程序代碼進行分析說明;編寫完程序后,需要編寫TestBench測試激勵文件,根據所需產生輸入信號的種類,可以直接在TestBench文件中編寫代碼來產生輸入信號,也可以通過讀取外部文本文件的方式來產生輸入信號;接下來就可以采用ModelSim工具對Verilog HDL程序進行仿真,查看ModelSim仿真波形結果,并根據需要將仿真數據寫入外部文本文件中,通常還會對仿真波形進行討論,分析仿真結果是否滿足要求;如果ModelSim波形不便于精確分析測試結果,則需要再次編寫MATLAB程序,對ModelSim仿真結果數據進行分析處理,最終驗證FPGA設計的正確性。
本書主要以工程應用實例的方式講解各種數字調制解調技術的原理及FPGA實現方法和步驟。大部分實例均給出了完整的程序清單,限于篇幅,不同工程實例中的一些重復或相似的代碼沒有完全列出,隨書配套的光盤上收錄了本書所有實例的源程序及工程設計資源,并按章節序號置于光盤根目錄下。本書在編寫工程實例時,程序文件均放置在“D:ModemPrograms”的文件夾下,讀者可以先在本地硬盤下建立“D:ModemPrograms”文件夾,而后將配套光盤中的程序壓縮包解壓至該文件夾下,大部分程序均可直接運行。需要說明的是,在大部分工程實例中,需要由MATLAB產生FPGA測試所需的文本數據文件,或者由MATLAB讀取外部文件進行數據分析,同時FPGA仿真的TestBench文件通常也需要從指定的路徑下讀取外部文件數據,或將仿真結果輸出到指定的路徑下。文本文件的路徑均指定為絕對路徑,如“fid=fopen(’D: ModemPrograms Chapter_4din.txt’,’w’)”。因此,讀者運行實例程序時,請將程序文件中指定文件絕對路徑的代碼進行修改,以確保仿真測試程序在正確的路徑下對文件進行讀/寫操作。
致謝
有人說,每個人都有他存在的使命,如果迷失他的使命,就失去了他存在的價值。不只是每個人,每件物品也都有其存在的使命。對于一本書來講,其存在的使命就是被閱讀,并給閱讀者帶來收獲。數字通信的MATLAB與FPGA設計系列的書,能夠對讀者在工作及學習中有所幫助,是作者莫大的欣慰。
作者在寫作本書的過程中查閱了大量的資料,在此對資料的作者及提供者表示衷心的感謝。由于寫作本書的緣故,重新閱讀一些經典的數字通信理論書籍時,再次深刻感受到前輩們嚴謹的治學態度和細致的寫作作風。
在此,感謝父母,幾年來一直陪伴在我的身邊,由于他們的默默支持,使得我能夠在家里專心致志地寫作;感謝我的妻子劉帝英女士,她不僅是一位盡心盡職的優秀母親,也是一位嚴謹細致的科技工作者,同時也是本書的第一位讀者,在工作之余對本書進行了詳盡而細致的校對;時間過得很快,女兒已經上小學四年級了,她最愛看書和畫畫,最近迷上了《西游記》,以前的兒童簡化版已滿足不了她的要求,周末陪她去書店買了一本原著,她常常自個兒被書中的情節逗得哈哈大笑,還常常要推薦給我看一些精彩的章節。
FPGA技術博大精深,數字通信技術種類繁多且實現難度大。本書雖盡量詳細討論了FPGA實現數字調制解調技術的相關內容,仍感覺到難以詳盡敘述工程實現所有細節。相信讀者在實際工程應用中經過不斷的實踐、思考及總結,一定可以快速掌握數字調制解調技術的工程設計方法,提高應用FPGA進行工程設計的能力。由于作者水平有限,不足之處在所難免,敬請讀者批評指正。歡迎大家就相關技術問題進行交流,或對本書提出改進意見及建議。請讀者訪問網址http://duyongcn.blog.163.com以獲得與該書相關的資料及信息,也可以發郵件至duyongcn@sina.cn與我進行交流。

杜 勇
2015年3月
內容簡介:

(含CD光盤1張)本書以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
序: