MPSK調制與解調VHDL程序與仿真_第1頁
MPSK調制與解調VHDL程序與仿真_第2頁
MPSK調制與解調VHDL程序與仿真_第3頁
MPSK調制與解調VHDL程序與仿真_第4頁
MPSK調制與解調VHDL程序與仿真_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學FPGA原理及應用課程設計 課程設計任務書學生姓名: 專業班級: 指導教師: 工作單位: 題目:MPSK調制與解調VHDL程序與仿真初始條件:選擇的FPGA芯片不限,選用的仿真工具不限要求完成的主要任務:完成MPSK調制與解調FPGA實現過程,能熟練使用VHDL語言對其調制與解調程序的描述,以及對仿真結果的分析。時間安排:1、 2014年5月 30日,布置課設具體實施計劃與課程設計報告格式的要求說明。2、2014年5月31日至2014年6月15日,設計說明書撰寫。3、2014年6月18日,上交課程設計成果及報告,同時進行答辯。指導教師簽名: 2014年 月 日系主任(或責任教師)簽

2、名: 2014年 月 日摘要 本論文是為了設計在FPGA(Field-Programmable Gate Array,現場可編程門陣列)上實現MPSK(多進制相移鍵控)調制解調的功能。在Quartus 平臺上,運用VHDL硬件描述語言進行編程,對整個MPSK系統進行仿真,得到仿真時序圖,對程序代碼進行XST綜合,得到RTL視圖。仿真結果表明該設計的正確性以及可行性,更清晰直觀的了解到MPSK調制解調的原理。關鍵詞:MPSK;Quartus ;VHDL語言Abstract   This paper is designed to achieve MPSK (M-ary Phas

3、e Shift Keying) modulation and demodulation functions in FPGA (Field-Programmable Gate Array, a field programmable gate array) on. On the Quartus platform, the use of VHDL hardware description language programming for the entire MPSK system simulation, simulation timing diagram of the program code X

4、ST synthesis, get RTL view. Simulation results show the correctness and feasibility of the design, intuitive to understand more clearly the principle of MPSK modulation and demodulation. Keywords: MPSK; Quartus ; VHDL languageI目錄摘要IAbstractII目錄1引言21 MPSK調制解調的原理32 QPSK調制實現方法32.1相乘電路32.2選擇法43 QPSK解調實現

5、方法44 QPSK調制解調電路的FPGA實現過程54.1 QPSK調制解調實現依據54.2 QPSK調制及仿真結果54.3 QPSK解調及仿真結果75總結96參考文獻10附錄QPSK調制程序11附錄:QPSK解調程序12引言作為數字通信技術中重要組成部分的調制解調技術一直是通信領域的熱點課題。隨著當代通信的飛速發展,通信體制的變化也日新月異,新的數字調制方式不斷涌現并且得到實際應用。目前的模擬調制方式有很多種,主要有AM、FM、SSB、DSB、CW等,而數字調制方式的種類更加繁多,如ASK、FSK、MSK、GMSK、PSK、DPSK、 QPSK、QAM等。在眾多調制方式中,MPSK信

6、號由于抗干擾能力強而得到了廣泛的應用,具有較高的頻譜利用率和較好的誤碼性能,并且實現復雜度小,解調理論成熟,廣泛應用于數字微波、衛星數字通信系統、有線電視的上行傳輸、寬帶接入與移動通信等領域中,并已成為新一代無線接入網物理層和B3G通信中使用的基本調制方式?,F場可編程門陣列(Field Programmable Gate Array,FPGA)是20世紀90年代發展起來的大規模可編程邏輯器件,隨著電子設計自動化技術和微電子技術的進步,FPGA的時鐘延遲可達到ns級,結合其并行工作方式,在超高速、實時測控方面都有著非常廣闊的應用前景。FPGA具有高集成度、高可靠性等

7、特點,在電子產品設計中也將得到廣泛的應用。FPGA器件的另一特點是可用硬件描述語言VHDL對其進行靈活編程,可利用FPGA廠商提供的軟件仿真硬件的功能,使硬件設計如同軟件設計一樣靈活方便,縮短了系統研發周期?;谏鲜鰞烖c,用FPGA實現調制解調電路,不僅降低了產品成本,減小了設備體積,滿足了系統的需要,而且比專用芯片具有更大的靈活性和可控性。在資源允許下,還可以實現多路調制。 MPSK是目前應用非常廣泛的調制解調技術,目前MPSK調制的實現主要是利用數字電路和專用芯片來完成,通常利用可編程數字電路對基帶信號進行碼元變換,成形濾波等處理后得到同相分量和正交分量,然后將兩路信號分量經過數

8、模轉換獲得模擬信號送入一個正交相乘器與中頻載波調制得到中頻MPSK調制信號,該方法適合高碼率數字信號的傳輸,但系統的開放性和靈活性較差。MPSK調制與解調VHDL程序與仿真1 MPSK調制解調的原理 多進制數字相位調制又稱多相制,是二相制的推廣。它是利用載波的多種不同相位狀態來表征數字信息的調制方式。與二進制數字相位調制相同,多進制數字相位調制也有絕對相位調制(MPSK)和相對相位調制(MDPSK)兩種。 設載波為coswt,則M進制數字相位調制信號可表示為: 上式中,g(t)是高度為1,寬度為Tb的門函數,Tb為M進制碼元的持續時間,亦即k(k)比特二進制碼元的持續時間,為第n個碼元對應的相

9、位,共有M種不同取值,在本論文中M取4,所以取0°、90°、180°和270°四個相位 。令:,這樣可得: ,由此可見,MPSK信號可以看成是兩個正交載波進行多電平雙邊帶調制所得兩路MASK信號的疊加。這樣,就為MPSK信號的產生提供了依據。本次課程設計主要實現當M=4,即4PSK(正交相移鍵控,也稱QPSK)的調制與解調。2 QPSK調制實現方法2.1相乘電路 輸入基帶信號是二進制不歸零雙極性碼元,它被“串/并變換”電路變成兩路碼元。變成并行碼元后,其每個碼元的持續時間是輸入碼元的兩倍,如圖1所示。這兩路并行碼元序列分別用以兩路正交載波相乘,這兩路信號

10、在相加電路中相加后得到調制信號。圖1 正交調制的方法產生MPSK信號2.2選擇法輸入基帶信號經過串并變換后用于控制一個相位選擇電路,按照當時的輸入雙比特決定哪個相位的載波輸出。本次4PSK的FPGA實現方法采用的原理便是選擇法。3 QPSK解調實現方法由于4PSK信號可以看作是兩個載波正交的2PSK信號的合成,因此,對4PSK信號的解調可以采用與2PSK信號類似的解調方法進行。 圖2是4PSK信號相干解調器的組成方框圖。圖中兩個相互正交的相干載波分別檢測出兩個分量a和b,然后,經并/串變換器還原成二進制雙比特串行數字信號,從而實現二進制信息恢復,此法也稱為極性比較法。 圖2 4PSK信號相干解

11、調器的組成方框圖4 QPSK調制解調電路的FPGA實現過程4.1 QPSK調制解調實現依據 調制電路方框圖如圖3所示?;鶐盘柾ㄟ^串/井轉換得到兩位并行信號;四選一開關根據兩位并行信號選擇相應的載波輸出。 clock start基帶信號分頻串并變換四選一開關f1f2f3f4已調信號圖3 QPSK調制電路原理方框圖解調電路原理與調制電路相反,這里就不做過多介紹。4.2 QPSK調制及仿真結果信號yy載波相位載波波形載波符號“00”0°f3“01”90°f2“10”180°f1“11”270°f0 在程序中,clock為系統時鐘信號,start為開始調制信號

12、,start為高電平上升沿時開始進行MPSK調制,x為基帶信號,y為調制好的信號。表一 調制信號說明QPSK調制程序仿真波形如圖4所示:(a)QPSK調制VHDL程序仿真全圖(b)QPSK調制VHDL程序仿真局部放大圖圖4 QPSK調制VHDL程序仿真波形圖 仿真結果簡要說明:圖中輸入信號的一個碼元占兩個時鐘周期,通過觀察QPSK調制仿真局部放大圖可知已調信號y與輸入信號滿足表一中所描述的關系,已調輸出信號相比輸入信號要延遲一個周期,即八個時鐘周期。4.3 QPSK解調及仿真結果 解調信號說明如表2所示。將一個信號周期分成4份,高電平權值分別為0、0、0、0,低電平權值分別為1、1、2、3。在

13、程序中,clock為系統時鐘信號,start為開始調制信號,start為高電平上升沿時開始進行QPSK調制,x為調制信號,y為解調好的基帶信號。表2 解調信號說明載波波形載波相位加法器xx中間信號yyy0°0+0+2+3=5“00”90°0+1+2+0=3“01”180°1+1+0+0=2“10”270°1+0+0+3=4“11”MPSK解調程序仿真波形如圖5所示:(a)QPSK解調VHDL程序仿真全圖(b)QPSK解調VHDL程序仿真局部放大圖圖5 QPSK解調VHDL程序仿真波形圖 仿真結果簡要說明:圖中已調信號每個碼元占兩個時鐘周期,輸出基帶信號與

14、輸入已調信號相比,要延遲一個周期,但根據QPSK局部放大圖觀察可知,仿真結果與表二中的仿真說明相符合。5總結多進制數字調制技術與FPGA的結合使得通信系統的性能得到了迅速的提高。本文基于FPGA實現了MPSK調制解調電路部分。在實際應用中,完全可以把調制部分和解調部分電路都集成到一片FPGA芯片內,這樣即提高了FPGA內部結構的利用率,又可以降低系統的成本。多進制數字調制技術與FPGA的結合使得通信系統的性能得到了迅速的提高。本文基于FPGA實現了QPSK調制解調電路,該設計對其它類型的調制解調電路也有一定的參考作用。本文作者創新觀點:文中基于FPGA方式實現了QPSK數字調制解調電路的設計它

15、比傳統的模擬調制方式有著顯著的優越性通信鏈路中的任何不足均可以借助于軟件根除,不僅可以實現信息加密,而且還可以通過相應的誤差校準技術,使接收到數據準確性更高。此外,本文采用了相位選擇法進行QPSK解調設計,與常用的調相解調法相比,設計更簡單,更適合于FPGA實現,系統的可靠性也更高。               6參考文獻【1】徐以濤,沈良,王金龍FPGA技術在軟件無線電中的應用【J】電信科學,200l(11):36-39【2】樊昌信,張甫翊,徐炳祥,等通

16、信原理【M】第五版.北京:國防工業出版社,2001.【3】陽晰高速數字調制解調【D】.成都:電子科技大學,2005 【4】損增友.基于FPGA的MPSK調制器的設計【J】.數字技術與應用,2009(7):19-20.【5】詹仙寧,田耘.VHDL開發精解與實例剖析【M】.北京:電子工業出版社,2009.附錄QPSK調制程序library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_MPSK isport(clock :in std_l

17、ogic; -系統時鐘 start :in std_logic; -開始調制信號 x :in std_logic; -基帶信號 y :out std_logic); -調制信號end PL_MPSK;architecture behav of PL_MPSK issignal q:integer range 0 to 7; -計數器signal xx:std_logic_vector(1 downto 0); -中間寄存器signal yy:std_logic_vector(1 downto 0); -2位并行碼寄存器signal f:std_logic_vector(3 downto 0);

18、 -載波fbeginprocess(clk) -通過對clk分頻,得到4種相位;并完成基帶信號的串并轉換beginif clk'event and clk='1' then if start='0' then q<=0; elsif q=0 then q<=1;f(3)<='1' f(1)<='0' xx(1)<=x;yy<=xx; elsif q=2 then q<=3;f(2)<='0' f(0)<='1' elsif q=4 the

19、n q<=5;f(3)<='0' f(1)<='1' xx(0)<=x; elsif q=6 then q<=7;f(2)<='1' f(0)<='0' elsif q=7 then q<=0; else q<=q+1; end if;end if;end process;y<=f(0) when yy="11" else f(1) when yy="10" else f(2) when yy="01" else

20、 f(3); -根據yy寄存器數據,輸出對應的調制信號end behav;附錄:QPSK解調程序library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_MPSK2 isport(clock :in std_logic; -系統時鐘 start :in std_logic; -同步信號 x :in std_logic; -調制信號 y :out std_logic); -基帶信號end PL_MPSK2;architecture

21、behav of PL_MPSK2 issignal q:integer range 0 to 7; -計數器signal xx:std_logic_vector(2 downto 0); -加法器signal yyy:std_logic_vector(1 downto 0); -2位并行基代信號寄存器signal yy:std_logic_vector(2 downto 0); -寄存xx數據beginprocess(clk)beginif clock'event and clock='1' then if start='0' then q<=0; elsif q=0 then q<=1;yy<=xx; y<=yyy(0); -把加法計數器的數據送入yy寄存器 if x='0' then xx<="001" -調制信號x為低電平時,送入加法器的數據“001” else xx<="000" end if; elsif q=2 then q<=3; if x='0' then xx<=xx+"001" -調制信號x為低電平時,

溫馨提示

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

評論

0/150

提交評論