劉譽楷,劉榮科,2*,陳祺治
(1.北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100191;2.深圳北航新興產(chǎn)業(yè)技術(shù)研究院,廣東 深圳 518063)
衛(wèi)星互聯(lián)網(wǎng)技術(shù)可以利用衛(wèi)星信道連接全球范圍內(nèi)的用戶,在現(xiàn)代通信系統(tǒng)中發(fā)揮了至關(guān)重要的作用。它不僅能夠提供高速穩(wěn)定的接入服務(wù),且不受地理和地形的限制,可以滿足各種應(yīng)用需求,在電信、航天等各個領(lǐng)域都有著廣泛的應(yīng)用前景[1-3]。
在衛(wèi)星通信系統(tǒng)中,信號調(diào)制與解調(diào)是實現(xiàn)高速數(shù)據(jù)傳輸?shù)年P(guān)鍵技術(shù)之一[4]。連續(xù)相位調(diào)制(Continuous Phase Modulation,CPM)技術(shù)通過控制信號的相位變化來調(diào)制信號,相較于其他的數(shù)字調(diào)制技術(shù),CPM可以在較低誤碼率下提供更高的頻譜效率[5]。此外CPM具有恒包絡(luò)的特點,可以有效降低高功率放大器非線性效應(yīng)的影響[6],適合應(yīng)用于衛(wèi)星等功放受限的場景。
多指數(shù)連續(xù)相位調(diào)制(Multi-h Continuous Phase Modulation,Multi-h CPM)是CPM的一種擴展形式。Multi-h CPM通過采用不同的調(diào)制指數(shù),改變調(diào)制信號的相位偏移量。與傳統(tǒng)的CPM技術(shù)相比,Multi-h CPM可以通過選擇不同的調(diào)制指數(shù)來適應(yīng)不同的信道環(huán)境,提高數(shù)據(jù)的傳輸效率,改善系統(tǒng)的容錯性能[7]。
目前Multi-h CPM接收機中最常采用的算法是最大似然序列檢測(Maximum Likelihood Sequence Detection,MLSD)算法[8]。但是由于Multi-h CPM相比于CPM信號,其解調(diào)的復(fù)雜度較高,還需要采用一些簡化算法來降低算法的復(fù)雜度。降低Multi-h CPM的解調(diào)復(fù)雜度有兩個主要方向:降低匹配濾波器數(shù)量和減少網(wǎng)格狀態(tài)數(shù)。降低匹配濾波器數(shù)量的簡化算法主要包括脈沖幅度調(diào)制(Pulse Amplitude Modulation,PAM)分解[9-10]、Walsh分解[11]、奇異值分解(Singular Value Decomposition,SVD)[12]、狀態(tài)空間分類(State Space Partitioning,SSP)算法[13]和虛擬指數(shù)集解調(diào)算法[14]等。降低網(wǎng)格狀態(tài)數(shù)的簡化算法主要包括傾斜相位(Tilted Phase,TP)算法[15]、頻率脈沖截斷(Frequency Pulse Truncation,FPT)算法[16]和減狀態(tài)序列檢測(Reduced State Sequence Detection,RSSD)算法[17]等。以上算法中,除了TP算法之外,其他算法都會降低接收機的解調(diào)性能。在實際的系統(tǒng)設(shè)計時,通常將幾種降低復(fù)雜度的算法聯(lián)合應(yīng)用,通過犧牲部分解調(diào)性能的方式,顯著降低接收機系統(tǒng)的實現(xiàn)復(fù)雜度。
為了實現(xiàn)高效的Multi-h CPM解調(diào),保證接收機的高速數(shù)據(jù)處理能力,除了降低解調(diào)算法的計算復(fù)雜度之外,還需要在硬件架構(gòu)設(shè)計時,通過高度并行化的數(shù)據(jù)處理方案,提高系統(tǒng)的吞吐率。
現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)作為一種可編程的邏輯器件,具有可重構(gòu)性強、高并發(fā)性能、高速運算能力、低功耗和靈活性等優(yōu)點,可以支持多個邏輯電路并行計算,進行復(fù)雜的邏輯電路設(shè)計與實現(xiàn),在信號處理和通信領(lǐng)域得到了廣泛應(yīng)用[18]。
因此本文設(shè)計并實現(xiàn)了基于FPGA平臺下的Multi-h CPM解調(diào)系統(tǒng),完成了Multi-h CPM的軟輸出維特比算法(Soft Output Viterbi Algorithm,SOVA)[19-20]、時頻同步等功能,并且采用了TP算法和FPT算法,大幅度降低了系統(tǒng)的解調(diào)復(fù)雜度。通過仿真和實驗驗證,本文的Multi-h CPM接收機具有良好的系統(tǒng)性能,可有效滿足實際應(yīng)用需求。
Multi-h CPM的復(fù)基帶信號可以表示為:
(1)
式中:ES為信號能量,T為碼元周期,φ(t;a)為信號相位,其可以進一步表示為:
(2)
式中:ai∈{±1,±3,…,±(M-1)}為傳輸?shù)腗進制符號序列,hi∈{h1,h2,…,hn}為調(diào)制指數(shù)集,q(t)為相位脈沖響應(yīng),可以表示為頻率脈沖響應(yīng)g(t)的積分,即:
(3)
目前Multi-h CPM調(diào)制中最常用的脈沖函數(shù)為升余弦脈沖,其表達式為:
(4)
式中:L為關(guān)聯(lián)長度。當L=1時,生成的Multi-h CPM信號為全響應(yīng)信號;當L>1時,生成的信號為部分響應(yīng)信號。
Multi-h CPM信號在確定了調(diào)制參數(shù)的情況下,信號相位φ(t;a)僅與累加相位和關(guān)聯(lián)長度內(nèi)的傳輸符號有關(guān),因此式(2)可以改寫為:
(5)
式中:φn為累加相位,φ(t;a)為相關(guān)相位。
考慮到調(diào)制指數(shù)hi為有理數(shù),因此Multi-h CPM信號的累加相位狀態(tài)是有限的。令hi=m/k,其中m和k是互斥的兩個質(zhì)數(shù),則累加相位的所有狀態(tài)集合為:
(6)
綜合考慮累加相位和相關(guān)相位的影響,Multi-h CPM信號的相位可以由下述狀態(tài)序列決定:
sn={an-L+1,an-L+2,…,an-1,φn-L}。
(7)
相位狀態(tài)轉(zhuǎn)移的表達式為:
(8)
假設(shè)Multi-h CPM的調(diào)制進制數(shù)M=2,關(guān)聯(lián)長度L=1,調(diào)制指數(shù)h={1/4,1/2},其相位狀態(tài)轉(zhuǎn)移如圖1所示。從狀態(tài)轉(zhuǎn)移圖中可以看到,Multi-h CPM的信號相位具有周期性的網(wǎng)格結(jié)構(gòu),根據(jù)網(wǎng)格圖的轉(zhuǎn)移關(guān)系可以清楚地描述當前的信號狀態(tài)和下一碼元對輸出信號的影響。
圖1 Multi-h CPM相位狀態(tài)轉(zhuǎn)移圖Fig.1 Phase state transition in Multi-h CPM system
在Multi-h CPM中,進制數(shù)M將會影響到狀態(tài)轉(zhuǎn)移的復(fù)雜程度。當M=2時,每個狀態(tài)有兩條轉(zhuǎn)移路徑,而當M=4時,每個狀態(tài)有4條轉(zhuǎn)移路徑。而進制數(shù)M、關(guān)聯(lián)長度L和調(diào)制指數(shù)h共同決定了網(wǎng)格狀態(tài)數(shù),隨著Multi-h CPM調(diào)制進制數(shù)的提升和關(guān)聯(lián)長度的提升,都會導(dǎo)致整個系統(tǒng)的狀態(tài)數(shù)呈指數(shù)增長,進而導(dǎo)致解調(diào)的復(fù)雜度上升。
假設(shè)信道為加性高斯白噪聲信道(Additive white Gaussian Noise,AWGN),接收信號r(t)可以表示為:
r(t)=s(t;a)+n0(t),
(9)
式中:n0(t)為零均值高斯白噪聲。
根據(jù)MLSD準則,接收機在所有可能的結(jié)果中搜索距離接收信號的歐氏距離最近的一組序列值作為檢測結(jié)果,該檢測器可以表示為:
(10)
MLSD的目標是通過求解似然函數(shù)來在所有可能序列中尋找使式(10)最小的序列。考慮到Multi-h CPM信號的恒包絡(luò)特點,計算式(10)的最小值可以等價為計算式(11)的最大值。
(11)
由于Multi-h CPM信號具有相位網(wǎng)格特性,可以使用Viterbi算法完成信號解調(diào)工作。Viterbi算法中狀態(tài)轉(zhuǎn)移的度量值計算公式為:
(12)
整個Viterbi算法包括了分支度量計算、路徑度量值更新、路徑選擇和路徑回溯等幾個步驟。分支度量計算通過計算接收信號和每個不同的符號序列下的相關(guān)值,獲得不同狀態(tài)下的不同路徑度量值。路徑度量值更新是將計算得到的分支度量與上一時刻對應(yīng)狀態(tài)下的累計度量值進行累加,獲得當前時刻下的所有路徑的累計度量值。路徑選擇是對比每個狀態(tài)下所有路徑的累計度量值,選擇最大路徑的度量值結(jié)果作為新的累計度量值。重復(fù)上述步驟,從而完成整個序列的搜索過程。路徑回溯是選擇度量值最大的狀態(tài),沿著度量值更新的路徑進行路徑回溯,最終實現(xiàn)Multi-h CPM的信號解調(diào)。
由于傳統(tǒng)的Viterbi算法在進行路徑回溯后,只能獲取符號序列的硬判決結(jié)果,而在通信系統(tǒng)中,解調(diào)器之后一般會級聯(lián)譯碼器??紤]到譯碼器的糾錯性能,譯碼器輸入軟信息相比于硬判決結(jié)果,可以獲得更大的編碼增益。在Multi-h CPM接收機解調(diào)時,為了能夠給后級的譯碼器提供軟信息,因此采用了軟輸出Viterbi算法。
圖2中實線為t-6~t時刻最大累計度量值的回溯路徑,即幸存路徑。虛線為t-6~t時刻次大累計度量值的回溯路徑,即競爭路徑。節(jié)點Si在t時刻下的可靠性度量值Δt(Si)可以表示為幸存路徑下的累計度量值和競爭路徑下的累計度量值之差,即:
圖2 幸存路徑和競爭路徑網(wǎng)格圖Fig.2 Trellis diagram of survivor path and competing path
Δt(Si)=|MS(Si,t)-MC(Si,t)|。
(13)
由圖2可以看出,幸存路徑和競爭路徑在t-5時刻開始分離,并且幸存路徑和競爭路徑的比特判決結(jié)果并不是完全相同。在t-4和t-2時刻,幸存路徑的比特判決結(jié)果是1,競爭路徑的比特判決結(jié)果是0。因此僅通過t時刻幸存路徑和競爭路徑下的度量值之差,不能完全表征可靠性度量值,還需要考慮幸存路徑和競爭路徑的比特判決結(jié)果,對可靠性度量值進行修正。
對于t時刻下的狀態(tài)節(jié)點Si,可靠性度量值的更新算法計算過程如下:
① 存儲節(jié)點Si的可靠性度量值Δt(Si),如果競爭路徑不唯一,計算幸存路徑和所有競爭路徑的度量值之差,并將最小值存儲到Δt(Si)。
② 將狀態(tài)節(jié)點Si的可靠性數(shù)值初始化為+∞。
③ 比較狀態(tài)節(jié)點Si下的幸存路徑與競爭路徑的判決結(jié)果,并計算判決結(jié)果不同的時刻與節(jié)點所在時刻下的差值,將結(jié)果記錄到MEM。
④ 在所有的MEM>0的時刻中,找到可靠性數(shù)值未更新過的最小的MEM,記為MEMlow。
⑤ 將MEM=0到MEM=MEMlow時刻之間,可靠性最小的數(shù)值更新為MEMlow的可靠性。
通過可靠性更新算法之后,可以獲得狀態(tài)節(jié)點Si的可靠性度量值。結(jié)合路徑回溯的硬判決結(jié)果與狀態(tài)節(jié)點的可靠性數(shù)值,就可以得到譯碼器所需要的軟信息結(jié)果。
2.3.1 傾斜相位算法
傾斜相位算法可以通過引入?yún)⒖枷辔坏氖侄螌⑾辔粯鋸臅r變轉(zhuǎn)化為非時變的形式,并且在無性能損失的前提下可以實現(xiàn)網(wǎng)格狀態(tài)數(shù)減半。
在式(2)中,φ(t;a)的相位定義在實數(shù)域上,而考慮真實的物理相位,相位差為2π整數(shù)倍的相位是不能被區(qū)分的,所以對φ(t;a)進行如下處理:
(14)
在Multi-h CPM中,信號的相位轉(zhuǎn)移既與傳輸?shù)男畔⒂嘘P(guān),也與當前時刻有關(guān),增加了信號解調(diào)的復(fù)雜度。為了解決此問題,使用單極性符號Un取代雙極性符號an,其轉(zhuǎn)換公式為:
(15)
使用單極性符號后,令第n個符號間隔內(nèi)的時間t=τ+nT,信號相位可以重新表示為:
(16)
對式(16)的相位進行模2π,可以得到:
(17)
(18)
(19)
沒有進行符號映射前,Multi-h CPM的信號相位是模2P。通過TP算法對信號的相位坐標系進行轉(zhuǎn)換后,信號相位從模2P變成了模P。在進行Viterbi解調(diào)時,相位狀態(tài)數(shù)降低為原來的1/2,可以有效地降低Viterbi解調(diào)的計算復(fù)雜度。由于TP算法只是通過坐標系變換重新映射了信號相位,因此不會影響到Multi-h CPM接收機的系統(tǒng)性能。
2.3.2 頻率脈沖響應(yīng)截斷算法
針對部分響應(yīng)Multi-h CPM信號,可以采用頻率脈沖響應(yīng)截斷算法降低系統(tǒng)的計算復(fù)雜度。對于部分響應(yīng)信號的CPM信號,由于其頻率脈沖兩端的幅度較小,對信號相位的影響可以忽略,因此考慮對頻率脈沖響應(yīng)曲線進行截斷,去掉低能量部分,等效的降低了信號的相關(guān)長度L。
假設(shè)Multi-h CPM的調(diào)制參數(shù)M=4,L=3,h={5/16,6/16},其 FPT算法截斷方式如圖3所示。Multi-h CPM信號的頻率脈沖響應(yīng)函數(shù)在0T~0.5T和2.5T~3T這兩個區(qū)間取值設(shè)置為0。由于其0.5T~2.5T區(qū)間內(nèi)的能量占據(jù)了總能量的95%左右,因此通過截取頻率脈沖響應(yīng),可以在僅損失少量信號能量的同時,有效降低響應(yīng)長度。
(a) 頻率脈沖響應(yīng)
(b) 截斷后的頻率脈沖響應(yīng)
(c) 相位脈沖響應(yīng)
(d) 截斷后的相位脈沖響應(yīng)圖3 頻率脈沖響應(yīng)截斷算法示意圖Fig.3 Frequency pulse truncation algorithm
檢測區(qū)間發(fā)生變化后,Multi-h CPM的匹配濾波器構(gòu)造如下:
(20)
使用了FPT算法之后,由于降低了響應(yīng)長度L,Viterbi解調(diào)的網(wǎng)格狀態(tài)數(shù)也降低為原來的1/M,從而有效降低了解調(diào)器的資源開銷。但是不同于TP算法,FPT算法本質(zhì)上是一個近似方法,會帶來一定的串擾導(dǎo)致系統(tǒng)性能發(fā)生損失,不過其損失較小,對系統(tǒng)的影響可以忽略不計。
2.4.1 定時同步算法
式(9)中,接收信號僅考慮噪聲的影響,但在實際系統(tǒng)中,接收信號存在鏈路衰減、鏈路延遲和多普勒頻偏等,因此實際的接收信號重新寫作:
r(t)=Aej(2π(fc+Δf)(t-τ(t))+φ(t-τ(t);a))+n0(t),
(21)
式中:A是信號幅度,fc是中頻頻率,Δf是多普勒頻移,τ(t)是鏈路延遲。因此接收機在進行Multi-h CPM信號解調(diào)時,需要保證接收機的本地信號和接收信號的時頻同步。
假設(shè)僅存在定時偏差而不存在頻率偏差時,Viterbi解調(diào)的累計度量值可以表示為:
(22)
圖4給出了Multi-h CPM信號中定時誤差對Viterbi解調(diào)的累計度量值的影響??梢钥闯?當接收機存在定時偏差時,Viterbi解調(diào)的累計度量值將會降低。利用該特點,可以采用超前-滯后門結(jié)構(gòu)進行Multi-h CPM的定時同步。
超前支路信號rE和滯后支路信號rL可以表示為:
(23)
在[-0.5T,0.5T),超前支路累計度量值λE及滯后支路累計度量值λL相對于定時誤差表現(xiàn)為凸函數(shù),利用該特點可設(shè)計定時歸一化度量值β來衡量超前支路累計度量值及滯后支路累計度量值的差值,其計算公式為:
(24)
當Multi-h CPM的調(diào)制參數(shù)確定后,定時歸一化度量值β相對歸一化定時誤差Δt/T的曲線是固定的。從圖5中可以看出,在[-0.5T,0.5T),定時歸一化度量值β(Δt)與定時誤差Δt近似成線性關(guān)系,在設(shè)計中作為定時誤差估計曲線使用?;谏鲜銮€,在計算獲取了超前支路累計度量值λE及滯后支路累計度量值λL后,通過計算定時歸一化度量值,對照定時誤差曲線,即可獲得Multi-h CPM接收機的定時誤差,修正定時誤差即可完成定時同步。
2.4.2 頻率同步算法
假設(shè)僅存在頻率偏差而不存在定時偏差時,Viterbi解調(diào)的度量值可以表示為:
(25)
頻率誤差與累計度量值的關(guān)系圖如圖6所示,可以看出,當接收機存在頻率誤差時,累計度量值將會降低。與定時同步類似,可以采用升降頻門結(jié)構(gòu)進行頻率同步。
圖6 頻率誤差與累計度量值的關(guān)系圖Fig.6 Effect of frequency error on metric values
升頻支路的信號rU可以表示為:
(26)
降頻支路的信號rD可以表示為:
(27)
對升頻支路和降頻支路的累計度量值進行歸一化,可以得到頻率歸一化度量值:
(28)
當Multi-h CPM的數(shù)據(jù)速率為50 Mbit/s時,接收機的載波頻率誤差Δf對累計度量值的影響在[-80 kHz,80 kHz]呈現(xiàn)為凸函數(shù),通過上述歸一化設(shè)計后可以獲取頻率度量曲線,如圖7所示。計算頻率歸一化度量值β(Δf),可以通過其曲線獲取接收機的頻率誤差,修正頻率誤差即可完成頻率同步。
圖7 歸一化頻率誤差曲線圖Fig.7 Normalized frequency error curve
整個Multi-h CPM接收機整體結(jié)構(gòu)如圖8所示。接收機主要包括了信號預(yù)處理模塊、SOVA解調(diào)模塊、定時同步模塊和頻率同步模塊。
圖8 Multi-h CPM接收機整體框圖Fig.8 System block diagram of the Multi-h CPM receiver
信號預(yù)處理模塊主要完成信號的預(yù)處理操作,包括對接收的中頻信號進行去載波、為定時同步模塊生成超前-滯后信號以及為頻率同步模塊生成升降頻信號等操作。
SOVA解調(diào)模塊主要完成Multi-h CPM的解調(diào)并生成軟信息。整個SOVA過程中需要完成度量值計算、加比選以及路徑回溯等操作。
定時同步主要修正接收機的定時誤差,需要計算超前支路和滯后支路的累計度量值并且獲取定時同步的誤差值。
頻率同步主要修正接收機的頻率誤差,需要計算升頻支路和降頻支路的累計度量值并且獲取頻率同步的誤差值。
接收機從ADC處獲取到高速中頻數(shù)據(jù)流之后,首先對信號進行去載波操作,將信號從中頻信號轉(zhuǎn)為基帶信號。降頻處理由DDS載波生成器和FIR低通濾波器構(gòu)成,其中DDS生成載波的具體數(shù)值由頻率控制字決定,其計算公式為:
(29)
式中:fCLK為接收機主頻,fIF為中頻信號頻率。為了保證DDS生成的信號頻率精度,采用了32 bit的頻率控制字,可以保證接收機生成的正弦信號頻率誤差小于0.1 Hz。
同樣,升頻支路和降頻支路的信號也是通過DDS和FIR濾波器生成,通過更改頻率控制字即可生成所需的不同頻率信號。
對于超前支路和滯后支路的信號,通過對ADC的數(shù)據(jù)流進行延遲操作得到。未延遲的信號作為超前支路信號,延遲一次的信號作為正常的接收信號,而延遲兩次的信號作為滯后支路信號。
如圖9所示,SOVA解調(diào)模塊在接收到預(yù)處理模塊的基帶Multi-h CPM信號后進行信號解調(diào),并且根據(jù)整個解調(diào)算法的處理步驟,可以細分為分支度量值計算單元、加比選單元、路徑回溯單元和控制單元。
圖9 SOVA解調(diào)示意圖Fig.9 SOVA demodulator
控制單元為分支度量計算單元、加比選單元和路徑回溯單元提供調(diào)制參數(shù)信息,并且對3個模塊進行流程控制和協(xié)調(diào),保證輸入的基帶信號可以以流水線形式完成數(shù)據(jù)處理。
分支度量計算單元接收前級預(yù)處理模塊輸入的I、Q兩路基帶信號與控制單元輸入的調(diào)制參數(shù)信息。分支度量計算單元根據(jù)調(diào)制參數(shù)確定本地信號的生成,并且由內(nèi)置的符號計時器計時確定當前的調(diào)制指數(shù)h。在得到相關(guān)的信息之后生成接收機本地信號,然后通過矩陣乘法完成分支度量的計算,將分支度量矩陣的結(jié)果輸入到加比選單元。
加比選單元接收到分支度量計算單元不同狀態(tài)下各個支路的分支度量值之后,通過控制單元輸入調(diào)制指數(shù)信息,確定加比選的執(zhí)行邏輯。加比選單元會在每個狀態(tài)前一個符號周期存儲的累計度量值的基礎(chǔ)上,由當前的調(diào)制指數(shù)選擇該狀態(tài)所對應(yīng)的分支度量值矩陣的分支,并將前一狀態(tài)的累計度量值與對應(yīng)的分支度量值相加,計算得到的新的分支度量值,并取度量值最大的路徑作為幸存路徑,次大的路徑作為競爭路徑,并將兩個路徑的信息輸入到路徑回溯單元。
路徑回溯單元根據(jù)幸存路徑的路徑編號回溯度量值矩陣,并且根據(jù)回溯過程的各個狀態(tài)確定解調(diào)的硬判決結(jié)果。此外,路徑回溯單元利用幸存路徑和競爭路徑的累計度量值和比特硬判決結(jié)果,更新內(nèi)部可靠性度量矩陣。完成路徑回溯后,獲取當前時刻累計度量值最大的狀態(tài)和狀態(tài)對應(yīng)的可靠性度量,計算其對數(shù)似然比并作為最終軟信息結(jié)果。
3.3.1 分支度量計算單元
分支度量計算單元的基本結(jié)構(gòu)如圖10所示。SOVA解調(diào)控制單元輸入的調(diào)制參數(shù)信息,一方面,輸入到修正參數(shù)計算器中,控制傾斜相位修正ROM地址,從本地存儲的傾斜相位ROM中讀取對應(yīng)的傾斜值,與輸入的I、Q兩路信號進行復(fù)乘從而獲取對應(yīng)的經(jīng)TP處理后的I、Q路信號。另一方面,調(diào)制參數(shù)輸入到本地濾波器地址控制器中,經(jīng)過地址控制器的計算后轉(zhuǎn)換為本地濾波器地址,本地濾波器地址從本地濾波器ROM陣列中讀取形成所有匹配濾波器對應(yīng)的接收機本地信號。本地信號與經(jīng)過TP處理的I、Q基帶信號進行并行相關(guān),即可得到SOVA解調(diào)的分支度量值。
圖10 分支度量計算單元示意圖Fig.10 Branch metrics computing unit
并行相關(guān)器是分支度量計算單元的核心。以Multi-h CPM的調(diào)制參數(shù)M=4,L=3,h={5/16,6/16}為例,為了提高解調(diào)器的數(shù)據(jù)處理能力,在進行分支度量計算時需要對所有狀態(tài)下的所有分支進行并行計算。即使采用了TP算法和FPT算法,Multi-h CPM依舊存在64個網(wǎng)格狀態(tài),256路分支路徑,完全并行計算需要消耗大量的計算資源。為了簡化并行相關(guān)器的計算復(fù)雜度,將整個相關(guān)運算拆解為接收信號復(fù)乘16組本地信號和對復(fù)乘結(jié)果進行兩級相位旋轉(zhuǎn)修正兩個步驟完成。
考慮到對于單一復(fù)數(shù)a+bi,對其進行角度為π/2、π和3π/2的相位旋轉(zhuǎn)后得到的結(jié)果分別為b-ai、-a-bi和-b+ai。在256路分支路徑計算過程中,存在周期為4的相位旋轉(zhuǎn)角度為π/2整數(shù)倍的情況,因此通過計算其中64路的分支路徑結(jié)果,就可以得到所有的256路分支度量值。而在進行64路分支度量值的計算過程中,可以再一次利用相位旋轉(zhuǎn)的思想進一步簡化計算量。假設(shè)所有本地信號的初相為0,64路本地信號就可以進一步被簡化成16路信號,計算得到16路相關(guān)值后,對相關(guān)結(jié)果乘以π/8、π/4和3π/8的信號相位,可獲得剩余的48路相關(guān)結(jié)果。整個并行相關(guān)器的硬件實現(xiàn)架構(gòu)如圖11所示。
圖11 并行相關(guān)器示意圖Fig.11 Parallel correlator
不利用分支度量的相位旋轉(zhuǎn),需要同時并行256路復(fù)數(shù)乘法器。采用了相位旋轉(zhuǎn)之后,只需要消耗16個復(fù)數(shù)乘法器和48個CODIC旋轉(zhuǎn)器,就可以有效降低整體的資源消耗。同理,經(jīng)過了分支度量單元之后,輸入信號數(shù)率從采樣速率降低到了符號速率,也降低了后級模塊的數(shù)據(jù)處理壓力。
3.3.2 加比選單元
加比選單元主要完成對各個狀態(tài)下所有分支路徑的度量值累加、比較和選擇。來自控制模塊的調(diào)制參數(shù)輸入映射表中,確定來自分支度量計算單元生成的分支度量結(jié)果的具體映射方案。
整個加比選單元的硬件結(jié)構(gòu)如圖12所示。加比選單元中的狀態(tài)分支度量映射實際是一個分選器,根據(jù)當前時刻每個狀態(tài)的來源路徑將所有的分支度量值映射至不同的狀態(tài)中,即256路分支度量值每4個一組對應(yīng)到Viterbi解調(diào)的64狀態(tài)下。64個不同的狀態(tài)都會從公用的累計度量值存儲陣列中獲取其對應(yīng)的前一時刻累計度量值,隨后利用其私有的加法器將分支度量值與前一時刻累計度量值相加得到4個累計度量值。4個累計度量值通過一個選擇器,取其中最大的度量值作為當前時刻幸存路徑的累計度量值,并將最大度量值所對應(yīng)的路徑記錄為幸存路徑,次大的累計度量值作為當前時刻競爭路徑的累計度量值,其所對應(yīng)的路徑為競爭路徑。
圖12 加比選單元示意圖Fig.12 Add-compare-select unit
在本單元的設(shè)計中,其所處理的數(shù)據(jù)速率遠低于分支度量計算單元的數(shù)據(jù)速率,因此相比于分支度量計算單元需要全并行計算,加比選單元可以采用串并結(jié)合的方式完成計算,有效降低FPGA資源消耗。
3.3.3 路徑回溯單元
路徑回溯單元中存儲有每個狀態(tài)對應(yīng)的可靠性度量矩陣。取SOVA的回溯長度為10,則每個狀態(tài)均需要存儲大小為10×4=40的可靠性度量矩陣。為了保證路徑回溯的處理能力,10路路徑回溯是并行處理。
整個路徑回溯單位的硬件架構(gòu)如圖13所示。輸入的路徑度量值會首先會通過緩存比較器選出累計度量值最大和次大的狀態(tài)。之后根據(jù)幸存路徑和競爭路徑的編號值,控制回溯地址從緩存陣列中獲取前一時刻的度量值進行路徑回溯,并且在回溯的同時要計算當前狀態(tài)下的可靠性,將可靠性數(shù)據(jù)存儲在可靠性度量矩陣之中。在計算可靠性數(shù)據(jù)的同時還需要對幸存路徑和競爭路徑下的解調(diào)比特結(jié)果進行判決,當幸存路徑和競爭路徑的硬判決比特結(jié)果不同時,對可靠性數(shù)值進行更新。
圖13 路徑回溯單元示意圖Fig.13 Traceback unit
當回溯完成后,由于可靠性度量值矩陣中存儲的是M進制符號的可靠性,還需要進行解映射操作,計算信息比特的對數(shù)似然比信息,才能得到最終的軟信息結(jié)果。
時頻同步模塊的具體結(jié)構(gòu)如圖14所示。整個時頻同步過程包含了4個簡化的前向Viterbi計算,信號預(yù)處理模塊產(chǎn)生的超前-滯后信號和升降頻信號,通過前文所述的分支度量計算單元和加比選單元,分別計算超前支路、滯后支路、升頻支路和降頻支路的累計度量值。計算獲得累計度量值之后,不同于SOVA解調(diào)需要進行路徑回溯,在升降頻模塊中僅需要計算各個支路的累計度量值的最大值。
圖14 時頻同步模塊示意圖Fig.14 Time and frequency synchronizer
將超前支路和滯后支路的最大值送入到歸一化模塊中,計算得到定時歸一化度量值,通過定時誤差鑒相器得到接收機的定時誤差。定時誤差鑒相器本質(zhì)上是一個查找表的ROM,其定時歸一化度量值即為查找表的數(shù)據(jù)地址,根據(jù)不同的歸一化度量值從ROM中獲取定時誤差??紤]到接收機數(shù)據(jù)存在噪聲,直接計算得到的定時誤差數(shù)值波動較大,因此通過一個環(huán)路濾波器,提高系統(tǒng)抗干擾能力。
頻率同步與定時同步類似,根據(jù)升頻支路和降頻支路的累計度量最大值,獲取頻率誤差結(jié)果。獲取到定時誤差和頻率誤差結(jié)果之后,將誤差值反饋到信號預(yù)處理模塊,修正定時誤差和頻率誤差,完成接收機的時頻同步。
本文在FPGA硬件板卡對Multi-h CPM接收機的性能進行了測試。選取Multi-h CPM的信息速率為50 Mbit/s,調(diào)制進制M=4,關(guān)聯(lián)長度L=3,采用的調(diào)制指數(shù)集h={5/16,6/16},并且在進行SOVA解調(diào)時,一次處理的數(shù)據(jù)塊包含了20個數(shù)據(jù)符號。通過FPGA內(nèi)部的集成邏輯分析儀(Integrated Logic Analyzer,ILA)抓取FPGA內(nèi)部的數(shù)據(jù)運行結(jié)果,進行結(jié)果分析。
由圖15可以看出,在初始的定時誤差設(shè)置為0.25T的情況下,硬件系統(tǒng)可以在200個符號內(nèi)完成定時同步的跟蹤與鎖定,且最終定時誤差穩(wěn)定在0附近,證明定時誤差得到了修正。同時可觀察到,在定時跟蹤前期由于起始相位越界,同步過程中出現(xiàn)了波動,但后續(xù)狀態(tài)穩(wěn)定后沒有發(fā)生類似的情況,證明FPGA環(huán)路能夠?qū)崿F(xiàn)穩(wěn)定的定時跟蹤。
(a) 符號速率同步過程
(b) 定時誤差修正值圖15 定時同步結(jié)果圖Fig.15 Timing synchronization results
由圖16可以看出,在初始的頻率誤差設(shè)置為150 kHz的情況下,硬件系統(tǒng)可以在200個符號內(nèi)完成頻率同步的跟蹤與鎖定,且最終頻率誤差穩(wěn)定在0附近,證明頻率定時誤差得到了修正。同時可知,在頻率跟蹤過程中存在過沖,但過沖的幅度不大,信號載波頻率波動較小,并且環(huán)路穩(wěn)定后沒有發(fā)生類似的情況,證明FPGA環(huán)路能夠?qū)崿F(xiàn)穩(wěn)定的頻率跟蹤。
(a) 本地載波頻率同步過程
(b) 頻率誤差修正值圖16 頻率同步結(jié)果圖Fig.16 Frequency synchronization results
在測試環(huán)境中追加150 kHz的多普勒頻移和50 kHz/s的動態(tài)多普勒變化率,測試整個接收機系統(tǒng)在高動態(tài)多普勒環(huán)境下的解調(diào)能力。從圖17的BER曲線可以確認定時和頻率同步環(huán)路可以正常工作,沒有發(fā)生定時或者頻率同步環(huán)路失鎖的情況,即使在低信噪比情況下,定時同步和頻率同步依舊可以穩(wěn)定跟蹤時頻誤差。
圖17 誤碼率曲線Fig.17 BER curve
由圖17可以看出,相比在Matlab軟件中理想同步情況下的浮點仿真,基于FPGA平臺搭建Multi-h CPM解調(diào)系統(tǒng)后,誤碼率性能存在一定的劣化。在無多普勒情況下,BER=10-5時的劣化程度約達0.45 dB。該劣化一方面來源于FPGA內(nèi)部的定點量化損失,另一方面來源于定時同步損失。在高動態(tài)多普勒情況下,取BER=10-5為基準進行觀察,接收機的實測性能損失從無多普勒頻偏情況下的約0.45 dB提升至了1.2 dB,但該性能損失在實際系統(tǒng)中可以接受。
本文分析了Multi-h CPM調(diào)制解調(diào)原理和時頻同步方案,設(shè)計了基于FPGA平臺的Multi-h CPM接收機架構(gòu)。針對Multi-h CPM接收機復(fù)雜度較高的問題,通過采用TP算法和FPT算法簡化了Viterbi網(wǎng)格狀態(tài)數(shù),并且在FPGA中利用角度重映射思路,通過使用CODIC IP核代替了大量的復(fù)數(shù)乘法器,降低了系統(tǒng)的資源開銷,保證了解調(diào)系統(tǒng)可以在FPGA實現(xiàn)高并行處理,提高了系統(tǒng)吞吐率。
本文通過ILA驗證了程序在FPGA內(nèi)部執(zhí)行的穩(wěn)定性和可靠性,結(jié)果表明本文設(shè)計的接收機架構(gòu)在高動態(tài)多普勒環(huán)境下可以穩(wěn)定實現(xiàn)時頻同步功能,并且接收機的性能損失較小,具有良好的應(yīng)用前景。