文成玉,廖聰慧,熊航,杜鴻
(成都信息工程大學通信工程學院,四川 成都 610225)
慢跳頻指每個跳頻段攜載一個以上碼元,快跳頻指每個碼元被分割成多個片段并從不同的信道頻率上貫序發送[1]。在現有快跳頻通信系統中,收發兩端依賴衛星授時和精密時鐘建立精確起跳點[2-3],使用相同的偽隨機序列發生器控制數控振蕩器生成混頻頻率[4-5],使快跳頻通信系統需要通過專用硬件系統實現,并且對衛星授時的依賴也限制了系統對應用環境的適應性。
到目前為止,研究者對快跳頻通信的研究主要聚焦于跳頻頻率、跳頻周期以及起跳時間等參數估計方面[6-8]。殷婕等[9]提出將短時傅里葉變換(STFT,short-time Fourier transform)和圖像處理結合,對時頻圖分析得出跳頻信號參數估計,相比傳統時頻分析法有更高的精確度,但僅針對單個跳頻信號的參數估計。付衛紅等[10]提出通過壓縮感知法和原子匹配法對跳變時刻、跳速和跳頻頻率進行估計。該方法顯著降低計算復雜度并得到較高的估計精確度,但未驗證存在多個跳頻信號時算法的有效性。張寶林等[11]通過短時傅里葉變換二次估計和多重信號分類(MUSIC,multiple signal classification)對跳頻時刻和跳頻頻率進行估計。該方法參數估計精度較高,但無法兼顧時間和頻率分辨率。Li 等[12]通過截獲大量跳頻信號數據,構建長短期記憶(LSTM,long short-term memory)神經網絡模型,預測跳頻頻率。該方法能顯著提高預測精度,但未實現逐點頻率的高精度預測且該實驗僅在單個通信網絡中進行。
由于快跳頻系統不易獲得,公開文獻中的研究工作主要在仿真環境中實施,研究結果在現實場景中的適用性和穩健性存在不確定性。
為了使用通用軟件定義無線電(SDR,software defined radio)設備實現快跳頻通信系統,本文主要研究工作如下。
1)根據跳頻信號模型,揭示解跳結果對起跳時間精度的敏感性。
2)解析本文提出的快跳頻通信方案,包括跳頻表檢測、精密起跳點檢測和解跳3 個步驟。
3)通過兩臺SDR 設備在無線信道中的通信實驗,驗證了本文方案的有效性。
跳頻復信號片段如圖1 所示,real 和imag 分別是跳頻信號的I和Q分量,PH是起跳點,PP是跳頻周期,PB≤PP是一個跳頻周期內發送的基帶調制信號采樣點數。針對跳頻信號流中第m個跳頻段,跳頻運算為

圖1 跳頻復信號片段

其中,SH(k)是跳頻周期內第k個復采樣點,M(q)是基帶調制信號M的第q個復采樣點,fm是跳頻段m的跳頻頻率,Fs是采樣率。一個跳頻段消耗PB個基帶調制信號采樣點,輸出PP個跳頻信號采樣點。
使用歐拉公式對式(1)進行分解,得到程序中的具體計算式為

在解跳運算中,每個跳頻段消耗PP個跳頻信號采樣點,輸出PB個調制信號采樣點。對于跳頻信號流中第n個跳頻段,解跳信號SdeH為

其中,0≤k≤PB,fn為跳頻段n的跳頻頻率。解跳中最大的挑戰是k=0 時,SH(nPP)能夠精準對齊跳頻段的第一個采樣點,即起跳點對準。
對于接收端第n個跳頻段前后的采樣流[…,SH(nPP–1),SH(nPP+0),SH(nPP+1),…,SH(nPP+PP–1),SH(nPP+PP),…],有以下2 種情況。
1)如果起跳點對準,即從采樣點SH(nPP+0)開始解跳,使用式(4)解跳第n段時的起始相位為0,與式(1)執行段跳頻時的起始相位一致,解跳后I 和Q 分量是連續的。圖2 是起跳點誤差為0 采樣點時的解跳結果。

圖2 起跳點誤差為0 采樣點時的解跳結果
2)如果起跳點前移一個采樣點,即從SH(nPP–1)開始解跳第n段,此時,第n段實際起始采樣SH(nPP+0)對應的解跳下標k就從0 變成了1,該段解跳起始相位不再從0 開始,而是從開始,導致解跳后信號I 和Q 分量出現跳變。圖3 是起跳點誤差為1 采樣點時的解跳結果。

圖3 起跳點誤差為1 采樣點時的解跳結果
從圖3 中解跳結果可以看出,即使起跳點有一個采樣點偏移,也會導致解跳后基帶信號在起跳點出現跳變,這樣的跳變導致基帶信號幅度和相位失真,不能被后端解調器正確解調。
本文快跳頻通信方案由3 個模塊構成:跳頻表檢測、精密起跳點檢測和解跳。跳頻信道數N、信道頻率集f0~fN?1、跳頻周期PP和跳頻周期采樣數PB等參數為已知條件。對于盲跳頻信號解跳,需要首先檢測這幾個參數。
在多數文獻中,通過加窗短時快速傅里葉變換,按照特定采樣點步進搜索每個跳頻段的跳頻頻率[11,13]。這種方法存在的缺陷是當采樣率較低或跳頻信道頻率間隔較近時,傅里葉變換的頻譜分辨率較差,導致檢測失敗;尤其不利的是,當接收信號載噪比較低時會產生較高的誤檢率。跳頻頻率檢測失敗將直接導致解跳失敗。
為了克服短時傅里葉變換方法存在的問題,本文方案中的跳頻表檢測步驟具體如下。
1)對到達的跳頻采樣塊執行N次下變頻、低通濾波、復數轉幅度、抽取和平滑,得到如圖4 所示的N信道幅度陣列,其中N信道幅度顯示在同一坐標軸中。

圖4 N 信道幅度陣列
2)搜索每個信道幅度中的峰值點,得到由數據下標q、跳頻頻率f和幅度v構成的三元組(q,f,v)。當其他信道在q±τ區間不存在大于v的幅度時,存儲該三元組到跳頻表陣列中。其中,為實驗常數,τ取值與低通濾波器抽頭數、PP及PB相關聯。
3)對頻率表陣列按數據下標升序排序。其中,低通濾波器截止頻率為基帶信號帶寬,抽取和平滑的目的是消除噪聲引起的峰值點。
跳頻表的作用是描述到達的跳頻信號流中每個跳頻段出現的時間戳(數據下標q等效于時間戳)、跳頻頻率f和幅度v(為中間參數)。三元組中數據下標q隨噪聲波動較大,不能直接用作起跳點。跳頻段的精密起跳點通過專門檢測算法實現。
正交解調的本質是計算基帶信號的瞬時頻率,正交解調輸出幅度分布區間即瞬時頻率分布區間。解跳信號瞬時頻率分布區間與基帶信號最大頻偏相關聯。對于跳頻信號來說,有以下2 種情況。
1)如果起跳點出現偏移,每個跳頻段的解跳起始相位都存在突變;由于快跳頻周期PP小于源調制符號周期,相當于給跳頻信號疊加了符號率更高的相位調制,即使經過低通濾波,正交解調輸出的瞬時頻率分布區間也會顯著增大。
2)如果起跳點對準,即使在有噪聲的信道中,經過低通濾波后,正交解調輸出的瞬時頻率分布區間也相對較小。
圖5 給出了不同起跳誤差情況下解跳信號的正交解調幅度。

圖5 不同起跳誤差下解跳信號的正交解調幅度
根據上述分析,當起跳點誤差為0 時,正交解調幅度峰峰值最低;而當起跳點存在正或負誤差時,正交解調幅度峰峰值顯著變大。基于這一性質,精密起跳點檢測的步驟如下。
1)以跳頻表首節點數據下標q0為參考點,置參考起跳點P"區間為q0–DL
2)從正交解調幅度峰峰值二元組陣列中搜索Qpp最小的節點,對應的P"即精密起跳點PH。
3)輸出起跳點出現漂移時的正交解調幅度峰峰值閾值Qpp_thr。

其中,Qpp_pre和Qpp_suc分別是二元組陣列中精密起跳點PH節點的前序和后繼節點的正交解調幅度峰峰值,α<1.0 為常數。
在首次計算精密起跳點時,由于跳頻表中峰值點數據下標q是非常粗糙的值,需要對到達的跳頻數據塊執行DR–DL–1 由于本文方案不依賴衛星授時和馴服時鐘,在通信過程中可能存在起跳點隨時間漂移的問題。為了容忍起跳點漂移,在首次檢測起跳點PH時,同時記錄起跳點PH出現漂移時的正交解調幅度峰峰值閾值Qpp_thr,在后續解跳過程中,當解跳后數據塊的正交解調幅度峰峰值Qpp超出閾值Qpp_thr時,置精密起跳點檢測步驟1 中參考起跳點P"區間為PH±1,重新搜索起跳點PH。起跳點漂移即使存在也是一個慢變過程。 解跳過程步驟如下。 1)將每個到達的跳頻數據塊緩存到FIFO 隊列中,記錄隊列中第一采樣點全局數據下標Ptr0,在通信過程中Ptr0 隨時間不斷遞增。 2)按2.1 節方法對FIFO 隊列中采樣集執行跳頻表檢測,其中數據下標使用全局數據下標,緩存到跳頻表陣列。 3)按2.2 節方法執行精密起跳點PH檢測,記錄正交解調峰峰值閾值Qpp_thr,此步驟僅執行一次。 4)按式(4)對每個跳頻段執行解跳;對解跳后復信號執行低通濾波和正交解調,獲得正交解調峰峰值Qpp,當Qpp>Qpp_thr時,按2.2 節方法重新計算精密起跳點PH,此時置參考起跳點P"區間為PH±1,更新Qpp_thr。 5)每完成一個段解跳,置PH=PH+PP;刪除FIFO 隊列中已經完成解跳的接收采樣;刪除跳頻表中已經使用的節點。 圖6 為本文快跳頻通信系統流程。 圖6 本文快跳頻通信系統流程 本文方案與文獻[1-2]方案的系統流程區別在于以下幾點。 1)發送端不使用偽隨機碼發生器選擇跳頻信道,而使用隨機數選擇跳頻信道,形成隨機跳頻序列,而不是偽隨機跳頻序列。 2)接收端解跳中不使用偽隨機碼發生器來跟蹤發送端跳頻圖案,而使用2.2 節精密起跳點檢測算法直接檢測起跳點。 3)本文方案不依賴高精度衛星授時,發送端和接收端間采樣時鐘速率偏差可能導致收發兩端采樣點出現滑動漂移。為了克服采樣點滑動漂移引起的起跳點漂移,解跳后同時執行起跳點漂移檢測,如果出現漂移,則重新檢測起跳點并再次執行解跳。 對于快跳頻通信,每個跳頻段僅僅傳輸一個符號的片段,所以,調制信號應該具有恒幅度包絡,如2FSK(frequency-shift keying)、MSK(minimum frequency-shift keying)、GMSK(Gaussian MSK)或OQPSK(offset quadra phase shift keying)。2FSK帶外呈慢波紋衰減,頻譜利用率不高;GMSK 有較好的頻譜利用率,但正交解調后符號軌跡與前后符號的狀態相關聯,載噪比較低或采樣數較少時頻偏估計誤差較大[14];相對而言,MSK 有接近GMSK的頻譜利用率,突出優點是在低載噪比和少量符號條件下,頻偏估計誤差優于GMSK。 鑒于上述因素,在快跳頻通信實驗中,使用MSK 調制。 為了利用GNU Radio 執行快跳頻通信實驗,開發相關OOT(out of tree)模塊如下。 1)MSK 調制模塊。輸入字節流,輸出MSK 調制采樣流;MSK 解調器使用GNU Radio 的符號同步模塊實現,同步算法選用zero crossing。 2)BER 測量模塊。該模塊包括BER 測量幀字節流發送和BER 統計2 個子模塊。 3)跳頻模塊。輸入調制復信號采樣流,輸出跳頻復信號采樣流。 4)解跳模塊。輸入跳頻復信號采樣流,輸出解跳復信號采樣流。 通信發送端信號處理流程如圖7 所示,主要由4 個模塊組成。 圖7 通信發送端信號處理流程 1)BerEst_FrmGen 模塊。輸出BER 測量幀字節流,每個幀由首部、計數器以及用戶自定義字符消息組成。 2)MSK Mod 模塊。執行MSK 調制,位速率為1 024 bit/s,每個符號采樣點數為2 048,調制信號采樣率Fs=2.0 Msps。 3)CuitFhssFast_Sender 模塊。使用真隨機數從信道頻率表中選擇跳頻頻率,對調制信號執行跳頻運算;跳頻周期PP=512 采樣點,每個跳頻周期發送信號采樣點數PB=448,此時每個符號通過4.6 跳發送,跳頻信道數N=16,信道間隔65.536 kHz 圍繞0 中頻左右依次分布。 CuitFhssFast_Sender 模塊輸出跳頻信號時,同時輸出2 個連續QPSK 調制信號,參照圖8 中左右兩端幅度較低的突出尖峰,用于驗證同頻段內存在其他連續信號時算法的有效性;QPSK 信號幅度為跳頻信號幅度的1/8,若提升QPSK 信號幅度,接收端收到的射頻信號將會出現明顯的互調失真。 圖8 接收端跳頻信號PSD 最大保持幅度 4)UHD。USRP Sink 使用Ettus B210 總線形射頻收發器,工作在無同步、內時鐘模式,未使用射頻功放,通過天線將信號發送到無線信道。 通信接收端信號處理流程如圖9 所示,主要由7 個模塊組成。 圖9 通信接收端信號處理流程 1)UHD。USRP Source 使用Ettus B210 總線形射頻收發器,通過天線接收空中信道跳頻信號。 2)CuitFhss_DeHop 模塊。該模塊將跳頻信號解跳為基帶信號。 3)Frequency Xlating FFT Filter 模塊。該模塊有2 個作用,一是修正發送/接收SDR 設備間的頻率差,二是執行低通濾波。由于發送端未發送頻率校準信號,實驗中SDR 設備間頻率差需要通過人工觀察正交解調幅度中值來估計。 4)Quadrature Demod 模塊。執行正交解調。 5)Symbol Sync 模塊。執行符號同步,輸出1 sps的同步波形,同步算法選用 zero crossing。 6)Binary Slicer 模塊。將1 sps 同步波形轉換為二進制位流。 7)BerEst Excutor 模塊。執行誤碼率(BER,bit error ratio)統計,結果顯示在控制臺,同時存儲到csv 文件。 受主機性能限制,在實驗中,接收端分3 個步驟實現:首先通過USRP 模塊接收無線信道跳頻信號,將其存儲到數據文件;然后使用解跳程序CuitFhss_Dehop 對文件中跳頻信號執行解跳,并將解跳結果存儲到數據文件;最后讀取解跳數據文件,使用處理流程末端5 個模塊,即修正頻偏、執行低通濾波、跟蹤位同步、位同步轉位流、統計BER。 在現實無線信道中,一般用載噪比(CNR,carrier noise ratio)近似評價接收端信號質量。CNR定義為信號載波平均功率與噪聲平均功率比值。對于快跳頻信號來說,難以通過功率譜平均獲得客觀的CNR 指標。在快跳頻通信實驗中,使用PSD 最大保持幅度Amax評價接收信號質量,使用Amax-BER關系評價系統性能。在GNU Radio 中,PSD 計算的輸入是SDR 設備DSP 輸出的正交信號,并不等于天線上的信號電平,且該結果僅為參考值。接收端SDR 設備DSP 輸出信號R可近似表示為 其中,g為射頻前端增益,SH(k)為發送端發射的跳頻信號,nchan(k)為無線信道噪聲,這2 個分量來自無線信道;nadc(k)為ADC 量化噪聲,nlo(k)為本振泄露,nitr(k)為交調失真,這3 個噪聲分量由SDR 設備自身產生,忽略熱噪聲成分。 實驗中,SDR 發送端未連接射頻功放,發射歸一化增益置為0.7;兩臺SDR 設備天線間距恒定4 m,按0.5 步進改變接收端歸一化增益,控制SDR 設備DSP 輸出信號幅度,此時,由于天線端口信號電平是恒定的,影響跳頻信號質量的主要因素為接收端內部產生的3 個噪聲分量;每個增益傳輸3 組10 KB數據,測量接收信號PSD 最大保持幅度Amax與BER的關系,結果如圖10 所示。 圖10 接收信號PSD 最大保持幅度與BER 的關系 1)當接收端增益為0 時,Amax低于?70 dB,解跳/解調后只有少數正確幀,整體BER 較高;參照式(6),DSP 輸出信號主要噪聲成分為ADC 量化噪聲項和本振泄露項,此時容易看到0 中頻本振泄露幅度已接近跳頻信號幅度。 2)當接收端歸一化增益提升到0.15~0.45時,Amax分布區間約為–65~–45 dB,來自天線的信號分量顯著強于本振泄露和量化噪聲,此區間BER 有最低均值。 3)由于SDR 設備射頻前端沒有預選濾波器,實驗場地與三大運營商基站只有30 m 左右距離,接收端歸一化增益進一步提升到0.50 以上,Amax幅度大于–45 dB,DSP 輸出信號中出現交調失真成分,BER 隨射頻增益正比上升。 本文提出了一種基于SDR 的快跳頻方案。發送端使用真隨機序列對調制信號執行跳頻運算后發射。接收端通過信道下變頻、低通濾波和幅度峰值檢測運算檢測跳頻表;通過解跳后基帶信號正交解調幅度峰峰值分布特性搜索精確起跳時間;根據跳頻表和起跳時間對跳頻信號執行下變頻實現解跳。 解跳真隨機序列跳頻信號,意味著本文方案結合SDR 設備除了可實現快跳頻通信外,還具備解跳盲跳頻信號的能力。在跳頻表檢測和精密起跳點檢測中使用解跳和低通濾波運算,使本文方案在低載噪比或低采樣率條件下仍可正常工作。在實際信道通信實驗中,使用兩臺通用SDR 設備,不依賴外部時間源和時鐘源,測試了跳頻信號的PSD 最大保持幅度Amax和BER 關系,驗證了方案的有效性和簡潔性。 受實驗主機配置和性能限制,接收端全流程未在同一個程序中實時連續執行,但從本質上來說,計算開銷比重最高的濾波器卷積運算和解跳中的下變頻運算都具有顯著的單數據多指令特征,適合在GPU 或FPGA 中通過并行計算加速,因此本文方案具備良好工程實現潛力。2.3 解跳
2.4 系統流程

3 通信實驗
3.1 調制類型選擇
3.2 GNU Radio OOT 模塊
3.3 通信發送端


3.4 通信接收端

3.5 實驗結果


4 結束語