【matlab編程代做】QPSK論文(DOC)_第1頁
【matlab編程代做】QPSK論文(DOC)_第2頁
【matlab編程代做】QPSK論文(DOC)_第3頁
【matlab編程代做】QPSK論文(DOC)_第4頁
【matlab編程代做】QPSK論文(DOC)_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要偏移正交相移鍵控(OQPSK:Offset Quadrature Phase Shift Keying)調制技術廣泛應用于衛星通信和移動通信領域,具有頻譜利用率高、頻譜特性好等特點。論文設計并實現了基于FPGA的全數字OQPSK調制解調器,論文研究了全數字OQPSK調制解調的基本算法,包括成形濾波器、NCO模型、載波恢復等;完成了整個調制解調算法的MATLAB仿真。在此基礎上,采用verilog硬件描述語言在Xilinx公司ISE10.1開發環境下設計并實現了各個算法模塊。關鍵詞:OQPSK, FPGA, 成形濾波器, NCO模型, 載波恢復abstractOffset quadrature phase-shift keying (OQPSK: Offset Quadrature Phase Shift Keying) modulation is widely used in satellite communications and mobile communications field, with the characteristics of high spectrum efficiencyand good spectrum. This paper is designed and implemented FPGA-based all-digital OQPSK modems, which studied the all-digital OQPSK modulation and demodulation of the basic algorithm, including the shaping filter, NCO model, carrier recovery, etc. the completion of the entire modem MATLAB simulation algorithm. On this basis, we use verilog hardware description language to design and implement various algorithms module in ISE10.1.Key words: OQPSK, FPGA, shaping filter, NCO model, carrier recovery第一章 課題研究意義和發展前景OQPSK調制技術是一種恒包絡調制技術,受系統非線性影響小,具有較高的帶寬利用率和功率利用率,在衛星環境、無線環境下得到廣泛應用。因此,在通信信號偵收設備所處理的信號中,存在大量的OQPSK信號。在傳統的偵收設備中,接收機的解調單元都是采用模擬處理方法和器件實現的。大都使用了模擬濾波器、鑒相器(乘法器)和壓控振蕩器(VCO)。這種傳統的模擬解調單元電路體積大,形式復雜;調試過程復雜、調試周期長;器件內部噪聲大,易受環境影響,可靠性差。因此,這種傳統的偵收設備不能完全發揮數字通信的優勢,實現信號的最佳接收。隨著大規模集成電路(VLSI)技術和工藝的進步,數字集成電路的復雜度和功能達到了前所未有的高度,以專用集成電路(ASIC)、數字信號處理器(DSP)、和現場可編程邏輯門陣列(FPGA)為代表的IC,已經在工業生產中得到大規模的應用。這些技術和工藝的快速發展,給偵收設備中解調單元的全數字化提供了可能。全數字化的調制解調器與傳統的模擬電路調制解調器相比主要有以下優點:硬件電路穩定、通用、易維護;電路的穩定性好,基本不受環境、器件個體性能差異因素影響,無需復雜的電路調試。算法由軟件實現,可以在通用的硬件平臺上用不同的算法實現不同的調制解調器。數字調制解調算法通過計算機設計仿真,易于調試。易于實現自適應接收,可以切換或者調整系統軟件,加載不同的算法,實現對多種不同體制信號的自適應接收。利于集成,隨著數字器件的高速發展,數字接收機的集成度越來越高,使通信設備的小型化成為可能。本課題正是以某型偵收設備中OQPSK解調器的全數字化為背景展開研究,設計并實現全數字OQPSK調制解調器。現今,大多數通信系統的數字化調制解調技術已經相當成熟,可以很好的實現多種數字信號的接收解調。然而在調制解調算法的實現中,大多采用ASIC和DSP,這類器件都有一定的缺陷。ASIC處理速度快,但是開發成本高,而且內部功能不可改變,這樣使得系統的可重構性很低,當設備兼容的無線接口增加時,就必須增加執行相應信號處理的ASIC,使得設備的體積和成本隨無線接口的增加而不斷增大。DSP可以通過更改軟件來變更其功能,可重構性好,但它的處理速度慢,逐漸跟不上越來越高的信號處理速度的需求。FPGA可以看作是介于ASIC和DSP之間的一種實現手段。它既具有ASIC的高速處理能力,又擁有很好的可重構性能,而且開發成本低,開發周期短,優勢十分明顯。FPGA技術打破了軟硬件之間最后的屏障,雖然其功能開發是通過EDA軟件實現的,但其物理機制屬于純硬件電路。第二章 OQPSK的基本原理OQPSK也稱為偏移四相相移鍵控(offset-QPSK),是QPSK的改進型。它與QPSK有同樣的相位關系,也是把輸入碼流分成兩路,然后進行正交調制。不同點在于它將同相和正交兩支路的碼流在時間上錯開了半個碼元周期。由于兩支路碼元半周期的偏移,每次只有一路可能發生極性翻轉,不會發生兩支路碼元極性同時翻轉的現象。因此,OQPSK信號相位只能跳變0、90,不會出現180的相位跳變。OQPSK信號可采用正交相干解調方式解調,其原理如圖5-49所示。由圖看出,它與QPSK信號的解調原理基本相同,其差別僅在于對Q支路信號抽樣判決時間比I支路延遲了/2,這是因為在調制時Q支路信號在時間上偏移了/2,所以抽樣判決時刻也應偏移/2,以保證對兩支路交錯抽樣。OQPSK克服了QPSK的l80的相位跳變,信號通過BPF后包絡起伏小,性能得到了改善,因此受到了廣泛重視。但是,當碼元轉換時,相位變化不連續,存在90的相位跳變,因而高頻滾降慢,頻帶仍然較寬。采用非歸零碼直接進行調制所得的QPSK信號的幅度非常恒定,但其信號頻譜較大。然而,當QPSK進行波形成形時,它們將失去恒包絡的性質。偶爾發生的弧度為的相移,會導致信號的包絡在瞬間通過零點。任何一種在過零點的硬限幅或非線性放大都會引起旁瓣再生和頻譜擴展,必須使用效率較低的線性放大器放大QPSK信號,這將使放大器的效率受到限制,進而影響到終端的小型化。為了克服QPSK對信道的線性度要求很高,交錯QPSK(OQPSK)或參差QPSK雖然在非線性環境下也會產生頻譜擴展,但對此已不那么敏感,因此能支持更高效率的放大器。在OQPSK中,其I支路比特流和Q支路比特流在數據沿上差半個符號周期,其它特性和QPSK信號類似。在QPSK信號中,奇比特流和偶比特流的比特同時跳變,但是在OQPSK信號中,I支路比特流和Q支路比特流,在它們的變化沿的地方錯開一比特(半個符號周期)。它們的波形如圖下圖: 圖2-1由于在標準QPSK中,相位跳變僅在每個Ts=2TB秒時發生,并且存在180的最大相移。可是在OQPSK信號中,比特跳變(從而相位跳變)每Tb秒發生一次。因為I支路和Q支路的跳變瞬時被錯開了,所以在任意給定時刻只有兩個比特流中的一個改變它的值。這意味著,在任意時刻發送信號的最大相移都限制在90。因此OQPSK信號消除了180相位跳變,改善了其包括特性。 圖2-2從上圖中的星座圖看出,180相位跳變消除了,所以OQPSK信號的帶限不會導致信號包絡經過零點。OQPSK包絡的變化小多了,因此對OQPSK的硬限幅或非線性放大不會再生出嚴重的頻帶擴展現,OQPSK即使在非線性放大后仍能保持其帶限的性質,這就非常適合移動通信系統,因為在低功率應用情況下,帶寬效率和高效非線性放大器是起決定性作用的。還有,當在接收機端由于參考信號的噪聲造成相位抖動時,OQPSK信號表現的性能比QPSK要好。第三章 MATLAB和FPGA簡介3.1 MATLAB軟件簡介Matlab,Matrix Laboratory的簡稱,是美國Mathworks公司于1984年推出的數值計算機仿真軟件,經過不斷的發展和完善,如今已成為覆蓋多個學科、具有超強數值計算能力和仿真分析能力的軟件。Matlab應用較為簡單,用大家非常熟悉的數學表達式來表達問題和求解方法。它把計算、圖示和編程集成到一個環境中,用起來非常方便。同時,Matlab具有很強的開放性和適應性,在保持內核不變的情況下,Matlab推出了適合不同學科的工具箱,如圖像處理工具箱,小波分析工具箱、信號處理工具箱、神經網絡工具箱等,極大地方便了不同學科的研究工作。Matlab強大的繪圖功能,簡單的命令形式,使其越來越受到國內外科技人員的青睞,得到越來越廣泛的應用。一. MATLAB的特點一種語言之所以如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其它語言的特點。正如同Fortran和C等高級語言使人們擺脫了需要直接對計算機硬件資源進行操作一樣,被稱為第4代計算機語言的MATLAB,利用其豐富的函數資源,使編程人員從繁瑣的程序代碼中解放出來。1功能強大MATLAB具有功能強勁的工具箱,其包含兩個部分:核心部分和各種可選的工具箱。核心部分中,有數百個核心內部函數。其工具箱又可分為兩類:功能性工具箱和學科性工具箱。功能性工具箱主要用來擴充其符號計算功能、圖示建模仿真功能、文字處理功能以及與硬件實時交互功能。功能性工具箱能用于多種學科,而學科性工具箱是專業性比較強的,例如control toolbox,image processing toolbox,signal processing toolbox等。這些工具箱都是由該領域內的學術水平很高的專家編寫的,所以用戶無需編寫自己學科范圍內的基礎程序,就能夠直接進行高、精、尖的研究。2. 界面友好,編程效率高MATLAB突出的特點就是簡潔。它用更直觀的、符合人類思維習慣的代碼代替了C和Fortran語言的冗長代碼,給用戶帶來的是最直觀、最簡潔的程序開發環境。MATLAB語言簡潔緊湊,使用方便靈活,庫函數極其豐富,程序書寫形式自由,利用其豐富的庫函數避開繁雜的子程序編程任務,壓縮了一切不必要的編程工作。由于庫函數都是由本領域的專家編寫的,因此用戶不必擔心函數的可靠性。可以說,用MATLAB進行科學開發是站在專家的肩膀上來完成的。3. 開放性強MATLAB有很好的可擴充性,可以把它當成一種更高級的語言去使用。各種工具箱中的函數可以互相調用,也可以由用戶更改。MATLAB支持用戶對其函數進行二次開發,用戶的應用程序可以作為新的函數添加到相應的工具箱中。二 MATLAB的主要功能MATLAB之所以成為世界頂級的科學計算與數學應用軟件,是因為它隨著版本的升級與不斷完善而具有越來越強大的功能。1數值計算功能MATLAB出色的數值計算功能是使之優于其他數學應用軟件的決定性因素之一。2符號計算功能MATLAB符號運算的獨特之處:無需事先對變量賦值,而所得的結果以標準的符號形式表達,符號計算的整個過程以字符進行。3數據分析功能MATLAB可以將計算數據以二維、三維乃至四維的圖形表現。這不僅使數據間的關系清晰、明了,而且對于揭示其內在本質有著非常重要的作用。4動態仿真功能MATLAB提供了一個模擬動態系統的交互程序SIMULINK,用戶通過簡單的鼠標操作,就可建立起直觀的系統模型,并進行仿真。5圖形文字統一處理功能MATLAB Notebook成功地將Microsoft Work與MATLAB集成為一個整體,為文字處理、科學計算、工程設計營造了一個完美、統一的工作環境。它既擁有Word強大的文字處理功能,又能通過Word訪問MATLAB的數據計算和可視化結果。3.2 FPGA的發展當今社會是數字化的社會,是數字集成電路廣泛應用的社會。數字集成電路本身在不斷地進行更新換代。它由早期的電子管、晶體管、小中規模集成電路、發展到超大規模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術的發展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統設計師們更愿意自己設計專用集成電路(ASIC)芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中,因而出現了現場可編程邏輯器件(FPLD),其中應用最廣泛的當屬現場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可刪除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由于結構的限制,它們只能完成簡單的數字邏輯功能。其后,出現了一類結構上稍復雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數字邏輯功能。典型的PLD由一個“與”門和一個“或”門陣列組成,而任意一個組合邏輯都可以用“與-或”表達式來描述,所以, PLD能以乘積、和的形式完成大量的組合邏輯功能。這一階段的產品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個可編程的“與”平面和一個固定的“或”平面構成,或門的輸出可以通過觸發器有選擇地被置為寄存狀態。 PAL器件是現場可編程的,它的實現工藝有反熔絲技術、EPROM技術和EEPROM技術。還有一類結構更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個“與”平面和一個“或”平面構成,但是這兩個平面的連接關系是可編程的。 PLA器件既有現場可編程的,也有掩膜可編程的。20世紀80年代中期。 Altera和Xilinx分別推出了類似于PAL結構的擴展型 CPLD(Complex Programmab1e Logic Dvice)和與標準門陣列類似的FPGA,它們都具有體系結構和邏輯單元靈活、集成度高以及適用范圍寬等特點。 這兩種器件兼容了PLD和通用門陣列的優點,可實現較大規模的電路,編程也很靈活。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設計開發周期短、設計制造成本低、開發工具先進、標準產品無需測試、質量穩定以及可實時在線檢驗等優點,因此被廣泛應用于產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用門陣列、PLD和中小規模通用數字集成電路的場合均可應用FPGA和CPLD器件。3.3 FPGA產品類型FPGA與 CPLD都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件的基礎之上發展起來的。同以往的PAL、GAL等相比較,FPGA/CPLD的規模比較大,它可以替代幾十甚至幾千塊通用IC芯片 21,22,23,24,25。表3-1:各大FPGA產品排名公司銷售額(億美金)市場占有率1Altera5.9630.12Xilinx5.7429.03Vantis2.2011.14Lattice2.1811.05Actel1.397.06Luccent0.854.37Cypress0.442.28Atmel0.422.19Philips0.281.410Quicklogic0.241.2經過了十幾年的發展,許多公司都開發出了多種可編程邏輯器件。比較典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它們開發較早,占用了較大的PLD市場。通常來說,在歐洲用Xilinx的人多,在日本和亞太地區用ALTERA的人多,在美國則是平分秋色。全球PLD/FPGA產品60%以上是由Altera和Xilinx提供的。可以講Altera和Xilinx共同決定了PLD技術的發展方向。當然還有許多其它類型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。3.4 FPGA設計流程1.設計輸入:HDL語言描述:大規模復雜邏輯的推薦輸入方式;2.仿真驗證:寄存器傳輸級仿真:對代碼的語法和功能進行仿真,無時序信息;門級功能仿真:對綜合后的門級網表進行功能仿真,無時序信息;門級后仿真:對門級時序的仿真,體現實際布局布線的延時;3.設計綜合:針對特定的FPGA器件,根據給定的約束條件,將設計優化處理,得到滿足要求的電路實現方案;可用的工具:Synplify,QUARTUS II,FPGA Compiler等4.設計實現:轉換:將多個設計文件進行轉換并合并到一個設計庫文件中映射:將網表中的邏輯門映射成物理元素,即把邏輯設計分割到構成可編程陣列的LAB(或CLB),I/O和其他資源中去布局布線:確定單元的物理位置,并完成單元連接時序提取:產生一個用于反標的時序文件配置:產生FPGA配置時需要的位流文件,如.sof,.pof5.時序分析:查看關鍵路徑和設計者感興趣的路徑的時序,通過分析優化再次對設計進行約束,使設計滿足要求或得到更高的性能6.下載驗證: - 將位流文件通過配置電纜下載到FPGA芯片中,看電路是否按預定的方式工作3.5 硬件描述語言Verilog HDL所謂硬件描述語言,就是可以描述硬件電路的功能,信號連接關系及定時關系的語言。其中Verilog HDL是一種應用廣泛的硬件描述語言,可用于算法級、門級到開關級的多種抽象層次的數字系統設計。從語法結構來講,Verilog HDL和C語言有許多相似之處,它能夠形式化地表示電路的結構和行為,可以借用高級語言的結構和語句,能夠在多個層次上對所設計的系統加以描述。Verilog HDL最大的特點就是易學易用,由于Verilog HDL的各種優越性,使它廣泛流行,尤其在ASIC領域,更是處于主流地位。在美國、日本等國家,Verilog HDL語言一直是使用最為廣泛的硬件描述語言。那么為什么要使用Verilog HDL呢?首先,考慮到Verilog HDL與C語言有著密切的聯系,而C語言很靈活,查錯功能強,可以通過PLI(編程語言接口)編寫自己的系統任務直接與硬件仿真器(如Verilog-XL)結合使用。C語言是目前世界上應用最為廣泛的一種編程語言,因而C程序的設計環境比Verilog HDL的完整。此外,C語言可應用于許多領域,有可靠的編譯環境,語法完備,缺陷較少。 比較起來, Verilog 語言只是針對硬件描述的,在別處使用(如用于算法表達等)并不方便。而且Verilog的仿真、綜合、查錯工具等大部分軟件都是商業軟件,與C語言相比缺乏長期大量的使用,可靠性較差,亦有很多缺陷。所以,只有在C語言的配合使用下,Verilog才能更好地發揮作用。 C語言與Verilog語言相輔相成,互相配合使用。這就是既要利用C 語言的完整性,又要結合Verilog對硬件描述的精確性,來更快更好地設計出符合性能要求的硬件電路系統。利用C語言完善的查錯和編譯環境,設計者可以先設計出一個功能正確的設計單元,以此作為設計比較的標準。然后,把C程序一段一段地改寫成用并型結構(類似于Verilog)描述的C程序,此時還是在C的環境里,使用的依然是C語言。如果運行結果都正確,就將C語言關鍵字用Verilog相應的關鍵字替換,進入Verilog的環境。將測試輸入同時加到C與Verilog兩個單元,將其輸出做比較。這樣很容易發現問題的所在,然后更正,再做測試,直至正確無誤。剩下的工作就交給后面的設計工程師繼續做。 第四章 利用MATLAB來對OQPSK進行系統仿真OQPSK也稱為偏移正交相移鍵控(offset-QPSK),是QPSK的改進型。它與QPSK有同樣的相位關系,也是把輸入碼流分成兩路,然后進行正交調制。不同點在于它將同相和正交兩支路的碼流在時間上錯開了半個碼元周期。由于兩支路碼元半周期的偏移,每次只有一路可能發生極性翻轉,不會發生兩支路碼元極性同時翻轉的現象。因此,OQPSK信號相位只能跳變0、90,不會出現180的相位跳變,所以頻帶受限OQPSK的信號包絡起伏比頻帶受限QPSK的信號小,經限幅放大后頻帶展寬得少,故OQPSK性能優于QPSK。其基本工作過程如下:將信號通過成形濾波器然后將濾波以后的信號和SIN,COS相乘,得到調制信號,然后將兩路信號相加,得到混頻信號從而完成信號的OQPSK調制部分的設計,而對于解調模塊。而對于接收部分,其主要的難點在于信號的頻偏的鎖定,這里主要采用COSTAS環來實現信號的解調。4.1 OQPSK發送端的設計與仿真4.1.1 OQPSK理論分析OQPSK復基帶信號可以表示為:在OQPSK調制解調器設計中成形濾波、數字下變頻、載波恢復和定時恢復是實現OQPSK調制解調器的難點和重點。在數字通信系統中,由于基帶碼元采用矩形波表示,其頻譜是無限寬,當信號通過實際帶限信道,頻域截短,時域變為無限,產生碼間串擾,為了克服碼間串擾,需要對碼元進行成形濾波。實際應用中,大多采用升余弦濾波器作為成形濾波器。具有滾降系數的升余弦滾降特性H()可表示為:而相應的h( t)為:升余弦滾降信號在前后抽樣值處的碼間串擾為0,滿足抽樣值無失真傳輸條件,滾降系數越小,則波形的振蕩起伏就越大,但傳輸頻帶減小,對接收端的定時要求增加;反之,越大,則波形振蕩起伏越小,但頻帶增加。0時,升余弦濾波器變成了理想低通濾波器,此時信號的頻帶最窄;1時,升余弦濾波器的頻帶最寬,為理想低通濾波器的2倍。所以,升余弦滾降濾波器是以頻帶的增加來換取碼間干擾的減少。從工作原理上講,數字下變頻與模擬下變頻是一樣的,就是輸入信號與一個本地振蕩信號的乘法運算。與模擬下變頻相比,數字下變頻的運算速度受DSP處理速度的限制,同時,其運算速度決定了其輸入信號的數據流可達到最高速率,相應地也限定了ADC的最高采樣速率;另外,數字下變頻的數據精度和運算速度也影響著接收機的性能,所以,數字下變頻器必須進行優化設計。4.1.2 OQPSK發送端的MATLAB實現 為了便于信號的觀察,我們將發送信號定義為1,-1,1,-1這么一種發送模式。這樣可以方便的觀察信號的發送和接收效果。代碼如下:Flag=1;for no=1:N Flag=-Flag; if Flag=1 I_data(no)=1; elseif Flag=-1 I_data(no)=-1; endendfor no=1:N Flag=-Flag; if Flag=1 Q_data(no)=1; elseif Flag=-1 Q_data(no)=-1; end end首先生成連續的信號1,然后對其中的一部分信號賦值-1,這樣就完成了信號的1,-1的賦值。具體的波形如下所示:圖4-1 生成的1,-1符號然后再將信號與載波進行調制:for n1=1:length(I_data)data_number(samples*(n1-1)+1):(samples*(n1-1)+samples)=(I_data(n1)*carriers).*windows;endfor n1=1:length(I_data)data_number(samples*(n1-1)+1):(samples*(n1-1)+samples)=(Q_data(n1)*carriers).*windows;End通過這個模塊,我們將生成的+1,-1信號和載波進行調制,可以得到所要生成的調制信號,其波形如下所示:圖4-2 調制以后的信號最后將信號進行混頻,代碼如下:St=Sit+Sqt;其波形如下所示:圖4-3 OQPSK的I路Q路疊加信號通過上面的步驟,我們基本完成了信號的OQPSK的調制發送部分。4.2 COSTAS設計與仿真4.1.1 COSTAS理論分析在數字通信系統中,無論是PSK還是QAM調制,接收端通常采用相干解調的方法來取得較好的解調性能。相干解調要求在接收端產生一個與被調制載波同頻同相的相干載波,稱為載波恢復。相干解調的優勢是建立在接收端有著準確相位的參考載波之上的,如果頻率或相位有偏差,解調器的性能就會下降,甚至不能正常工作。載波恢復的方法一般有兩種:一種是插入導頻法,在發送端發送數字信號序列的同時發送載波信號或者與它相關的導頻信號,在接收端可以用窄帶濾波器或者鎖相環直接提取載波;另一種方法是直接提取法,在接收信號為抑制載波的已調信號時,通過對數字接收信號進行非線性變換或者采用特殊的鎖相環來獲得相干載波。本文主要討論的是適用于OQPSK調制解調的載波恢復算法。在實際應用中,常用的OQPSK載波恢復鎖相環有:四次方環、松尾環和硬判決COSTAS環等。以常用的QPSK信號為例,說明本文中改進COSTAS環的同步解調算法,下圖給出實現QPSK信號解調算法的改進COSTAS環結構。圖4-2 COSTAS的基本結構同樣地,設接收到的QPSK信號為:改進COSTAS環只需要經過3次判決運算就能得到所需要的誤差電壓:在QPSK信號經過低通濾波器(LPF)之后首先進行2路信號的2次判決;由sgn進行2路信號的2次判決之后經過乘法器再進行2次判決;由加法器進行2路信號的一次判決。整個過程只需要歷經6路信號的6次判決就能得到最終所需的誤差電壓,且只需要2個符號判決器sgn。顯然,改進COSTAS環與傳統COSTAS環相比減少了運算步驟、高了運算效率、簡化了電路結構。本系統采用Costas鎖相環方式來實現載波同步,數字鎖相環包括數字鑒相器(PD)、數字環路濾波器(LF)和數控振蕩器(NCO)三部分,其中鑒相器用于提取鎖相環的輸入輸出信號之間的相位誤差信號,環路濾波器則對相位誤差進行平滑濾波,之后用于控制數控振蕩器產生的相應輸出,其基本的原理如下:其中;為中頻載波頻率;為接收端載波的初始相位;為發送的碼元信息。經過數字下變頻和匹配濾波后,可以得到: 其中;為鎖相環對載波相位的估計。Costas環的鑒相器通過下式得到相位誤差:4.1.2 COSTAS的MATLAB實現 上一節我們基本介紹了COSTAS的原理,其主要工作方式為:信號通過COSTAS首先于本地的SIN,COS進行解調,得到的高頻信號通過RRC濾波器進入誤差檢測模塊,最后得到的誤差通過環路濾波器得到平滑的NCO控制信號,使本地產生一個頻率和發送段相同頻率的載波進行調制,從而還原出比較完美的波形。 下面就來實現COSTAS的具體實現方法,for frame=1:nf % 產生本地的sin和cos函數expcol = exp(j*(wfc*ts*nn+phase);sine = imag(expcol); cosine = real(expcol);這段代碼,主要是通過調整phase來實現本地載波的產生,通過調整phase,可以實現本地載波的產生,并且鎖定頻偏。%發送的數據,將IQ兩路信號進行混頻x = data(1:n)+(frame-1)*n);%將數據轉換到基帶x_sine = x.*sine;x_cosine = x.*cosine; 將接收到的信號進行解調,將信號和鎖定頻偏的SIN,COS進行相乘,得到原始的I,Q兩路信號。%經過濾波器Q = sum(x_sine); I = sum(x_cosine); 將得到的信號通過RRC濾波器,可以得到發送的信號。隨后對所得到的信號求誤差,將所得到的誤差通過環路濾波器,然后將環路濾波器的輸出作為NCO的控制信號,這樣就完成了接收端的COSTAS環的實現。其仿真結果圖如下所示:圖4-3 COSTAS鎖定過程信號同步解調結果如圖4-3所示,用改進COSTAS環解調恢復出的I、Q支路信號。可以看出,該環很好地實現了I、Q支路信號的同步解調,整個環路在經過了短暫的失鎖過程后迅速的達到鎖定狀態。I、Q路信號和基帶信號達到了同步輸出。這樣,我們基本完成了利用MATLAB進行OQPSK的基本實現過程,在下面的章節里,我們將利用FPGA進行OQPSK的實現和仿真。第五章 利用FPGA來對OQPSK進行系統仿真5.1 OQPSK發送段設計 發送端主要工作過程如下:將信號通過成形濾波器,然后將信號和SIN,COS相乘,然后進行混頻處理,將信號發送出去。5.1.1 成形濾波器設計 這里成形濾波器的設計主要通過IP核來設計,通過MATLAB我們可以得到濾波器的系數:Radix = 10; Coefficient_Width = 18;CoefData = 0.02022066, 0.00443409, -0.03751318, -0.07842133, -0.05305165, 0.07842133, 0.28931623, 0.48724768, 0.56830989, 0.48724768, 0.28931623, 0.07842133, -0.05305165, -0.07842133, -0.03751318, 0.00743409, 0.02022066;這里是IP核所要調用的COE文件的文件格式,這些數據是FIR濾波器所采用的系數,這些系數是通過MATLAB來得到的。具體IP核參數設置如下所示:圖5-1 參數設置一圖5-2 參數設置2 通過這個設置,我們可以得到FIR濾波器的基本參數功能如下所示:圖5-3 FIR濾波器設置效果 以上我們基本完成了RRC濾波器的設計過程。5.1.2 NCO設計這里要設計一個NCO來完成發送端的調制過程,主要利用ISE的NCO-IP核來完成。這里的參數設置比較簡單,就不做具體介紹了,新建一個IP核,打開NCO核生成器。其基本參數的設置如下:圖5-4 NOC參數設置1圖5-5 NOC參數設置2圖5-6 NOC參數設置3 通過以上設置,我們基本完成了NOC模塊的設置,通過NCO-IP核可以得到SIN,COS兩個載波的波形。5.2 COSTAS設計 接收端COSTAS環的RRC濾波器的設計思路和發送端的設計思路相同。具體參數設置就不做介紹了。接收端COSTAS環的NCO的設計思路和發送端的設計思路相同。具體參數設置就不做介紹了。5.3 基于FPGA的OQPSK發送接收模塊的仿真及分析首先,信號通過成形濾波器后得到的波形如下圖所示:圖5-7 發送的01信號由上圖可以看到,1,0,1,0信號通過濾波器后可以得到濾波信號。從而驗證了這個模塊的正確性。同時發送段產生載波,這里產生SIN,COS載波。圖5-8 本地載波同時將信號和載波進行相乘,得到調制信號。圖5-9 調制信號下面的波形就是信號通過COSTAS濾波器后的信號。通過COSTAS后,信號基本和原來的信號匹配了,說明COSTAS是正確的。圖5-10 解調以后的信號 以上結果表明:信號通過COSTAS后,得到了基本的還原。第六章 結論總結本文首先介紹了OQPSK調制解調技術的原理,并用MATLAB對其算法實現過程進行了仿真。在Xilinx ISE10.1中用verilog語言完成了OQPSK調制解調算法的軟件設計,實現了數字上下變頻、載波恢復、定時恢復、以太網發送等功能。根據系統設計指標,給出了調制解調器的硬件實現框圖,完成了調制解調器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論