程永茂,趙峰民,曲 暉,司記偉
(海軍航空工程學院科研部,山東 煙臺 264001)
正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM)技術憑借其在頻率選擇性衰落信道中的優秀性能已經得到了人們的廣泛關注,成為下一代移動通信系統的核心技術之一。以OFDM為支撐技術的IEEE802.11和IEEE802.16系列標準已經在商業領域得到了成功應用[1-2]。而在軍事領域中,為了對抗敵方所可能進行的通信干擾,跳頻通信是常見的手段之一。跳頻正交頻分復用(Frequency Hopping Orthogonal Frequency Division Multiplexing,FH-OFDM)正是結合了跳頻和OFDM技術的優點,既可以在有限的帶寬內實現高速的數據傳輸,還可以在復雜的戰場環境下實現可靠的通信。
FH-OFDM系統在提供優越的通信性能的同時,對接收機的同步技術提出了更高的要求。接收機要在每一跳的時間內完成跳頻同步、定時同步、載波同步和采樣率同步等一系列工作,如圖1所示。其中跳頻同步實現了收發雙方在射頻載波頻率上的一致性,是接收機完成后續的信道估計和均衡乃至解碼的先決條件。而定時同步則包括了OFDM的幀同步和符號同步,用來確定FFT窗的起始位置,確保OFDM符號間不會出現碼間串擾和子載波間干擾。現有的OFDM系統在定時同步方面大都采用相關檢測的方法,其易于在硬件上實現,但容易受到載波頻偏的影響而降低準確性[3-5]。

圖1 FH-OFDM接收機的同步體系
針對以上情況,本文研究了FH-OFDM系統中的跳頻同步和定時同步方法及其在FPGA中的實現。在同步的初始捕獲階段,提出了基于最小均方差的分組檢測方法,并改進了匹配濾波器用于進行訓練序列的互相關運算,克服了載波頻偏對相關性的削弱,對前導符號的起始位置做出初步估計。在同步的跟蹤階段,利用導頻對各OFDM符號的起始位置偏差進行估計并不斷地修正,最大限度地保證了定時同步的準確性。
跳頻同步是整個FH-OFDM系統正常工作的基礎,它使得接收機和發射機在同一時刻處于相同的頻率點上,保證了跳頻載波在時間和頻率上的完全一致。現階段,常用的跳頻同步方法有:獨立信道法、自同步法、自步字頭和參考時鐘法等。獨立信道法占用了寶貴的頻率資源且容易被干擾。自同步法的同步信息隱蔽性較好,但正是由于使用的同步信息較少,導致需要較長的時間才能建立跳頻系統的同步。同步字頭法為了保證數據傳輸速率,其同步字頭不能太長,并且在跳頻通信過程中還需要持續的插入同步信息以維持系統同步。參考時鐘法盡管對網內統一的參考時鐘精度和穩定度提出了很高的要求,但各通信節點可以使用相對簡潔的同步結構,實現快速組網。由于FH-OFDM系統不但要考慮跳頻同步,而且還要進行定時同步、載波同步和采樣率同步等工作,為了減輕系統的工作壓力,本文采用了參考時鐘法。GPS接收機可以便捷準確地提供民用的授時。而隨著中國北斗系統的進一步完善,目前其授時精度已經達到了10 ns,也可以作為FHOFDM系統的時間基準。只要收發雙方按照約定好的跳頻圖譜工作,就可以正常地完成跳頻同步。
本文中FH-OFDM信號的前導幀采用了IEEE802.16-2004標準中下行鏈路的OFDM前導結構,如圖2所示。前導中第一個符號包含4個相同的短訓練序列,每個序列包含64個采樣點,第二個符號由兩個相同的長訓練序列構成,每個序列有128個采樣點。各符號中的循環前綴可以在一定程度上避免碼間串擾。分組檢測的主要目的則是在保持OFDM信號正交性的前提下將定時誤差控制在可接受的范圍內,完成符號起始位置的粗略估計,為下一步的符號同步奠定基礎。

圖2 FH-OFDM信號的前導結構
在進行分組檢測時,頻率同步還沒有開始,收到的復基帶信號可能存在較大的頻率偏差,因此需要一種受頻率偏差影響較小的算法。本文的檢測算法基于Schimdl&Cox 提出的延時相關算法[6-7],利用短訓練序列的周期性來進行基于最小均方差的分組檢測。在長度為L的觀察窗口內,延時相關函數Cn可以表示為

式中:D為短訓練序列的重復周期。接收信號在觀察窗口內的能量Pn可以表示為

式中:Pn用于判決統計的歸一化處理,使得判決函數可以獨立于接收信號的功率。Cn和Pn都是離散時間n的函數,因此在FPGA實現時可以采用迭代方式計算。考慮到實際計算時產生的延時,該算法將搜索區間從第一個OFDM符號中的某個位置開始,結束于第二個前導符號之前。基于最小均方誤差MMSE的判決函數可以表示為

可見判決函數mMMSE(n)的取值會出現區間分段特性,前一段平坦,后一段迅速下降。這樣,第二個符號的起始位置可以由式(4)來粗略獲得。

式中:Th為實現確定的門限值,為小于1的正實數,其可以從仿真中得到。
基于最小均方差的延時相關分組檢測算法是有偏估計,且有較大的方差,其只能對起始位置提供粗略的估算,而準確的位置計算則由符號定時來完成。訓練序列對于接收機而言是已知的,因此可以利用匹配濾波器來對接收到的訓練序列與已知的訓練序列作互相關計算。通過匹配濾波器輸出的相關峰值,可以找到最佳的符號同步位置。

式中:nf是精確位置估計與粗略位置估計的偏差;Sk是已知的訓練序列;NF為搜索區間。當接收機和發射機之間存在載波偏差時,其會破壞接收到的訓練序列與已知訓練序列的相關性,導致無法辨認匹配濾波器輸出的相關峰值。針對這種情況,本文對匹配濾波器進行了改進,將當前接收到的樣值與相鄰的樣值的共軛復數相乘后進行匹配濾波。由于載波頻偏對每一項的影響相同,經過取模運算后就消除了相位偏轉。改進后的同步位置估計可表示為

綜合分組檢測中的粗略估計及符號定時的精確估計,可以得到準確的符號起始時間為

盡管在同步的初始捕獲階段可以準確地設置好FFT窗的起始和結束位置。在進入同步跟蹤階段后,隨著信道環境的變化以及接收機本身的時鐘漂移,必須不斷利用導頻對定時同步的偏差進行估計并修正。定時偏差可以分為兩部分,即整數倍時偏d和小數倍時偏Δd,其中整數倍時偏的正確估計依賴于小數倍時偏的補償。第m個符號中發送的導頻數據Xm(kp)經過衰落信道傳輸后忽略噪聲項后可以表示為

式中:χ近似表示信道及頻偏等因素對發送信號所產生的影響;Ng為循環前綴的長度;kp為FH-OFDM信號一跳中的第p個導頻數據所在的子載波序號。取間隔為32的導頻數據進行相關處理可得

由于d只取整數,對ρ求相位后可以得到小數倍時偏Δd的估計值

其中arctan(x)的取值范圍為(-π/2,π/2),因此Δd的估計范圍為(-0.5,0.5)。可以根據實際通過調整導頻的間隔來進一步改變Δd的估計范圍,以改善估計精度。對經過小數倍時偏補償后的導頻數據再次進行相關處理,可得

這時整數倍時偏d的估計值可以表示為

根據arctan(x)的函數值范圍,d的估計范圍為(-N/4,N/4)。最終根據d的大小來對接收機FFT窗口的位置不斷修正。
本文中分組檢測算法的FPGA實現主要包括“數據緩存”、“主控制”、“延遲相關能量計算”、“相關窗口能量計算”、“幀搜索”這5個模塊,結構圖如圖3所示。

圖3 分組檢測的FPGA實現框圖
主控模塊根據系統的當前狀態(如正在進行分組檢測計算、分組檢測處理結束等)以及幀搜索模塊的輸出結果,向數據緩存模塊輸出相應的控制指令(如分組檢測有效、分組檢測處理完成有效等)。同時主控模塊還要接收其他模塊的反饋信息。
數據緩存模塊對等待檢測的輸入數據進行緩存,同時在找到數據分組起始與結束位置時,根據相應的控制信號分別實現對緩存數據的輸出和停止。其主要工作包括:把當前的輸入數據輸送到相關窗口能量計算模塊,把數據輸送到延時相關能量計算模塊,在分組檢測結束后對數據進行輸出。本文使用了2級移位寄存器來處理緩存數據。第1級移位寄存器的長度為64,即短訓練符號的長度,以滿足當前數據與其之前的第64個數據進行相關計算的要求,其在分組檢測信號有效時輸出待檢測的數據至延時相關能量計算模塊。第2級移位寄存器作用是完整的輸出整個幀,防止前面的短訓練序列樣值的丟失,這里采用的長度為192。
延時相關能量計算模塊負責接收數據緩存模塊輸出的當前數據和當前數據的前64個數據,見式(3)中的分子部分。其在FPGA實現時主要分為3個步驟。延時相關計算用來完成當前輸入數據與之前的64個數據的相關系數的計算。相關累加計算用來完成觀察窗口長度下相關值的累加和計算,采用了滑動窗口累加的方法。幅值簡化計算主要完成16個相關值累加和的幅度計算,把累加和的實部和虛部的絕對值相加。
相關窗口能量計算模塊負責計算觀察窗口期間接收數據的能量,使得分組檢測的判決變量獨立于接收信號能量,FPGA實現時主要有3個步驟:能量計算負責當前輸入數據與其本身共軛的乘積;能量累加計算負責累加求和;為了與延時相關能量計算模塊同時輸出,這里還要進行一定的時鐘延遲。
幀搜索模塊主要完成數據分組起始與結束位置的近似估算,根據式(3)、式(4)來尋找分組起始和結束,并將判決的結果反饋至主控模塊。
符號同步的FPGA實現主要分為量化、匹配濾波和符號輸出3個步驟。其中匹配濾波器結構如圖4所示。由于接收到的64個取樣為復數結構,復數乘法需要占用較多的FPGA資源,為了降低運算的復雜度及對資源的需求,將接收到的信號量化為{-1,1},即大于0的量化為1,小于0的量化為-1。同時為了降低高斯白噪聲的影響,在量化前持續地累加接收到的短訓練序列。

圖4 改進的匹配濾波器結構
經過量化后的信號送入匹配濾波器之后,先將接收到的樣值與相鄰的樣值的共軛復數相乘,再將信號輸入移位寄存器與本地當前短訓練符號及之前的64個短訓練符號進行相關計算,并將相關值進行累加求和。由于直接對累加和進行幅值計算會消耗大量的硬件資源,這里依然采用簡化的幅值計算方法。通過計算輸入數據的實部和虛部絕對值之和來近似其幅值。然后通過尋找其幅值的峰值來確定各短訓練符號的結束點。
由于數據符號均為每128個有效數據前加32個循環前綴,去除了循環前綴后會有32個時鐘沒有數據,FPGA中通過一個同步時能信號來表示有效數據。當接收數據不是128的整數倍時,在其后補零以滿足整數倍條件。
本文中FH-OFDM接收機同步系統是基于ALTERA公司的Stratix II系列FPGA芯片EP2S60和ADI公司的DDS芯片AD9910來實現的。FPGA芯片借助GPS接收機提供的高精度脈沖來按照預定的跳頻圖譜控制AD9910,保證接收機與發射機的載波頻率隨時保持一致,將射頻信號下變頻至70 MHz中頻。經ADC采樣后的信號由NCO數字下變頻至基帶來進行同步捕獲和跟蹤。FH-OFDM同步系統的總體實現如圖5所示。

圖5 FH-OFDM同步系統的硬件實現框圖
同步系統是在Quartus II 9.1開發環境下進行設計實現的,通過SignalTap II邏輯分析儀對同步的結果進行性能測試,如圖6所示。

圖6 SignalTap II下的同步性能測試(截圖)
其中AdcOut_Sign為70 MHz的中頻數字采樣信號輸入;Judge_Var_Out為分組檢測的判決信息;Frame_Coming_Flag為分組檢測的信號有效標志;data_en_out為定時同步后,用于進行FFT處理的窗口控制信號,高電平保持時間段表示數據,低電平保持時間段表示循環前綴。從圖6可以看出,FPGA經過跳頻同步和定時同步后可以準確地找到FH-OFDM信號每一幀的起始時間以及各個符號的起始時間,保證了通信系統在后續工作中能夠準確地解碼。
本文針對FH-OFDM系統研究了同步方法,并結合FPGA進行了硬件平臺的設計與實現。在跳頻同步部分利用FPGA的I/O端口采集GPS接收機提供的定時脈沖,控制AD9910輸出載波信號用于下變頻處理。在定時同步部分中對已有的同步算法進行了改進,并針對FPGA應用進行了簡化處理以節省資源提高運算速度。系統性能測試表明,本文所提出的方法可以有效地對FH-OFDM信號進行同步處理。
[1]韓慶文,谷友方,王韜.基于聯合算法的OFDM峰均比降低技術[J].計算機工程,2011,37(4):112-115.
[2]ISLAM K M Z,AL-NAFFOURI T Y,AL-DHAHIR N.On optimum pilot design for comb-type OFDM transmission over doubly-selective channels[J].IEEE Trans.Commun.,2011,59(4):930-938.
[3]HELMUT B.Blind estimation of symbol timing and carrier frequency offset in pulse shaping OFDM systems[C]//Proc.IEEE ICASSP V99.PhoenixUSA:IEEE Press,1999,5:2749-2752.
[4]PARK B,CHEON H,KO E.A blind OFDM synchronization algorithm based on cyclic correlation systems[J].IEEE Signal Processing Letters,2004,11(2):83-85.
[5]ZHOU H,MALIPATIL A,HUANG Y F.OFDM carrier synchronization based on time-domain channel estimates[J].IEEE Trans.Wireless Communications,2008,7(8):2988-2999.
[6]史治國,洪少華,陳抗生.基于XILINX FPGA的OFDM通信系統基帶設計[M].浙江:浙江大學出版社,2009.
[7]田耕,徐文波,張延偉,等.無線通信FPGA設計[M].北京:電子工業出版社,2008.