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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 滑動(dòng)相關(guān)法偽碼捕獲的FPGA實(shí)現(xiàn)

          滑動(dòng)相關(guān)法偽碼捕獲的FPGA實(shí)現(xiàn)

          作者:合肥電磁探測(cè)與控制實(shí)驗(yàn)室 儲(chǔ)飛黃 張頌 竺小松 時(shí)間:2008-08-01 來(lái)源:中電網(wǎng) 收藏

              捕獲方法3 (滑動(dòng)步進(jìn)為TC/2)

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

            加脈沖移位法:
            此方法是采用一個(gè)異或門,如圖5所示,使碼NCO的輸出CLK與一個(gè)信號(hào)異或輸出,此信號(hào)平時(shí)一直為高(或低)電平,一旦收到低于門限值時(shí),輸出一個(gè)低(或高)脈沖,與CLK異或后,相當(dāng)于在原CLK時(shí)鐘上加了一個(gè)脈沖,通過(guò)圖示的電路后,偽碼產(chǎn)生器前進(jìn)了半個(gè)相位,通過(guò)移位寄存器后,即可實(shí)現(xiàn)半個(gè)碼相位的移動(dòng)(超前半個(gè)碼片)。

            仿真結(jié)果如圖6所示。圖中CLK1為碼NCO的輸出,CLK2為它的二分頻作為偽碼產(chǎn)生器的時(shí)鐘,pn1為偽碼產(chǎn)生器輸出,k1為信號(hào),平常輸出高電平,當(dāng)門限檢測(cè)結(jié)果為低時(shí),輸出一個(gè)低脈沖與CLK1異或輸出,結(jié)果為CLK3。從仿真圖中可以看出CLK3相對(duì)于CLK2在k1為低脈沖時(shí),增加了一個(gè)脈沖。


           

            下載到中,利用SIGNALTAP,測(cè)試結(jié)果如圖7所示。圖中CLK1為碼NCO輸出時(shí)鐘,CLK2為異或門的輸出,從圖中可以看出,在門限檢測(cè)為低時(shí),CLK2比CLK1多增加了一個(gè)脈沖,測(cè)試結(jié)果與仿真結(jié)果一致。

          實(shí)現(xiàn)結(jié)果

            通過(guò)以上的分析,再結(jié)合的有關(guān)理論,可以知道要實(shí)現(xiàn)信號(hào)的捕獲,必須通過(guò)載波和偽碼相位的二維搜索。首先,對(duì)接收的信號(hào)進(jìn)行數(shù)字下變頻,變?yōu)榱阒蓄lI、Q兩路信號(hào),再與本地PN碼進(jìn)行解擴(kuò)運(yùn)算。結(jié)果與門限值比較,如果小于門限則按照前面分析的方法順序移動(dòng)半個(gè)碼片,直到包絡(luò)的平方大于門限轉(zhuǎn)入跟蹤狀態(tài)。捕獲電路如圖1所示。

            采用上述方法,在實(shí)際中對(duì)某一擴(kuò)頻信號(hào)進(jìn)行捕獲

          信號(hào)參數(shù)
          中頻40MHz ;
          調(diào)制樣式為DS-BPSK;
          偽碼長(zhǎng)度為1024;
          數(shù)據(jù)率5Kb/s;
          采樣時(shí)鐘60MHz;

            各個(gè)模塊功能描述

            數(shù)字下變頻:
            載波NCO的輸出與輸入信號(hào)在乘法器中進(jìn)行數(shù)字下變頻,功能是去除輸入信號(hào)載頻而保留了用于基帶相關(guān)的碼。

            數(shù)字相關(guān)器:
            累加清除器的作用是對(duì)經(jīng)過(guò)數(shù)字正交下變頻后的I、Q兩路信號(hào)與本地再生偽碼相乘的結(jié)果進(jìn)行積分累加。采用的是一個(gè)累加器對(duì)數(shù)字混頻后輸入信號(hào)與本地碼相乘的每一位結(jié)果進(jìn)行累加。經(jīng)過(guò)一定時(shí)間(本方案為12000次)的積分累積后,得到一個(gè)數(shù)據(jù)位的相關(guān)值。此相關(guān)值與預(yù)設(shè)門限比較,進(jìn)行捕獲判決。如果小于門限,則認(rèn)為捕獲失敗,清除累加結(jié),滑動(dòng)半個(gè)碼片后,重新進(jìn)行累加積分。累加清洗器進(jìn)行一個(gè)碼周期的數(shù)據(jù)累加,輸出一次相關(guān)累加值。最大的捕獲時(shí)間為0.4094秒(0.2mS*2047)。

            載波NCO:
            載波NCO是載波跟蹤環(huán)的重要組成部分,它的主要功能是產(chǎn)生本地復(fù)制載波信號(hào)。載波NCO模塊設(shè)置有頻率控制字輸入接口,模塊內(nèi)部通過(guò)32位相位累加其對(duì)輸入控制字進(jìn)行累加,獲得相位值的映射地址,通過(guò)查表獲得正余弦兩路信號(hào)。載波環(huán)路通過(guò)不斷調(diào)整載波NCO的頻率字來(lái)保持對(duì)接收信號(hào)載波頻率和相位的跟蹤。

            碼NCO:
            碼NCO是碼跟蹤環(huán)的核心。它的主要功能是為再生偽碼發(fā)生器提供精確的時(shí)鐘信號(hào),保證實(shí)現(xiàn)對(duì)接收信號(hào)的碼捕獲和跟蹤。碼NCO設(shè)置有頻率控制字,頻率控制字負(fù)責(zé)碼率的調(diào)整和碼相位延時(shí)。

          實(shí)現(xiàn)結(jié)果

            A/D采用AD9288-100,是8位的轉(zhuǎn)換結(jié)果,最高工作頻率可達(dá)到100M,數(shù)字下變頻和捕獲電路在EP1C12Q240C8(Cyclong)中實(shí)現(xiàn),運(yùn)算的中間測(cè)試結(jié)果如圖8所示,圖中pn2_clk為NCO輸出時(shí)鐘,x_pn為偽碼,c1_data和s1_data為載波NCO產(chǎn)生的用于下變頻的I、Q路載波信號(hào)。pn_e、pn_p、pn_l分別為移位寄存器輸出的超前、即時(shí)和滯后碼,它們相差半個(gè)碼片。

            最后的捕獲結(jié)果如圖9所示。圖中ad_data為接收的數(shù)字中頻信號(hào),last_data為最后捕獲的結(jié)果。

            保存數(shù)據(jù),在Matlab中的相關(guān)結(jié)果如圖10所示。


           


          結(jié)束語(yǔ)

            加脈沖法可以使本地碼相位超前半個(gè)碼片相位,實(shí)現(xiàn)非連續(xù)相位滑動(dòng)相關(guān),電路結(jié)構(gòu)簡(jiǎn)單,在中容易實(shí)現(xiàn),是一種簡(jiǎn)單實(shí)用的方法,在實(shí)際系統(tǒng)設(shè)計(jì)中已被采用并獲得了理想的結(jié)果。
           

          fpga相關(guān)文章:fpga是什么


          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
          網(wǎng)線測(cè)試儀相關(guān)文章:網(wǎng)線測(cè)試儀原理

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();