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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于NI技術(shù)的OFDM發(fā)射接收系統(tǒng)

          基于NI技術(shù)的OFDM發(fā)射接收系統(tǒng)

          作者:邸娜 工程師 國(guó)家廣播電影電視總局 廣播科學(xué)研究院 無(wú)線技術(shù)研究所 時(shí)間:2010-05-11 來(lái)源:電子產(chǎn)品世界 收藏

            為了保證線程間數(shù)據(jù)傳遞有序進(jìn)行,CVI還提供了事件通知、安全隊(duì)列、線程優(yōu)先級(jí)等函數(shù),保證線程間的同步和數(shù)據(jù)的傳遞。本系統(tǒng)使用的是全局BUFFER和安全隊(duì)列回調(diào)函數(shù)方式使兩個(gè)線程間獲得同步。即兩個(gè)線程間共享一個(gè)BUFFER和安全隊(duì)列,前一個(gè)線程將每次計(jì)算得到的數(shù)據(jù)寫(xiě)到BUFFER中,并產(chǎn)生一標(biāo)志位FLAG,寫(xiě)入安全隊(duì)列,后一線程捕捉到安全隊(duì)列中的FLAG,判斷是否滿足回調(diào)函數(shù)的條件,滿足則啟動(dòng)該線程,并將BUFFER中的數(shù)據(jù)讀出,不滿足則繼續(xù)捕捉FLAG。通過(guò)對(duì)安全隊(duì)列中FLAG的讀寫(xiě),控制線程啟動(dòng)的時(shí)間,使得兩線程對(duì)數(shù)據(jù)的讀寫(xiě)達(dá)到平衡。程序中控制流程如圖3所示。圖4為由PXI5671輸出到頻譜儀E4440A的頻譜。

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

            

          圖3 線程控制流程圖

           

            

          圖4 PXI5671輸出的頻譜

            結(jié)論

            本系統(tǒng)用/CVI8.5軟件完成的數(shù)字基帶處理,在PXI硬件平臺(tái)上完成射頻信號(hào)的處理,有效地對(duì)OFDM系統(tǒng)進(jìn)行驗(yàn)證。而搭建FPGA PCB平臺(tái)完成OFDM Demo樣機(jī),首先在芯片的選型、制板上就需要大量的時(shí)間和人員,且具有一定的風(fēng)險(xiǎn)性;其次在軟件代碼開(kāi)發(fā)方面,需要花大量的時(shí)間對(duì)FPGA代碼進(jìn)行仿真測(cè)試和集成,而且改動(dòng)起來(lái)靈活性差。然而基于技術(shù)的OFDM系統(tǒng)的開(kāi)發(fā),由于在軟件上仿真代碼的可移植性,和上變頻等硬件平臺(tái)的實(shí)用性,減少了OFDM系統(tǒng)的開(kāi)發(fā)周期,節(jié)約了開(kāi)發(fā)成本和人員。


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

          關(guān)鍵詞: NI OFDM LabWindows

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