0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

GPS接收機的捕獲模塊設計與驗證過程

FPGA十年老鳥 ? 來源:FPGA十年老鳥 ? 2024-10-25 16:23 ? 次閱讀

前言

我們知道捕獲一顆衛(wèi)星而言是對碼相位和多普勒頻率的二維搜索。

多普勒頻率是由衛(wèi)星運動和接收機運動共同疊加的結果。一般情況下的地面運動引起的多普勒都比較小,GPS的衛(wèi)星運動在L1頻點引起的多普勒頻移不會超過±5KHz

總之,兩者疊加的多普勒一般不會超過±5KHz,一些要求高動態(tài)場景的多普勒一般也是在±10KHz內(nèi)

數(shù)據(jù)位寬

我們這里有12bit位寬IQ輸入,但一般的GPS接收機是不需要這么多位寬的,我們將其壓縮成2bit位寬就可以了,這樣能夠很大程度上節(jié)省資源。

在有限帶寬的情況下,一位ADC的量化誤差所引起的損耗為1.96dB,兩位ADC的量化誤差所引起的損耗為1.2dB,三位ADC的量化誤差所引起損耗為0.6dB。

捕獲算法選擇

早期硬件資源不充足的時候使用串行捕獲,時間比較久。后面FPGA資源越來越大的時候,比較經(jīng)典的算法是并行碼相位FFT-IFFT算法。我一般喜歡用這種方法在matlab上進行算法驗證,最簡單的就是使用這種方法,幾行代碼就實現(xiàn)了其功能。

并行碼相位FFT-IFFT算法

優(yōu)點:

1、 設計結構和流程都比較簡單

(1) 中頻信號搬到零頻

(2) 然后做FFT = A

(3) 本地偽碼做FFT = B

(4) C = IFFT(A*CONJ(B))

結果等效于所有碼相位進行了相關運算,運算速度快。在一個頻點一次性將所有碼相位搜索完

2、 速度也比較快

缺點:

1、 大點數(shù)FFT模塊比較消耗資源

2、 對于電文翻轉(zhuǎn)的抵抗性差,例如如果運氣不好,正好采集的中頻數(shù)據(jù)中間存在著電文翻轉(zhuǎn),那么本次相關運算將會趨近于0。而且對于電文速率較高的情況(類似B1 GEO衛(wèi)星這種2ms就一個電文)就會使得性能下降

短時相關+FFT的算法

優(yōu)點:

1、同時搜索碼相位的同時也搜頻

碼相位直接采用相關器實現(xiàn),搜頻使用FFT算法

2、資源使用靈活

缺點:

1、設計和流程較復雜

同時N個相關器進行運算,其時序設計比較復雜

FFT搜頻存在以下問題:

1、如果頻率落在兩個分辨的頻點中間,峰值會有所下降(頻譜泄露)

2、如果頻偏離中心頻點較遠,則峰值會下降,

如下圖所示:

wKgaoWcbVtCAevBBAAAeNh4Pcyk128.png

這種問題可以通過補0來緩解,不過無法完全消除(提升計算分辨率)

wKgaoWcbVtKAPobTAAAn8fx9gqE214.png

捕獲參數(shù)設計

1、碼相位參數(shù)

我們參照半碼片為一個碼相位的方法,理論上是2046個碼相位,實際設計我們將25M時鐘的12個時鐘周期作為一個碼相位,那么實際上一共是2083個碼相位

2、 短時相關+FFT參數(shù)

我們希望我們的搜頻范圍為正負10KHz的范圍,那么每個點的時間間隔應該為50us,也就是說1ms數(shù)據(jù)分成了20段,我們希望我們捕獲到的頻率誤差為200Hz以內(nèi),那么FFT兩個點之間的頻率分辨間隔為400Hz以內(nèi),那么FFT的分析時間要2.5ms以上,因此我們設置FFT點數(shù)為64個點,在20個數(shù)據(jù)點的基礎上補足44個0,則FFT的分析時間為3.2ms,捕獲的頻率誤差156Hz

總之

短時相關時間:50us

FFT點數(shù):64

3、 捕獲時間計算

因為在搜索碼的過程中同時就完成了搜頻運算,因此我們計算捕獲時間只需要計算所有碼相位的相關時間即可

相關累加時間:1ms

相關器數(shù)量:100個

將捕獲核心算法時鐘提升到采樣率的7倍以上(還可以更高),那么等效的相關器就相當于700個。

非相干累加次數(shù):10次

因此700個碼相位完成一次捕獲搜索需要時間為10ms。而2083個碼相位只需要3個700次碼相位搜索即可完成,也就是30ms。

一顆星的捕獲時間:

一顆衛(wèi)星最慢也只需要30ms即可完成捕獲,最快10ms完成捕獲

整個GPS系統(tǒng)捕獲時間:

所有衛(wèi)星捕獲時間取平均數(shù)20ms,那么32個GPS衛(wèi)星全部遍歷一遍只需要600ms。加上FPGA其他模塊的延時以及軟件的一些開銷時間,也就是說在1s內(nèi)肯定能夠完成整個GPS衛(wèi)星的捕獲。

FPGA實現(xiàn)的一些組成模塊

wKgZoWcbVtCAIBmOAADVt7dbzQM120.png

1、 數(shù)據(jù)緩存

2、 100個相關器

3、 FFT模塊

4、 FFT結果緩存以及非相干累加邏輯

5、 門限判決部分

6、 PL與PS部分的配置接口

上板測試

剛開始的時候,沒有捕獲到任何一顆衛(wèi)星,這種情況下只能將數(shù)據(jù)采集下來進行進一步分析,

ILA的最長深度為130172個,差不多有5ms多的長度,足夠用于捕獲了。當然也可以使用ILA級聯(lián)的方法采集更多的數(shù)據(jù)。

將采集的數(shù)據(jù)經(jīng)過與verilog設計等效的matlab來進行分析,發(fā)現(xiàn)對輸入信號的搬頻方向反了。

注意,對于搬頻方向搞反是常見的錯誤,改正過來后,明顯的相關峰就出來了

wKgZoWcbVtCALknwAABPR43aRDw361.png

串口打印的捕獲結果如下,這里PS程序?qū)⑺械男l(wèi)星都遍歷了一遍

The cur_acq_ch,satid,phase,doppler,signal,noise is :0,1 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :1,2 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :2,3 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :3,4 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :4,5,7210,15,1769,580
The cur_acq_ch,satid,phase,doppler,signal,noise is :5,6 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :6,7 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :7,8 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :8,9 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :9,10 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :10,11 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :0,12 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :1,13,24094,0,1875,583
The cur_acq_ch,satid,phase,doppler,signal,noise is :2,14 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :3,15 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :5,16,23998,-4,3948,591
The cur_acq_ch,satid,phase,doppler,signal,noise is :6,17 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :7,18,11758,5,14730,597
The cur_acq_ch,satid,phase,doppler,signal,noise is :8,19 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :9,20 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :10,26,10966,3,7507,583
The cur_acq_ch,satid,phase,doppler,signal,noise is :0,21 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :2,22 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :3,23 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :6,24 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :8,25 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :9,31,15694,13,1422,588
The cur_acq_ch,satid,phase,doppler,signal,noise is :0,27,3610,-6,1812,576
The cur_acq_ch,satid,phase,doppler,signal,noise is :2,28 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :3,29,12754,9,9279,588
The cur_acq_ch,satid,phase,doppler,signal,noise is :6,30 failed
The cur_acq_ch,satid,phase,doppler,signal,noise is :2,32 failed





捕獲到了5號星、13、16、18、26、31、27和29號星。和之前手機上觀測的數(shù)據(jù)完全吻合,非常好。而且連信號強度也能夠?qū)纳?,打印中的signal值就是對應的信號強度

wKgaoWcbVuCAaOgNAARBzD7ksXw356.png

總結

做FPGA大型算法工程的時候有一套與之對應的matlab程序或者C模型程序是至關重要的,完成這項工作的難度不亞于在FPGA上的實現(xiàn),但也是必須要做的,否則當開始調(diào)試的時候出來不了結果的話,則很難進行定位,反而會花費巨量的時間,以至于最后放棄。

捕獲是FPGA最難的一部分,完成了這部分之后有種豁然開朗的感覺,不過后面跟蹤能不能也實現(xiàn)就得繼續(xù)進行下去才知道了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gps
    gps
    +關注

    關注

    22

    文章

    2873

    瀏覽量

    165842
  • 接收機
    +關注

    關注

    8

    文章

    1175

    瀏覽量

    53337
  • adc
    adc
    +關注

    關注

    97

    文章

    6351

    瀏覽量

    543410

原文標題:從零開始研發(fā)GPS接收機連載——6、捕獲模塊設計與驗證

文章出處:【微信號:FPGA十年老鳥,微信公眾號:FPGA十年老鳥】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPS接收機測試應用指南

    隨著GPS技術的應用日漸普及,GPS接收機制造商、OEM集成商和合同制造商正在尋找適合的標準測試來驗證GPS
    發(fā)表于 08-16 15:17 ?78次下載

    GPS接收機原理圖

    GPS接收機原理圖
    發(fā)表于 08-06 17:44 ?2776次閱讀
    <b class='flag-5'>GPS</b><b class='flag-5'>接收機</b>原理圖

    什么是GPS接收機

    什么是GPS接收機          &nbs
    發(fā)表于 12-31 14:08 ?2522次閱讀

    GPS接收機的分類

    GPS接收機的分類   按用途分類              導航型接收機:此類型
    發(fā)表于 12-31 14:10 ?5938次閱讀

    GPS接收機性能驗證測試設計方案

    GPS接收機性能驗證測試設計方案 如今從手機到個人導航設備(PND),再到照相機和帶有RFID標簽的其他同類產(chǎn)品,電子世界到處都有GPS的身影。盡管G
    發(fā)表于 03-08 16:32 ?1140次閱讀
    <b class='flag-5'>GPS</b><b class='flag-5'>接收機</b>性能<b class='flag-5'>驗證</b>測試設計方案

    GPS軟件接收機捕獲方法研究

    為解決GPS 軟件接收機 中頻信號的 捕獲 問題,首先基于FFT的并行碼捕獲實現(xiàn)了對基帶信號的粗捕,對粗捕的捕獲判決進行改進,采用自適應門限
    發(fā)表于 05-31 14:55 ?68次下載
    <b class='flag-5'>GPS</b>軟件<b class='flag-5'>接收機</b><b class='flag-5'>捕獲</b>方法研究

    GPS軟件接收機信號的快速捕獲與跟蹤

    根據(jù)GPS 軟件接收機對數(shù)據(jù)塊進行信號處理的工作方式,研究基于快速傅里葉變換的循環(huán)相關法偽碼快速捕獲與跟蹤技術。基于實測GPS 中頻數(shù)據(jù),采用循環(huán)相關法在頻域計算輸入信號與
    發(fā)表于 08-26 15:54 ?66次下載
    <b class='flag-5'>GPS</b>軟件<b class='flag-5'>接收機</b>信號的快速<b class='flag-5'>捕獲</b>與跟蹤

    GPS接收機基本工作原理

    GPS接收機基本工作原理GPS接收機主要由 1、GPS接收機天線單元;2、
    發(fā)表于 09-03 18:18 ?2.2w次閱讀
    <b class='flag-5'>GPS</b><b class='flag-5'>接收機</b>基本工作原理

    星載GPS接收機的可見星預測方法

    GPS接收機在低軌衛(wèi)星上有廣泛的應用。事先預測可見GPS衛(wèi)星有助于接收機快速捕獲。地面接收機直接
    發(fā)表于 12-18 15:48 ?14次下載

    E531_GPS接收機模塊用戶使用及維護手冊

    E531_GPS接收機模塊用戶使用及維護手冊_1[1][1],GPS資料
    發(fā)表于 03-29 10:40 ?0次下載

    基于MCU的手持GPS接收機的設計

    基于MCU的手持GPS接收機的設計,下來看看。
    發(fā)表于 02-07 16:14 ?29次下載

    GPS接收機的靈敏度性能的原理性分析和設計高靈敏度GPS接收模塊

     GPS 接收機的靈敏度是影響GPS 應用范圍的非常關鍵的指標,目前業(yè)界紛紛推出高靈敏度的GPS 接收系統(tǒng),使得
    發(fā)表于 01-07 16:49 ?17次下載
    <b class='flag-5'>GPS</b><b class='flag-5'>接收機</b>的靈敏度性能的原理性分析和設計高靈敏度<b class='flag-5'>GPS</b><b class='flag-5'>接收</b><b class='flag-5'>模塊</b>

    基于DSP的GPS軟件接收機的設計

    基于DSP的GPS軟件接收機的設計說明。
    發(fā)表于 03-30 11:18 ?9次下載
    基于DSP的<b class='flag-5'>GPS</b>軟件<b class='flag-5'>接收機</b>的設計

    基于FPGA的GPS接收機實現(xiàn)

    基于FPGA的GPS接收機實現(xiàn)說明。
    發(fā)表于 04-09 14:01 ?53次下載

    微型GPS接收機的設計

    電子發(fā)燒友網(wǎng)站提供《微型GPS接收機的設計.pdf》資料免費下載
    發(fā)表于 11-07 10:31 ?5次下載
    微型<b class='flag-5'>GPS</b><b class='flag-5'>接收機</b>的設計