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