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

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

缺書
不接受訂購

出版日:8/1/2014
頁數:352
光碟數:1
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787121238123
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書
為什么要寫這本書?兩年前首次出版這本書時,我在前言中提到寫作的原因主要有三條:其一是FPGA技術在電子通信領域得到了越來越廣泛的應用,并已逐漸成為電子產品實現的首選方案;其二是國內市場上專門討論如何采用FPGA實現數字通信技術的書籍相對欠缺;其三是數字通信技術本身十分復雜,關鍵技術較多,在一本書中全面介紹數字通信技術的FPGA實現難免有所遺漏,且內容難以翔實。因此,根據作者從業經驗,將數字通信技術的關鍵技術大致分為濾波器技術、同步技術和解調技術三種,并嘗試著先寫濾波器技術,再逐漸完成其他兩種關鍵技術的寫作。在廣大讀者的支持和鼓勵下,先后又出版了《數字通信同步技術的MATLAB與FPGA實現》和《數字調制解調技術的MATLAB與FPGA實現》兩本書。這樣,關于數字通信的FPGA實現的系列著作總算完成,三年前的構想總算得以成為現實!
數字濾波器一書出版后,陸續收到廣大讀者的反饋意見。一些讀者直接通過郵件告知書中的內容對工作中提供的直接或間接的幫助;一些讀者提出了很多中肯的有建設性的意見和建議;更多的讀者通過郵件交流書中的相關設計問題;還有一些讀者直接指出了書中一些描述不準確的地方以及部分文字上的錯誤。在即將完成數字調制解調技術一書的初稿時,出版社告知濾波器一書即將售罄,因此,正好借著改版的機會對全書進行一次修訂和完善。
與第一版相比,全書除第5章和第6章沒有進行文字上的修訂外,其他章節均進行了或多或少的修訂,其中改動較大的是第3、7、9章。此次改版主要涉及以下幾個方面。
(1)更正了書中一些敘述不當的地方,大多是讀者反饋回來的問題。
(2)對讀者提問較多的地方,敘述得更加詳細。
(3)第2章修改了實例2-4的VHDL設計,在實例中更加完整地展示了MATLAB與FPGA的數據交互過程。
(4)第3章增加了“FPGA中數的運算”小節,更充分地討論了有效數據字長的影響,以及定點數據運算過程中需要注意的事項。
(5)第7章中增加了一節討論“自適應陷波器”的內容。
(6)第9章標題修改為“解調系統濾波器的FPGA實現”。由于符號同步及碼型變換內容與濾波器關系不大,且原版討論得也不夠充分,因此直接刪去了符號同步及碼型變換的內容,這樣更符合本書主講數字濾波器這個主題。
(7)配套光盤中的程序文件進行補充及優化。
通常來講,一名電子通信專業的技術人員,在從業之初都會遇到類似的困惑:如何將從教材中所學的理論與實際中的工程設計結合起來?如何能夠將這些教材中的理論轉換成實際的電路?絕大多數數字通信類教材對通信的原理講解十分透徹,但理論與實踐之間顯然需要有一些可以順利通過的橋梁。一個常用的方法是通過采用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的基本知識,以及Xilinx公司的主要器件。本章在介紹了FPGA的發展歷程、結構及工作原理等基本知識后,對FPGA設計中經常使用到的各種IP核進行了簡要說明。目前的FPGA廠家主要有Xilinx公司及Altera公司。兩家公司幾乎都有性能相近的產品,但所使用的開發工具無法通用。Xilinx公司作為FPGA的發明者及FPGA行業的領導者,通過不斷應用尖端技術來長久保持它的行業領袖地位。由于不同器件的結構不同,因此各有其合理的應用領域,為了提高設計性能并節約產品成本,了解器件基本特性,合理選擇最終的目標器件顯得尤為重要。因此,本章最后對Xilinx公司的主要芯片進行了介紹,在后續章節中也將利用Xilinx公司的Spartan及Virtex系列FPGA器件作為目標實現平臺進行講解。
第2章首先介紹了硬件描述語言的基本概念及優勢,并對VHDL語言進行了簡要介紹。對本書使用到的軟件開發仿真環境——ISE開發套件、Modelsim仿真軟件、Synplicity綜合軟件以及MATLAB軟件進行了簡要介紹。最后以一個簡單的混頻器設計實例較為詳細地闡述了FPGA與MATLAB軟件進行聯合開發的過程,這也是本書后續章節在講述各種濾波器設計時所采用的基本方法和流程。數字濾波器的FPGA設計與實現是一項將理論與實踐緊密結合的技術,要求設計者不僅要十分清楚數字濾波器以及數字信號處理的基本原理,同時還需要掌握MATLAB軟件的使用方法、VHDL編程以及FPGA實現技術。
數字信號在FPGA等硬件系統中實現時,由于受寄存器長度的限制,不可避免地會產生有效字長效應。設計工程師必須了解字長效應對數字系統可能帶來的影響,并在實際設計中通過仿真來確定最終的量化位數、寄存器長度等內容。第3章在詳細分析了字長效應在FPGA設計中的影響后,對幾種常用的運算模塊IP核進行介紹,詳細闡述了各IP核控制參數的設置方法,并給出了幾個簡單的模塊應用實例。IP核在FPGA設計中的應用十分普遍,尤其在數字濾波器等信號處理領域,采用設計工具提供的IP核進行設計,不僅可以提高設計效率,而且可以保證設計的性能。特別需要說明的是,從讀者反饋的信息來看,雖然大多數問題是針對其他章節的實例提出的,但問題的本質不少都與數據有效字長效應有關。因此,建議讀者詳細閱讀本章內容,并且深入理解FPGA中的數字運算,以及有效字長效應對信號處理所帶來的影響。
從第4章開始,本書正式討論各種數字濾波器的FPGA實現。FIR濾波器是數字濾波器中最常見、使用最廣泛的一種濾波器。為便于讀者深入了解FIR濾波器的設計原理及方法,本章簡要講述了與數字濾波器設計相關的基礎理論知識。接著對常用的MATLAB函數設計方法進行了介紹。采用MATLAB設計出符合要求的濾波器系數后,還應采用VHDL等硬件編程語言進行設計實現。根據FPGA的結構特點,具體實現FIR濾波器時有幾種不同的設計方法,本章詳細闡述了幾種常用結構的設計方法,最后介紹了ISE11.3提供的功能強大的FIR核。在實際工程設計中,如果目標器件提供了相應的FIR核,則建議讀者盡量采用IP核的方法進行設計實現。
第5章討論了IIR濾波器的FPGA實現。IIR濾波器因其較高的濾波效率,十分利于在不需要嚴格相位特性的系統中使用。本章在介紹IIR濾波器基本原理時,重點對IIR與FIR濾波器的異同點進行了比較。接下來對常用的5種IIR濾波器設計函數進行了介紹,并比較了幾種設計函數的濾波性能。IIR濾波器的FPGA實現相對于FIR濾波器來講要復雜一些,主要原因在于其反饋結構,并且目前的FPGA設計軟件并沒有提供通用的IP核使用。本章詳細闡述了IIR濾波器的FPGA實現過程,以及實現過程中需要注意的系數量化方法、計算輸出數據位寬、MATLAB仿真及FPGA實現后仿真等關鍵問題。
第6章首先介紹了多速率信號處理的一些基本概念,以及多速率信號處理的一般步驟。抽取與內插是多速率信號處理的基礎,讀者需要從原理上了解抽取與內插的具體過程,以及對信號在時域及頻域的影響。抽取與內插操作本身十分簡單,多速率信號處理的關鍵問題是如何有效設計濾波器。CIC濾波器的結構簡單,沒有乘法器,只有加法器、積分器和寄存器,適合于在高采樣率條件下工作。半帶濾波器可以使2倍抽取的每秒乘法次數比一般線性相位的FIR濾波器減少近1/2,因此特別適合應用于轉換率為2的整數次冪變換的系統。需要注意的是,CIC濾波器及半帶濾波器雖然十分節約資源,但均有其特定的使用條件。本章最后介紹了另一種在多速率信號處理中使用十分廣泛的多相分解技術,并通過具體實例展示了多相結構濾波器的性能優勢。
第7章首先對自適應濾波器的概念、應用及一般原理進行了簡單介紹,而后針對應用廣泛的LMS算法原理、實現結構進行了闡述,并采用MATLAB對LMS算法進行了仿真驗證。以LMS算法為基礎,本章分別以通道失配校正系統、自適應均衡器、智能天線陣、自適應陷波器為具體實例,詳細闡述了FPGA實現自適應濾波器算法的步驟、方法及過程。為給讀者提供更多的設計參考,在討論上述不同自適應濾波器的FPGA實現過程中,分別以常規LMS算法、符號LMS算法進行討論。自適應濾波器相對于常規濾波器來講,在FPGA實現過程中,關鍵在于清楚掌握算法實現過程中各數據變量的變化范圍,并以此確定各中間變量的數據字長及小數點位置,同時還需根據各運算步驟所需的運算量,合理分配各時鐘周期內的運算量,以提高系統的整體運算速度。
相對于時域濾波器而言,變換域濾波器給出了一個全新的濾波器設計思路。一些在時域無法濾除的干擾信號,在變換域可十分容易地濾除。具體選擇哪種濾波器,要根據輸入信號的統計特征、濾波器實現的復雜度、運算速度等因素綜合考慮。第8章首先對變換域濾波器的基本概念、快速傅里葉變換(FFT)、ISE提供的FFT核等內容進行了簡單介紹,這些知識都是進行變換域濾波器設計的基礎。本章重點對變換域濾波器實現抗窄帶干擾的FPGA設計與實現進行了詳細討論。采用變換域濾波技術實現窄帶干擾濾除的原理并不復雜,在FPGA設計與實現過程中,難點在于準確把握各模塊之間、各運算步驟之間,以及各信號接口之間的時序關系,并在設計中嚴格按照這些時序關系進行程序的編寫。從這個實例中讀者可以進一步體會到時序在FPGA設計中的重要性。
為了使讀者對通信系統的FPGA實現有更完整的認識,本書最后一章以一個較為完整的DPSK解調系統為實例,在簡單介紹數字接收機、DPSK調制解調原理的基礎上,詳細討論了整個工程設計的全過程。尤其對解調環路中的數字濾波器設計、載波環路的參數設計、FPGA實現細節進行了詳盡的分析,并給出了具有指導意義的幾個設計原則。在整個工程設計過程中,可以看到,濾波器仍然是解調系統的重要組成部分,其性能的優劣直接影響到整個系統的性能。通過詳細分析討論,并動手設計整個DPSK解調系統,相信讀者會對無線通信技術的FPGA實現方法、手段、過程有較為深刻的理解。
關于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作為仿真驗證工具。
第2章的混頻器設計實例給出了完整的FPGA設計過程,也給出了全書實例講解的基本步驟和方法。先采用MATLAB對需要設計的工程進行仿真,一方面仿真算法過程及結果,另一方面生成FPGA測試仿真所需的測試輸入數據;而后在ISE平臺上編寫VHDL程序對實例進行設計實現;編寫Testbench測試激勵文件,采用Modelsim軟件對VHDL程序進行行為和時序仿真;查看Modelsim仿真波形結果,并將仿真數據寫入外部文本文件中;最后編寫MATLAB程序,對Modelsim仿真結果數據進行分析處理,驗證FPGA設計的正確性。
限于篇幅,實例的部分MATLAB程序代碼或VHDL代碼沒有在書中列出,隨書配套的光盤上收錄了本書所有實例的源程序及工程設計資源。程序代碼及工程文件按章節序號置于光盤根目錄下,讀者可以將其直接復制到本地硬盤中運行。需要說明的是,在大部分工程實例中,均需要由MATLAB產生FPGA測試所需的文本數據文件,或者由MATLAB讀取外部文件進行數據分析,同時FPGA仿真的Testbench文件常常也需要從指定的路徑下讀取外部文件數據,或將仿真結果輸出到指定的路徑下。文本文件的路徑均在程序中指定為絕對路徑,如fid=fopen(’D:DuYongFilter_VHDLMultHalfBandE6_11_Int_Sin.txt’,’w’)。因此,讀者將FPGA工程文件或MATLAB程序復制到本地硬盤后,請將程序文件中指定文件的絕對路徑的代碼進行修改,以確保仿真測試程序在正確的路徑下讀取文件。
致謝
有人說,每個人都有他存在的使命,如果迷失他的使命,就失去了他存在的價值。不只是每個人,每件物品也都有其存在的使命。對于一本書來講,其存在的使命就是被閱讀,并給閱讀者帶來收獲。數字通信的FPGA設計系列的書,能夠對讀者在工作及學習中有所幫助,是作者莫大的欣慰。
作者在寫作本書的過程中查閱了大量的資料,在此對資料的作者及提供者表示衷心的感謝。由于寫作本書的緣故,重新閱讀一些經典的數字通信理論書籍時,再次深刻感受到前輩們嚴謹的治學態度和細致的寫作作風。
感謝電子工業出版社的大力支持,這本書能夠改版,使得我有機會在采納廣大讀者反饋意見的基礎上,改正第一版中的一些不足之處,并盡力使這本書變得更加完善。
在此,感謝父母,幾年來一直陪伴在我的身邊,由于他們的默默支持,使得我能夠在家里專心致志的寫作;感謝我的妻子劉帝英女士,她不僅是一位盡心盡職的優秀母親,也是一位嚴謹細致的科技工作者,同時也是本書的第一位讀者,在工作之余對本書進行了詳盡而細致的校對;特別值得一提的是我即將上小學四年級的女兒,晚上作業完成之后已經不再自告奮勇地說幫我做作業,更多的時候是早早約好同學到外面玩去了。
FPGA技術博大精深,數字通信技術種類繁多且實現難度大。本書雖盡量詳細討論了FPGA實現數字濾波器技術的相關內容,仍感覺到難以詳盡敘述工程實現所有細節。相信讀者在實際工程應用中經過不斷的實踐、思考及總結,一定可以快速掌握數字濾波器技術的工程設計方法,提高應用FPGA進行工程設計的能力。由于作者水平有限,不足之處在所難免,敬請讀者批評指正。歡迎大家與我就相關技術問題進行交流,交流請發郵件至duyongcn@sina.cn,也可以訪問網址http://duyongcn.blog.163.com以獲得與該書相關的資料及信息。

作 者
2014年6月
內容簡介:

本書以Xilinx公司的FPGA器件為開發平臺,采用MATLAB及VHDL作為語言開發工具,詳細闡述了數字濾波器的實現原理、結構、方法及仿真測試過程,并通過大量工程實例分析其在FPGA實現過程中的具體技術細節。其主要內容包括FIR濾波器、IIR濾波器、多速率濾波器、自適應濾波器、變換域濾波器、解調系統濾波器設計等。
本書思路清晰、語言流暢、分析透徹,在簡明闡述設計原理的基礎上,追求對工程實踐的指導性,力求使讀者在較短的時間內掌握數字濾波器的FPGA設計知識和技能。

目錄:

第1章 數字濾波器及FPGA概述 1
1.1 濾波器概述 2
1.1.1 濾波器簡介 2
1.1.2 數字濾波器的分類 3
1.1.3 濾波器的特征參數 5
1.2 FPGA基本知識 5
1.2.1 FPGA的基本概念及發展歷程 5
1.2.2 FPGA的結構和工作原理 7
1.2.3 IP核的概念 13
1.3 FPGA在數字信號處理中的應用 13
1.4 Xilinx器件簡介 14
1.4.1 Spartan系列器件 16
1.4.2 Virtex系列器件 19
1.4.3 PROM 芯片介紹 25
1.5 小結 26
第2章 設計語言及環境介紹 27
2.1 VHDL語言簡介 28
2.1.1 HDL語言 28
2.1.2 VHDL語言 29
2.2 FPGA開發工具及設計流程 32
2.2.1 ISE開發套件 32
2.2.2 ModelSim仿真軟件 36
2.2.3 Synplicity綜合軟件 38
2.2.4 FPGA設計流程 39
2.3 MATLAB軟件 41
2.3.1 MATLAB軟件簡介 41
2.3.2 常用的信號處理函數 44
2.3.3 濾波器設計分析工具FDATOOL 51
2.4 MATLAB與ISE的聯合應用 52
2.4.1 MATLAB與ISE的數據交換 52
2.4.2 混頻器設計分析實例 53
2.5 小結 66
第3章 FPGA實現數字信號處理基礎 67
3.1 數的表示 68
3.1.1 萊布尼茨與二進制 68
3.1.2 定點數表示 69
3.1.3 浮點數表示 71
3.2 FPGA中數的運算 74
3.2.1 加/減法運算 74
3.2.2 乘法運算 77
3.2.3 除法運算 78
3.2.4 有效數據位的計算 79
3.3 有限字長效應 82
3.3.1 字長效應的產生因素 82
3.3.2 A/D變換的字長效應 82
3.3.3 濾波器系數的字長效應 83
3.3.4 濾波器運算中的字長效應 85
3.4 FPGA的常用運算模塊 86
3.4.1 加法器模塊 86
3.4.2 乘法器模塊 88
3.4.3 除法器模塊 93
3.4.4 CORDIC運算模塊 95
3.4.5 浮點運算模塊 98
3.5 小結 100
第4章 FIR濾波器的FPGA設計與實現 101
4.1 FIR濾波器的理論基礎 102
4.1.1 線性時不變系統 102
4.1.2 FIR濾波器的原理 104
4.1.3 FIR濾波器的特性 105
4.1.4 FIR濾波器的結構形式 109
4.2 FIR濾波器的設計方法 113
4.2.1 窗函數法 114
4.2.2 頻率取樣法 115
4.2.3 最優設計方法 116
4.3 FIR濾波器的MATLAB設計 117
4.3.1 采用fir1函數設計 117
4.3.2 采用kaiserord函數設計 122
4.3.3 采用fir2函數設計 123
4.3.4 采用firpm函數設計 124
4.3.5 采用FDATOOL工具設計 126
4.4 FIR濾波器的FPGA實現 128
4.4.1 量化濾波器系數 128
4.4.2 串行結構的FPGA實現 130
4.4.3 并行結構的FPGA實現 137
4.4.4 分布式結構的FPGA實現 139
4.4.5 不同結構的性能對比分析 144
4.4.6 采用FIR核實現 145
4.5 小結 150
第5章 IIR濾波器的MATLAB與FPGA實現 151
5.1 IIR濾波器的理論基礎 152
5.1.1 IIR濾波器的原理及特性 152
5.1.2 IIR濾波器的結構形式 152
5.1.3 IIR與FIR濾波器的比較 154
5.2 IIR濾波器的設計方法 155
5.2.1 幾種典型的模擬濾波器 155
5.2.2 原型轉換設計法 158
5.2.3 直接設計法 159
5.3 IIR濾波器的MATLAB設計 159
5.3.1 采用butter函數設計 160
5.3.2 采用cheby1函數設計 160
5.3.3 采用cheby2函數設計 161
5.3.4 采用ellip函數設計 161
5.3.5 采用yulewalk函數設計 162
5.3.6 幾種設計函數的比較 162
5.3.7 采用FDATOOL工具設計 164
5.4 IIR濾波器的FPGA實現 165
5.4.1 量化直接型結構的系數及運算字長 165
5.4.2 直接型結構的FPGA實現 169
5.4.3 直接型結構FPGA實現后的測試仿真 175
5.4.4 量化級聯型結構的系數 179
5.4.5 級聯型結構的FPGA實現 180
5.4.6 級聯型結構FPGA實現后的測試仿真 185
5.5 小結 186
第6章 多速率濾波器的FPGA實現 187
6.1 多速率信號處理基礎知識 188
6.1.1 多速率信號處理的概念及作用 188
6.1.2 多速率信號處理的一般步驟 189
6.1.3 軟件無線電中的多速率處理 189
6.2 抽取與內插處理 191
6.2.1 整數倍抽取 191
6.2.2 整數倍內插 192
6.2.3 比值為有理數的抽樣率轉換 195
6.3 CIC濾波器 195
6.3.1 CIC濾波器的原理 195
6.3.2 CIC濾波器的應用條件 198
6.3.3 單級CIC濾波器的FPGA實現 199
6.3.4 多級CIC濾波器的FPGA實現 201
6.3.5 CIC濾波器IP核的使用 208
6.4 FIR半帶濾波器 211
6.4.1 半帶濾波器的原理 211
6.4.2 半帶濾波器的MATLAB設計 212
6.4.3 多級半帶濾波器的設計 214
6.4.4 多級半帶濾波器的FPGA實現 216
6.5 多相分解技術 222
6.5.1 多相分解技術的一般概念 222
6.5.2 整數倍抽取器的多相結構 223
6.5.3 多相抽取器的FPGA實現 225
6.6 小結 227
第7章 自適應濾波器的FPGA實現 229
7.1 自適應濾波器簡介 230
7.1.1 自適應濾波器的概念 230
7.1.2 自適應濾波器的應用 231
7.1.3 自適應算法的一般原理 233
7.2 LMS算法 235
7.2.1 LMS算法的原理 235
7.2.2 LMS算法的實現結構 235
7.2.3 LMS算法的字長效應 236
7.2.4 符號LMS算法原理 238
7.2.5 LMS算法的MATLAB仿真 238
7.3 自適應線性濾波器的FPGA實現 243
7.3.1 自適應線性濾波器原理 243
7.3.2 利用線性濾波器實現通道失配校正 243
7.3.3 校正算法的 MATLAB仿真 244
7.3.4 校正算法的VHDL實現 246
7.3.5 FPGA實現后的仿真測試 249
7.4 自適應均衡器的FPGA實現 251
7.4.1 自適應均衡器原理 251
7.4.2 自適應均衡器的MATLAB仿真 252
7.4.3 自適應均衡器的VHDL實現 254
7.4.4 FPGA實現后的仿真測試 259
7.5 智能天線陣的FPGA實現 260
7.5.1 智能天線陣的概念及原理 260
7.5.2 自適應天線陣的MATLAB仿真 262
7.5.3 自適應天線陣的VHDL實現 264
7.5.4 FPGA實現后的仿真測試 267
7.6 自適應陷波器的FPGA實現 267
7.6.1 自適應陷波器原理 267
7.6.2 自適應陷波器的MATLAB仿真 269
7.6.3 自適應陷波器的VHDL實現 271
7.6.4 FPGA實現后的仿真測試 274
7.7 小結 275
第8章 變換域濾波器的FPGA實現 277
8.1 變換域濾波器簡介 278
8.2 快速傅里葉變換 278
8.2.1 離散傅里葉變換 278
8.2.2 DFT存在的問題 280
8.2.3 FFT算法的基本思想 281
8.2.4 FFT算法的MATLAB仿真 282
8.3 FFT核的使用 284
8.3.1 FFT核簡介 284
8.3.2 FFT核的接口及時序 285
8.4 頻域濾波器的原理及MATLAB仿真 287
8.4.1 抗窄帶干擾濾波器的原理 287
8.4.2 檢測門限的選取 288
8.4.3 頻域濾波器的MATLAB仿真 289
8.5 頻域濾波器的FPGA實現 291
8.5.1 FPGA實現的總體結構設計 291
8.5.2 速率變換模塊的設計與實現 293
8.5.3 FFT及濾波設計與實現 297
8.5.4 IFFT及數據輸出設計與實現 302
8.5.5 頂層文件設計及實現 306
8.5.6 FPGA實現后的仿真測試 308
8.6 小結 309
第9章 解調系統濾波器的FPGA實現 311
9.1 數字接收機的一般原理 312
9.1.1 通用數字接收機處理平臺 312
9.1.2 基本調制解調技術 313
9.1.3 改進的數字調制解調技術 315
9.2 DPSK調制解調原理 316
9.2.1 DPSK調制原理及信號特征 316
9.2.2 DPSK信號的MATLAB仿真 317
9.2.3 DPSK解調原理 320
9.3 DPSK解調參數設計 322
9.3.1 數字下變頻器設計 323
9.3.2 低通濾波器設計 324
9.3.3 數字鑒相器設計 325
9.3.4 環路濾波器設計 325
9.3.5 載波同步環設計的一般步驟 328
9.4 Costas環的FPGA實現 329
9.4.1 頂層模塊的VHDL實現 329
9.4.2 鑒相器及環路濾波器的VHDL實現 331
9.4.3 Costas環實現后的仿真測試 333
9.5 小結 334
參考文獻 335
序: