新四季網

分布式無線通信傳輸技術測試平臺互聯技術設計方法

2023-05-12 14:54:26 2

專利名稱:分布式無線通信傳輸技術測試平臺互聯技術設計方法
技術領域:
本發明涉及一種分布式的無線通信傳輸技術測試平臺的設計方法,尤其涉及一種利用套接字實現分布式無線通信傳輸技術測試平臺各個處理器之間的TCP/IP網絡通信技術設計方法。
背景技術:
隨著無線通信近年的爆炸性發展,通信和信號處理系統也變得越來越複雜。與此同時,各種新技術的發展,如快速、廉價的數位訊號處理硬體、現場可編程門陣列(FPGA)、片上系統(SOC)等,開始對通信系統的實現產生重大的影響。通信系統複雜性的增加使得分析與設計所付出的時間和精力也迅速上升。在另外一方面,運用傳統的方法設計諸如第三代移動通信、超三代移動通信如此龐大和複雜的電子系統,如同用一磚一瓦建造金字塔,效率低、成本高,且極容易出錯。
常用的無線通信測試評估方法有公式推導、計算機仿真測試和硬體仿真測試。基於公式的方法在對系統的整體性能提供透徹了解方面是比較困難的,而且公式推導常常是在簡化模型的基礎上進行的,因此準確度欠佳。在設計的早期階段,除了一些理想和過分簡化的情況外,僅用分析方法評估複雜的通信系統的性能是極度困難的。根據硬體的測量數據評估性能當然是準確而可信的方法。在設計階段後期,這種方法費錢費時,不靈活。在設計周期的早期由於設計的方案選擇對象可能很多,需要針對每一種設計方案制定不同的硬體測試方案,這種方法顯然是不可取的。將基於仿真的方法用於性能評估,幾乎可以按要求的任意詳細程度建立模型,和基於公式或硬體的方法相比,設計空間更好地得到了利用。用基於仿真的方法,可以很容易地將數學和經驗的模型結合在一起,被仿真的結果也能用作參考以證實硬體的功能。
從第二代移動通信系統的研發開始至今,計算機仿真測試已經成為了移動通信研發的最有力武器。每一項新技術或每一個新系統投入商用之前都是由多家公司或者研究機構進行了長時間的仿真以檢驗其性能。通常的通信系統的仿真測試分為鏈路級仿真測試和系統級仿真測試兩方面。系統級仿真測試主要是針對無線接入系統進行仿真測試。鏈路級仿真測試主要是對通信系統物理層的無線傳輸技術(如編碼、交織、調製和擴頻等)進行仿真,得到該技術在不同無線信道下的性能。仿真結果主要表現為在不同無線環境下的誤碼率(BER)或者誤幀率(FER)與信噪比的關係曲線。鏈路級仿真主要有兩個用途,一是用於檢驗無線傳輸技術的性能,二是檢驗無線系統的端到端性能,並為系統級仿真提供數據支持。
多輸入多輸出(MIMO,Multiple-Input Multiple-Output)無線通信傳輸技術具有很好的抗衰落和抗噪聲的能力,從而可獲得巨大的容量。因此,在功率帶寬受限的無線信道中,多輸入多輸出(MIMO,Multiple-Input Multiple-Output)無線通信傳輸技術是實現高數據速率、提高系統容量和傳輸質量的重要技術之一。它的優越特性使之成為未來超三代通信系統(B3G)以及第四代通信系統中的關鍵技術之一。
針對多輸入多輸出通信系統的無線傳輸技術進行評估所需的運算量要比以往的單輸入單輸出通信系統的評估測試要大很多。如果再考慮多用戶情況下的測試,其運算量是無法利用現有的單臺高性能計算機實現的。

發明內容
本發明的目的在於克服上述現有技術的缺點,提供一種分布式無線通信傳輸技術測試平臺互聯技術設計方法,它將整個傳輸技術仿真測試的運算分散到兩臺計算機上運行,從而提高無線通信傳輸技術測試評估的效率;另外,本發明將分別在兩臺不同的計算機中運行的發射機和接收機通過TCP/IP協議連接了起來,使得發射機和接收機真正實現了物理分離並且接收機所接收到的數據完全由第三方評估單位來決定,從而提供給測試方一個公平、公開的測試平臺環境,保證了測試公平性。
本發明為解決技術問題所採用的技術方案是一種利用套接字實現分布式無線通信傳輸技術測試平臺各個處理器之間的TCP/IP網絡通信,包括以下步驟第一步,採用雙線程技術,即工作線程和用戶界面線程,實現分布式無線通信傳輸技術測試平臺的主控部分,主控部分的實現包含兩個流程第一個為雙機通信流程,第二個為虛擬儀器控制流程;在雙機通信流程中,信道輸出的數據存入緩衝區後,將讀寫標誌位即全局變量置為可讀,並將這一事件作為一個消息告知用戶界面線程,用戶界面線程判斷這一消息屬性之後,調用網絡通信模塊進行發送操作,接收機用戶界面線程的網絡通信模塊接收到數據之後,將讀寫標誌位即全局變量置為可讀,用以告知工作線程可以從接收機輸入緩衝區讀取數據並調用接收機模塊;虛擬儀器控制流程則是利用臨界區的方法實現虛擬儀器所處的用戶界面線程與工作線程之間的線程同步;
工作線程主要用於鏈路的計算,而用戶界面線程將用於虛擬儀器的顯示和實現兩個主機之間的互聯通信;使用MFC(Microsoft Foundaation Class微軟基礎類)提供的同步對象中的臨界區對象CCriticalSection保重線程間的同步;利用創建自定義消息的方法實現兩個線程之間的通信;創建自定義消息的方法具體如下 首先定義全局變量const WM_SENDDATA=WM_USER+100; 在對話框類的頭文件中DECLARE_MESSAGE_MAP的前面添加下列語句afx_msg void OnSendData; 在對話框類的實現文件中BEGIN_MESSAGE_MAP的後面添加語句ON_MESSAGE(WM_SENDDATA,OnSendData),將消息與消息執行函數代碼捆綁; 編寫OnSendData發送數據函數;工作線程中,信道處理數據完畢後,產生該消息使用語句SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用戶界面線程發送消息,用戶界面線程根據自身的消息處理機制自動響應該消息,調用OnSendData函數,發送數據;第二步,使用套接字實現分布式無線通信傳輸技術測試平臺各主機之間的互聯首先,使用客戶機/伺服器模型來實現各主機之間的互聯;將發射主機作為伺服器,接收主機作為客戶機;其次,將要傳送的信道輸出的數據進行組包、傳送,組包的數據由包頭和包數據組成,包頭中的內容包括包頭長度;信道當前信息,亦即信道當前的狀態信息,當前包是否是最後一包,包數據位於包頭後面,它裡面儲存的是所要發送的數據;組包完成之後,利用自定義消息的方法,告知用戶界面線程需要發送當前數據,用戶界面線程響應該自定義消息之後,調用套接字中的發送函數將數據發送給接收主機。
使用套接字實現分布式無線通信傳輸技術測試平臺各主機之間的互聯,採用了TCP/IP協議的網絡互聯技術;亦即,網絡傳輸算法;網絡傳輸算法是將發射主機作為伺服器,接收主機作為客戶機;網絡傳輸算法採用自定義消息的方法來實現工作線程與用戶界面線程之間的通信;按照所測業務的不同,網絡傳輸的負荷也不同,網絡傳輸算法按以下步驟進行第一步,發射主機和接收主機之間建立信令規定;定義接收主機向發射主機發送「1」表示當前包處理完畢,請發下一包數據;發送「2」表示當前信噪比測試結束,要求發射機變化信噪比,進行下一個信噪比點的測試;發送「3」表示整個測試完畢;第二步,發射主機方發現信道輸出緩衝區為可讀,亦即信道已經將處理完的數據放入緩衝區中等待網絡傳輸時,工作線程利用自定義消息的方法請求用戶界面線程發送數據;用戶界面線程收到該消息後,工作線程就將處理器的使用權交給用戶界面線程,用戶界面線程隨即調用套接字發送函數,將信道輸出緩衝區中的數據發送出去,同時,將信道輸出緩衝區的讀寫標誌置為可讀,以便信道函數能夠輸出下一包數據;用戶界面線程在完成上面的一系列操作後,再將處理器的使用權交還給工作線程。
第三步,當發射機方發送數據給接收機方後,接收主機自動響應套接字中的接收數據函數,以接收數據;由於接收機響應的消息函數存在於用戶界面線程中,而在未接收數據之前,接收機一直處於工作線程內,在響應該消息函數之後將工作線程掛起,接收主機接收完數據後,將掛起的工作線程重新啟動,工作線程發現接收機輸入緩衝區已經存放有數據,調用接收機模塊,誤碼判決模塊進行相應運算;運算完畢之後,接收主機根據情況不同,即接收機是否需要下一包數據、是否切換信噪比、當前仿真是否結束選擇不同的信令,利用網絡傳輸,將信令反饋給發射主機,發射主機根據接收機反饋回來的信令來選擇下一步操作是執行結束當前測試,或者繼續進行當前信噪比下的誤碼率測試,或者切換到下一個信噪比再進行測試操作。
當網絡傳輸的負荷在100-200M字節時,套接字使用CAsyncSocket類的成員函數AsyncSelect和IOCtl函數;將非阻塞模式的CSocket強制轉換成阻塞模式。
當網絡傳輸的負荷100-200M字節時,在發射主機和接收主機程序內設定計時器,限定某一個成功傳送的時間,若在該時間內接收方已經響應消息,接收完畢數據,則返回;若在該時間內沒有響應,則強行調用接收函數進行接收。
本發明的有效成果是,本發明提出了一種分布式無線通信傳輸技術測試平臺各處理器之間互聯方法,利用套接字將測試平臺的各個處理器利用TCP/IP網絡協議連接起來,利用TCP/IP協議能夠保證數據無差錯的、順序一致的進行傳送這一優點,保證了各個處理器之間數據傳遞的實時性和準確性,從而利用此發明構建起分布式無線通信傳輸技術的總體框架。


圖1是本發明分布式無線傳輸技術仿真測試平臺的模塊組成示意圖;
圖2是本發明分布式無線傳輸技術仿真測試平臺數據交換接口的基本設置示意圖;圖3是本發明雙線程在分布式無線傳輸技術仿真測試平臺的工作流程示意圖;圖4是數據通過互聯技術進行網絡傳輸時數據封裝的結構示意圖;圖5是網絡算法流程示意圖;圖6是分布式無線傳輸技術測試平臺的發射主機的界面示意圖;圖7是分布式無線傳輸技術測試平臺的接收主機的界面示意圖。
下面結合附圖對本發明的內容作進一步詳細說明。
具體實施例方式
參照圖1所示,整個測試平臺由兩臺通過網絡連接的處理器,即發射主機和接收主機組成。其中發射主機實現信源、發射模塊和信道三個模塊所完成的功能,而接收主機實現接收模塊和統計模塊的功能。並利用以太區域網,採用網際網路常用的TCP/IP協議將這兩部分組織起來,從而構成一條完整的無線通信鏈路。另外,兩個主機都配備有虛擬儀器,用以觀察各種統計指標。比如接收主機的虛擬儀器可以觀察誤碼率曲線、星座圖。發射主機的虛擬儀器可以觀察被測模塊的頻譜利用率、星座圖以及功率直方圖。而統一性檢測是為了對TDD(時分雙工)以及FDD(頻分雙工)兩種不同制式的雙工方式加以統一的模塊。這樣便於對兩種不同制式的雙工方式進行公平的評估。
參照圖2所示,測試平臺的主控程序提供了5個公共數據交換區,分別用A,B,C,D,E表示,用於前一級模塊與後一級模塊之間的數據傳遞,或用於虛擬儀器顯示其輸出的數據。每個數據交換區均是系統分配的連續存儲空間。其中A、B、C三個數據交換區由發射主機開闢,經由雙機通信將C交換區的數據傳送到接收主機的D交換區作為接收模塊的輸入,亦即C和D兩個交換區中的數據完全相同(B和C兩個交換區的仿真粒度相同)。
參照圖3所示,根據其給出的工作流程圖對整個系統進行架構。它主要包含兩類流程第一類為雙機通信流程,第二類為虛擬儀器控制流程。在第一個流程中,信道輸出的數據存入緩衝區後,將讀寫標誌位(全局變量)置為可讀,並將這一事件作為一個消息告知用戶界面線程,用戶界面線程判斷這一消息屬性之後,調用網絡通信模塊進行發送操作,接收機用戶界面線程的網絡通信模塊接收到數據之後,將讀寫標誌位(全局變量)置為可讀,用以告知工作線程可以從該緩衝區讀取數據並進行相應的操作。第二類工作流程則是利用臨界區的方法實現虛擬儀器與工作線程之間的線程同步。
為了避免虛擬儀器從各個接口的緩衝區讀取數據時,用戶界面線程與工作線程中的鏈路計算程序衝突這種線程間的同步問題,利用MFC(MicrosoftFoundation Class微軟基礎類)提供的同步對象中的臨界區對象(CCriticalSection)來解決線程間的同步。
首先定義一個CCriticalSection的對象CriticalBuffer。然後在線程中可能產生衝突的區域前(即訪問共享資源之前)調用CriticalBuffer.lock函數,將當前共享資源封鎖僅為當前線程所用,訪問完當前共享資源之後再調用CriticalBuffer.unlock函數,釋放當前線程對該共享緩衝區的操作權,讓其它線程使用。
其次,由於在Visual C++中,只有用戶界面線程中才能使用MFC(MicrosoftFoundation Class微軟基礎類)類庫中的類和函數。而雙機通信所要使用的CSocket屬於MFC(Microsoft Foundation Class微軟基礎類)類庫,所以必須將雙機通信模塊放到用戶界面線程中去。這就需要線程之間進行通信,亦即工作線程如何告訴用戶界面線程需要發送或者接收數據,用戶界面線程不可能通過全局變量來循環等待工作線程請求發送數據,所以採用了自定義消息的方法來實現工作線程與用戶界面線程的通信。這樣,一旦信道已經輸出數據完畢,產生消息,用戶界面線程響應消息調用發送函數,將數據發送出去。同樣,接收數據時,由於接收數據的消息CSocket本身就有,所以只需要判斷當前要寫入的緩衝區是否可寫。若可寫,則寫入數據。創建自定義消息的方法具體如下 首先定義全局變量const WM_SENDDATA=WM_USER+100; 在對話框類的頭文件中DECLARE_MESSAGE_MAP的前面添加下列語句afx_msg void OnS endData; 在對話框類的實現文件中BEGIN_MESSAGE_MAP的後面添加語句ON_MESSAGE(WM_SENDDATA,OnSendData),將消息與消息執行函數代碼捆綁。
編寫OnSendData發送數據函數。
工作線程中,信道處理數據完畢後,產生該消息使用語句SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用戶界面線程發送消息,用戶界面線程根據自身的消息處理機制自動響應該消息,調用OnSendData函數,發送數據。
參照圖4所示,我們對發射主機所要發送的數據進行組包。這樣才能使接收主機能夠確認數據包的順序、大小,保證傳輸的正確性。其中包頭中的內容包括包頭長度;信道當前信息,亦即信道當前的狀態信息,當前包是否是最後一包;還有所要發送的數據長度。
參照圖5所示,使用套接字實現基於TCP/IP協議的網絡互聯技術。亦即,網絡傳輸算法。分布式無線通信傳輸技術測試平臺採用的是客戶機/伺服器模型來實現各主機之間的互聯,客戶機/伺服器模型是分布式應用程式的最常用的範例。我們將發射主機作為伺服器,接收主機作為客戶機。由於測試平臺的發射主機和接收主機都是由工作進程和用戶界面進程組成的,其中用戶界面進程不僅僅負責軟體界面和虛擬儀器,還負責網絡傳輸的任務,因此網絡傳輸算法要涉及到工作線程與用戶界面線程之間的通信。具體的流程如下所述發射主機方面,在工作線程中,當信道輸出緩衝區為可讀(亦即信道已經將處理完的數據放入緩衝區中等待網絡傳輸)時,工作線程利用自定義消息的方法請求用戶界面線程發送數據。用戶界面線程收到該消息後,工作線程就將處理器的使用權交給用戶界面線程,用戶界面線程隨即調用網絡通信函數,將信道輸出緩衝區中的數據發送出去。同時,將信道輸出緩衝區的讀寫標誌置為可讀,以便信道函數能夠輸出下一包數據。用戶界面線程在完成上面的一系列操作後,再將處理器的使用權交還給工作線程。工作線程一直工作,直到發射主機接收到由接收主機反饋回來的信令。發射主機根據該信令的具體內容來判斷是否還要向接收主機發送數據,是否應該切換信噪比,是否應該停止測試等。
接收主機方面當發射機方發送數據給接收機方時,接收主機會自動響應CSocket類中的消息函數Onreceive,去接收數據。由於接收機響應的消息函數存在於用戶界面線程中,而在未接收數據之前,接收機一直處於工作線程內,為了保護現場,要在響應該消息函數之後將工作線程掛起。接收主機接收完數據後,將掛起的工作線程重新啟動,工作線程發現接收機輸入緩衝區已經存放有數據,於是調用接收機模塊,誤碼判決模塊進行相應運算。運算完畢之後,接收主機根據情況不同(接收機是否需要下一包數據、是否切換信噪比、當前仿真是否結束),選擇不同的信令利用網絡傳輸,將信令發送給發射主機,然後等待發射主機按照信令執行下一步的操作。以上所述就是網絡傳輸流程,具體可以參考圖5所示。總之,如何控制好發射主機與接收主機之間的協同工作,如何處理工作線程與用戶界面線程之間的通信是利用TCP/IP實現整個測試系統雙機通信的關鍵之所在。
雖然鏈路級測試僅僅是單向測試,包括上行鏈路測試和下行鏈路測試。每一種情況的測試,數據的流向都是單向的。即數據總是由發射主機到接收主機。但為了能夠使發射主機和接收主機之間協同工作,保證接收主機所接收到的數據在未處理完之前不會被下一包數據衝掉,必須要在發射主機和接收主機之間建立信令規定。比如我們定義接收主機向發射主機發送「1」表示當前包處理完畢,請發下一包數據。發送「2」表示當前信噪比測試結束,要求發射機變化信噪比,進行下一個信噪比點的測試。發送「3」表示整個測試完畢。
套接字有同步阻塞方式和異步非阻塞方式兩種使用方法,同步和異步往往都是針對一個函數來說的,所謂「同步(阻塞)」就是指函數直到其要執行的功能全部完成時才返回;而「異步(非阻塞)」則是函數僅僅做一些簡單的工作,然後馬上返回,而它所要實現的功能留給別的線程或者函數去完成。為了能夠保證鏈路測試主控流程順序執行,保證網絡傳輸數據的次序,防止衝掉數據,在平臺網絡傳輸中使用的是MFC(Microsoft Foundation Class微軟基礎類)中的CSocket類,CSocket是MFC(Microsoft Foundation Class微軟基礎類)在CAsyncSocket基類上派生的一個同步阻塞Socket的封裝類。雖然是同步阻塞Socket類,但是CSocket類是由CAsyncSocket類派生出來的。CAsyncSocket是異步非阻塞模式的,它的派生類CSocket歸根結底還是異步非阻塞模式的。只是MFC(Microsoft Foundation Class微軟基礎類)利用循環,將其強行置成同步阻塞模式。在程序調試過程中,發現如果採用CSocket的模擬同步阻塞模式會出現這樣的問題當網絡傳輸數據的頻率較高時,比如在8K語音業務測試時,發射機和接收機要處理的數據較少,需要頻繁調用網絡傳輸模塊傳送數據。或者一次網絡傳輸的數據量很大時,比如在兩小區兩用戶100M數據業務測試時,傳送的數據量最大。在這兩種情況下,經常會出現雙機死鎖的現象,亦即接收主機雖然響應消息,去接收數據,但是由於數據量過大或有延時,無法按程式設計師規定的數據量大小去接收,由於MFC(Microsoft Foundation Class微軟基礎類)將CSocket強制設為死循環來模擬同步阻塞模式,接收方接收不到所規定的數據量就只好死循環。而發送主機方此時在不停的給接收方發送數據,接收方無法清空緩衝區,這就導致發送方無法繼續發送數據,導致死鎖。這樣發送主機和接收主機全部進入死循環,鏈路測試無法繼續進行。在程序調試時,採用了以下兩種方法解決死鎖問題1.設定計時器,採取超時催收機制。當網絡傳輸的負荷較高時,往往會出現發送主機已經開始發送數據,但接收主機並沒有響應消息,導致當前數據包傳送失敗。在這種情況下,某項操作可能永遠不能成功完成,程序為了等待其完成就得永遠循環下去。在程序中,我們限定某一個成功傳送的時間,如果在該時間內接收方已經響應消息,接收完畢數據,則返回。若在該時間內沒有響應,則強行調用接收函數進行接收。
2.使用CAsyncSocket類的成員函數AsyncSelect和IOCtl函數。將非阻塞模式的CSocket強制轉換成阻塞模式。IOCtl是用來控制Socket模式的函數。它可以得到或設置任何狀態下,當前Socket的參數、協議、通信子系統。AsyncSelect函數用於確定使用了MFC(Microsoft Foundation Class微軟基礎類)中的哪個回復通知函數(callback notification function)。而AsyncSelect函數會自動將Socket設置為非阻塞模式。
選擇BOOL IOCtl(long ICommand,DWORD*IpArgument)函數的形參ICommand為FIONBIO,FIONBIO是禁止還是使能非阻塞模式的參數。IpArgument指向一個DWORD型變量的指針,該變量為零則禁止非阻塞模式,將當前Socket置為阻塞模式。在調用IOCtl之前,必須禁止AsyncSelect函數,否則調用IOCtl將會出錯。具體的代碼如下DWORD d=0;//定義DWORD型變量dm_clientsock.AsyncSelect(0);//禁止AsyncSelect函數m_clientsock.IOCtl(FIONBIO,d);//調用IOCtl函數將當前Sokcet置為阻塞模式。
參照圖6所示,圖中上側兩個深色區域顯示的是被測方的無線傳輸技術方案用測試平臺在特定信道條件下所測得的頻譜利用情況。
參照圖7所示,圖中上側兩個深色區域顯示的是被測方的無線傳輸技術方案在特定信道條件下採用測試平臺所測得的誤碼率性能。
權利要求
1.分布式無線通信傳輸技術測試平臺互聯技術設計方法,其特徵在於,按以下步驟進行第一步,採用雙線程技術,即工作線程和用戶界面線程,實現分布式無線通信傳輸技術測試平臺的主控部分,主控部分的實現包含兩個流程第一個為雙機通信流程,第二個為虛擬儀器控制流程;在雙機通信流程中,信道輸出的數據存入緩衝區後,將讀寫標誌位即全局變量置為可讀,並將這一事件作為一個消息告知用戶界面線程,用戶界面線程判斷這一消息屬性之後,調用網絡通信模塊進行發送操作,接收機用戶界面線程的網絡通信模塊接收到數據之後,將讀寫標誌位即全局變量置為可讀,用以告知工作線程可以從接收機輸入緩衝區讀取數據並調用接收機模塊;虛擬儀器控制流程則是利用臨界區的方法實現虛擬儀器所處的用戶界面線程與工作線程之間的線程同步;工作線程主要用於鏈路的計算,而用戶界面線程將用於虛擬儀器的顯示和實現兩個主機之間的互聯通信;使用MFC(Microsoft Foundation Class微軟基礎類)提供的同步對象中的臨界區對象CCriticalSection保重線程間的同步;利用創建自定義消息的方法實現兩個線程之間的通信;創建自定義消息的方法具體如下 首先定義全局變量const WM_SENDDATA=WM_USER+100; 在對話框類的頭文件中DECLARE_MESSAGE_MAP的前面添加下列語句afx_msg void OnSendData; 在對話框類的實現文件中BEGIN_MESSAGE_MAP的後面添加語句ON_MESSAGE(WM_SENDDATA,OnSendData),將消息與消息執行函數代碼捆綁; 編寫OnSendData發送數據函數;工作線程中,信道處理數據完畢後,產生該消息使用語句SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用戶界面線程發送消息,用戶界面線程根據自身的消息處理機制自動響應該消息,調用OnSendData函數,發送數據;第二步,使用套接字實現分布式無線通信傳輸技術測試平臺各主機之間的互聯首先,使用客戶機/伺服器模型來實現各主機之間的互聯;將發射主機作為伺服器,接收主機作為客戶機;其次,將要傳送的信道輸出的數據進行組包、傳送,組包的數據由包頭和包數據組成,包頭中的內容包括包頭長度;信道當前信息,亦即信道當前的狀態信息,當前包是否是最後一包,包數據位於包頭後面,它裡面儲存的是所要發送的數據;組包完成之後,利用自定義消息的方法,告知用戶界面線程需要發送當前數據,用戶界面線程響應該自定義消息之後,調用套接字中的發送函數將數據發送給接收主機。
2.根據權利要求1所述的分布式無線通信傳輸技術測試平臺互聯技術設計方法,其特徵在於,使用套接字實現分布式無線通信傳輸技術測試平臺各主機之間的互聯,採用了TCP/IP協議的網絡互聯技術;亦即,網絡傳輸算法;網絡傳輸算法是將發射主機作為伺服器,接收主機作為客戶機;網絡傳輸算法採用自定義消息的方法來實現工作線程與用戶界面線程之間的通信;網絡傳輸算法按以下步驟進行第一步,發射主機和接收主機之間建立信令規定;定義接收主機向發射主機發送「1」表示當前包處理完畢,請發下一包數據;發送「2」表示當前信噪比測試結束,要求發射機變化信噪比,進行下一個信噪比點的測試;發送「3」表示整個測試完畢;第二步,發射主機方發現信道輸出緩衝區為可讀,亦即信道已經將處理完的數據放入緩衝區中等待網絡傳輸時,工作線程利用自定義消息的方法請求用戶界面線程發送數據;用戶界面線程收到該消息後,工作線程就將處理器的使用權交給用戶界面線程,用戶界面線程隨即調用套接字發送函數,將信道輸出緩衝區中的數據發送出去,同時,將信道輸出緩衝區的讀寫標誌置為可讀,以便信道函數能夠輸出下一包數據;用戶界面線程在完成上面的一系列操作後,再將處理器的使用權交還給工作線程;第三步,當發射機方發送數據給接收機方後,接收主機自動響應套接字中的接收數據函數,以接收數據;由於接收機響應的消息函數存在於用戶界面線程中,而在未接收數據之前,接收機一直處於工作線程內,在響應該消息函數之後將工作線程掛起,接收主機接收完數據後,將掛起的工作線程重新啟動,工作線程發現接收機輸入緩衝區已經存放有數據,調用接收機模塊,誤碼判決模塊進行相應運算;運算完畢之後,接收主機根據情況不同,即接收機是否需要下一包數據、是否切換信噪比、當前仿真是否結束選擇不同的信令,利用網絡傳輸,將信令反饋給發射主機,發射主機根據接收機反饋回來的信令來選擇下一步操作是執行結束當前測試,或者繼續進行當前信噪比下的誤碼率測試,或者切換到下一個信噪比再進行測試操作。
3.根據權利要求1所述的分布式無線通信傳輸技術測試平臺互聯技術設計方法,其特徵在於,當網絡傳輸的負荷在100-200M字節時,套接字使用CAsyncSocket類的成員函數AsyncSelect和IOCtl函數;將非阻塞模式的CSocket強制轉換成阻塞模式。
4.根據權利要求1所述的分布式無線通信傳輸技術測試平臺互聯技術設計方法,其特徵在於,當網絡傳輸的負荷在100-200M字節時,在發射主機和接收主機程序內設定計時器,限定任一個成功傳送的時間,若在該時間內接收方已經響應消息,接收完畢數據,則返回;若在該時間內沒有響應,則強行調用接收函數進行接收。
全文摘要
本發明公開了一種分布式無線通信傳輸技術測試平臺的互聯技術,利用套接字實現測試平臺各個處理器之間的TCP/IP網絡通信,解決了採用傳統的單個計算機所建立的無線通信測試平臺無法處理具有更大運算量的多輸入多輸出(MIMO)通信系統無線傳輸技術,該方法利用多線程技術將測試平臺分為用戶界面線程和工作線程,便於處理用戶產生的事件和消息,且在用戶界面線程中利用套接字實現基於TCP/IP協議的網絡互聯技術。使用該方法將兩個獨立並行運算的處理器相互聯接起來,進而構建起分布式的無線通信傳輸技術測試平臺,同時也為具有「網格計算」能力的無線通信傳輸技術測試平臺提供了基本思路。
文檔編號H04L12/26GK1791036SQ200510124599
公開日2006年6月21日 申請日期2005年12月22日 優先權日2005年12月22日
發明者種稚萌, 任品毅, 朱世華, 車恆志 申請人:西安交通大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀