<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > GPS C/A碼發(fā)生器的仿真研究與FPGA設計

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要(Global Positioning System,GPS)能夠向全球范圍內的用戶(hù)提供全天候的高精度導航、定位和授時(shí)服務(wù),在軍用和民用領(lǐng)域得到了廣泛的應用。以GPS系統的測距碼粗碼C/A碼為研究對象,在深入研究C/A碼信號生成原理的基礎上,利用中的Simulink對C/A碼信號的生成進(jìn)行了建模、仿真和分析,并利用設計并實(shí)現了C/A碼發(fā)生器,詳細說(shuō)明了C/A碼生成的設計原理,對其中的關(guān)鍵模塊進(jìn)行了設計和分析,給出了具體實(shí)現方案,同時(shí)闡述整個(gè)應用程序的流程,設計采用抽頭選擇控制端設置產(chǎn)生不同GPS衛星號的C/A碼,最終仿真進(jìn)一步驗證了其結果的正確性,它可以產(chǎn)生任意GPS衛星號的C/A碼,設計中采用VHDL語(yǔ)言實(shí)現的C/A碼程序,可應用于基于的GPS接收機設計中,對研究我國的北斗導航系統接收機有一定的借鑒意義。

本文引用地址:http://dyxdggzs.com/article/201610/308545.htm

全球衛星定位系統(GPS)可在全球范圍內,全天候為用戶(hù)連續地提供高精度的位置、速度和時(shí)間信息。目前,GPS已被應用于軍事、航海、航空、測量、交通、勘測等幾乎一切與位置、速度、時(shí)間有關(guān)的人類(lèi)活動(dòng)中。自從GPS系統建立以來(lái),世界上對于GPS及其應用技術(shù)的研究越來(lái)越普及。而關(guān)于與用戶(hù)聯(lián)系最為緊密的GPS接收機的研究是其中的研究熱點(diǎn)。在GPS接收機的設計和研究中,為了捕獲和跟蹤GPS信號,首先就要對C/A碼信號進(jìn)行碼剝離,為此,需要在本地復現與接收機接收的同相位的C/A碼信號。因此,關(guān)于GPS信號C/A碼生成的仿真研究就具有一定的意義。GPS衛星信號包括載波信號、測距碼和數據碼。其中的測距碼粗碼即C/A碼(Coarse Acquisition Code)除了作為粗測碼外,還由于其具有碼長(cháng)短,易于捕獲的特點(diǎn)而作為GPS衛星信號的捕獲碼,因此C/A碼是GPS信號捕獲以及接收機實(shí)現的基礎。文獻利用Matl ab對C/A碼進(jìn)行了仿真研究,文獻對C/A碼生成進(jìn)行了硬件仿真。

文中針對GPS全球衛星導航系統ICD接口文件中C/A碼的編碼方式,在仿真的基礎上。設計出一種基于的C/A碼發(fā)生器,通過(guò)VHDL語(yǔ)言編程實(shí)現了測距碼的仿真,其結果表明設計的正確性。

1 基本原理

GPS衛星導航定位系統是一種無(wú)線(xiàn)電導航定位(Radio Navigational Satellite Service,RNSS)系統,利用高空中的GPS衛星,向地面發(fā)射L波段的載頻無(wú)線(xiàn)電測距信號,由地面上用戶(hù)接收機實(shí)時(shí)地連續接收,并計算出接收機天線(xiàn)所在的位置。GPS衛星發(fā)射L1和L2兩種波段的載波,系統采用碼分多址(CDMA)技術(shù)來(lái)區分各顆衛星,每顆衛星都有自己特定的偽隨機噪聲碼(PRN碼)結構。C/A碼時(shí)鐘速率為1.023 MHz,碼長(cháng)為1 023 chip,周期為1 ms。用于快速捕獲導航信號和實(shí)時(shí)粗略定位。GPS系統的L1信號調制有兩種偽碼,粗捕獲碼(C/A碼)和精密碼(P碼)。L1頻率上的GPS信號表達式如下:

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

C/A是Gold碼序列,由兩個(gè)10位移位寄存器G1和G2產(chǎn)生長(cháng)度為210-1=1 023位的最大長(cháng)度偽碼(PN碼)。C/A碼是由G1的直接輸出和G2的延時(shí)輸出異或的結果,是長(cháng)度為1 023的±1序列。其發(fā)生器如圖1所示。G2的時(shí)間延時(shí)取決于選取的兩個(gè)點(diǎn)的位置,這兩個(gè)點(diǎn)的選取和衛星的ID是一一對應的。

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

如圖1所示C/A碼發(fā)生器是由兩個(gè)10級反饋移位寄存器組成的,上面的移位寄存器產(chǎn)生m序列G1,下面移位寄存器產(chǎn)生m序列G2。G1和G2碼的特征多項式是:

G1(x)=1+x3+x10

G2(x)=1+x1+x2+x3+x6+x8+x9+x10 C/A碼是G1碼與G2碼的模2和的結果,通過(guò)在G2寄存器不同位置反饋抽頭,可產(chǎn)生不同的延遲偏置。選擇不同的等價(jià)序列G2和G1相異或,可以得到不同結構的C/A碼,C/A碼可表示為:

G(t)=G1(t)·G2(t+iTc)

i是大于等于0的整數。G1和G2的周期為1 023,碼速率均為1.023 MHz,因此,周期都是1 ms。采用不同的可以產(chǎn)生1023種不同結構的乘積碼,再加上G1和G2本身,共有1 025種結構不同的C/A碼。

2 C/A碼發(fā)生器的實(shí)現方法

C/A碼的產(chǎn)生需要G1和G2碼序列,G1和G2的一個(gè)周期總數為1 024,而C/A碼截斷一位,因此,在第1 023個(gè)碼元之后的下一個(gè)脈沖要進(jìn)行復位操作。采用VHDL編寫(xiě)各個(gè)m碼產(chǎn)生器,編寫(xiě)的依據是m碼產(chǎn)生原理及其仿真。

2.1 G1碼發(fā)生器設計

G1碼序列是一個(gè)10級反饋移位寄存器所產(chǎn)生m序列,根據C/A碼發(fā)生器整體需要,還需要在設計G1碼發(fā)生器本身上再加上控制信號端。將編寫(xiě)好的VHDL語(yǔ)言程序在Quartus II環(huán)境中進(jìn)行編譯,并生成相應元件符號。用QuartusII模擬器對該模塊進(jìn)行時(shí)序仿真。

圖2中,clk端為同步時(shí)鐘脈沖:1.023 MHz,en端為使能端,高電平“1”有效;reset端為復位端,高電平“1”有效,在reset下降沿以后開(kāi)始輸出G1碼序列,每個(gè)時(shí)鐘上升沿輸出一個(gè)碼字,依次為:“1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,……”

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

2.2 G2碼發(fā)生器的設計

G2碼發(fā)生器的設計方法與G1相同,只是多了一個(gè)平移選擇器,平移選擇器的不同組合可以產(chǎn)生多種結構不同的m碼,所以,G2的設計要比G1多一個(gè)平移選擇器的控制項。本設計通過(guò)選擇不同的抽頭得到不同的m序列碼結構。用Quartus II對該模塊進(jìn)行時(shí)序仿真。

如圖3所示,clk端為同步時(shí)鐘脈沖1.023 MHz;en端為使能端,高電平“1”有效;reset端為復位端,高電平“1”有效;pio_ca為相位選擇段。仿真以0號平移選擇器為例的,即選擇的抽頭為該10級反饋寄存器的2和6。系統在reset同步下降沿以后開(kāi)始輸出G2碼序列,每個(gè)時(shí)鐘上升沿輸出一個(gè)碼字,依次為:

“0,0,1,1,0,1,1,1,1,1,0,0,1,0,1,1,0,1,0,……”

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

2.3 C/A碼發(fā)生器的FPGA設計

在Quartus II環(huán)境中,將生成的G1碼和G2碼的發(fā)生器生成元件符號,以Schematic File的設計方式將G1和G2碼發(fā)生器組合起來(lái),考慮到系統的穩定性,還設計了一個(gè)帶時(shí)鐘異或運算模塊,用于接收全局時(shí)鐘同步。本次仿真以第一顆衛星為例,相位輸入為“0000”。在Quartus II環(huán)境下,將總體設計電路圖進(jìn)行編譯,并進(jìn)行時(shí)序仿真,平移選擇器控制字仍設置為0,仿真圖如圖4所示。

GPS C/A碼發(fā)生器的仿真研究與FPGA設計

圖4中,在系統reset同步以后,開(kāi)始輸出C/A碼序列,每個(gè)時(shí)鐘上升沿輸出一個(gè)比特,依次為:“1,1,0,0,1,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0……”。其中,clk端為同步時(shí)鐘脈沖:1.046 MHz,en端為使能端:高電平“1”有效,reset端為復位端:高電平“1”有效,pharse為相位選擇輸入,ca端:產(chǎn)生的周期為1 023 bit的C/A碼序列。

為了驗證FPGA仿真的正確性,利用matlab simulink軟件進(jìn)行建模和仿真。利用延時(shí)單元構成兩個(gè)10位的移位寄存器,并從移位寄存器輸出端選擇抽頭連接到異或門(mén)電路,將其輸出反饋,抽頭和反饋的連接按照GPS衛星PRN編碼規則進(jìn)行選擇,并把最終輸出結果連接到示波器單元觀(guān)察其仿真波形。建立的simulink仿真模型如圖5所示,運行的結果如圖6所示。從仿真的波形圖上可以看出,輸出的GPS第一顆衛星PRN碼的C/A基碼也依次為:“1,1,0,0,1,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0……”,前10個(gè)C/A基碼對應的8進(jìn)制為1 440,與GPS系統第一顆衛星的C/A碼完全相同。

GPS C/A碼發(fā)生器的仿真研究與FPGA設計
GPS C/A碼發(fā)生器的仿真研究與FPGA設計

3 結 論

結合GPS衛星導航系統f1頻點(diǎn)C/A碼發(fā)生器的設計,在研究GPS衛星導航系統ICD接口控制文件中C/A碼生成器原理的基礎上,給出了基于FPCA的碼生成器的設計方案。利用VHDL語(yǔ)言實(shí)現了G1碼和G2碼的產(chǎn)生,并設計實(shí)現了C/A碼,利用 simulink建模仿真驗證了FPGA設計結果的正確性,該設計可以產(chǎn)生GPS系統衛星號所對應的偽隨機碼,可以根據相位選擇的不同實(shí)現不同衛星號的測距碼的產(chǎn)生。采用模塊化的設計方案,其研究結果對研究我國北斗導航接收機的設計具有一定的參考意義。



關(guān)鍵詞: 全球定位系統 FPGA C/A碼 Matlab

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>