-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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實現

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

缺書
NT售價: 340

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

譯者序:

前言:

為什么要寫這本書
為什么要寫這本書?自2012年首次出版《數字濾波器的MATLAB與FPGA實現》以來,這已經是第3次寫下類似的問題。
在《數字濾波器的MATLAB與FPGA實現》一書中,我在前言中提到寫作的原因主要有三條:其一是FPGA技術在電子通信領域得到了越來越廣泛的應用,并已逐漸成為電子產品實現的首選方案;其二是國內市場上專門討論如何采用FPGA實現數字通信技術的書籍相對欠缺;其三是數字通信技術本身十分復雜,關鍵技術較多,在一本書中全面介紹數字通信技術的FPGA實現難免有所遺漏,且內容難以詳實。因此,作者根據從業經驗,將數字通信技術的關鍵技術大致分為濾波器技術、同步技術和調制解調技術三種,并嘗試著先寫濾波器技術,再逐漸完成其他兩種關鍵技術的寫作。在2013年4月出版《數字通信同步技術的MATLAB與FPGA實現》后,廣大讀者的關注和鼓舞更加增強了我繼續將數字通信與FPGA實現相結合的技術寫下去的信心。
回顧3年前開始策劃寫作這個系列著作時的想法,顯然是受了中學時代閱讀的金庸武俠小說的影響,幾本經典的小說在人物和情節的安排上很有一脈相承的意味,因此,在這三本著作的內容安排上也考慮了一定的銜接。數字濾波器一書的最后一章討論解調電路的設計內容,一方面涉及解調電路中的濾波器設計,另一方面簡單介紹了載波同步的知識;同步技術一書中介紹的濾波器設計內容多引用自濾波器一書,同時重點對載波同步、位同步、幀同步等經典同步技術進行了詳細闡述;本書主要討論數字調制解調技術的FPGA設計,而濾波器及同步技術顯然是調制解調技術中的核心功能電路,本書的重點在于從完整系統的角度對各種經典的通信體制進行詳細討論。
著名的計算機科學研究學者李開復先生在他的博客中有下面這樣一段話:
西方有一句名言,“聽過的我會忘記,看過的我能記得,做過的我才理解”。在學校學習,一定要融會貫通,不能只是死背書本,一定要動手實踐。不但要學習知識,還要知道知識應該如何使用。融會貫通意味著高校培養出的學生必須善于將學習到的知識應用于實踐中去。在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實現時,不僅絕大多數實例給出了完整的VHDL程序代碼,并且從思路和結構上對每段代碼均進行了詳細的分析和說明。根據作者的理解,針對一些似是而非的概念,結合工程實例的仿真測試加以闡述,希望能夠對讀者提供更多有用的參考。相信讀者按照書中講解的步驟完成一個個工程實例時,會逐步感覺到理論與工程實現之間完美結合的暢快。隨著讀者掌握的工程實現技能的提高,對通信理論知識的理解也必將越來越深刻,重新閱讀以前學過的通信原理時,頭腦里就更容易構建起理論與工程實現之間的橋梁。
本書的內容安排
第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實現相關的內容,可以參考作者于2012年出版的《數字濾波器的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設計基礎,直接學習這一章的內容是比較困難的,不僅是因為直擴解調系統本身需要將載波同步環與偽碼同步環有機結合在一起,同時還因為本章在介紹整個環路的VHDL設計時有意略去了載波環相關參數的詳細設計方法。學習的過程總是需要循序漸進的,好比共產主義是一個美好的理想,從社會主義初級階段一步跨入共產主義,從理論和實踐上都證明是行不通的。學習過程中的艱難曲折不可避免,但要相信,當徹底掌握到所學的知識后,并熟練應用知識成功解決產品設計中的問題后,再回憶那些冥思苦想廢寢忘食的片段,才可以真正體會到學習的快樂。
關于FPGA開發環境的說明
眾所周知,目前兩大廠商XILINX和ALTERA的產品占據了全球90%的FPGA市場。可以說,在一定程度上正是由于兩家FPGA公司的相互競爭態勢,有力地推動了FPGA技術的不斷發展。雖然HDL的編譯及綜合環境可以采用第三方公司所開發的產品,如Modelsim、Synplify等,但FPGA器件的物理實現必須采用各自公司開發的軟件平臺,無法通用。XILINX公司的主流開發平臺是ISE系列套件,ALTERA公司目前的主流開發平臺是QUARTUS Ⅱ系列套件。與FPGA開發平臺類似,HDL也存兩種難以取舍的選擇:VHDL和Verilog HDL。
如何選擇開發平臺以及HDL語言呢?其實,對于有志于從事FPGA技術開發的技術人員來講,選擇哪種平臺及HDL語言并不重要,因為兩種平臺具有很多相似地方,精通一種HDL語言后,再學習另一種HDL語言也不是一件困難的事。通常來講,可以根據周圍同事、朋友、同學,或公司的主要使用情況進行選擇,這樣在學習的過程中,可以很方便地找到能夠給你指迷津的專業人士,從而加快學習進度。
本書采用的是XILINX公司的FPGA器件作為開發平臺,采用VHDL語言作為實現手段。由于VHDL語言并不依賴于某家公司的FPGA產品,因此本書的VHDL程序文件可以很方便地移植到ALTERA公司的FPGA產品上。如果程序中應用了IP核資源,兩家公司的IP核通常是不能通用的,這就需要根據IP核的功能參數,在另外一個平臺上重新生成IP核,或編寫HDL代碼來實現。
有人說過這樣一句話:“技術只是一個工具,關鍵在于思想。”將這句話套用過來,對于本書來講,具體的開發平臺以及HDL語言只是實現數字通信技術的工具,關鍵在于設計的思路和方法。因此,讀者完全不必要過于在意開發平臺的差別,相信只要掌握了本書所講述的設計思路和方法后,加上讀者已經具備的FPGA開發經驗,采用任何一種FPGA平臺都可以很快設計出滿足用戶需求的產品。
如何使用本書
這本書的寫作方法及使用方法與前面兩本關于濾波器及通信同步的著作完全相同。本書討論的是數字調制解調技術的MATLAB與FPGA實現。相信大部分工科院校的學生和電子通信的從業人員對MATLAB軟件都會有一個基本的了解。由于它的易用性及強大的功能,已經成為數學分析、信號仿真、數字處理必不可少的工具。由于MATLAB具有大量專門針對數字信號處理的常用函數,如濾波器函數、傅里葉分析函數等,十分有利于對一些通信的概念及信號進行功能性仿真,因此,在講解某個具體實例時,通常會采用MATLAB作為仿真驗證工具。雖然書中的MATLAB程序相對比較簡單,主要應用一些數字信號處理函數進行仿真驗證,如果讀者沒有MATLAB的知識基礎,建議最好還是先簡單學習一下MATLAB的編程概念及基本語法。考慮到程序及函數的兼容性,書中所有MATLAB程序的開發驗證平臺均為MATLAB7.0版軟件。
在講解具體的FPGA工程應用實例時,通常會先采用MATLAB對所需設計的工程進行仿真,一方面仿真算法過程及結果,一方面生成FPGA仿真所需要的測試數據;而后在ISE平臺上編寫VHDL程序對實例進行設計實現,為便于講述,通常會先討論程序的設計思路,或者先給出程序清單,再對程序代碼進行分析說明;完成程序編寫后,需要編寫TestBench測試激勵文件,根據需要產生輸入信號,可以直接在TestBench文件中編寫代碼產生輸入信號,也可以通過讀取外部文本文件的方式產生輸入信號;接下來就可以采用Modelsim工具對VHDL程序進行時序或行為仿真,查看Modelsim仿真波形結果,并根據需要將仿真數據寫入外部文本文件中,通常還會對仿真波形進行討論,分析仿真結果是否滿足要求;如果Modelsim波形不便于精確分析測試結果,則需要再次編寫MATLAB程序,對Modelsim仿真結果數據進行分析處理,最終驗證FPGA設計的正確性。
本書主要以工程應用實例的方式講解各種數字通信同步技術的原理及FPGA實現方法和步驟。大部分實例均給出了完整的程序清單,限于篇幅,不同工程實例中的一些重復或相似的代碼沒有完全列出,隨書配套的光盤上收錄了本書所有實例的源程序及工程設計資源,并按章節序號置于光盤根目錄下。本書在編寫工程實例時,程序文件均放置在“D:ModemPrograms”的文件夾下,讀者可以先在本地硬盤下建立“D:ModemPrograms”文件夾,而后將配套光盤中的程序壓縮包解壓至該文件夾下,大部分程序均可直接運行。需要說明的是,在大部分工程實例中,需要由MATLAB產生FPGA測試所需的文本數據文件,或者由MATLAB讀取外部文件進行數據分析,同時FPGA仿真的TestBench文件通常也需要從指定的路徑下讀取外部文件數據,或將仿真結果輸出到指定的路徑下。文本文件的路徑均指定為絕對路徑,如“fid=fopen(’D:ModemProgramsChpter_4E4_6_FirIpCore E4_6_FpgaData.txt’,’w’)”。因此,讀者運行實例程序時,請將程序文件中指定文件絕對路徑的代碼進行修改,以確保仿真測試程序在正確的路徑下對文件進行讀寫操作。
致謝
2014年的央視春晚上,歌曲“時間都去哪兒了”感動了無數人。時間都去哪兒了?3年多的時間里陸續編寫完《數字濾波器的MATLAB與FPGA實現》、《數字通信同步技術的MATLAB與FPGA實現》,以及這本《數字調制解調技術的MATLAB與FPGA實現》。由于工作的原因,編寫幾乎都是利用八小時以外的時間完成的。編寫的過程漫長而又充實。在這里首先要感謝廣大讀者的支持和鼓舞。一些讀者直接通過郵件告知書中的內容對工作中提供的直接或間接的幫助;一些讀者提出了很多中肯的有建設性的意見和建議;還有更多的讀者通過郵件交流書中的相關設計問題。
有人說,每個人都有他存在的使命,如果迷失他的使命,就失去了他存在的價值。不只是每個人,每件物品也都有其存在的使命。對于一本書來說,其存在的使命就是被閱讀,并給閱讀者帶來收獲。數字通信的FPGA設計系列的書,能夠對讀者在工作及學習中有所幫助,是作者莫大的欣慰。
在電子工業出版社初次出版數字濾波器一書時,對后續兩本書的出版還僅僅是一個構想,但當我將這一想法與出版社交流時,幾乎是立即得到了出版社的大力支持和鼓勵。很高興能夠再次與電子工業出版社合作出版此書,能與這樣一家專業的出版社合作,對于從事電子通信行業的技術人員來講,本身就是一件十分榮幸和高興的事。本書得以順利出版,尤其要對出版社田宏峰編輯熱情的態度及極高的工作效率表示感謝。
作者在寫作本書的過程中查閱了大量的資料,在此對資料的作者及提供者表示衷心的感謝。由于寫作本書的原故,重新閱讀一些經典的數字通信理論書籍時,再次深刻感受到前輩們嚴謹的治學態度和細致的寫作作風。
在此,感謝父母,幾年來一直陪伴在我的身邊,由于他們的默默支持,使得我能夠在家里專心致志地寫作;感謝我的妻子劉帝英女士,她不僅是一位盡心盡職的優秀母親,也是一位嚴謹細致的科技工作者,同時也是本書的第一位讀者,在工作之余對本書進行了詳盡而細致的校對。特別值得一提的是作者即將上小學四年級的女兒,晚上作業完成之后已經不再自告奮勇地說幫我做作業,更多的時候是早早約好同學到外面玩去了。
FPGA技術博大精深,數字通信技術種類繁多且實現難度大。本書雖盡量詳細討論了FPGA實現數字調制解調技術的相關內容,仍感覺到難以詳盡敘述工程實現所有細節。相信讀者在實際工程應用中經過不斷的實踐、思考及總結,一定可以快速掌握數字調制解調技術的工程設計方法,提高應用FPGA進行工程設計的能力。由于作者水平有限,不足之處在所難免,敬請讀者批評指正。歡迎大家與我就相關技術問題進行交流,交流請發郵件至duyongcn@sina.cn,也可以訪問網址http://duyongcn.blog.163.com以獲得與該書相關的資料及信息。

作 者
2014年6月
內容簡介:

本書以XILINX公司的FPGA為開發平臺,采用MATLAB及VHDL語言為開發工具,詳細闡述了數字調制解調技術的FPGA實現原理、結構、方法,以及仿真測試過程,并通過大量工程實例分析FPGA實現過程中的具體技術細節。主要包括FPGA實現數字信號處理基礎、ASK調制解調、PSK調制解調、FSK調制解調、QAM調制解調,以及擴頻通信的設計與實現等內容。本書思路清晰、語言流暢、分析透徹,在簡明闡述設計原理的基礎上,追求對工程實踐的指導性,力求使讀者在較短的時間內掌握數字調制解調技術的FPGA設計知識和技能。本書的配套光盤收錄了完整的MATLAB及VHDL實例工程代碼,有利于工程技術人員參考學習。

目錄:

第1章 數字通信及FPGA概述 1
1.1 數字通信系統概述 2
1.1.1 數字通信的一般處理流程 2
1.1.2 本書討論的通信系統模型 4
1.1.3 數字通信的特點及優勢 5
1.1.4 數字通信的發展概述 7
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的發展趨勢 24
1.3.3 FPGA的組成結構 26
1.3.4 FPGA的工作原理 30
1.4 FPGA與其他處理平臺的比較 31
1.4.1 ASIC、DSP及ARM的特點 32
1.4.2 FPGA的特點及優勢 33
1.5 XILINX器件簡介 34
1.5.1 XILINX器件概況 34
1.5.2 Spartan系列器件 36
1.5.3 Virtex系列器件 37
1.6 小結 39
參考文獻 39
第2章 設計語言及環境介紹 41
2.1 HDL語言簡介 42
2.1.1 HDL語言的特點及優勢 42
2.1.2 選擇VHDL還是Verilog 43
2.2 VHDL語言基礎 44
2.2.1 程序結構 45
2.2.2 數據類型 47
2.2.3 數據對象 50
2.2.4 運算符 50
2.2.5 VHDL語句 55
2.3 FPGA開發工具及設計流程 60
2.3.1 ISE開發套件 60
2.3.2 Modelsim仿真軟件 64
2.3.3 Synplicity綜合軟件 66
2.3.4 FPGA設計流程 68
2.4 MATLAB軟件 70
2.4.1 MATLAB軟件簡介 70
2.4.2 常用的信號處理函數 73
2.5 MATLAB與ISE的數據交換 79
2.6 小結 80
參考文獻 80
第3章 FPGA實現數字信號處理基礎 81
3.1 FPGA中數的表示 82
3.1.1 萊布尼茲與二進制 82
3.1.2 定點數表示 83
3.1.3 浮點數表示 84
3.2 FPGA中數的運算 87
3.2.1 加/減法運算 87
3.2.2 乘法運算 90
3.2.3 除法運算 92
3.2.4 有效數據位的計算 93
3.3 有限字長效應 95
3.3.1 字長效應的產生因素 95
3.3.2 A/D變換的字長效應 96
3.3.3 系統運算中的字長效應 97
3.4 FPGA中的常用處理模塊 99
3.4.1 乘法器模塊 99
3.4.2 除法器模塊 104
3.4.3 浮點運算模塊 107
3.4.4 濾波器模塊 109
3.4.5 數字頻率器模塊 111
3.5 小結 113
參考文獻 113
第4章 濾波器的MATLAB與FPGA實現 115
4.1 濾波器概述 116
4.1.1 濾波器的分類 116
4.1.2 濾波器的特征參數 118
4.2 FIR與IIR濾波器的原理 118
4.2.1 FIR濾波器原理 118
4.2.2 IIR濾波器原理 120
4.2.3 IIR與FIR濾波器的比較 120
4.3 FIR濾波器的MATLAB設計 121
4.3.1 采用fir1函數設計 121
4.3.2 采用kaiserord函數設計 124
4.3.3 采用fir2函數設計 124
4.3.4 采用firpm函數設計 126
4.4 IIR濾波器的MATLAB設計 128
4.4.1 采用butter函數設計 128
4.4.2 采用cheby1函數設計 129
4.4.3 采用cheby2函數設計 130
4.4.4 采用ellip函數設計 130
4.4.5 采用yulewalk函數設計 131
4.4.6 幾種設計函數的比較 131
4.5 濾波器設計分析工具 133
4.6 FIR濾波器的FPGA實現 134
4.6.1 量化濾波器系數 134
4.6.2 FIR濾波器的實現結構 136
4.6.3 采用IP核實現FIR濾波器 140
4.6.4 MATLAB仿真測試數據 146
4.6.5 測試激勵的VHDL設計 147
4.6.6 FPGA實現后的仿真測試 149
4.7 IIR濾波器的FPGA實現 150
4.7.1 IIR濾波器的結構形式 150
4.7.2 量化級聯型結構的系數 153
4.7.3 級聯型結構的FPGA實現 156
4.7.4 FPGA實現后的測試仿真 160
4.8 小結 161
參考文獻 161
第5章 ASK調制解調技術的實現 163
5.1 ASK信號的調制解調原理 164
5.1.1 二進制振幅調制信號的產生 164
5.1.2 二進制振幅調制信號的解調 165
5.1.3 二進制振幅調制系統的性能 167
5.1.4 多進制振幅調制 168
5.2 ASK調制信號的MATLAB仿真 168
5.3 ASK調制信號的FPGA實現 171
5.3.1 FPGA實現模型及參數說明 171
5.3.2 ASK調制信號的VHDL設計 173
5.3.3 FPGA實現后的仿真測試 174
5.4 ASK解調技術的MATLAB仿真 176
5.5 ASK解調技術的FPGA實現 178
5.5.1 FPGA實現模型及參數說明 178
5.5.2 ASK信號解調的VHDL設計 178
5.5.3 FPGA實現后的仿真測試 180
5.6 符號判決門限的FPGA實現 182
5.6.1 確定ASK解調后的判決門限 182
5.6.2 判決門限模塊的VHDL設計 183
5.6.3 FPGA實現后的仿真測試 185
5.7 鎖相環位同步技術的FPGA實現 185
5.7.1 位同步技術的工作原理 185
5.7.2 位同步頂層模塊的VHDL設計 188
5.7.3 雙相時鐘信號的VHDL設計 190
5.7.4 鑒相模塊的VHDL設計 191
5.7.5 控制模塊的VHDL設計 193
5.7.6 分頻模塊的VHDL設計 195
5.7.7 FPGA實現后的仿真測試 195
5.8 ASK解調系統的FPGA實現及仿真 196
5.8.1 完整解調系統的VHDL設計 196
5.8.2 完整系統的仿真測試 198
5.9 小結 200
參考文獻 201
第6章 FSK調制解調技術的實現 203
6.1 FSK信號的調制解調原理 204
6.1.1 FSK信號的時域表示 204
6.1.2 相關系數與頻譜特性 205
6.1.3 非相干解調原理 207
6.1.4 相干解調原理 208
6.1.5 解調方法的應用條件分析 210
6.2 FSK調制解調的MATLAB仿真 211
6.2.1 不同調制度的FSK信號仿真 211
6.2.2 非相干解調FSK仿真 212
6.2.3 相干解調FSK仿真 217
6.3 FSK調制信號的FPGA實現 220
6.3.1 FSK信號的產生方法 220
6.3.2 FSK調制信號的VHDL設計 221
6.3.3 FPGA實現后的仿真測試 223
6.4 FSK解調的FPGA實現 224
6.4.1 解調模型及參數設計 224
6.4.2 解調FSK信號的VHDL設計 225
6.4.3 FPGA實現后的仿真測試 229
6.5 MSK信號產生原理 231
6.5.1 MSK信號時域特征 231
6.5.2 MSK信號頻譜特性 232
6.5.3 MSK信號的產生方法 233
6.6 MSK調制信號的FPGA實現 235
6.6.1 實例參數及模型設計 235
6.6.2 MSK調制信號的VHDL設計及仿真 235
6.7 MSK解調原理 237
6.7.1 延遲差分解調 237
6.7.2 平方環相干解調 238
6.8 MSK解調的MATLAB仿真 239
6.8.1 仿真模型及參數說明 239
6.8.2 平方環解調MSK的MATLAB仿真 240
6.9 平方環的FPGA實現 242
6.9.1 鎖相環的工作原理 243
6.9.2 平方環的工作原理 246
6.9.3 平方環路性能參數設計 247
6.9.4 平方環的VHDL設計 249
6.9.5 FPGA實現后的仿真測試 253
6.10 MSK解調的FPGA實現 255
6.10.1 MSK解調環路參數設計 255
6.10.2 頂層模塊的VHDL設計 256
6.10.3 脈沖成形及解調模塊的VHDL設計 260
6.10.4 FPGA實現后的仿真測試 262
6.11 小結 264
參考文獻 265
第7章 PSK調制解調技術的實現 267
7.1 DPSK信號的調制解調原理 268
7.1.1 DPSK信號的調制原理 268
7.1.2 Costas環解調DPSK信號 269
7.1.3 DPSK調制解調的MATLAB仿真 271
7.2 DPSK解調的FPGA實現 274
7.2.1 環路性能參數設計 274
7.2.2 Costas環的VHDL設計 275
7.2.3 FPGA實現后的仿真測試 279
7.3 DQPSK信號的調制解調原理 279
7.3.1 QPSK信號的調制原理 279
7.3.2 雙比特碼元差分編解碼原理 281
7.3.3 DQPSK信號解調原理 282
7.3.4 DQPSK調制解調的MATLAB仿真 285
7.4 DQPSK調制信號的FPGA實現 288
7.4.1 差分編/解碼的VHDL設計 288
7.4.2 DQPSK調制信號的VHDL設計 292
7.5 DQPSK解調的FPGA實現 296
7.5.1 極性Costas環的VHDL設計 296
7.5.2 FPGA實現后的仿真測試 300
7.5.3 調整跟蹤策略獲取良好的跟蹤性能 301
7.5.4 完整的DQPSK解調系統設計 302
7.5.5 DQPSK解調系統的仿真測試 306
7.6 /4 QPSK調制解調原理 306
7.6.1 /4 QPSK信號的調制原理 306
7.6.2 匹配濾波器與成形濾波器 308
7.6.3 /4 QPSK信號的差分解調原理 313
7.6.4 /4 QPSK調制解調的MATLAB仿真 314
7.7 /4 QPSK調制解調的FPGA實現 318
7.7.1 基帶編碼的VHDL設計 318
7.7.2 差分解調的VHDL設計 321
7.7.3 FPGA實現后的仿真測試 326
7.8 小結 326
參考文獻 327
第8章 QAM調制解調技術的實現 329
8.1 QAM信號的調制解調原理 330
8.1.1 QAM調制解調系統組成 330
8.1.2 差分編碼與星座映射 331
8.1.3 QAM調制解調的MATLAB仿真 333
8.2 QAM編/解碼的FPGA實現 336
8.2.1 編碼映射的VHDL設計 337
8.2.2 解碼模塊的VHDL設計 339
8.2.3 FPGA實現后的仿真測試 341
8.3 QAM載波同步的FPGA實現 341
8.3.1 QAM載波同步原理 341
8.3.2 載波同步頂層模塊的VHDL設計 344
8.3.3 鑒相模塊的VHDL設計 348
8.3.4 FPGA實現后的仿真測試 352
8.4 插值算法位同步技術原理 354
8.4.1 位同步技術分類及組成 354
8.4.2 內插濾波器原理及結構 356
8.4.3 Gardner誤差檢測算法 358
8.4.4 環路濾波器與數控振蕩器 359
8.5 插值算法位同步技術的MATLAB仿真 360
8.5.1 設計環路濾波器系數 361
8.5.2 分析位定時算法MATLAB仿真程序 361
8.5.3 完整的QAM位定時算法仿真 366
8.6 插值算法位同步技術的FPGA實現 368
8.6.1 頂層模塊的VHDL設計 368
8.6.2 插值濾波模塊的VHDL設計 370
8.6.3 誤差檢測及環路濾波器模塊的VHDL設計 373
8.6.4 數控振蕩器模塊的VHDL設計 375
8.6.5 FPGA實現后的仿真測試 376
小結 378
參考文獻 379
第9章 擴頻調制解調技術的FPGA實現 381
9.1 擴頻通信的基本原理 382
9.1.1 擴頻通信的概念 382
9.1.2 擴頻通信的種類 383
9.1.3 直擴系統工作原理 385
9.2 直擴調制信號MATLAB仿真 387
9.2.1 偽碼序列的產生原理 387
9.2.2 MATLAB仿真直擴調制信號 388
9.3 直擴信號調制的FPGA實現 391
9.3.1 偽碼模塊的VHDL設計 392
9.3.2 擴頻調制模塊的VHDL設計 393
9.4 偽碼同步的一般原理 396
9.4.1 滑動相關捕獲原理 397
9.4.2 延遲鎖相環跟蹤原理 398
9.5 偽碼同步算法設計及仿真 399
9.5.1 同步算法設計 399
9.5.2 捕獲及跟蹤門限的MATLAB仿真 401
9.6 偽碼同步的FPGA實現 403
9.6.1 頂層模塊的VHDL設計 403
9.6.2 偽碼產生模塊的VHDL設計 406
9.6.3 相關積分模塊的VHDL設計 408
9.6.4 偽碼相位調整模塊的VHDL設計 409
9.6.5 FPGA實現后的仿真測試 411
9.7 直擴解調系統的FPGA實現 413
9.7.1 Costas載波環的VHDL設計 413
9.7.2 FPGA實現后的仿真測試 418
9.8 小結 420
參考文獻 420
序: