0 引言
當前社會,隨著科技的飛速發(fā)展,通信系統(tǒng)逐漸向高效化、智能化過渡,通信技術的應用也日趨廣泛。
通信系統(tǒng)可以分為模擬通信系統(tǒng)和數(shù)字通信系統(tǒng),模擬通信系統(tǒng)傳輸連續(xù)變化的信號,而數(shù)字通信系統(tǒng)傳輸離散的數(shù)字信號。
數(shù)字信號抗干擾能力強、傳輸效率高且易于處理,因此其應用的通信技術也在向數(shù)字系統(tǒng)靠攏。
差分相移鍵控(DPSK是一種常見的數(shù)字調制技術,其通過改變相位來傳輸數(shù)字信號。
DPSK技術在光通信、衛(wèi)星通信和無線通信等領域有著重要的應用。
1整體設計方案
由于系統(tǒng)基于FPGA平臺設計,因此采用自頂向下的設計架構,通過對整體系統(tǒng)功能的需求分析確定輸入、輸出,并在總體功能的基礎上劃分子模塊,分別完成設計。
DPSK,中文叫差分相移鍵控,與最簡單的BPSK調相系統(tǒng)很像,只不過DPSK把數(shù)字信號源做了一個差分處理,用載波的相位變化來承載信號信息[1]。
1.1 DPSK的信號生成及恢復
1.1.1 DPSK的信號生成
以二進制相移鍵控為例,其信號的產(chǎn)生類似于一個雙極性脈沖序列和載波的混合。
edpsk(t)=s(t)cos(wct)
式中: edpsk(t) 為調制后的DPSK信號; s(t) 為原始信號;cos (wctΩ )為正弦波調制信號,cos (wCt)= sin(wct)/wc, 其中 wC 為角頻率, t 為時間; P 為概率, 0lt; Plt;1 。
DPSK信號生成示意圖如圖1所示,原始信號s ρ(ρt) 通過碼元變換,從絕對碼變換為相對碼。變換后對碼元進行載波調制,通過延時、相乘的方法得到DPSK信號。這樣就完成了簡單的DPSK信號調制。
1.1.2 DPSK的信號恢復
DPSK的調制和解調可以看成是單獨的兩部分,但是在本設計中,為了驗證通信算法的正確性,DPSK信號的解調是基于調制,當恢復出來的信號與原始信號一致時,即表示解調算法是正確的。DPSK信號的解調可以采用相干解調的方法,經(jīng)過乘法器、提取載波后,再由相對碼變換為絕對碼,最后通過低通濾波進行碼元判決[2]。
解調過程示意圖如圖2所示,調制后的DPSK信號處理后得到信號a,通過不同相位的載波提取相應的信號c,再通過低通濾波得到信號d,根據(jù)閾值大小恢復原始信號e。
1.2 DPSK的信號變化過程
了解了DPSK的調制解調過程后,基本可以得出這個過程的信號變化情況。整體信號變化過程如圖3所示。
基于圖3的信號變化情況,在不考慮噪聲和其他影響的情況下[3],首先將原始信號做差分運算,將絕對碼轉換為相對碼,然后進行載波調制,并對當前調制信號進行演示處理,再兩兩相乘,經(jīng)過低通濾波后,得到不規(guī)則的數(shù)字信號,最后對這些數(shù)字信號進行電平判決,恢復原始信號。這樣就完成了整個調制解調過程。
1.3 整體方案設計
根據(jù)系統(tǒng)功能需求,設計中首先需要生成原始信號,作為輸出1;再將原始信號經(jīng)過編碼后生成DPSK信號,作為輸出2;然后處理輸出2,完成解碼工作,將恢復出來的信號作為輸出3。目的是看到調制結果—輸出1、輸出2、輸出3并進行對比,驗證設計的正確性。
基于上述設計思路,可以在FPGA中對上述流程完成設計,其實現(xiàn)框圖如圖4所示。
在圖4中,從“原始信號\"到“DPSK調制信號\"再到“恢復信號”,信號變化過程以圖3為標準,在調制、解調時都需要進行碼元變化,下面分別對調制和解調的實現(xiàn)進行闡述。
1.3.1 調制部分
DPSK的調制:FPGA信號模型中輸入時鐘cIk和復位rst為系統(tǒng)提供主要時序,計數(shù)器用于對外部clk時鐘信號進行分頻計數(shù)[4,產(chǎn)生相應時鐘信號,與此同時,F(xiàn)PGA內部需要生成兩路不同相位的正弦波信號,即相位0和相位 π 。在開始信號START觸發(fā)后,DPSK通過計數(shù)和二選一開關電路選擇兩路載波信號,完成相位的調制,從而生成DPSK調制信號[5]。
其生成相對碼的過程如圖5所示。圖中,原始信號即絕對碼,需要通過異或的方式變換成相對碼。將當前得到的碼元存儲在寄存器中,其初始值為0,與原始信號進行異或后得到新的相對碼,并存儲在寄存器中。
1.3.2 解調部分
DPSK的解調:FPGA信號模型中輸入時鐘cIk和復位rst為系統(tǒng)提供主要時序來源,將DPSK信號作為信號源,參與解調部分,將DPSK信號通過濾波后與計數(shù)器輸出的0相載波和 π 相載波進行對比、判決,從而實現(xiàn)DPSK信號解調,生成原始碼元。
解調部分的信號流如圖6所示。DPSK調制信號需要在延遲一個處理周期后,與未處理的調制信號兩兩相乘,然后通過低通濾波器過濾掉高頻信號,再通過閾值比較的方法判決出原始信號。值得注意的是,解調時的碼元轉換也是采用異或的方式將相對碼轉換成絕對碼。
2 DPSK調制解調的FPGA實現(xiàn)
根據(jù)整體方案,自頂向下劃分子模塊。從編碼、解碼過程將整體劃分為載波生成模塊、時鐘生成模塊、信號源生成模塊、差分處理模塊、數(shù)據(jù)選擇模塊、延時與相乘模塊、低通濾波器模塊等子模塊。
2.1 載波生成模塊
載波生成即正弦載波信號的生成,通常使用DDS(DirectDigitalSynthesizer,直接數(shù)字合成技術)或者NCO(Numerically Controlled Oscillator,數(shù)字控制震蕩器)完成正弦信號的輸出。在課題設計中使用NCO實現(xiàn)正弦信號輸出,通過控制其時鐘、相位等參數(shù)完成符合設計要求的載波輸出。
參數(shù)設計部分,由于FPGA硬件板卡的主時鐘為50MHz, 這里將NCO的驅動時鐘設計為clk 10m=10MHz 載波輸出頻率為fsin ,需要輸出2個不同相位的載波,其相位分別為 10,π, 。數(shù)據(jù)位寬精度為14bit。
2.2 時鐘生成模塊
時鐘模塊作為一般FPGA項目中必不可少的模塊,貫穿于整個FPGA設計,涉及各個模塊的信號交互,大部分數(shù)字信號都需要時鐘來控制,時鐘是時序電路設計中的觸發(fā)點。
參數(shù)設計要求:根據(jù)整體設計方案,需要生成NCO的控制時鐘 10MHz 和數(shù)據(jù)控制時鐘 100kHz ,整體控制時鐘采用外部輸入時鐘 50MHz ,通過PLL進行時鐘鎖相,從而達到穩(wěn)頻的效果。
2.3 信號源生成模塊
對于信號源的生成,可以使用固定信號或者隨機信號,而固定的信號源對于整體設計的正確性驗證存在一定的局限性,因此使用隨機信號作為信號源。又由于碼元定時信號不準確,信號源采用閉環(huán)碼元偽隨機序列PN碼。PN碼,也叫m序列,用來生成數(shù)字信號源。此模塊的參數(shù)設計要求如下:
數(shù)字信號源的控制速率:
PN碼為5階本原多項式 :f(x)=x5+x2+1
PN碼的寄存器初始值:reg_state =[1 0 1 1 0] 。
5階PN碼的原理如圖7所示,用圖7的移位寄存器方式便能源源不斷地生成周期為25的PN碼。
將此模塊輸出的PN碼作為原始信號,傳遞到其他模塊完成DPSK的信號調制。
2.4 差分處理模塊
差分處理模塊的主要作用就是把原始信號的絕對碼變換為相對碼,相對碼又叫差分碼。這里的差分不是指把信號源取反的差分,而是指把信號源看作絕對碼,給定一個初始值然后輸出相對碼的過程。由于取了信號源的差分,所以在調制時相當于用載波相位的變化來承載信號,相干解調時只需把載波做個延時,然后與未延時的載波相乘,就可以得到解調信號。所以,這個模塊輸出信號源的相對碼即可。
2.5 數(shù)據(jù)選擇模塊
數(shù)據(jù)選擇模塊類似一個模擬的數(shù)字開關,即當數(shù)據(jù)源為1時,輸出相位為0的正弦載波;當數(shù)據(jù)源為0時,輸出相位為π的正弦載波。在原理上等同于信號的相位調制部分。不考慮其他復雜的處理的話,輸出的信號就能夠發(fā)射并經(jīng)過信道,然后被接收處理。
代碼部分相對簡單,可以簡化表示為:
always @ (posedgeclk)if(difpn==1) )sine_mod1 lt;= sine1;else
2.6 延時與相乘模塊
延時與相乘模塊的設計采用的是先將差分碼延時,再利用相位選擇法調制的方式。其中延時部分可以根據(jù)PN碼的生成時鐘來設計,因為PN碼的每一個碼都是在時鐘上升沿產(chǎn)生的,所以,在 100kHz 的分頻時鐘下降沿到達時將信號存儲起來,置于寄存器中,在下一個分頻時鐘信號上升沿到達時輸出存儲的信號,便得到了延時一個碼元長度的PN碼。經(jīng)過數(shù)據(jù)選擇器后,相應的輸出波形也延時相同長度。
2.7 低通濾波器模塊
在進行最終的信號判決恢復之前,由于信號中夾雜著部分噪聲、干擾,因此還需對解調信號進行低通濾波。從圖3可以看出,經(jīng)過相乘模塊之后的信號從“上下上下\"這種正弦型振蕩變成了“上上下下\"這種類似全波整流的振蕩信號,但這還不足以讓系統(tǒng)恢復原始的PN碼信號源,于是使用低通濾波器濾去高頻,使得信號更平滑,正區(qū)和負區(qū)分得更為明顯一些。
進入QuartusII的EditCoefficientSet界面,選擇低通濾波器類型,目的是濾去解調輸出的高頻信號,恢復基帶信號;在濾波器采樣頻率方面,由于在正弦載波生成模塊使用的輸入時鐘信號為 10MHz ,于是對數(shù)據(jù)進行采樣輸入濾波器中時,也設置相同的頻率 10MHz ;選擇矩形窗口類型。在濾波器截止頻率設置時,考慮基帶PN碼生成時鐘頻率為 100kHz ,所以濾波器截止頻率設置為 50kHz 。此時,濾波后能正確地恢復原始信號。
3 系統(tǒng)仿真及運行驗證
在完成RTL級的FPGA設計后,添加仿真激勵,進行Quartus-ModelSim的聯(lián)合時序仿真,驗證代碼在理論上的正確性。接下來下載到FPGA硬件板卡中,驗證運行結果是否符合設計要求,并通過長時間的運行結果來證明系統(tǒng)的穩(wěn)定性。
3.1 Quartus-ModelSim聯(lián)合仿真
編寫整體工程仿真的激勵文件,使用QuartusII和ModelSim聯(lián)合仿真。激勵文件中首先定義該模塊的時間單位和時間精度——timescale1ps/1ps。然后設置系統(tǒng)時鐘clk為 50MHz 。
其仿真波形如圖8所示。
圖8中,pn是生成的隨機原始信號,sine1為相位0 的正弦載波信號,sine2為相位=的正弦載波信號, sine_mod是調制后的DPSK信號,sine_recover是判決 恢復后的信號。
對比pn和sine_recover這兩個信號,可以發(fā)現(xiàn)信號一致,只是存在一定的延遲。處理信號 100kHz 的時鐘信號為clk100k,從波形上可以看出,恢復的信號與原始信號剛好延時1個 100kHz 的周期,說明解調過程完全符合設計要求。
3.2 FPGA驗證程序下載及運行
在功能仿真、時序仿真完成后,根據(jù)硬件分配輸入、輸出管腳。連接硬件FPGA開發(fā)板和PC機。在
Quartus的signaltab(邏輯分析儀)中加入相關觀測信號。下載工程生成的sof文件,運行程序,觀測相關信號。運行波形圖如圖9所示,圖9中信號說明與圖8一致。
觀測信號pn、sine_mod、sine_recover,其波形與仿真結果圖8基本一致,恢復出來的信號sine_recover與原始隨機信號pn一致,只是存在一定的延遲。經(jīng)過長時間 (24h) 運行后,系統(tǒng)采樣依舊正確,因此系統(tǒng)有著很好的穩(wěn)定性。
4結束語
FPGA作為一種高靈敏度的可編程邏輯器件,近些年來在各個領域得到了廣泛應用。此設計采用FPGA作為設計平臺,在DPSK原理的基礎上,充分利用了FPGA的并行處理能力和可重構特性。
DPSK調制通過差分編碼將絕對相位信息轉換為相對相位變化,避免了載波同步問題。在FPGA中,可以通過查找表(LUT)實現(xiàn)相位映射,并結合數(shù)字振蕩器(NCO)生成調制信號。DPSK解調通常采用差分相干解調或延遲解調方法。FPGA中可以通過延遲線和乘法器實現(xiàn)相位差分的計算,并結合低通濾波器和判決電路恢復原始數(shù)據(jù)。
[2]張平平.DPSK解調系統(tǒng)的FPGA實現(xiàn)[D].西安:西安電子科技大學,2015.
[3]陳衛(wèi)標,岳朝磊,孫建鋒,等.基于90度光學橋接器多速率兼容非標準DPSK接收裝置:CN201910034447.3[P].2025-02-23.
[4]王麗娟,程明,周學禮.2DPSK解調的兩種模型及SystemView仿真[J].河南科學,2005,23(1):100-102
[5」袁泉,王振永.基于FPGA的2DPSK解調技術全數(shù)字實現(xiàn)[J].黑龍江大學自然科學學報,2016,33(2):267-271.