黃 誠 謝錫海 張雯雯
(西安郵電大學通信與信息工程學院 陜西 西安 710121)
MSK信號具有包絡恒定、相位連續和帶寬占用小的特點[1],被廣泛應用于現代數字通信領域[2-3],如被應用于各種形式的對潛通信和海上導航系統的長波通信[4]。
隨著MSK的發展與應用,提出性能優良的信號檢測方法成為研究重點。常用的一些MSK信號檢測或解調方法采用如相干解調[5-6]、延遲差分解調[7]和離散傅里葉變換(Discrete Fourier Transform,DFT)解調[8]等方法解調門限較高。文獻[9]最早提出多符號檢測算法,該算法充分利用連續相位信號前后碼元相位關聯性,能有效提高信號的檢測性能。但由于多符號檢測算法需要將觀測間隔內所有可能的本地信號與接收信號進行相關運算,隨著觀測長度的增加,本地信號的組合呈指數方式增長,導致相關運算次數增多[3],而多符號檢測的運算量取決于相關運算的次數。
為了降低多符號檢測算法的運算量,即減少相關運算次數,近些年來國內外專家進行了大量研究。文獻[10-11]研究了基于接收信號前后碼元相位的關聯性來限定本地碼組的數量,雖然降低了運算量卻損失部分性能。文獻[12]提出一種在觀測長度內進行分段相關然后求和的多符號檢測算法,降低了運算復雜度并且容易硬件實現,卻犧牲了大約1 dB誤碼率性能。文獻[3]提出基于判決反饋的非相干多符號檢測算法,有效減少本地相關波形的數目并且不損失檢測性能,但由于反饋模塊的存在導致多符號檢測速率下降。文獻[13]提出一種非相干多符號塊檢測,一次對多個碼元判決輸出,提高了檢測速率,但若誤判其中一個碼元,其相鄰碼元也可能被誤判。
綜上,現有的常用MSK信號檢測或解調方法如相干解調、延遲差分解調以及DFT解調等方法解調門限較高,多符號檢測算法能有效降低誤碼率,但其運算量較大。已有的多符號檢測改進算法為了降低運算量,大多采取損失較大誤碼性能或提升整個檢測系統的復雜度。針對MSK信號現有解調方法和多符號檢測算法及其改進方法存在的問題,首先簡要介紹MSK信號及其相干多符號檢測算法,然后詳細介紹利用本地碼組與接收信號的最大相關值和最小相關值之間的對應關系,用一半數量的本地信號進行相關運算的改進算法,該改進算法與相干多符號檢測算法相比在不同觀測長度下運算量降低了一半。
MSK信號是一種相位連續、包絡恒定的二進制信號,其第k個碼元信號可表示如下:
(1)
式中:A為振幅;ωc=2πfc為載波角頻率;ak=±1(當輸入碼元為“1”時,ak=1;當輸入碼元為“0”時,ak=-1);T為碼元寬度;θk為第k個碼元的初始相位[14]。MSK信號θk的選取應保證波形相位在碼元轉換時刻是連續的,也就是說MSK信號的前后碼元相位存在關聯性[15]。
MSK信號的成形波形為最簡單的矩形脈沖,因而相位路徑呈線性。將式(1)改寫為:
s(t)=Acos[ωct+φk(t)]
(2)


圖1 φk(t)相位路徑
多符號檢測算法利用最大似然原理通過觀測接收信號的多個符號,對其中一個符號進行判決輸出。由于多符號檢測充分考慮了接收信號前后相位的關聯性,與逐符號檢測相比可獲得更優的檢測性能,保證了系統傳輸的可靠性[14]。多符號檢測分為非相干多符號檢測和相干多符號檢測。對于非相干多符號檢測,雖然不需要進行載波同步,但誤碼率性能較相干多符號檢測算法要差。
相干多符號檢測算法是在接收信號初始相位已知的情況下,通過觀測接收信號的多個符號,完成第一個符號的檢測。假設觀測的接收信號r(t)為:
r(t)=s(t,a1,Ai)+n(t) 0≤t (3) 式中:s(t,a1,Ai)是與數據符號{a1,Ai}相對應的MSK發射信號;a1為待檢測的碼元符號,取值為±1;Ai={a2,a3,…,aN}為a1之后N-1個碼元的數據序列;N為觀測長度,取值一般為3、5或7,其值越大檢測性能越優,但需r(t)與所有可能的2N個本地信號s(t,a1,Ak)(k=1,2,…,2N-1)進行相關運算;n(t)為觀測間隔內的高斯白噪聲。 相干多符號檢測算法本質上依據最大似然判決準則,在功率譜密度為N0的AWGN信道下,接收信號r(t)與本地MSK信號s(t,a1,Ak)的離散似然比函數為: (4) 在低信噪比下,可以將最佳接收機簡化為如下形式: (5) 在高信噪比下,可以將最佳接收機簡化為如下形式: (6) 在高信噪比情況下,由于exp( )函數是單調遞增函數,當xa1k取最大值xmax時,la1亦取最大值。因此,接收機可將xmax對應的a1作為判決值輸出,以此作為次佳相干多符號檢測系統。對于簡化后的相干多符號檢測算法,不論在低信噪比還是在高信噪比情況下最終都需求得接收信號r(t)與所有2N個本地信號s(t,a1,Ak)的相關值xa1k,然后判決輸出最大相關值對應碼組的第一個符號,運算量較大,因此下面提出一種低運算量相干多符號檢測算法。 觀測長度為N的MSK信號相干多符號檢測算法,需要r(t)與2N個s(t,a1,Ak)進行相關運算,以獲得最大相關值然后判決輸出。當N取3、5或7時,s(t,a1,Ak)的個數分別為8、32或128,即需要分別進行8次、32次或128次相關運算,而一次相關運算需要做N×Ts次乘法運算和N×Ts-1次加法運算。 (a) -1,-1,-1 (b) -1,-1,+1 (c) -1,+1,-1 (d) -1,+1,+1 (e) +1,-1,-1 (f) +1,-1,+1 (g) +1,+1,-1 (h) +1,+1,+1圖2 三符號檢測{a1,Ak}及其相位路徑 由圖2可得,初始相位一定時,s(t,a1,Ak)的相位路徑(a)、(b)、(c)和(d)分別與(e)、(f)、(g)和(h)相反,當它們與r(t)進行相關運算后,存在最大相關值xmax和最小相關值xmin,并且xmax與xmin是在相位相反的兩個碼組中取值。即Am=An時,若{+1,Am}對應最大相關值xmax,則有{-1,An}對應最小相關值xmin。也就是說,由xmin得到碼組{-1,An},然后第一個碼元取反就可得到xmax對應的碼組{+1,Am}。 按待判決位置碼元的不同將碼組分為{+1,Ak}和{-1,Ak}(k=1,2,…,2N-1)兩類,若最大相關值在屬于{+1,Ak}的本地信號中獲得,那么最小相關值會出現在{-1,Ak}對應的本地信號。即最大、最小相關值不會同時出現在{+1,Ak}或{-1,Ak}所對應的本地信號中,并且最大相關值xmax是所有{+1,Ak}對應的相關值中最大的,最小相關值xmin是所有{-1,Ak}對應的相關值中最小的,xmin的絕對值是所有{-1,Ak}對應的相關值中最大的。 表1 相干多符號檢測算法與改進算法相關運算次數比較 可以發現在不同的觀測長度下,改進算法的相關運算次數相較于原算法分別減少了一半,即改進算法乘法和加法運算次數分別減半,如表2所示。 表2 相干多符號檢測算法與改進算法乘法和加法運算次數比較 相干多符號檢測算法的運算量取決于相關運算次數即乘法與加法的運算次數,由表1和表2可知,運算量降低了一半。 取觀測長度分別為3、5和7,選取3 dB、5 dB和9 dB信噪比條件下,m作為變量所產生的誤碼率曲線如圖3所示。 (a) 改進三符號檢測 (b) 改進五符號檢測 (c) 改進七符號檢測圖3 不同比例系數下改進多符號檢測誤碼曲線 由圖3可知,當m=0時,即不設置閾值,此時誤碼率較高,當m=1時,即以rss作為閾值,此時誤碼率同樣較高,當0 Ber=(am-b)2+c (7) 式中:Ber為誤碼率;m為比例系數;a、b的取值與觀測長度有關,根據圖3中的最小值點附近的坐標(m,BER) (0.5≤m≤1),利用MATLAB 2018a軟件,采用最小二乘算法進行二次曲線擬合近似得到a=0.143 5×N+0.875 4,b=0.13×N+0.492 5,其中N為觀測長度,c的取值與信噪比成反比。為求式(7)最小值,使其對m求導等于零,得到: m=b/a (8) 利用式(8)便可求出不同觀測長度下使誤碼率達到最小的閾值K=m×rss。 綜上所述,得到改進多符號檢測算法的檢測步驟如下: 步驟1將觀測長度為N的2N個本地信號分為s(t,+1,Ak)與s(t,-1,Ak)兩類。如N=3時,s(t,-1,Ak)對應的碼組為:-1-1-1、-1-1+1、-1+1-1、-1+1+1,s(t,+1,Ak)對應的碼組為:+1-1-1、+1-1+1、+1+1-1、+1+1+1。 同理,對于相干5和7符號檢測也可遵循上述步驟,以達到運算量減少一半的目的。以信噪比為5 dB、N取3的3符號檢測進行說明,由于r(t)疊加了隨機噪聲,其與所有可能s(t,-1,Ak)進行相關運算后,所得相關值是隨機數且與具體程序參數有關,但總存在最大值和最小值。相關結果及判決結果如表3所示。 表3 部分相關值及判決結果 在碼元數目為100 000、單位碼元采樣點數為8、載波初始相位已知的條件下利用MATLAB進行誤碼性能仿真,改進3符號檢測采用0.7倍的本地信號自相關值作為閾值,改進5和改進7符號采用0.8倍的本地信號自相關值作為閾值。仿真主要包括不同觀測長度下,改進相干多符號檢測算法與相干多符號檢測算法的誤碼性能比較,以及不同觀測長度下改進多符號檢測算法與現有MSK信號檢測算法的誤碼性能比較。 由圖4可得,不論是相干多符號檢測算法還是改進算法,觀測長度越長檢測性能越優,且隨著觀測長度的增加,誤碼率曲線越來越接近。在低信噪比條件下,誤碼率為10-2時,改進算法較經典相干多符號檢測算法在3符號、5符號和7符號分別有0.25 dB、0.23 dB和0.19 dB的誤碼性能提升,這是由于多符號檢測僅為了得到最大相關值,低信噪比情況下,噪聲對信號的影響較大,最大相關值的選擇易出現差錯,導致誤判。而改進算法是在最大相關值與最小相關值之間進行比較,不易發生誤判。當信噪比持續增大,在誤碼率為10-4時,改進算法較相干多符號算法在3符號、5符號和7符號分別有0.1 dB、0.06 dB和0.02 dB的誤碼性能損失,但總的來說改進算法運算量較原算法下降了一半。 由圖4和圖5可得,雖然改進算法與相干多符號檢測算法在誤碼率為10-4時有0.1 dB的性能損失,但對于現有的常用MSK信號檢測算法,在誤碼率為10-4時改進相干多符號檢測算法與延遲差分檢測相比至少有2.6 dB的誤碼性能提升,與DFT解調相比,至少有2 dB的誤碼性能提升,與相干解調相比,至少有1.5 dB的誤碼性能提升,可有效降低接收機解調門限。 圖4 多符號檢測算法與改進算法誤碼率性能曲線 圖5 現有的常用MSK信號檢測算法與改進多符號檢測算法誤碼率性能曲線 本文提出一種利用一半數量的本地信號與接收信號進行相關運算的低運算量改進相干多符號檢測算法,該改進算法與相干多符號檢測算法相比在不同觀測長度下運算量分別減少了一半。仿真結果表明,雖然改進算法在誤碼率為10-4時與多符號檢測相比有0.1 dB的性能損失,在10-2時與多符號檢測相比性能卻有至少0.19 dB的提升,并且與現有的常用MSK信號檢測算法相比在誤碼率為10-4時仍有至少1.5 dB的性能提升。
2.2 改進相干多符號檢測算法















3 仿真分析


4 結 語