[0049] 如圖1所示本發(fā)明一種衛(wèi)星信號(hào)捕獲系統(tǒng),:包括PNGEN偽碼生成模塊、PN碼雙 口RAM、C0RACC相關(guān)累加模塊、DDC下變頻模塊、下采樣模塊、乒乓RAM、FFT計(jì)算模塊、自動(dòng) 門(mén)限模塊、峰值檢測(cè)模塊、ACC累加模塊、FFTCARCAL并行載波搜索結(jié)果計(jì)算模塊、捕獲判斷 模塊、DATAPR0數(shù)據(jù)處理模塊、SCHCTL過(guò)程控制模塊、跟蹤模塊;所述PNGEN偽碼生成模塊 與PN碼雙口RAM之間信號(hào)連接,信號(hào)采樣頻率為100MHz,所述DDC下變頻模塊與下采樣 模塊之間信號(hào)連接,信號(hào)頻采樣率為100MHz,所述PN碼雙口RAM與C0RACC相關(guān)累加模塊 之間信號(hào)連接,信號(hào)采樣頻率為20. 46MHz,所述下采樣模塊與C0RACC相關(guān)累加模塊之間 信號(hào)連接,信號(hào)采樣頻率為20. 46MHz,所述下采樣模塊與乒乓RAM之間信號(hào)連接,信號(hào)采 樣頻率為20. 46MHz,所述CORACC相關(guān)累加模塊與FFT計(jì)算模塊之間信號(hào)連接,信號(hào)采樣 頻率為200MHz,所述乒乓RAM與FFT計(jì)算模塊之間信號(hào)連接,信號(hào)采樣頻率為200MHz,所 述FFT計(jì)算模塊與峰值檢測(cè)模塊之間信號(hào)連接,信號(hào)頻采樣率為100MHz,所述峰值檢測(cè)模 塊與FFTCARCAL并行載波搜索結(jié)果計(jì)算模塊之間信號(hào)連接,信號(hào)頻采樣率為100MHz,所述 FFTCARCAL并行載波搜索結(jié)果計(jì)算模塊與DATAPR0數(shù)據(jù)處理模塊之間信號(hào)連接,信號(hào)采樣 頻率為100MHz,所述FFT計(jì)算模塊與ACC累加模塊之間信號(hào)連接,信號(hào)采樣頻率為100MHz, 所述ACC累加模塊與捕獲判斷模塊之間信號(hào)連接,信號(hào)采樣頻率為100MHz,所述捕獲模塊 與DATAPR0數(shù)據(jù)處理模塊之間信號(hào)連接,信號(hào)采樣頻率為100MHz。
[0050]當(dāng)系統(tǒng)接收到外部觸發(fā)的開(kāi)始捕獲信號(hào)后,系統(tǒng)同時(shí)產(chǎn)生本地偽碼和接受AD數(shù) 據(jù)。
[0051]PNGEN偽碼生成模塊以100MHz的速率生成本地偽碼進(jìn)入PN碼雙口RAM進(jìn)行緩 存,由于偽碼的位寬只有l(wèi)bit,因此PN碼雙口RAM的深度可以取系統(tǒng)指標(biāo)中最大偽碼長(zhǎng)度 (10230)。偽碼緩存結(jié)束后FFT計(jì)算模塊以200MHz的運(yùn)算速度計(jì)算偽碼FFT并存入內(nèi)部緩 存器中,只要系統(tǒng)未完成捕獲(過(guò)程控制模塊沒(méi)有進(jìn)入到捕獲成功或者捕獲失敗狀態(tài)),偽 碼FFT的數(shù)據(jù)就一直存在FFT計(jì)算模塊內(nèi)部的緩存器中不被刷新,而且在之后的操作中也 不會(huì)重新計(jì)算偽碼FFT以節(jié)省系統(tǒng)運(yùn)算時(shí)間資源。
[0052] DDC下變頻模塊將直接接收AD采樣的8位輸入中頻信號(hào)進(jìn)行信號(hào)下變頻,濾波后, 進(jìn)入下采樣模塊使原來(lái)100MHz的中頻采樣頻率變速到20. 46MHz采樣頻率。
[0053] 下采樣后的信號(hào)分兩路至乒乓RAM和CORACC相關(guān)累加模塊。信號(hào)以20. 46MHz采 樣頻率進(jìn)入乒乓RAM緩存后以200MHz的速率進(jìn)入FFT計(jì)算模塊進(jìn)行碼相位并行搜索。搜 索后得到的相關(guān)峰譜進(jìn)入累加模塊進(jìn)行相干非相干累加后進(jìn)行捕獲判決,得出判決結(jié)果和 碼相位位置信息。
[0054] 信號(hào)以20. 46MHz采樣頻率進(jìn)入CORACC相關(guān)累加模塊后,與本地偽碼進(jìn)行相關(guān)操 作,得到的結(jié)果輸入到FFT計(jì)算模塊中進(jìn)行傅里葉變換操作得到載波多普勒頻率信息。以 上整個(gè)過(guò)程由SCHCTL過(guò)程控制模塊進(jìn)行協(xié)調(diào),并輸出捕獲相關(guān)結(jié)果數(shù)據(jù)送至DATAPR0數(shù)據(jù) 處理模塊。
[0055]系統(tǒng)隨時(shí)對(duì)外部跟蹤模塊輸出捕獲狀態(tài)信息,當(dāng)捕獲狀態(tài)為已捕獲時(shí),其它信號(hào) 有效。"當(dāng)前相位"和"相位對(duì)齊信號(hào)"為兩種相位輸出方式:"當(dāng)前相位"指示了當(dāng)前外部 輸入信號(hào)的相位;"零相位信號(hào)"指示了當(dāng)前外部輸入信號(hào)在該時(shí)刻的相位為〇,可以立即 進(jìn)行跟蹤操作。
[0056] DDC下變頻模塊說(shuō)明:
[0057] 所述DDC下變頻模塊內(nèi)部結(jié)構(gòu)如圖2所示,DDC下變頻模塊采用100MHz采樣率進(jìn) 行采樣,下變頻。下采樣模塊使用20. 46MHz兩倍擴(kuò)頻碼頻率取樣緩存,下級(jí)FFT模塊取緩 存時(shí)采用200MHz高速時(shí)鐘。
[0058] DDC下變頻模塊中的DDS設(shè)置說(shuō)明如下:
[0059] 由于系統(tǒng)的采樣率為100M,中頻頻率為70M,根據(jù)帶通抽樣定理,使用頻率為30M, 采樣率為100M的正弦波即可將中頻信號(hào)下變頻到基帶。
[0060] 低通濾波器:
[0061] 通常,由軟件無(wú)線電設(shè)計(jì)的濾波器有兩種方式:IIR和FIR。
[0062] (l)IIR無(wú)限脈沖響應(yīng)數(shù)字濾波器的h(n)無(wú)限長(zhǎng),和現(xiàn)實(shí)中模擬電路濾波器的頻 率、相位響應(yīng)類似,濾波器的極點(diǎn)可以位于單位圓的任何位置;在同等性能下,無(wú)限脈沖響 應(yīng)數(shù)字濾波器的階次較低,但是選擇性越高相位非線性越嚴(yán)重,只能采用遞歸調(diào)用方法執(zhí) 行,不能使用FFT計(jì)算,速度較低;設(shè)計(jì)時(shí)可以采用模擬濾波器設(shè)計(jì)的方法進(jìn)行設(shè)計(jì),常用 來(lái)設(shè)計(jì)規(guī)格化的選頻濾波器。
[0063] (2)FIR有限脈沖相應(yīng)數(shù)字濾波器的h(n)為有限長(zhǎng),濾波器的極點(diǎn)只能位于單位 圓的原點(diǎn),濾波器階次較IIR高很多,因此占用系統(tǒng)資源大;可以得到嚴(yán)格的線性相位,適 合對(duì)寬帶數(shù)據(jù)進(jìn)行濾波,一般采用非遞歸調(diào)用的方法,硬件實(shí)現(xiàn)較容易,可以使用FFT計(jì) 算,速度快,設(shè)計(jì)時(shí)需要采用與傳統(tǒng)模擬電路不同的設(shè)計(jì)方法,可設(shè)計(jì)各種幅頻特性和相位 特性的濾波器,應(yīng)用場(chǎng)合廣泛。
[0064] 由于系統(tǒng)有恒定群延時(shí)的要求,因此必須采用具有線性相位的FIR的濾波器進(jìn)行 設(shè)計(jì)??紤]到FIR濾波器占用系統(tǒng)資源較大,而系統(tǒng)的低通濾波器只需濾除載波的2次倍 頻,不考慮噪聲通過(guò),所以指標(biāo)定為:
[0065] (1)采樣率:100MHz;
[0066] ⑵通帶頻率:11MHz;
[0067] (3)阻帶頻率:29MHz;
[0068] (4)通帶增益:0dB;
[0069] (5)阻帶增益:_6〇dB;
[0070](6)階數(shù):13。
[0071] 后級(jí)FFT處理模塊共需要三種時(shí)域信號(hào)格式。系統(tǒng)在載波捕獲狀態(tài)時(shí),通道選擇 模塊選擇時(shí)域累加后的信號(hào)進(jìn)行緩存、輸出;系統(tǒng)在碼捕獲狀態(tài)且延時(shí)相乘算法被失能時(shí), 通道選擇模塊選擇僅僅濾波后、減采樣后的FIR模塊輸出信號(hào)進(jìn)行緩存、輸出。
[0072]NC0 模塊:
[0073] 圖3為NC0模塊結(jié)構(gòu)框圖本系統(tǒng)內(nèi)有各種控制頻率(擴(kuò)頻碼生成器時(shí)鐘,擴(kuò)頻碼 采樣時(shí)鐘,部分相關(guān)器采樣時(shí)鐘),而由于FPGA硬件芯片的限制,系統(tǒng)的同步時(shí)鐘不能過(guò) 多,否則會(huì)造成跨時(shí)鐘域的各種問(wèn)題。因此本系統(tǒng)中使用了NC0技術(shù)產(chǎn)生門(mén)控時(shí)鐘作為繁 雜的控制
[0074]NC0模塊的目的是產(chǎn)生任意頻率的門(mén)控時(shí)鐘。重點(diǎn)在于能夠從100M進(jìn)行非整數(shù)分 頻盡可能準(zhǔn)地生成頻率為10. 23MHz,20. 46MHz等的不同頻率的時(shí)鐘。NC0模塊的框圖如圖 3所示。頻率控制字是控制本NC0模塊的唯一參數(shù),控制了頻率控制字即ACC寄存器的溢出 率,ACC寄存器的溢出信號(hào)即是NC0模塊的門(mén)控時(shí)鐘輸出。頻率控制字的計(jì)算公式為:
[0075]
6
[0076]其中fta_為目標(biāo)門(mén)控時(shí)鐘的頻率;fsanple為采樣率;Nbltwldth為累加器位寬;N_trol 為頻率控制字。如本系統(tǒng)中采樣時(shí)間為100M,需要生成10. 23M的偽碼門(mén)控時(shí)鐘,則NC0模 塊的頻率控制字為:1757500618。
[0077]NC0模塊采用DDS技術(shù)對(duì)系統(tǒng)時(shí)鐘進(jìn)行非整數(shù)分頻。本系統(tǒng)采用32位的頻率控制 字,產(chǎn)生的時(shí)鐘平均頻率能達(dá)到10. 2299MHz,滿足系統(tǒng)對(duì)頻率精度的要求。但是由于是非整 數(shù)分頻,因此產(chǎn)生的頻率是不恒定的,如圖4所示。雖然有這種相對(duì)頻率誤差的存在,但是 由于沒(méi)有積累的頻率誤差,因此最大的延時(shí)誤差只能有l(wèi)〇ns。
[0078]PNGEN偽碼生成模塊:
[0079]PNGEN偽碼生成模塊輸出端采用雙口RAM進(jìn)行數(shù)據(jù)緩沖,內(nèi)部使用100MHz時(shí)鐘進(jìn) 行偽碼生成,每次生成雙口RAM容量大小的偽碼數(shù)據(jù),后級(jí)模塊能夠通過(guò)偽碼生成器提供 的RAM地址推導(dǎo)出當(dāng)前雙口RAM中的PN碼首地址。當(dāng)后級(jí)模塊所需的偽碼數(shù)據(jù)不在緩沖器 中時(shí)才重新生成偽碼,這樣能夠大大降低PNGEN模塊中偽碼緩沖器的更新次數(shù),減少延時(shí)。 PNGEN偽碼生成模塊的結(jié)構(gòu)框圖如圖5所示。
[0080]Xilinx公司提供的SRL16e模塊對(duì)寄存器(D觸發(fā)器)進(jìn)行復(fù)用。在圖6中可以 看到,F(xiàn)PGA的四輸入LUT被用作一系列寄存器的中間值進(jìn)行實(shí)時(shí)存取,最大可以進(jìn)行24 = 16個(gè)時(shí)鐘的延時(shí)。
[0081] 如圖7所示,使用SRL16e作為PNGEN偽碼生成模塊發(fā)生器的示意圖,圖7中僅使 用了一個(gè)slice的資源就進(jìn)行了硬件實(shí)現(xiàn),大大減少了系統(tǒng)資源的使用。
[0082]FFT計(jì)算模塊:
[0083] 如圖8所示,F(xiàn)FT計(jì)算模塊對(duì)輸入擴(kuò)頻調(diào)制信號(hào)進(jìn)行高速并行分析碼相位和高速 并行搜索多普勒頻率。FFT核心計(jì)算模塊使用XilinxIP核,輸入信號(hào)從本地偽碼,擴(kuò)頻調(diào) 制信號(hào)和偽碼頻譜和擴(kuò)頻調(diào)制信號(hào)頻譜復(fù)乘中選擇,通過(guò)狀態(tài)機(jī)控制碼相位搜索流程和多 普勒并行搜