新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于NI技術的OFDM發射接收系統的設計

        基于NI技術的OFDM發射接收系統的設計

        作者: 時間:2010-05-21 來源:網絡 收藏

          基帶處理算法的設計與實現

          基帶處理算法的實現

          是基于LabWndows/CVI8.5的軟件平臺,它是一個交互式開發平臺,集成了標準C的編譯、鏈接、調試等,并且采用簡單直觀的用戶界面設計,用戶只需在函數面板上直接輸入參數,就會以事件驅動回調函數的方式運行整個程序,并可以將數據以圖形的形式在界面上顯示,提高了整個工程的運行效率。圖2為本系統發端和收端的應用界面。

        圖2 發、收系統界面

          對于單線程系統,一般分為數據的采集模塊、分析處理模塊、顯示存儲模塊。這三個模塊在時間上是順序執行的,即后一個模塊需等待前一個模塊數據的到來時才開始工作。然而本系統對實時性要求比較高,比如在收端,USB聲卡的播放需要收端的音頻譯碼模塊在400ms內處理完一幀,才能及時提供給USB聲卡樣點連續地播放聲音,這就需要音頻譯碼模塊前的所有基帶處理部分需要在400ms內完成一個物理幀到音頻幀的解調。同樣在發端,USB聲卡每秒采集19200個樣點給音頻編碼模塊進行編碼,每400ms輸出一音頻編碼幀,FEC、映射及成幀等模塊也必須在400ms內處理完成,否則會出現丟幀和覆蓋的現象??梢钥隙ǎ脝尉€程這種順序化的執行方式效率很低,每個模塊都要等待前一個模塊的數據,對于實時性要求較高和復雜性較高的系統不適用。

          本系統使用的是多線程技術,可以將處理模塊拆分成多個線程,使多個線程并行運行,只要保證每個線程的運行時間小于音頻處理模塊,系統就會正常工作。其中發端算法用3個線程完成音頻編碼,FEC、映射、成幀等處理,并將OFDM數據寫到板卡RAM中。收端算法用6個線程完成從板卡RAM中讀取 OFDM基帶數據、同步、均衡、FFT、解映射、解FEC等處理,最后由音頻譯碼模塊將音頻幀送給USB聲卡進行播放。

          為了保證線程間數據傳遞有序進行,CVI還提供了事件通知、安全隊列、線程優先級等函數,保證線程間的同步和數據的傳遞。本系統使用的是全局BUFFER和安全隊列回調函數方式使兩個線程間獲得同步。即兩個線程間共享一個BUFFER和安全隊列,前一個線程將每次計算得到的數據寫到BUFFER中,并產生一標志位 FLAG,寫入安全隊列,后一線程捕捉到安全隊列中的FLAG,判斷是否滿足回調函數的條件,滿足則啟動該線程,并將BUFFER中的數據讀出,不滿足則繼續捕捉FLAG。通過對安全隊列中FLAG的讀寫,控制線程啟動的時間,使得兩線程對數據的讀寫達到平衡。程序中控制流程如圖3所示。圖4為由 5671輸出到頻譜儀E4440A的OFDM頻譜。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 确山县| 高安市| 弥勒县| 兴隆县| 高淳县| 永昌县| 德州市| 积石山| 革吉县| 黄浦区| 辉南县| 从化市| 乐都县| 呼图壁县| 德兴市| 江口县| 色达县| 长治市| 宁安市| 肇庆市| 贵定县| 江口县| 青神县| 华安县| 罗定市| 麻栗坡县| 深州市| 离岛区| 波密县| 韶山市| 梧州市| 云林县| 琼海市| 鄂伦春自治旗| 巴里| 泾川县| 石台县| 涪陵区| 武夷山市| 象州县| 广河县|