李曄,周國棟,肖林偉,陳華明
( 1. 湖南開放大學 網(wǎng)絡技術學院, 長沙 400004;2. 國防科技大學 電子科學學院, 長沙 410073 )
全球衛(wèi)星導航系統(tǒng)(GNSS)作為信息化時代重要的基礎設施,在軍事、民用、科學等領域發(fā)揮著重要的作用[1]. 隨著衛(wèi)星導航系統(tǒng)應用的不斷深入,目前GNSS已無法滿足智能駕駛等場景中用戶對厘米級定位精度的需求,而基于低軌導航增強系統(tǒng)的精密單點定位(PPP)技術被廣泛認為是最具潛力的解決方案[2].
PPP技術要求用戶能夠通過導航電文中的精密星歷實時解算得到衛(wèi)星的精密軌道和精密鐘差. 為了實現(xiàn)精密星歷數(shù)據(jù)的實時播發(fā),電文速率要達到Kbps量級,這遠高于目前GNSS所采用的100 bit/s左右的電文速率[3]. 為了能夠在不影響測距性能的前提下提高電文速率,同時兼具測距精度和電文速率的碼移鍵控(CSK)調(diào)制成為低軌導航增強系統(tǒng)信號調(diào)制技術的重要選項[4].
CSK 調(diào)制在上世紀九十年代就已被提出,該調(diào)制在相位或幅度等調(diào)制技術的基礎上額外增加碼相位偏移維度,從而能夠在不改變原有信號頻譜的基礎上提高電文速率[5-8]. 但碼相位偏移的改變同時也顯著增加了接收端電文解調(diào)的復雜度,這一缺點致使該技術在數(shù)字處理能力較弱的年代始終未得到廣泛應用. 隨著集成電路技術的快速發(fā)展,CSK信號解調(diào)的高復雜度已不再是制約其應用的主要瓶頸,而其優(yōu)良的測距和通信性能重新得到了衛(wèi)星導航系統(tǒng)設計者的廣泛關注[9-13]. 目前CSK 調(diào)制在日本的準天頂系統(tǒng)(QZSS)中已經(jīng)得到應用,實現(xiàn)了速率為2 000 bit/s的電文傳輸[14]. 據(jù)了解,國內(nèi)某些低軌導航增強系統(tǒng)也在積極開展CSK調(diào)制信號的驗證工作. 文獻[15]探討了衛(wèi)星導航系統(tǒng)同時采用CSK調(diào)制與低密度奇偶校驗碼(LDPC)等編碼技術相的誤碼率性能. 可以預見,CSK調(diào)制將以低軌導航增強為代表的下一代衛(wèi)星導航系統(tǒng)中得到廣泛的應用. 除了衛(wèi)星導航系統(tǒng)以外,在超寬帶(UWB)通信系統(tǒng)中也使用CSK調(diào)制技術以提高電文速率[16].
導航接收機在接收CSK調(diào)制信號時,除了要完成信號跟蹤以外,還需要遍歷計算各種碼相位偏移的相關值,從而解調(diào)出碼相位偏移所攜帶的電文信息,這相比傳統(tǒng)導航信號采用的二進制相移鍵控(BPSK)和BOC調(diào)制具有更高的實現(xiàn)復雜度. 針對CSK信號解調(diào)算法復雜度較高的問題,本文提出了基于奇偶分塊快速傅里葉變換(FFT)的高效解調(diào)算法,該算法能夠顯著提高相關值計算效率,為低軌導航增強系統(tǒng)接收機的設計提供重要參考.
CSK調(diào)制的基本原理是通過增加偽碼相位偏移這一維度,在不改變信號帶寬、幅度等參數(shù)的情況下提高信息傳輸速率. CSK調(diào)制是一種M進制正交信號,每個符號都是通過對一個原始的偽碼序列進行循環(huán)移位得到. 如果每個擴頻碼周期需要發(fā)送U個比特,那么需要M=2U個不同的偽碼相位偏移來表示.假設CSK調(diào)制相位偏移為0的原始偽碼序列為c0(t) ,那么剩下的M-1 個 偽碼序列cm(t) (1 ≤m≤M)可表示為
式中:bm為第m個 偽碼序列的偽碼相位偏移數(shù);Nc為擴頻碼周期數(shù);Tc為每個擴頻碼碼片時長;mod(x,y)為x對y取模. 上述表示比特數(shù)為U、擴頻碼周期為N的CSK調(diào)制,通常簡記為 C SK(U,N) .
理論上而言,偽碼序列cm(t)對應的U比特電文序列表示第m種比特序列中的第i比特,取值為0或1)與其對應偽碼相位偏移數(shù)bm只需滿足一一映射的要求即可. 實際使用中,為了簡化接收端的解調(diào),偽碼相位偏移數(shù)bm通常正好對應著比特電文序列dm的十進制數(shù) (dm)10,即
根據(jù)上述CSK調(diào)制符號的表達式,可以得到用戶接收到的CSK調(diào)制信號的模型為
式中:C為信號功率; τ0為信號傳輸時延;f0為標稱的射頻頻率;fd為多普勒頻率; θ0為載波初相;n(t) 為噪聲.
CSK調(diào)制信號的擴頻碼周期存在M種可能的碼相位偏移,因此在進行電文解調(diào)時需要同時計算M種碼相位偏移的相關值,并根據(jù)最大相關值所對應的碼相位偏移得到當前擴頻碼周期調(diào)制的電文. 在不影響算法原理的前提下,為了表述的簡潔,文中將不考慮接收機的二次變頻過程.
假設擴頻碼周期為T,則第i個擴頻碼周期碼相位偏移為m個碼片時所對應的相關值xm[i] 為
在得到各種碼相位偏移相關值的基礎上,進行電文解調(diào)的方法包括相干解調(diào)和非相干解調(diào),其表達式分別為:
式中, R e(x) 為取復數(shù)x的實部.
根據(jù)上述表達式,可以得到CSK調(diào)制信號的時域解調(diào)算法,其實現(xiàn)框圖如圖1所示.
圖 1 CSK調(diào)制信號的時域解調(diào)算法的實現(xiàn)框圖
為了簡潔,圖1中省略了載波和偽碼跟蹤部分的實現(xiàn)框圖. 由圖1可知,相比BPSK信號的解調(diào),CSK信號解調(diào)需要同時計算M個相位. 隨著M值的增加,CSK信號解調(diào)所需的硬件資源會急劇增加,當M接近擴頻碼周期數(shù)N時,不同偏移碼相位相關值計算的復雜度近似為O(N2).綜上所述,CSK信號解調(diào)算法的關鍵在于如何高效計算不同偏移碼相位的相關值.
為了解決不同碼相位相關值的高效計算,文獻[7]提出了CSK信號頻域解調(diào)算法. 該算法通過將時域的循環(huán)相關轉(zhuǎn)換為頻域相乘運算,從而實現(xiàn)CSK信號的高效解調(diào).
假 設兩個長 度 均為N的 有限長 序 列x[i] 和y[i]( 0 ≤i<N),其循環(huán)相關值z[i] ( 0 ≤i<N)的表達式為
式中, (y)N=mod(y,N) 表示將y對N取模.
那么序列x[i] 、y[i] 和z[i] 的離散傅里葉變換存在如下的關系:
利用上述關系,對Z[k] 進行FFT逆變換就可以得到循環(huán)相關值z[i] . 很顯然,上述基于頻域的相關值計算方法的復雜度主要取決于時頻域變換. 眾所周知,當離散傅里葉變換的點數(shù)N剛好等于2的冪次時,可以使用計算復雜度為ONlog2N的FFT來實現(xiàn),因此頻域處理可以將計算復雜度由O(N2)降為
根據(jù)上述循環(huán)相關的頻域高效實現(xiàn),可以得到CSK信號的頻域解調(diào)算法. 下面首先考慮數(shù)字處理接收機計算碼相位偏移為0的計算過程,其表達式為
式中:Ts為采樣周期;N=[T/Ts] 為擴頻碼周期內(nèi)的采樣點數(shù);s′[k] 為 經(jīng)過載波剝離后的基帶信號;c0[k] 為碼相位偏移為 0 的偽碼采樣序列.
很顯然,通過對序列s′[k] 向右作l個采樣點的循環(huán)移位,可以計算得到基帶信號相對于c0[k] 碼相位偏移為lTs/Tc個碼片的相關值,即
為了降低基帶處理的計算復雜度,在滿足Nyquist曲線采樣定理的前提下,接收機通常會盡可能降低基帶數(shù)據(jù)速率. 對于CSK調(diào)制信號而言,基帶數(shù)據(jù)只需略高于2倍碼率,即Tc≈2Ts. 如果基帶數(shù)據(jù)速率與2倍碼率之間相差較大,可通過數(shù)據(jù)重采樣使得基帶數(shù)據(jù)速率滿足上述要求. 在基帶數(shù)據(jù)速率近似等于2倍碼率的條件下,通過計算相關值y2m[i] 即可近似得到xm[i] ,即
很顯然,上式中y2m[i] 的計算過程為循環(huán)相關結(jié)構. 利用循環(huán)相關與頻域乘積之間的對偶關系,可以使用FFT實現(xiàn)高效的計算,即
式中,Ss[k] 和[k] 分別為s′[k] 和c0[k] 的離散傅里葉變換.
根據(jù)上述表達式,可以得到CSK信號頻域解調(diào)算法的實現(xiàn)結(jié)構如圖2所示.
圖 2 CSK信號頻域解調(diào)算法的實現(xiàn)框圖
在CSK頻域解調(diào)算法中,式(12)中的快速傅里葉逆變換(IFFT)運算同時給出了所有碼相位偏移的相關值計算結(jié)果,然而在CSK調(diào)制中,只有前U個碼相位偏移是可能的,因此可以對IFFT運算進行優(yōu)化,只需要計算與前U個碼相位所對應的相關值即可,從而可以簡化解調(diào)過程的計算量,這就是本文所提算法的基本原理. 由于FFT和IFFT旋轉(zhuǎn)因子和系數(shù)存在差別,但實現(xiàn)結(jié)構基本是一致的,因此本文仍以FFT為例介紹所提算法的原理.
FFT算法是蝶形遞推運算,以Cooley-Turkey算法為例,當FFT點數(shù)為8時,其實現(xiàn)結(jié)構如圖3所示.
在傳統(tǒng)FFT運算中,輸出點數(shù)和輸入點數(shù)一致.當FFT點數(shù)為 2L時,F(xiàn)FT運算共包括L級蝶形運算,每級蝶形運算包含 2L個計算節(jié)點. 以圖3中的8點FFT為例,運算結(jié)構共包含3級蝶形運算,總共包含24個計算節(jié)點.
圖 3 8點FFT的蝶形遞推運算結(jié)構
由于CSK信號頻域解調(diào)算法只需使用FFT運算的部分結(jié)果,因此并不需要對所有計算節(jié)點進行處理. 在圖3所示的8點FFT中,當輸出前面2個點時,計算節(jié)點數(shù)目為14個,其余10個非計算節(jié)點與最終輸出結(jié)果無關,約占總節(jié)點數(shù)的41.7%. 很顯然,輸出點數(shù)相對輸入點數(shù)的比例越低,計算節(jié)點在總節(jié)點數(shù)中占比越小. 因此基于部分輸出的特點,通過優(yōu)化FFT的計算結(jié)構,可以降低CSK信號頻域解調(diào)算法的計算量.
考慮一般情況,假設FFT輸入點數(shù)為 2L,需要輸出的為序號0~2M-1的結(jié)果. 根據(jù)圖3中計算節(jié)點的規(guī)律進行遞推,可以得到基于部分輸出FFT計算結(jié)構具有如下特點[17]:
1) 前面M級的蝶形運算與傳統(tǒng)FFT完全一致,所有節(jié)點均為計算節(jié)點;
2) 從M+1 列開始,僅對兩個輸入節(jié)點均為計算節(jié)點的蝶形運算進行處理,且只有前一個輸出為計算節(jié)點.
在上述條件下,可以得到基于部分輸出FFT的CSK信號頻域解調(diào)算法的實現(xiàn)框圖,具體如圖4所示.
圖 4 基于部分輸出FFT的CSK信號頻域解調(diào)算法的實現(xiàn)框圖
根據(jù)部分輸出FFT計算節(jié)點的分布,可以得到部分輸出FFT的計算節(jié)點數(shù)為
由于傳統(tǒng)FFT的計算節(jié)點數(shù)為L×2L,因此部分輸出FFT相比的傳統(tǒng)FFT計算節(jié)點的占比為
當L和M取不同值時,部分輸出FFT相比的傳統(tǒng)FFT計算節(jié)點的占比如圖5所示.
下面以碼率為1.023 Mcps的 C SK(4,1023) 調(diào)制信號為例進行仿真驗證.
假設基帶數(shù)據(jù)采樣率為4 Msps,通過重采樣后將基帶數(shù)據(jù)速率變?yōu)?.046 Msps,那么在1 ms的擴頻碼周期內(nèi)的采樣點數(shù)為2 046,因此基于部分輸出FFT的頻域解調(diào)算法的輸入點數(shù)2 048,輸出點數(shù)為32. 易知,此時部分輸出FFT的計算節(jié)點數(shù)僅為傳統(tǒng)FFT的54.4%,可節(jié)省約45.6%的計算量.
當輸入信號的載噪比為40 dB·Hz,正確的碼相位偏移為10時,基于部分輸出FFT得到的不同碼相位下的相關值如圖6所示.
圖 5 不同L和M取值時部分輸出FFT相比的傳統(tǒng)FFT計算節(jié)點的占比
圖 6 基于部分輸出FFT頻域解調(diào)算法得到的相關值
由圖6可知,序號為20(碼相位偏移為10)所對應的相關值幅度最大,與仿真設置的條件是一致的,因此本文所提出的基于部分輸出FFT的頻域解調(diào)能夠估計出正確的碼相位偏移,從而完成電文的解調(diào).
針對CSK信號頻域解調(diào)算法復雜度較高的問題,提出了基于部分輸出FFT的高效解調(diào)算法. 該算法利用CSK解調(diào)僅需FFT部分輸出結(jié)果的特點,對FFT的蝶形解算結(jié)構進行優(yōu)化,通過定義計算節(jié)點來避免與輸出結(jié)果無關的無效計算,從而提高整體的計算效率. 以碼率為1.023 Mcps的CSK(4,1023)調(diào)制信號為例,本文所提出的基于部分輸出FFT的頻域解調(diào)算法可節(jié)省約45.6%的計算量,這對下一代衛(wèi)星導航接收機的設計具有重要的意義.