功能描述:
使用CA碼和P碼兩種碼來區分雙頻道中的兩種不同的頻道。但是P碼周期非常長,美國軍用P碼周期是140多天,而簡化后的民用版本也要7天多,我們無法在仿真或者實際測試的時候花那么多時間去驗證P碼的捕獲,所以這里,我們將P碼部分做了下簡化,使用偽隨機序列周期為2048bit,來代替P碼部分。
一般情況下,導航電文的頻率為50hz,CA碼的頻率為1M,P碼的頻率為10M。這里,為了測試的需要,我們需要降低頻率來進行測試。
舉個簡單的例子,假設直接采用P碼的頻率10M,加上后面的中頻調制,假設載波是8倍采樣,那么最后的頻率是80M,然后對應的電文為50hz,也就是一個電文,將對應1.6M個采樣時鐘周期,這在仿真過程中顯然沒法進行,所以,這里我們將幾個頻率指標稍微修改下,方便仿真的驗證,這樣改也不影響實際的測試。

通過捕獲模塊獲得初始的頻偏值,然后進行載波同步。與此同時,通過碼同步,完成相位的捕獲。最后進入跟蹤階段。
本地碼生成器以C/A碼標稱頻率(Hz)產生C/A碼與接收到的采樣信號相關累加,一個積分周期(通常1個碼周期)后,相關峰與檢測門限比較,如果相關峰大于門限,則認為捕獲成功,得到對應的碼相位估計;如果相關峰小于門限,碼發生器自動將本地碼碼相位向前或向后跳動1/2或1/4個碼片,然后繼續相關累加檢測,最多在 或 個偽碼周期后找到與本地偽碼同步的輸入偽碼的相位狀態( 即為一個碼周期內碼片的數目),以實現偽碼的捕獲。下面對步進相關法進行簡單介紹,其原理圖見圖1。


在GPS硬件接收機里,信號捕獲電路以1ms為周期調整本地信號發生器的碼相位值和多普勒頻移估計值,使產生的信號對準某一搜索單元。當本地信號與輸入的衛星信號對準在允許的范圍內得到的結果超過檢測閾值,則信號捕獲成功,搜索停止并啟動碼跟蹤環路,否則搜索單元調整頻率和碼相位的步進量重復上述過程,直到信號被捕獲為止。
這里,我們設計了兩個單通道的時域滑動相關捕獲算法,來對雙頻下的GPS信號進行捕獲。時域滑動相關捕獲方法是最常容易,最常見的一種捕獲方法,當前大部分GPS接收機都采用用這種方法實現C/A碼的捕獲。它經過一個偽碼周期后可獲得一次相關值,優點是硬件實現比較簡單,但該捕獲算法完成整個二維搜索所需要的時間是很長的,這么長的捕獲時間在高動態環境下是不能接受的。
時域滑動相關捕獲方法是在時間域內通過C/A碼的滑動進行的信號的捕獲過程。它主要通過不斷的調整本地碼的碼相位和本地載波頻率來實現信號的捕獲。首先在一定范圍內任意選定載波頻率,同時在本地復現所捕獲到的本地衛星的C/A碼,然后移動本地復現C/A碼的碼相位,依次與輸入衛星信號的C/A碼相關,最后檢測相關峰值并記錄該峰值所對應的C/A碼移動的碼相位。根據C/A碼的強自相關性,當接收機所復現的C/A碼與輸入的衛星C/A碼的碼相位在任何一邊的偏移超過一個基碼時,有最小的相關值,其間是線性的變化。這樣通過檢測相關峰值就得到了初始的碼相位。如果在該選定的載波頻率下沒有檢測到相關峰值,則說明用來剝離載波的本地載波不準確,將本地的載波頻率以一定的步長增加和減少,重復上述過程,知道捕獲到相關峰值,記錄下當前本地載波的頻率,這樣通過反復修正得到的本地載波的頻率與輸入GPS信號中頻的差值就是多普勒頻移。

實際硬件測試如下:

----------------------------------------------------------------------------
FPGA公司項目代做|matlab碩士代做|matlab博士代做|非中介|淘寶交易|MATLAB SCI代寫|MATLA期刊代寫
FPGA公司項目代做|FPGA碩士代做|FPGA博士代做|非中介|淘寶交易|FPGA SCI代寫|FPGA期刊代寫
FPGA公司項目代做|Simulink碩士代做|Simulink博士代做|非中介|淘寶交易|Simulink SCI代寫|Simulink期刊代寫
|