張蘭粉,王 迪,張亞林,楊再秀
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.北京衛星導航中心,北京 100094)
突發擴頻信號如衛星無線電定位業務[1-4](Radio Determination Satellite Service,RDSS)是北斗衛星導航系統的特色,是在系統提供RDSS定位授時服務的基礎上,借助短報文的形式為用戶提供位置報告或雙向短報文交互。基于RDSS短報文通信建設的民用服務平臺將與地面公共移動通信、衛星通信和互聯網等系統互聯互通,通過市場化方式運作,面向大眾市場開展商業化服務,有力提升北斗系統特色優勢和質量效能,帶動北斗產業發展,推動北斗產業在經濟社會發展各行業各領域的規模化應用。結合實際需求,突發擴頻信號具備大容量、低載噪比和高動態等特點。針對這些特點,開展低載噪比突發擴頻信號快速捕獲技術研究,其性能將直接決定入站信號接收的成功率,同時也是整個系統接收能力的直接體現。
傳統擴頻信號的捕獲方法[5-7]包括線性搜索法、并行碼相位搜索法、并行頻率搜索法等。線性搜索法在時域內進行搜索捕獲,方法簡單,硬件實現容易,但搜索速度慢,無法滿足實時捕獲的需求[8-10]。并行碼相位搜索法可將多次碼相位搜索通過傅里葉變換一次性完成,搜索更快捷,但需要完成2次傅里葉變換和一次傅里葉反變換,運算量很大,不利于硬件實現[11-15]。并行頻率搜索法是對每一個碼相位的搜索都進行一次傅里葉變換,搜索速度和運算量適中[16-18]。
針對大容量、低載噪比、高動態的突發擴頻信號特點,提出了一種分段匹配濾波器加多普勒并行相干積累的方法。該方法基于硬件實現從算法到工程進行全流程優化設計,以實現最優的捕獲性能,捕獲結果能夠實時計算,載噪比可達39.5 dBHz,多普勒搜索范圍可達±6 kHz,多重信號重疊錯開時間3碼片,檢測概率高達99%,虛警概率小于10-6,通過Virtex-7 690T進行實現,硬件資源占用小于65%。
分段匹配濾波器加多普勒并行相干積累的快速捕獲單元原理如圖1所示。

圖1 快速捕獲單元原理Fig.1 Principle of fast acquisition unit
該結構針對大容量、低載噪比、高動態的突發擴頻信號進行設計,二次量化壓縮輸入信號的比特數,二次量化的數據用3 bit表示;匹配濾波器用分段匹配濾波器替換,各個通道可以共享;多普勒并行相干積累用快速處理方法也能進一步提高運算效率。以上變形處理都會帶入額外的處理損耗,但能大幅提高運算效率。
快速捕獲單元專門配置了噪聲通道估計模塊,用來實時估計通道噪聲。由于干擾等因素,可能會導致噪聲通道出現波動,只有實時估計噪聲通道的功率,才能保證捕獲和虛警概率性能達到最優。
為了消除相關峰可能出現的“拖尾”、畸變,取大判決還需要對相關峰進行整形處理,然后與捕獲門限比較,若超過門限,則向跟蹤單元發出捕獲脈沖信號。
快速捕獲單元在FPGA上設計實現,型號為Xilinx Virtex-7 690T。快速捕獲單元整體硬件結構框圖如圖2所示,由載波搜索和碼相位二維并行搜索組成。采用基于分段短時相關的并行捕獲搜索算法,在此算法基礎上根據功能劃分各個子函數,分別進行設計,最終完成整個捕獲方案的設計實現。劃分的各個子函數主要包括數據預處理函數、AGC函數、抽取量化函數、碼生成函數、分段短時相關計算函數、FFT函數、后累積函數、捕獲判決函數和頻率估計函數。

圖2 快速捕獲單元整體硬件結構框圖Fig.2 Overall hardware structure of fast acquisition unit
在數據預處理函數[7]中,首先對數據信號進行直流分量去除,再通過與本地產生的正弦、余弦信號進行混頻實現下變頻,然后進行FIR濾波。去除直流分量通過累計求和取平均的方式實現對直流分量的計算,求和計算的數據個數為29=512。下變頻首先實現本地載波的正余弦信號產生,再通過與信號相乘實現頻譜搬移。正余弦信號產生通過坐標旋轉數字計算機(Coordinate Rotation Digital Computer,CORDIC)算法實現。數字下變頻示意如圖3所示。

圖3 數字下變頻示意Fig.3 Schematic diagram of digital down conversion
CORDIC算法原理的核心思想是規定旋轉角度,然后通過不停迭代逐步逼近實現數學求解。具體實現方法為,設置迭代次數為16,則x0=0.607 253,y0=0,并輸入待計算的角度z0=θ,θ∈[-99.7°,99.7°]。根據3個迭代公式進行迭代:

經過16次迭代計算后,得到的x16和y16分別為cosθ和sinθ。
FIR低通濾波器是基于Kaiser窗設計實現的[19],采樣頻率為80 MHz,截止頻率為16.32 MHz,設計濾波階數為62。
通常AGC[20]處于接收機的數字下變頻之后,通過反饋的形式,以AGC的輸出數據能量為標準,對輸入AGC的數據幅度進行調整,達到控制功率的目的。
從具體的實現方式來看,AGC的輸入數據首先經過能量平均函數,計算出一段時間的采樣點平均能量。設這段時間內的采樣點數為N,為了保證平均能量的準確估計,N的值應當取得足夠大。同時,為了保證N個采樣點之間的信號能量不發生顯著變化,N的值又應當取得足夠小。設計中可以把該值設為可調,根據實際情況測定,本文N=512。
平均能量輸入對數查找表函數,對能量值取對數之后將該對數能量與參考值的對數值相減,所得的結果送入運算判決函數,該函數的輸出作為指數查找表的輸入地址,輸出的數據就是取2的指數次方的輸出,然后將該輸出與輸入數據進行復數乘法,實現功率控制。數字AGC運算流程如圖4所示,初始增益為1。

圖4 數字AGC運算流程Fig.4 Operation flow of digital AGC
抽取量化函數的主要功能是將AGC之后80 MHz的數據進行抽取,抽取之后的頻率為16.32 MHz,然后再將I,Q兩路數據分別進行3 bit量化。數據抽取通過查找表的方式實現,設定250抽取51的查找表,避免長時間積累導致的數據相位偏移。量化通過外部設置固定的量化電平,最優量化電平通過仿真計算獲得。
分段短時相關計算函數[21-22]將15 ms的同步頭分割成3段,每段作256點的FFT運算,每段的FFT結果求包絡之后進行后積累(即后積累3次)。用于FFT運算的5 ms數據又分割成約136小段作基本的匹配濾波處理,即每小段包括150個碼片(600個采樣點),其流程如圖5所示。

圖5 分段相關計算函數Fig.5 Segment correlation function

FFT計算函數采用Matlab系統函數,通過補零完成256點FFT運算。捕獲判決函數對單次FFT運算結果進行取大運算,然后再與判決門限做比較。由于頻率搜索范圍為±6 kHz,故FFT的輸出頻域值X(k)(k取0~255)只有一半的數據有效,k的有效范圍[0~63,191~255],即對128點復數進行取大運算。FFT運算是并行實現的,故同時對128點復數求平方和,獲得128點實數,然后兩兩進行比較運算,經過7次比較運算即可獲得最大值,求最大值的過程同時保留相對應的kmax值,最終輸出kmax值和頻域值X(kmax),X(kmax-1),X(kmax+1)。
頻率估計函數對136個點補零作256點的FFT運算,則FFT結果的頻率步進106.25 Hz。FFT的輸出為-128~+127,-128對應-136 001 Hz,+127對應+13 494 Hz。由于只需要處理±6 000 Hz,因此實際感興趣的FFT輸出在-64 ~+63。
假設某次檢測,最大值Pkmax超過判決門限,其左邊值記為Pkleft(若Pkmax出現在第0,1,2或3,則Pkleft從第3,0,1或2中提取),右邊值記為Pkright(若Pkmax出現在第0,1,2或3,則Pkright從第1,2,3或0中提取)。然后對kmax修正得到:

最后按照信號處理終端的頻率分辨率計算頻率信息,則上述結果乘以系數106.25/16,然后四舍五入獲得最終的信息。
突發擴頻信號的同步頭時長15 ms,擴頻碼速率為4.08 Mc/s,載噪比為39.5 dBHz,多普勒頻偏為±6 kHz,多重信號重疊錯開時間為3碼片。
根據設計方案,在Matlab中實現數學運算模型,運算實現的過程全部基于定點位寬,與Verilog的計算精度保持一致。FFT運算在Verilog的實現上采用Spiral DFT/FFT IP,此IP沒有對應的運算模型,故驗證模型關于FFT的運算部分直接采用Matlab系統函數實現。其余運算模型均與Verilog模塊保持1∶1的一致性。
Virtex系列FPGA采用28 nm工藝實現,具有豐富的邏輯資源和優越的運行性能,該快速捕獲方案在Virtex-7 690T上設計實現,使用的資源如表1所示,快速捕獲單元硬件板卡機箱如圖6所示。

表1 快速捕獲模塊資源占用

(a) 快速捕獲單元板卡
傳統捕獲方法只能成功捕獲一個用戶后跟蹤處理完成再進行下次捕獲。該快速捕獲方法在設計上可實現多重信號重疊錯開時間3碼片,捕獲與跟蹤實時進行無需等待,從而大大提高捕獲速度。
如果采用9 ms的同步頭捕獲,在Virtex-7 690T芯片上設計,FPGA硬件資源占用65%以上。為了滿足載噪比39.5 dBHz,多普勒搜索范圍±6 kHz的要求,本方法采用15 ms同步頭捕獲,如果采用傳統的分段相干積分和FFT并行計算方法,FPGA硬件資源占用將達到108%。
為節省FPGA資源占用,本方法采用了2項改進措施:① 相干積分器奇偶復用。通過分析相干積分實現算法得知,如果通過合理設計基帶數據的采樣率,能夠實現相干積分器的復用,從而降低積分器的資源占用率。例如采用2倍碼率對輸入基帶數據進行重采樣,則奇數和偶數相關器可以通過時分的方式復用,減少近50%的相關器資源。② 全流水式分段積分和FFT計算。分段積分和FFT計算是捕獲的兩大關鍵部分,傳統捕獲設計在分段積分完成后,再啟動FFT計算。因為二者共用了相關值的存儲空間,因此只有等待所有相位的FFT計算完成后,才能啟動下一次分段積分計算,即在FFT計算期間,分段相干積分器是處于空閑狀態,造成了邏輯資源的閑置。本方法采用相關值交織存儲的技術,實現了分段相干積分和FFT的全流水計算,可以進一步節省FFT和相關器的資源。
通過上述設計,最終15 ms同步頭快速捕獲實現在Virtex-7 690T芯片上硬件資源占用率小于65%。
信號源產生載噪比為39.5 dBHz的信號,頻率覆蓋-6 000~6 000 Hz,間隔620 Hz,通過上述捕獲設計,獲得捕獲頻率結果如表2所示,快速捕獲單元捕獲檢測率如表3所示(多普勒±6 kHz)。

表2 捕獲頻率結果

表3 快速捕獲單元捕獲檢測率
由表2和表3可以看出,對于載噪比為39.5 dBHz,頻率覆蓋-6 000~6 000 Hz的信號,快速捕獲頻率精度即頻率估計誤差小于50 Hz,檢測率即錯捕幀數與統計幀數比大于99%,虛警概率即漏捕幀數與采樣頻率16.32 MHz比遠遠小于1×10-6。
本文方法通過硬件實現,捕獲結果實時計算,載噪比可達到39.5 dBHz,多普勒搜索范圍可達±6 kHz,多重信號重疊錯開時間3碼片,檢測概率高達99%,虛警概率小于1×10-6,Virtex-7 690T硬件資源占用小于65%。
突發擴頻信號利用并行頻率搜索法,原理簡單易于實現,但在硬件實現過程中資源消耗較大,尤其對于大容量、低載噪比、高動態擴頻信號的實時捕獲存儲和邏輯資源消耗更高。本文提出分段匹配濾波器加多普勒并行相干積累的改進方法,根據具體應用需求和硬件平臺資源,采用相干積分器奇偶復用和相關值交織存儲2種技術,實現硬件資源占用率降低。
未來北斗短報文通信由傳統專用終端應用,邁入面向大眾手機直接提供服務的新階段,屆時提高系統服務容量,降低終端發射功率將成為設計的重點,本文方法可以為大容量、低載噪比和高動態擴頻信號的實時捕獲提供參考。