<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201610/308545.htm

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

          文中針對GPS全球衛(wèi)星導(dǎo)航系統(tǒng)ICD接口文件中C/A碼的編碼方式,在仿真的基礎(chǔ)上。設(shè)計出一種基于的C/A碼發(fā)生器,通過VHDL語言編程實現(xiàn)了測距碼的仿真,其結(jié)果表明設(shè)計的正確性。

          1 基本原理

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

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

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

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

          如圖1所示C/A碼發(fā)生器是由兩個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和的結(jié)果,通過在G2寄存器不同位置反饋抽頭,可產(chǎn)生不同的延遲偏置。選擇不同的等價序列G2和G1相異或,可以得到不同結(jié)構(gòu)的C/A碼,C/A碼可表示為:

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

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

          2 C/A碼發(fā)生器的實現(xiàn)方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          3 結(jié) 論

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();