




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、AbstractMultiple Phase Shift Keying (MPSK - multiple phase shift keying) is also called multi-phase system, which is the promotion of the two-phase system. It is the modulation to characterize digital information using the different carriers phase state. Similar with the Binary Digital Phase Modulat
2、ion, it has the absolute phase modulation (MPSK) and phase modulation (MDPSK) as the two kinds of modulation methods.This article is mainly about the Multiple Phase Shift Keying system (MPSK) based on Xilinx ISE simulation software design, setting 4PSK as an example. The modulation method is the sim
3、ple phase-selection method. It only concentrates on the design of digital system, neglecting the analog circuit system.Keywords: Multiple Phase Shift Keying MPSK Xilinx ISE phase-selection method摘 要多進(jìn)制數(shù)字相位調(diào)制(MPSK - multiple phase shift keying)又稱多相制,是二相制的推廣。它是利用載波的多種不同相位狀態(tài)來表征數(shù)字信息的調(diào)制方式。與二進(jìn)制數(shù)字相位調(diào)制相同,多進(jìn)
4、制數(shù)字相位調(diào)制也有絕對(duì)相位調(diào)制(MPSK)和相對(duì)相位調(diào)制(MDPSK)兩種。本文主要研究基于Xilinx ISE仿真軟件設(shè)計(jì)的多進(jìn)制數(shù)字相位調(diào)制(MPSK)系統(tǒng),以4PSK系統(tǒng)為例。調(diào)制方法采用簡便的相位選擇法,且略去模擬電路系統(tǒng)部分,僅對(duì)數(shù)字系統(tǒng)進(jìn)行設(shè)計(jì)。關(guān)鍵字: 多進(jìn)制數(shù)字相位調(diào)制 MPSK Xilinx ISE 相位選擇法武漢理工大學(xué)FPGA課程設(shè)計(jì)說明書目錄Abstract1摘 要11 多進(jìn)制數(shù)字相位調(diào)制11.1 MPSK概念11.2 MPSK原理12 四相相位調(diào)制(4PSK)22.1 4PSK調(diào)制22.1.1相位選擇法22.1.2 直接調(diào)相法32.2 4PSK解調(diào)42.3 4PSK調(diào)
5、制與解調(diào)系統(tǒng)設(shè)計(jì)53 ISE設(shè)計(jì)與仿真73.1 ISE 操作環(huán)境73.1.1 輸入(Design Entry)73.1.2 綜合(Synthesis)83.1.3實(shí)現(xiàn)(Implementation)83.1.4驗(yàn)證(Verification)83.1.5下載(Download)93.2 ISE程序設(shè)計(jì)93.2.1 調(diào)制系統(tǒng)程序設(shè)計(jì)93.2.2解調(diào)系統(tǒng)程序設(shè)計(jì)103.3仿真結(jié)果114總結(jié)125參考文獻(xiàn)136 附錄14附錄1 調(diào)制系統(tǒng)源程序14附錄2 解調(diào)程序源程序18附錄3仿真波形圖2426多進(jìn)制數(shù)字相位調(diào)制(MPSK)系統(tǒng)1 多進(jìn)制數(shù)字相位調(diào)制1.1 MPSK概念多進(jìn)制數(shù)字相位調(diào)制也稱多元調(diào)相
6、或多相制。它利用具有多個(gè)相位狀態(tài)的正弦波來代表多組二進(jìn)制信息碼元,即用載波的一個(gè)相位對(duì)應(yīng)于一組二進(jìn)制信息碼元。如果載波有2k個(gè)相位,它可以代表 k位二進(jìn)制碼元的不同碼組。多進(jìn)制相移鍵控也分為多進(jìn)制絕對(duì)相移鍵控和多進(jìn)制相對(duì)(差分)相移鍵控。M進(jìn)制數(shù)字相位調(diào)制中,四進(jìn)制絕對(duì)移相鍵控(4PSK,又稱QPSK)和四進(jìn)制差分相位鍵控(4DPSK,又稱QDPSK)用的最為廣泛。1.2 MPSK原理在MPSK信號(hào)中,載波相位可取M個(gè)可能值:因此,MPSK信號(hào)可表示為:假定載波頻率是基帶數(shù)字信號(hào)速率的整數(shù)倍,則上式可改寫為:上式表明,MPSK信號(hào)可等效為兩個(gè)正交載波進(jìn)行多電平雙邊帶調(diào)幅所得已調(diào)波之和。因此其帶
7、寬與MASK信號(hào)帶寬相同,帶寬的產(chǎn)生也可按類似于產(chǎn)生雙邊帶正交調(diào)制信號(hào)的方式實(shí)現(xiàn)。多相制信號(hào)常用的產(chǎn)生方法有:直接調(diào)相法及相位選擇法。2 四相相位調(diào)制(4PSK)四相調(diào)相信號(hào)是一種四狀態(tài)符號(hào),即符號(hào)有00、01、10、11四種狀態(tài)。所以,對(duì)于輸入的二進(jìn)制序列,首先必須分組,每兩位碼元一組。然后根據(jù)組合情況,用載波的四種相位表征它們。這種由兩個(gè)碼元構(gòu)成一種狀態(tài)的符號(hào)碼元稱為雙比特碼元。同理,k位二進(jìn)制碼構(gòu)成一種狀態(tài)符號(hào)的碼元?jiǎng)t稱為k比特碼元。2.1 4PSK調(diào)制2.1.1相位選擇法在一個(gè)碼元持續(xù)時(shí)間內(nèi),MPSK信號(hào)為載波四個(gè)相位中的某一個(gè)。因此,可以用相位選擇法產(chǎn)生4PSK信號(hào),其原理如下圖所示
8、。圖中,四相載波發(fā)生器產(chǎn)生4PSK信號(hào)所需的四種不同相位的載波。輸入的二進(jìn)制數(shù)碼經(jīng)串/并變換器輸出雙比特碼元。按照輸入的雙比特碼元的不同,邏輯選相電路輸出相應(yīng)相位的載波。例如,B方式情況下,雙比特碼元ab為11時(shí),輸出相位為45的載波;雙比特碼元ab為01時(shí),輸出相位為135的載波等。圖2-1 相位選擇法產(chǎn)生4PSK信號(hào)(B方式)方框圖圖2-1產(chǎn)生的是B方式的4PSK信號(hào)。要想形成A方式的4PSK信號(hào),只需調(diào)整四相載波發(fā)生器輸出的載波相位即可。2.1.2 直接調(diào)相法4PSK信號(hào)也可以采用正交調(diào)制的方式產(chǎn)生。四相PSK(4PSK)信號(hào)實(shí)際是兩路正交雙邊帶信號(hào)。串行輸入的二進(jìn)制碼,兩位分成一組。若
9、前一位用A表示,后一位用B表示,經(jīng)串/并變換后變成寬度加倍的并行碼(A、B碼元在時(shí)間上是對(duì)齊的)。再分別進(jìn)行極性變換,把單極性碼變成雙極性碼,然后與載波相乘,形成正交的雙邊帶信號(hào),加法器輸出形成4PSK信號(hào)。顯然,此系統(tǒng)產(chǎn)生的是/4系統(tǒng)PSK信號(hào)。如果產(chǎn)生/2系統(tǒng)的PSK信號(hào),只需把載波移相/4后再加到乘法器上即可。 圖2-2 /4系統(tǒng)信號(hào)產(chǎn)生的原理框圖 /4系統(tǒng)信號(hào)產(chǎn)生的原理框圖如圖2-2。若要產(chǎn)生4PSK的A方式波形,只需適當(dāng)改變振蕩載波相位就可實(shí)現(xiàn)。2.2 4PSK解調(diào)因?yàn)?PSK信號(hào)是兩個(gè)正交的2 PSK信號(hào)的合成,所以可仿照 2 PSK信號(hào)的相平解調(diào)方法,用兩個(gè)正交的相干載波分別檢測
10、A和B兩個(gè)分量,然后還原成串行二進(jìn)制數(shù)字信號(hào),即可完成4 PSK信號(hào)的解調(diào)。此法是一種正交相平解調(diào)法,又稱極性比較法,原理圖如圖2-3。 圖2-3 /4系統(tǒng)PSK信號(hào)解調(diào)原理框圖為了分析方便,可不考慮噪聲的影響。這樣,加到接收機(jī)上的信號(hào)在符號(hào)持續(xù)時(shí)間內(nèi)可表示為:假定討論的/4相移系統(tǒng),那么相位只能取/4,3/4,5/4,7/4。兩路乘法器的輸出分別為:LPF輸出分別是:根據(jù)/4移相系統(tǒng)PSK信號(hào)的相位配置規(guī)定,抽樣判決器的判決準(zhǔn)則表如表2-1。當(dāng)判決器按極性判決時(shí),若正抽樣值判為1,負(fù)抽樣值判為0,則可將調(diào)相信號(hào)解調(diào)為相應(yīng)的數(shù)字信號(hào)。解調(diào)出的A和B再經(jīng)并/串變換,就可還原出原調(diào)制信號(hào)。若解調(diào)/
11、2移相系統(tǒng)的PSK信號(hào),需改變移相網(wǎng)絡(luò)判決準(zhǔn)則。若解調(diào)4PSK信號(hào)(A方式),只需適當(dāng)改變相移網(wǎng)絡(luò)。 表2-1 n/4判決器的判決準(zhǔn)則表2.3 4PSK調(diào)制與解調(diào)系統(tǒng)設(shè)計(jì)MPSK調(diào)制電路系統(tǒng)框圖如圖2-4,電路符號(hào)圖中沒有包含模擬電路部分,輸出信號(hào)為數(shù)字信號(hào)?;鶐盘?hào)通過串/并轉(zhuǎn)換器xx得到2位并行信號(hào)yy;四選一開關(guān)根據(jù)yy的數(shù)據(jù),選擇載波對(duì)應(yīng)的相位進(jìn)行輸出,即得調(diào)制信號(hào) y。圖2-4 MPSK調(diào)制電路系統(tǒng)框圖MPSK調(diào)制電路符號(hào)如圖2-5。圖2-5 MPSK調(diào)制電路符號(hào)圖2-6是MPSK解調(diào)方框圖,圖中沒有包含模擬電路部分,調(diào)制信號(hào)為數(shù)字信號(hào)形式。當(dāng)調(diào)制為低電平時(shí),譯碼器1根據(jù)q值,送入加
12、法器xx相應(yīng)的數(shù)據(jù)。圖2-6 MPSK解調(diào)方框圖加法器把運(yùn)算結(jié)果送到寄存器yy,譯碼2根據(jù)yy數(shù)據(jù)通過譯碼,輸出2位并行信號(hào)yyy, yyy再通過并/串轉(zhuǎn)換,就可得到解調(diào)后的基帶信號(hào)y。3 ISE設(shè)計(jì)與仿真Altera和Xilinx是全球知名的FPGA生產(chǎn)廠商,二者的開發(fā)產(chǎn)品Quartus和ISE均可作為本設(shè)計(jì)使用的軟件,選擇哪個(gè)在產(chǎn)品設(shè)計(jì)中視使用的芯片類型而定。本設(shè)計(jì)僅進(jìn)行軟件仿真,從學(xué)習(xí)的方面考慮,使用Xilinx公司的ISE配合ModelSim進(jìn)行設(shè)計(jì)仿真,設(shè)計(jì)語言為VHDL語言。VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多EDA公司支持,在電子工程領(lǐng)域,已成為事
13、實(shí)上的通用硬件描述語言。Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。3.1 ISE 操作環(huán)境ISE的全稱為Integrated Software Environment,即“集成軟件環(huán)境”,是Xilinx公司的硬件設(shè)計(jì)工具。作為相對(duì)容易使用的、首屈一指的PLD設(shè)計(jì)環(huán)境,SE將先進(jìn)的技術(shù)與靈活性、易使用性的圖形界面結(jié)合在一起,能使設(shè)計(jì)者在最短的時(shí)間,以最少的努力,達(dá)到最佳的硬件設(shè)計(jì)。利用Xilinx公司的ISE開發(fā)設(shè)計(jì)軟件的工程設(shè)計(jì)流程,具體分為五個(gè)步驟:即輸入(Design Entr
14、y)、綜合(Synthesis)、實(shí)現(xiàn)(Implementation)、驗(yàn)證(Verification)、下載(Download)。3.1.1 輸入(Design Entry)為了克服原理圖輸入方法的缺點(diǎn),目前在大型工程設(shè)計(jì)中,在ISE軟件中常用的設(shè)計(jì)方法是HDL設(shè)計(jì)輸入法,其中影響最為廣泛的HDL語言是VHDL和Verilog HDL。它們的共同優(yōu)點(diǎn)是利于由頂向下設(shè)計(jì),利于模塊的劃分與復(fù)用,可移植性好,通用性強(qiáng),設(shè)計(jì)不因芯片的工藝和結(jié)構(gòu)的變化而變化,更利于向ASIC的移植,故在ISE軟件中推薦使用HDL設(shè)計(jì)輸入法。3.1.2 綜合(Synthesis)綜合是將行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)化
15、為低層次模塊的組合。一般來說,綜合是針對(duì)VHDL來說的,即將VHDL描述的模型、算法、行為和功能描述轉(zhuǎn)換為FPGA/CPLD基本結(jié)構(gòu)相對(duì)應(yīng)的網(wǎng)表文件,即構(gòu)成對(duì)應(yīng)的映射關(guān)系。3.1.3實(shí)現(xiàn)(Implementation)實(shí)現(xiàn)是根據(jù)所選的芯片的型號(hào)將綜合輸出的邏輯網(wǎng)表適配到具體器件上。Xilinx ISE的實(shí)現(xiàn)過程分為:翻譯(Translate)、映射(Map)、布局布線(Place & Route)等3個(gè)步驟。ISE集成的實(shí)現(xiàn)工具主要有約束編輯器Constraints Editor)、引腳與區(qū)域約束編輯器(PACE)、時(shí)序分析器(Timing Analyzer)、FPGA底層編輯器(FG
16、PA Editor)、芯片觀察窗(Chip Viewer)和布局規(guī)劃器(Floorplanner)等。3.1.4驗(yàn)證(Verification) 驗(yàn)證(Verification)包含綜合后仿真和功能仿真(Simulation)等。功能仿真就是對(duì)設(shè)計(jì)電路的邏輯功能進(jìn)行模擬測試,看其是否滿足設(shè)計(jì)要求,通常是通過波形圖直觀地顯示輸入信號(hào)與輸出信號(hào)之間的關(guān)系。綜合后仿真在針對(duì)目標(biāo)器件進(jìn)行適配之后進(jìn)行,綜合后仿真接近真實(shí)器件的特性進(jìn)行,能精確給出輸入與輸出之間的信號(hào)延時(shí)數(shù)據(jù)。3.1.5下載(Download)下載(Download)即編程(Program)設(shè)計(jì)開發(fā)的最后步驟就是將已經(jīng)仿真實(shí)現(xiàn)的程序下載到
17、開發(fā)板上,進(jìn)行在線調(diào)試或者說將生成的配置文件寫入芯片中進(jìn)行測試。在ISE中對(duì)應(yīng)的工具是iMPACT。3.2 ISE程序設(shè)計(jì)本設(shè)計(jì)程序采用VHDL程序設(shè)計(jì)。分別創(chuàng)建工程文件MPSK和MPSK2作為調(diào)制系統(tǒng)和解調(diào)系統(tǒng)設(shè)計(jì)文件。因?yàn)樗械妮斎氩ㄐ魏洼d波均只有四種,且數(shù)字系統(tǒng)較難使用直接調(diào)相法和相干解調(diào)法,調(diào)制采用相位選擇法,解調(diào)部分則枚舉各個(gè)載波情況分別譯碼。ISE提供了非常方便的VHDL編寫環(huán)境,可詳細(xì)的把各種類型文件分類,可根據(jù)設(shè)計(jì)者的端口要求自動(dòng)創(chuàng)建module,幫助設(shè)計(jì)者填寫一些普遍的架構(gòu),設(shè)計(jì)者只需填入中心內(nèi)容即可。與Quartus不同的是,ISE的時(shí)鐘和激勵(lì)輸入需要寫在一個(gè)與相關(guān)文件關(guān)聯(lián)
18、的用VHDL語言編寫的testbench文件里,低級(jí)的版本可以創(chuàng)建testbench waveform文件進(jìn)行波形圖形輸入,高版本已完全取消圖形輸入。對(duì)于波形輸入較多且較復(fù)雜的工程,testbench文件相當(dāng)?shù)厥r(shí)和有效。并且確認(rèn)了關(guān)聯(lián)文件后,ISE會(huì)自動(dòng)進(jìn)行空實(shí)體聲明,信號(hào)賦初值,結(jié)構(gòu)體建立,元件配置和例化,生成進(jìn)程框架等程序的書寫,余下的工作十分簡單3.2.1 調(diào)制系統(tǒng)程序設(shè)計(jì)調(diào)制系統(tǒng)程序見附錄1。調(diào)制信號(hào)說明見表3-1。表3-1 調(diào)制信號(hào)說明其中實(shí)體的四個(gè)端口中clk、start、x為輸入類型,分別作為系統(tǒng)時(shí)鐘、開始調(diào)制信號(hào)、基帶信號(hào)。只有一個(gè)輸出類型y,作為調(diào)制信號(hào)的輸出端。唯一的進(jìn)程
19、通過對(duì)clk分頻,得到4種相位;并完成基帶信號(hào)的串并轉(zhuǎn)換。端口y根據(jù)yy寄存器數(shù)據(jù),輸出對(duì)應(yīng)的載波。yy寄存器則在時(shí)鐘課計(jì)數(shù)器的控制下定時(shí)讀取中間寄存器xx的值作為載波輸出的依據(jù)。Testbench程序中,按照原程序的設(shè)計(jì),設(shè)置每個(gè)碼元長度為時(shí)鐘長度的四倍。時(shí)鐘和激勵(lì)分別在兩個(gè)進(jìn)程中。用wait for語句保證編碼從時(shí)鐘上升沿開始使波形整齊便于觀察。同時(shí)為了觀察所有類型的基帶信號(hào)輸入設(shè)置x為00011011的循環(huán)。3.2.2 解調(diào)系統(tǒng)程序設(shè)計(jì)解調(diào)程序MPSK2和對(duì)應(yīng)的testbench程序見附錄2。解調(diào)信號(hào)說明如表3-2所示。將一個(gè)信號(hào)周期分成4份,高電平權(quán)值分別為0、0、0、0,低電平權(quán)值分
20、別為1、1、2、3。表3-2 解調(diào)信號(hào)說明解調(diào)程序的端口數(shù)量和名稱和調(diào)制程序完全相同,不同的是輸入x為調(diào)制信號(hào),輸出y為基帶信號(hào)。中間變量較前者多了一個(gè)加法器xx,每個(gè)周期的加法結(jié)果有四種剛好對(duì)應(yīng)四種中間信號(hào)yyy,也即將要輸出的基帶信號(hào)。程序中的個(gè)進(jìn)程以寄存xx周期末數(shù)據(jù)的yy為敏感列表完成表3-2的轉(zhuǎn)換。yy的信號(hào)來源在一個(gè)進(jìn)程中由clk觸發(fā)??刂戚敵龅牟辉偈菚r(shí)鐘信號(hào),因時(shí)鐘信號(hào)上升沿到來時(shí)輸出的是上升沿之前yyy的值,把本周期和上一周期混在一起輸出得到的結(jié)果毫無意義,clk之外的信號(hào)的跳變單獨(dú)作用的結(jié)果也同樣,因此必須有yyy自己參與控制。因yyy一個(gè)載波周期僅跳變一次,故需要和計(jì)數(shù)器q
21、共同作為敏感信號(hào)控制輸出。調(diào)試中發(fā)現(xiàn)的另一個(gè)問題是毛刺問題,因在q=1時(shí)yyy可能處在跳變過程,該跳變也會(huì)被輸出,解決方法是延遲1ns再輸出。程序中的另一個(gè)進(jìn)程以寄存xx周期末數(shù)據(jù)的yy為敏感列表完成表3-2的轉(zhuǎn)換。Testbench程序編寫也與MPSK相似,同樣控制波形的整齊度,實(shí)現(xiàn)載波信號(hào)的全部循環(huán)出現(xiàn)。3.3仿真結(jié)果分別運(yùn)行兩個(gè)testbench程序,啟動(dòng)ModelSim進(jìn)行仿真,添加所有變量到波形,得到調(diào)制系統(tǒng)和解調(diào)系統(tǒng)的仿真圖形分別如圖3-1和圖3-2。清晰波形圖見附錄3。仿真結(jié)果顯示,系統(tǒng)程序設(shè)計(jì)成功。圖3-1 調(diào)制系統(tǒng)仿真波形圖3-2 解調(diào)系統(tǒng)仿真波形4總結(jié)本文以多進(jìn)制數(shù)字相位調(diào)
22、制與解調(diào)系統(tǒng)的ISE和ModelSim為研究對(duì)象,進(jìn)行了VHDL程序和ISE+Model仿真的學(xué)習(xí)和實(shí)踐設(shè)計(jì)。通過理論學(xué)習(xí)及軟件仿真我不僅更加深刻的理解了FPGA的相關(guān)概念,掌握了VHDL語言的靈活運(yùn)用,同時(shí)學(xué)習(xí)了ISE和ModelSim的使用,鍛煉了編程能力和邏輯分析能力,感受到了學(xué)習(xí)理論知識(shí)并將其用于實(shí)踐的快樂,達(dá)到了課程設(shè)計(jì)的預(yù)期目的。通過本次設(shè)計(jì),讓我學(xué)到了一些在課堂學(xué)不到的知識(shí)和能力,如查找資料、篩選信息并將有用信息運(yùn)用到實(shí)際中,很好的鍛煉了理論聯(lián)系實(shí)際,與具體項(xiàng)目、課題相結(jié)合開發(fā)的能力。同時(shí)也讓我們學(xué)會(huì)了怎樣更好的發(fā)現(xiàn)問題,解決問題,積累了一些解決問題的經(jīng)驗(yàn)。既讓我們懂得了怎樣把理
23、論應(yīng)用于實(shí)際,又讓我們懂得了在實(shí)踐中遇到的問題怎樣用理論去解決。VHDL程序的編寫,對(duì)于不經(jīng)常使用的初學(xué)者我來說,就已經(jīng)是一種極大的考驗(yàn)。為了課設(shè)目標(biāo)的完成,我用了最快的時(shí)間最高的效率,綜合書籍網(wǎng)絡(luò)資料各種資料,終于達(dá)到了可以自己編寫的程度。另外ISE的搜索安裝也是一個(gè)漫長和曲折的過程,因?yàn)殡娔X系統(tǒng)問題用不了ISE的自帶仿真器,不得不安裝了ModelSim,卻使我以為發(fā)現(xiàn)了一個(gè)非常強(qiáng)大的仿真軟件,ISE的便利和智能很讓我欣喜。Testbench文件的發(fā)現(xiàn)和學(xué)習(xí)也花費(fèi)了我很長的時(shí)間和精力,學(xué)會(huì)后又覺得它真的十分有用。從一個(gè)什么都不懂的小白成為一個(gè)略知一二的入門者,是艱辛而又開心的體驗(yàn)。感謝老師的
24、教育和督促,感謝同學(xué)們的幫助,這次課設(shè)我真的感悟良多,受益匪淺,我對(duì)科學(xué)技術(shù)的渴求和探索仍將繼續(xù),永不停止。5參考文獻(xiàn) 1 FPGA應(yīng)用技術(shù)基礎(chǔ)教程.電子工業(yè)出版社 .20042 VHDL語言程序設(shè)計(jì)及應(yīng)用. 北京郵電大學(xué)出版社 .20043 VHDL與FPGA設(shè)計(jì). 中國鐵道出版社 .2003 4 FPGA/CPLD設(shè)計(jì)工具Xilinx ISE使用詳解. 人民郵電出版社 .2005.01 5 ModelSim電子系統(tǒng)分析及仿真. 電子工業(yè)出版社 , 2011.126 怎樣用VHDL寫TESTBENCH. 百度文庫文檔學(xué)習(xí)資料6 附錄附錄1 調(diào)制系統(tǒng)源程序MPSK文件:library IEEE
25、;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity MPSK is Port ( clk : in STD_LOGIC; start : in STD_LOGIC; x : in STD_LOGIC; y : out STD_LOGIC);end MPSK;architecture Behavioral of MPSK issignal q:integer range 0 to 7; -計(jì)數(shù)器signal xx:std_logic_vector(1 do
26、wnto 0);-中間寄存器signal yy:std_logic_vector(1 downto 0);-2位并行碼寄存器signal f:std_logic_vector(3 downto 0); -載波fbeginprocess(clk)-通過對(duì)clk分頻,得到4種相位;并完成基帶信號(hào)的串并轉(zhuǎn)換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
27、(1)<=x;yy<=xx; elsif q=2 then q<=3;f(2)<='0' f(0)<='1' elsif q=4 then q<=5;f(3)<='0' f(1)<='1' xx(0)<=x; elsif q=6 then q<=7;f(2)<='1' f(0)<='0' else q <= (q+1)rem 8; end if;end if;end process;y<=f(0) when yy=&
28、quot;11" else f(1) when yy="10" else f(2) when yy="01" else f(3); -根據(jù)yy寄存器數(shù)據(jù),輸出對(duì)應(yīng)的載波end Behavioral;MPSK_TEST文件:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;ENTITY MPSK_TEST_vhd ISEND MPSK_TEST_vhd;ARCHITECTURE behavior OF
29、MPSK_TEST_vhd IS COMPONENT MPSKPORT(clk : IN std_logic;start : IN std_logic;x : IN std_logic;y : OUT std_logic);END COMPONENT;-InputsSIGNAL clk : std_logic := '0'SIGNAL start : std_logic := '0'SIGNAL x : std_logic := '0'SIGNAL y : std_logic := '0'CONSTANT clk_period :
30、 time :=40 ns;BEGINuut: MPSK PORT MAP(clk => clk,start => start,x => x,y => y);clk_gen1 : PROCESS -時(shí)鐘進(jìn)程BEGINclk <='1'wait for clk_period/2;clk <='0'wait for clk_period/2;END PROCESS;tb : PROCESS -激勵(lì)進(jìn)程BEGIN- Wait 100 ns for global reset to finishif start ='0'
31、then wait for 120 ns;start <='1'end if;x<='0'wait for 480 ns;x<='1'wait for 320 ns;x <='0'wait for 160 ns;x <='1' ;wait for 320 ns;END PROCESS;END;附錄2 解調(diào)程序源程序MPSK2文件:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.
32、std_logic_unsigned.all;entity MPSK2 isport(clk :in std_logic; -系統(tǒng)時(shí)鐘 start :in std_logic; -同步信號(hào) x :in std_logic; -調(diào)制信號(hào) y :out std_logic); -基帶信號(hào)end MPSK2;architecture behav of MPSK2 issignal q:integer range 0 to 7; -計(jì)數(shù)器signal xx:std_logic_vector(2 downto 0):="000" -加法器signal yyy:std_logic_ve
33、ctor(1 downto 0); -2位并行基代信號(hào)寄存器signal yy:std_logic_vector(2 downto 0); -寄存xx數(shù)據(jù)beginprocess(clk)beginif clk'event and clk='1' then if start='0' then q<=0; elsif q=0 then q<=1;yy<=xx; -把加法計(jì)數(shù)器的數(shù)據(jù)送入yy寄存器 if x='0' then xx<="001" -調(diào)制信號(hào)x為低電平時(shí),送入加法器的數(shù)據(jù)“001” e
34、lse xx<="000" end if; elsif q=2 then q<=3; if x='0' then xx<=xx+"001" -調(diào)制信號(hào)x為低電平時(shí),送入加法器“001” end if; elsif q=4 then q<=5; if x='0' then xx<=xx+"010" -調(diào)制信號(hào)x為低電平時(shí),送入加法器的數(shù)據(jù)“010” end if; elsif q=6 then q<=7; if x='0' then xx<=xx+
35、"011" -調(diào)制信號(hào)x為低電平時(shí),送入加法器的數(shù)據(jù)“011” end if; else q<=(q+1) rem 8; end if;end if;end process;process(yy) -此進(jìn)程根據(jù)yy寄存器里的數(shù)據(jù)進(jìn)行譯碼beginif yy'event then if yy="101" then yyy<="00" -yy寄存器“101”對(duì)應(yīng)基帶碼“00” elsif yy="011" then yyy<="01" -yy寄存器“011”對(duì)應(yīng)基帶碼“01
36、” elsif yy="010" then yyy<="10" -yy寄存器“010”對(duì)應(yīng)基帶碼“10” elsif yy="100" then yyy<="11" -yy寄存器“100”對(duì)應(yīng)基帶碼“11” else yyy<="00" end if;end if;end process;process(yyy,q) -此進(jìn)程根據(jù)yyy寄存器里的數(shù)據(jù)進(jìn)行譯碼beginif yyy'event or q'event then if q=1 then y <= yyy(1) after 1 ns; elsif q=5 then y <= yyy(0); else null ; end if;end if;end process;end behav;MPSK2_TEST文件:LIBRARY
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 硫酸鉀鎂肥企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 折疊水杯企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 2025年制劑仿制藥項(xiàng)目發(fā)展計(jì)劃
- 二零二五美容行業(yè)美容院美容護(hù)理服務(wù)合同
- 二零二五年度智能能源管理系統(tǒng)合同簽訂授權(quán)委托書
- 二零二五年度汽車保險(xiǎn)代理買賣合同示范文本
- 二零二五年度醫(yī)療衛(wèi)生機(jī)構(gòu)勞動(dòng)合同模板
- 二零二五年度城市綠化帶粉刷墻工程服務(wù)協(xié)議
- 二零二五年度預(yù)算合同部關(guān)鍵績效監(jiān)控與反饋協(xié)議
- 二零二五年度高端電力設(shè)施采購協(xié)議
- 辦公用品供貨服務(wù)計(jì)劃方案
- DB37∕T 5107-2018 城鎮(zhèn)排水管道檢測與評(píng)估技術(shù)規(guī)程
- 2022新冠疫苗疑似預(yù)防接種異常反應(yīng)監(jiān)測和處置方案
- 酒精溶液體積濃度、質(zhì)量濃度與密度對(duì)照表
- 主要腸內(nèi)營養(yǎng)制劑成分比較
- 老年人各系統(tǒng)的老化改變
- 小學(xué)五年級(jí)綜合實(shí)踐課教案
- 煤礦井下供電常用計(jì)算公式及系數(shù)
- ISO14001:2015中文版(20211205141421)
- 汽車總裝車間板鏈輸送線的應(yīng)用研究
- 工作日志模板
評(píng)論
0/150
提交評(píng)論