一種高速幀同步和相位模糊估計的方法及其FPGA實現(xiàn)
0 引 言
數(shù)字通信中的消息數(shù)字流總是用若干碼元組成一個“字”,又用若干“字”組成一“句”。因此,在接收這些數(shù)字流時,同樣也必須知道這些“字”、“句”的起止時刻,在接收端產(chǎn)生與“字”、“句”起止時刻相一致的定時脈沖序列,統(tǒng)稱為群同步或幀同步。幀同步的檢出一般可用相關(guān)檢測技術(shù)完成。以往數(shù)據(jù)通信中的速率不是很高,相關(guān)檢測的問題容易解決,但數(shù)字通信的日益高速率化的趨勢,對實時狀態(tài)下的相關(guān)檢測提出了新的難度挑戰(zhàn)。實際上,很多高速數(shù)傳系統(tǒng)比如中繼衛(wèi)星通信系統(tǒng),要求用戶星和地面站下行鏈路間的傳輸數(shù)據(jù)率越來越高,達(dá)到了數(shù)百兆甚至上千兆的水平。在這樣的高速環(huán)境下對數(shù)據(jù)進(jìn)行實時的處理,就更加困難。
PSK調(diào)制在通信領(lǐng)域得到了廣泛的應(yīng)用,但存在相位模糊的問題,其一般可通過差分編碼來解決。此法雖然簡單,但需要在發(fā)送端加入獨立的差分編碼電路,并在接收端加入差分檢測電路。也有一些方法不用單獨加入差分編碼電路,比如在接收端結(jié)合Viterbi譯碼過程來完成相位模糊值的估計,進(jìn)而進(jìn)行相位恢復(fù)。但這一過程算法復(fù)雜,比較耗時。
本文既研究了高速條件下8PSK信號的幀同步問題,同時又對其相位模糊值進(jìn)行估計。主要依靠并行結(jié)構(gòu),對傳統(tǒng)幀同步方法進(jìn)行了簡化和改進(jìn),從而同時完成上述兩個任務(wù)。并且將該算法付諸FPGA實現(xiàn),驗證了算法的有效性。
1 傳統(tǒng)幀同步器結(jié)構(gòu)和同步檢測算法
過去已經(jīng)有很多幀同步技術(shù)的研究,其中最普遍的幀同步方法就是周期性地在一幀的起始處集中插入定長的幀同步碼。這種結(jié)構(gòu)通常是用計算接收符號序列與本地同步碼序列相關(guān)的方法來檢測幀同步。
對于一維信號,如BPSK調(diào)制信號,其相關(guān)運(yùn)算通??捎煤唵蔚耐蜷T來實現(xiàn)。將待檢測比特流與本地同步碼序列對應(yīng)位進(jìn)行同或,然后逐位相加。根據(jù)和的大小以及符號即可對幀同步以及相位模糊值進(jìn)行檢測。這種方法雖然簡單,但無法適應(yīng)如MPSK這樣的二維信號的幀同步檢測以及相位模糊值的估計,因此應(yīng)用范圍較窄。
2 實現(xiàn)相位模糊估計的幀同步檢測算法
能夠?qū)崿F(xiàn)相位模糊估計的幀同步檢測算法包含兩部分:
(1)待檢測數(shù)據(jù)與本地同步碼進(jìn)行相關(guān)運(yùn)算;
(2)相關(guān)值與門限比較,根據(jù)比較結(jié)構(gòu)給出相應(yīng)的峰值脈沖及相位模糊值。
下面以8PSK信號為例對能夠同時實現(xiàn)二維信號幀同步以及相位模糊估計的相關(guān)算法和判決方式進(jìn)行詳細(xì)介紹。
2.1 相關(guān)算法
由于8PSK信號是二維信號,所以待檢測符號序列可用aiejφi-Ii+jQi,i=0,1,2,…,N-1表示。其中ai為第i個數(shù)據(jù)的幅度;φi為其相位;N為幀頭碼元長度;Ii,Qi分別表示其實部和虛部。可以用miejθi=i0i+jQ0i,i=0,1,2,…,N-1表示本地同步碼序列,其中:mi為第i個同步碼的幅度;θi為其相位;I0i,Q0i分別表示其實部和虛部。本文選取M序列作為同步碼,并將0,1分別映射為8PSK中相對的0相位和4相位;然后進(jìn)行8PSK調(diào)制。如果幀頭部分碼元發(fā)生錯誤(由0變?yōu)?,或者相反),其相位就會發(fā)生180°偏轉(zhuǎn),即由aiejφi變成了aiej(φi+π)。
待檢測符號序列與本地同步碼序列的相關(guān)值應(yīng)該為:
得到式(1)的相關(guān)值后,一種比較直接的方法就是首先計算相關(guān)值的模,然后與門限進(jìn)行比較來檢測峰值存在與否,若檢測出峰值,再由相關(guān)值的實虛部關(guān)系(arctan(*))估計相位模糊值。
但是上述方法計算相當(dāng)復(fù)雜,F(xiàn)PGA資源消耗較大,并且不易并發(fā)地進(jìn)行峰值檢測和相位模糊值的估計。所以下面提出一種易于FPGA實現(xiàn)的簡化的算法。
由于需要估計相位模糊值,式(1)中的相位信息不能省略。又因為8PSK信號是恒包絡(luò)的,故mi為常量;在噪聲影響下是近似恒包絡(luò)的,故可近似認(rèn)為ai為常量。所以式(1)可以簡化為:
將式(2)中等號兩邊同除am可得本文簡化后的相關(guān)算法如下:
對比式(1)和式(3)可知,后者相關(guān)值的計算僅與接收符號的相位以及本地同步碼的相位有關(guān),與前者相比,減少了一半的計算量,這給算法的FPGA實現(xiàn)帶來了極大的方便。
假設(shè)接收數(shù)據(jù)的幀頭部分與本地同步碼完全對齊,但接收的幀頭序列中有k個碼元發(fā)生誤碼。此時有N-k個i所對應(yīng)的φi-θi為常數(shù),設(shè)為△θ,發(fā)生誤碼的k個i所對應(yīng)的φi-θi則為△θ+π。此時,相關(guān)值可用式(4)表示:
式中:△θ為相位模糊值;k為0時表示幀頭部分沒有發(fā)生誤碼。由于在8PSK調(diào)制中,相位模糊值為π/4的整數(shù)倍,即(按逆時針方向計算),所以式(4)可寫成如下形式:
2.2 門限判決方法
得出相關(guān)值之后,下面提出設(shè)置兩個門限的方法,既可避免計算的復(fù)雜性,還可以并發(fā)地進(jìn)行峰值脈沖的檢測和相位模糊值的估計。
當(dāng)接收數(shù)據(jù)的幀頭部分與本地同步碼完全對齊時,可對式(5)做如下討論:
(1)若l=0,2,4,6,即相位模糊值為π/4的偶數(shù)倍,觀察式(5)可知,此時相關(guān)值僅包含實部或虛部。故實部或虛部的絕對值(相關(guān)值的模)應(yīng)該大于判決門限,設(shè)為threshold_0。
(2)若l=1,3,5,7,即相位模糊值為π/4的奇數(shù)倍,觀察式(5)可知,此時相關(guān)值包含實部和虛部。實部和虛部的絕對值均約為相關(guān)值的模,所以它們的倍約為相關(guān)值的模,且都應(yīng)該大于門限threshold_0。因此它們本身都應(yīng)該大于
通過上述分析可知,相關(guān)檢測問題實際上可以轉(zhuǎn)化為相關(guān)值的實部和虛部與兩個門限進(jìn)行比較的問題。其判斷邏輯如表1所示。
注:第二列為按照逆時針計算的相位模糊值。
式(3)表明,僅通過接收符號的相位以及本地同步碼的相位即可計算出相關(guān)值的實部和虛部。
之后將實部和虛部分別與兩個門限值做比較,然后根據(jù)表1的判決邏輯,即可直接檢測出峰值脈沖與相位模糊值。