摘要:該文根據(jù)QDPSK調(diào)制解調(diào)系統(tǒng)基本工作原理,在QuartusⅡ下分別對組成系統(tǒng)所需的信號發(fā)生、串/并轉(zhuǎn)換、差分編碼、調(diào)制、解調(diào)、差分解碼和并/串轉(zhuǎn)模塊進(jìn)行分模塊設(shè)計(jì),并在此基礎(chǔ)上進(jìn)行QDPSK系統(tǒng)的拼裝、仿真與設(shè)計(jì)。將QuartusⅡ下得到的仿真程序下載到FPGA芯片上,用示波器測試系統(tǒng)輸入輸出波形,測試結(jié)果表明設(shè)計(jì)的QDPSK調(diào)制解調(diào)系統(tǒng)能正確工作。
關(guān)鍵詞: 四相差分相位鍵控;QuartusⅡ;FPGA;調(diào)制解調(diào)系統(tǒng)
中圖分類號:TN911 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)28-6662-04
QDPSK是四進(jìn)制差分移相鍵控技術(shù),具有頻譜利用率高、抗干擾能力強(qiáng)的特點(diǎn),在移動(dòng)通信、衛(wèi)星通信中得到了廣泛應(yīng)用,本文在QuartusⅡ環(huán)境下對QDPSK系統(tǒng)進(jìn)行了設(shè)計(jì)仿真。
1 系統(tǒng)總體設(shè)計(jì)方案
本設(shè)計(jì)采用的QDPSK調(diào)制解調(diào)方案為:采用選相法進(jìn)行調(diào)制,采用波形譯碼進(jìn)行解調(diào)。
系統(tǒng)整體設(shè)計(jì)原理框圖如圖1所示[1-2]。
調(diào)制時(shí)首先將得到的基帶原始碼序列x經(jīng)過串并轉(zhuǎn)換得到絕對碼[AKBK],再對其進(jìn)行差分編碼,得到相對碼[akbk]。用所得的相對碼去調(diào)制載波,就得到了已調(diào)信號。解調(diào)時(shí):根據(jù)調(diào)制的載波信號翻譯出相對碼組。相對碼經(jīng)過差分反變換,得到絕對碼。將所得到的絕對碼經(jīng)過并/串轉(zhuǎn)換,就可恢復(fù)出原始信號x。
2 在QuartusⅡ下QDPSK調(diào)制解調(diào)系統(tǒng)各模塊設(shè)計(jì)
2.1 信號發(fā)生模塊設(shè)計(jì)
該模塊產(chǎn)生一串?dāng)?shù)字序列作為系統(tǒng)基帶碼。通??刹捎肕序列發(fā)生器或PN碼發(fā)生器。此次設(shè)計(jì)采用直接賦值的方法,即在給定頻率clk4下,計(jì)數(shù)器每計(jì)一次,給定一個(gè)值,此值作為一個(gè)碼元輸出。計(jì)數(shù)器總共計(jì)16次,計(jì)夠次數(shù)后進(jìn)行循環(huán),產(chǎn)生有16個(gè)碼元的循環(huán)序列。
在QuartusⅡ下進(jìn)行信號發(fā)生模塊的設(shè)計(jì)仿真,得到其封裝圖如圖2所示,時(shí)序仿真圖如圖3所示。
2.2 串/并轉(zhuǎn)換模塊設(shè)計(jì)
根據(jù)串/并轉(zhuǎn)換原理,該模塊程序設(shè)計(jì)流程如圖4所示。同時(shí)輸入串行序列X和clk8。先對clk8進(jìn)行判定,當(dāng)其為高電平時(shí),就將此時(shí)刻所對應(yīng)的X賦給a,若為低電平,就將對應(yīng)的X賦給b。根據(jù)流程圖編寫串/并轉(zhuǎn)換模塊程序,并在QuartusⅡ環(huán)境下編譯,通過后對其進(jìn)行封裝,得到該模塊封裝圖如圖5所示[3]。
將信號發(fā)生模塊和串/并轉(zhuǎn)換模塊進(jìn)行連接。其中信號發(fā)生模塊所用時(shí)鐘為clk4,其輸出信號x作為串/并轉(zhuǎn)換模塊的輸入。串/并轉(zhuǎn)換模塊采用時(shí)鐘clk8,并將輸入端信號x轉(zhuǎn)換為兩路并行信號A和B。其時(shí)序仿真如圖6所示。
2.3 系統(tǒng)分頻電路
該系統(tǒng)中采用三個(gè)時(shí)鐘以保證信號同步:clk2、clk4、clk8,可利用D觸發(fā)器和非門組成邏輯電路進(jìn)行時(shí)鐘分頻[4]。將clk接入D觸發(fā)器時(shí)鐘輸入端,其輸出經(jīng)過一個(gè)非門再反接回觸發(fā)器D輸入端,此時(shí)經(jīng)過非門的輸出信號就是clk的二分頻clk2;同理可得到clk4和clk8。分頻電路圖如2.4 并/串轉(zhuǎn)換模塊設(shè)計(jì)
并/串模塊原理圖如圖9所示:并/串轉(zhuǎn)換是將反碼變換后的雙比特碼元恢復(fù)成基帶序列。選用周期為碼元寬度1/2的時(shí)鐘(碼元寬度為一個(gè)clk8周期,故此時(shí)所選時(shí)鐘為clk4);定義一個(gè)計(jì)數(shù)次數(shù)為2的計(jì)數(shù)器q,當(dāng)q計(jì)‘0’時(shí),提取a路信號并進(jìn)行存儲;當(dāng)q計(jì)‘1’時(shí)提取b路信號并進(jìn)行存儲。時(shí)鐘周期為碼元寬度的1/2,故當(dāng)在第二個(gè)時(shí)鐘周期內(nèi)(q=‘1’)所提取的b路信號仍然是與a路同時(shí)刻的信號。根據(jù)圖9所示原理進(jìn)行并/串轉(zhuǎn)換程序設(shè)計(jì),并在QuartusⅡ環(huán)境下進(jìn)行編譯、封裝得到該模塊封裝圖如圖10所示。
給出a、b兩路信號,碼元寬度均為時(shí)鐘周期的2倍,a路信號為00110011,b路為101010。將使能端“enable”置為1,對程序進(jìn)行結(jié)果仿真,仿真時(shí)序如圖11所示。
2.5 差分編碼模塊設(shè)計(jì)
進(jìn)行軟件仿真時(shí),在QuartusⅡ環(huán)境下,先進(jìn)行模二加電路、一碼元延遲電路和交叉直流電路三個(gè)部分的程序編譯。程序編譯通過后將各個(gè)電路封裝。在圖形編輯器中連接模二加電路、一碼元延遲電路和交叉直流電路。其頂層模塊如圖12所示[4]。
將圖12所示電路編譯后對其結(jié)果進(jìn)行仿真。仿真結(jié)果如圖13所示。
2.6碼反變換模塊設(shè)計(jì)
碼反變換模塊電路圖如圖13所示:兩路信號c和d經(jīng)過xor模塊異或后將其得出的結(jié)果[ak]經(jīng)過EX3延遲一個(gè)碼元寬度后成為[ak-1],再將其送入EX1的A1端口,同時(shí)信號c和d經(jīng)過xor模塊異或后將其得出的另一個(gè)結(jié)果[bk-1]也經(jīng)過EX3延遲一個(gè)碼元寬度,再送入EX1的B1端口。aor模塊將cd進(jìn)行同或,得出的結(jié)果送入EX1模塊的Z端口。EX1根據(jù)z的值判定:當(dāng)z為0時(shí),就將A1端口輸入的[ak-1]賦給C1,同時(shí)將B1端口輸入的[bk-1]賦給D1。此時(shí)c1端口輸出的值就是[ak-1],D1端口的值為[bk-1]。再將[ak-1]反送到xor模塊的A端口,[bk-1]反送到xor模塊的B端口。則[ak-1]與B端口輸入的值(此時(shí)為[ak])進(jìn)行異或即可得到絕相對碼[AK],[bk-1]與B端口輸入的值(此時(shí)為[bk])進(jìn)行異或即可得到絕相對碼[BK]。當(dāng)Z為1時(shí),EX1就將A1端口輸入的[ak-1]賦給D1,將B1端口輸入的[bk-1]賦給C1,此時(shí)C1端口輸出的值就是[bk-1],D1端口的值為[ak-1]。再將[bk-1]反送到xor模塊的B端口,[ak-1]反送到xor模塊的A端口。則[bk-1]與A端口輸入的值(此時(shí)為[ak])進(jìn)行異或即可得到絕對碼[AK],[ak-1]與B端口輸入的值(此時(shí)為[bk])進(jìn)行異或即可得到絕對碼[BK][5]。
將圖14所示電路編譯后對其結(jié)果進(jìn)行仿真,得到碼反變換時(shí)序仿真如圖15所示。
3 QuartusⅡ下QDPSK調(diào)制解調(diào)系統(tǒng)總體設(shè)計(jì)及仿真
3.1 QuartusⅡ下QDPSK調(diào)制解調(diào)系統(tǒng)總圖連接
QuartusⅡ下系統(tǒng)總圖如圖16所示:各模塊編譯通過后,在原路圖編輯器中進(jìn)行總圖連接。
3.2 QDPSK調(diào)制解調(diào)系統(tǒng)時(shí)序仿真
在QuartusⅡ環(huán)境下,在波形編輯器中新建波形文件對系統(tǒng)總電路進(jìn)行結(jié)果仿真。其仿真時(shí)序如圖17所示。圖上可以讀出A0為01011011110011110.B0為0101010001010100010.通過圖上比較發(fā)現(xiàn),A0序列與A序列相同,同時(shí)B0序列與B序列相同。這是因?yàn)锳和B序列經(jīng)過差分編碼、調(diào)制,再解調(diào)、差分解碼,這樣就將其恢復(fù)出來了,但從圖17上看,恢復(fù)出的A0和B0有一定的延遲。
4 系統(tǒng)測試與分析
對總圖進(jìn)行仿真后,將其下載在FPGA芯片上,用示波器測試系統(tǒng)輸入輸出點(diǎn),如圖18所示:第一行波形為輸入數(shù)據(jù)波形data,第二行波形為通過過所設(shè)計(jì)的QDPSK系統(tǒng)后輸出的波形out;out輸出波形相對data波形經(jīng)過6個(gè)碼元周期的延遲后完全相同,說明所設(shè)計(jì)的系統(tǒng)對信號經(jīng)過QDPSK調(diào)制解調(diào)后能夠恢復(fù)原信號。
5 結(jié)束語
本次設(shè)計(jì)根據(jù)QDPSK調(diào)制解調(diào)系統(tǒng)基本原理在QuartusⅡ下進(jìn)行系統(tǒng)的設(shè)計(jì),首先對系統(tǒng)設(shè)計(jì)所需的各模塊進(jìn)行設(shè)計(jì)及仿真。在得到正確仿真結(jié)果后將各模塊在原理圖編輯器中進(jìn)行拼裝,構(gòu)成系統(tǒng)總圖。對總圖進(jìn)行仿真后,將其下載在FPGA芯片上,用示波器測試輸入輸出管腳。示波器所測結(jié)果顯示,輸出波形相對輸入波形經(jīng)過6個(gè)碼元周期的延遲后完全相同,說明設(shè)計(jì)的系統(tǒng)能正確工作。
參考文獻(xiàn):
[1] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2001.
[2] 喻應(yīng)芝.QDPSK調(diào)制解調(diào)的FPGA實(shí)現(xiàn)[D].北京:北京理工大學(xué),2002
[3] 馮璐.QDPSK信號的數(shù)字化生成及解調(diào)方法研究[D].長沙:中南大學(xué),2007.
[4] 李紅巖,趙艷杰,張麗娜.基于CPLD 的QDPSK 數(shù)字調(diào)制碼變換器的設(shè)計(jì)[J].內(nèi)蒙大學(xué)學(xué)報(bào):自然科學(xué)版,2010,41(3):351-355.
[5] 潘松,黃繼業(yè).EDA技術(shù)實(shí)用技術(shù)[M].北京:科學(xué)出版社,200