摘要:為了構建一個適應性強,復用程度高,易于維護、升級的無線電系統(tǒng)平臺。提出采用軟件無線電將通信系統(tǒng)軟件模塊化的思想設計OFDM無線通信系統(tǒng)。給出了采用軟件無線電思想構建線通信系統(tǒng)的技術方案,其中重點介紹系統(tǒng)軟件波形的開發(fā)方法,并具體給出波形算法開發(fā)流程,對于開發(fā)一個開放式的通信系統(tǒng)具有指導作用。
關鍵詞:軟件無線電;OFDM;CORBA;UML
傳統(tǒng)的通信系統(tǒng)采用硬件電路實現,其優(yōu)點是技術成熟、實現簡單,缺點是功能單一,難以更新?lián)Q代。通信行業(yè)的競爭日趨激烈,市場需求不斷提高,必然要求新技術的研究、驗證、投入周期不斷縮短,開發(fā)成本逐步降低,而一個復用性高,開放性能良好的通信系統(tǒng)可以很好地滿足這些要求,因此如何實現這樣的通信系統(tǒng)就成為相關技術人員密切關注的問題。而另一方面,隨著電子計算機技術的飛速發(fā)展,處理器性能不斷提高,制造成本也不斷下降,使得OFDM系統(tǒng)中很大一部分原來只能由硬件實現的功能完全可改由軟件方法解決;谝陨峡紤],我們提出并且實現了采用軟件無線電思想構建OFDM無線通信系統(tǒng)的技術方案。
OFDM系統(tǒng)原理簡介
正交頻分復用(OFDM)是一種在多個相互正交的子載波上并行傳輸數據的方法。使用快速傅里葉變換(FFT)實現調制與解調。他在移動高速數據傳輸中具有頻譜利用率高、抗多徑干擾能力強、頻率選擇性衰落信道下性能不受影響等突出的優(yōu)點,已經成為無線局域網IEEE802.11a/g協(xié)議和第四代移動通信系統(tǒng)標準的核心技術之一。OFDM通信系統(tǒng)的物理層原理如圖1所示。從圖中可以看出,整個系統(tǒng)涵蓋了編碼、交織、映射、調制解調等多種技術。對這些技術的研究在不斷深入開展,其成果不斷更新,要使通信系統(tǒng)能夠及時采用這些新的技術成果,以較小的代價更新升級,就必須使系統(tǒng)可移植、可配置、開放式結構的特點。采用軟件無線電思想可以很好地滿足這些要求。
圖1 OFDM系統(tǒng)原理圖
軟件無線電簡介
軟件無線電(SDR)的基本思想是以一個通用、標準、模塊化的硬件平臺為依托,通過軟件編程來實現無線電臺的各種功能。功能的軟件化實現要求減少模擬環(huán)節(jié),把數字化處理(A/D,D/A變換)盡量靠近天線。可以從邏輯上將軟件無線電分為通信業(yè)務層、無線電應用層、無線電基礎結構層和硬件平臺等4層,如圖2所示。
通信業(yè)務層支持一般業(yè)務和無線電專門業(yè)務,負責處理協(xié)議的交互、信息優(yōu)先權等任務,提供良好的用戶接口,面向用戶。
無線電應用層將各分布式對象一起結合到波形中,提供無線信道的接入。由于SDR具有多波段多模式的特性,他的體系結構應是開放式的、可擴展的框架,能夠同時接納傳統(tǒng)波形和新出現的技術,故而這一層應包容多種波形的實現,且具有將業(yè)務和功能與該層以下各層隔離開的功能。
圖2 軟件無線電抽象邏輯層次圖
基礎結構層管理分布的多處理器環(huán)境的各種資源。目前采用操作系統(tǒng)、中間件來提供分布式環(huán)境下的通信功能,并將上層應用和操作系統(tǒng)屏蔽開來,提高了開發(fā)的靈活性。硬件平臺物理資源和相關配置,包括天線、處理機和存儲設備等。硬件平臺的價格是SDR價格的主要因素,要考慮用戶的實際經濟承受能力,這會對SDR的發(fā)展有重要的影響。
可以看出,SDR的功能軟件化思想使得算法的實現在最大程度上和具體的硬件平臺脫離。和采用硬件實現的方式相比較,他具有開發(fā)周期短、成本節(jié)約、便于升級的優(yōu)點。在通信領域不斷推陳出新的發(fā)展趨勢下,其優(yōu)越性更受矚目。一套符合軟件無線電思想的通信系統(tǒng)在新技術出現的情況下可以最大程度上使用現有資源,只作軟件層的開發(fā)替換,就可以完成系統(tǒng)的更新?lián)Q代,這對于開發(fā)商和運營商來說無疑具有很大的吸引力。
基于以上優(yōu)點,構建結構開放、復用性能好、成本低廉的無線OFDM系統(tǒng)應采用SDR思想來設計和實現。
系統(tǒng)設計方案
本文提出的OFDM系統(tǒng)包括硬件和軟件兩部分,系統(tǒng)結構如圖3所示。系統(tǒng)采取雙工通信方式,可以作為電臺單獨使用,也可以接入局域網,同其他系統(tǒng)組成分布式操作環(huán)境。
圖3 基于SDR的OFDM通信系統(tǒng)結構模型圖
硬件處理模塊包括專用DSP芯片,模/數、數/模轉換以及中頻變換部分,該模塊與射頻天線相連接,是數據處理的前端。在目前情況下,專用DSP芯片完成OFDM系統(tǒng)中FFT,IFFT等多路數據運算的速度比通用處理器要快很多,所以從系統(tǒng)工作效率考慮,這部分復雜數字信號處理功能仍然采用硬件電路實現。本文重點在于軟件部分功能模塊的設計與實現,此不對硬件模塊進行深入討論。
操作系統(tǒng)選用符合POSIX規(guī)范的嵌入式實時操作系統(tǒng)。其功能是為應用程序提供多線程支持,屏蔽不同硬件平臺間的差異,為上層軟件提供標準的硬件訪問接口及其他一些基本服務,使上層軟件具有設備無關性,以增加軟件的可移植性。他與上層軟件通過CORBA中間件通信。CORBA中間件技術能夠提供可移植以及可配置的ORB服務。他有許多高質量、免費可用以及源碼開放的開發(fā)平臺可供選擇,且可以被裁減到最小,為系統(tǒng)節(jié)約可觀的內存資源,使得便攜式電臺的開發(fā)實現成為可能,因此選用CORBA來提供分布式應用。
軟件部分分為面向用戶的主控制界面、負責對軟組件配置的控制器和實現系統(tǒng)應用功能的軟件波形部分。這3部分間也通過CORBA提供的分布式訪問機制相互通信。主控制臺提供可視化用戶界面。所有需要配置的系統(tǒng)參數和設置選項都通過友好的圖形界面提供給用戶,這使得用戶不需了解系統(tǒng)的具體實現就可進行操作?刂破髫撠煂浖目刂乒δ堋8鶕脩艚缑?zhèn)鬟f來的參數對軟件波形進行具體的配置和加載。同時也可將下層組件信息傳遞給上層用戶以供讀取、參考。作為主控和軟件波形中間層,他使軟件波形中的組件被統(tǒng)籌管理,集中控制。
軟件波形按照面向對象的思想將系統(tǒng)抽象為若干功能獨立的類,比如調制解調、編解碼、數據封幀解幀等等,他們都被抽象為不同的類。之后這些類再按照邏輯層次組合成組件。一個組件對應一個邏輯層次,他聚合了同一邏輯層的數據處理功能,提供了與其他組件通信的一對端口,使得系統(tǒng)中零散的模塊有組織地運作,便于工程實現。物理組件對應OFDM物理層功能,涉及具體的編碼、調制等算法實現。MAC組件完成數據封裝、信道訪問功能。IO組件負責數據的采集和存儲功能。
各個組件在CORBA的支持下,可以相互調用。實現時組件對應著應用程序接口類。CORBA通過接收對象請求代理和調用對象請求代理這兩種方式工作,他引入可移植的對象適配器POA作為代理,允許調用程序不必了解組件實現細節(jié)就可以向組件發(fā)出請求,完成特定操作,且在應用程序的可移植過程中確保CORBA對象和與編程語言有關的伺服程序間能夠完全交互。因此,不同語言編寫的組件可以在分布式環(huán)境下采用CORBA中間件進行通信。
下面以物理層為例來說明系統(tǒng)劃分類和組件的設計思想。圖4所示為物理組件的UML類圖。
圖4 物理層的UML類圖
物理層設定的功能有編解碼、映射解映射、調制解調,對應這3對基本功能,建立了3個相應的類:Codeand Decode,Mapand Demap和Moduland Demodul類,還有2個完成配置功能的類:ModulSetup和Code Model Setup,分別對編解碼參數和調制解調參數進行配置,另外還有Provider Port和UserPort兩個類來完成建立連接、釋放連接以及數據傳輸的功能。這7個類與物理組件是聚合的關系,他們共同形成了系統(tǒng)的物理層應用程序接口類。物理層應用程序接口通過control操作來控制各個類的使用。
Code Model Setup類提供給用戶針對不同業(yè)務需要設置系統(tǒng)編解碼方式的功能。信道編碼采用單獨的卷積碼還是RS碼與卷積碼組成的級聯(lián)碼,編碼速率設置等,都可以在這個類中進行配置。Modul Setup類提供設置調制解調模式的能力。用戶需要對不同的數據采用BPSK,QPSK,16QAM或是64QAM調制方式,可以通過他來配置。
Codeand Decode類中,定義了一個codetype屬性和code()、decode()兩個操作。屬性codetype為自定義的枚舉類型,表明編解碼方式和CodeModel Setup類的設置相關。根據系統(tǒng)平臺處于接收狀態(tài)還是發(fā)送狀態(tài),物理層應用程序接口的control函數控制著決定是要使用編碼操作還是解碼操作。然后code()、decode()操作中根據codetype屬性參數選擇相應的編解碼處理過程。
Mapand Demap類、Modulateand Demodulate類設計思路與Codeand Decode類相類似。都定義了一個type屬性和兩個互逆的操作。由物理層的control函數決定使用發(fā)送端的映射、調制操作還是使用接收端的解調、解映射操作。再從屬性中讀取用戶設置的方式進行具體的數據處理過程。
這樣的設計方案使得這些功能類獨立于具體的通信系統(tǒng)。所建類可以作為一個算法庫來使用。編碼、映射、甚至某個具體的調制方式都不是OFDM系統(tǒng)才特有的,當有其他的系統(tǒng)需要使用某個類實現的功能時,他可以直接被其他的系統(tǒng)所調用。從另一個角度來看,當我們的系統(tǒng)功能發(fā)生改變時,只要修改、添加、刪除其中的某一個、某一些類就可以完成整個系統(tǒng)的修改。
系統(tǒng)開發(fā)、實現的方法和步驟
下面給出系統(tǒng)軟件部分的開發(fā)流程、工程實現。系統(tǒng)開發(fā)流程如圖5所示。
圖5 系統(tǒng)軟件開發(fā)流程圖
確定功能就是一個需求分析的過程,對系統(tǒng)開發(fā)起決定性作用。根據功能可以劃分出不同模塊,然后使用UML語言對系統(tǒng)建模。這樣得到的系統(tǒng)模型可以映射到不同程序語言來實現。他使系統(tǒng)的設計獨立于具體實現平臺,具有良好的重用性、可維護性,對于開發(fā)大型而復雜的軟件系統(tǒng)至關重要。
從模型到語言的映射是將UML模型映射到CORBAIDL接口語言,再映射到具體的程序設計語言。具體映射過程如圖6所示。映射過程中開發(fā)者可以根據需要為系統(tǒng)選擇不同的中間件技術,不同的程序實現語言。在中間件技術提供的分布式平臺下,同一系統(tǒng)的不同組件可以用不同語言來實現,使系統(tǒng)開發(fā)具有相當的靈活性。
IDL文件將映射為樁碼和框架碼兩部分,分別對應服務器端和客戶端。我們可以在生成的這些代碼的基礎上編寫相應的服務器端和客戶端軟件。
圖6 系統(tǒng)工程實現步驟
然后是整個系統(tǒng)合成后的應用測試。系統(tǒng)采用迭代式開發(fā)過程,上述步驟可以進行多次,直到最后測試通過。
結語
按照軟件無線電思想開發(fā)的OFDM無線通信系統(tǒng)具有良好的可重用性、可移植性,同時易于更新升級。目前已實現的系統(tǒng)能夠動態(tài)地加載和卸載軟件波形組件,動態(tài)地配置組件,并能夠完成OFDM系統(tǒng)的基本通信功能,充分驗證了該系統(tǒng)方案的可行性和合理性。
由于功能組件采用軟件實現,當有新算法出現時,只要將實現新算法的程序加入到算法庫中即可,這種便捷的升級方式使得系統(tǒng)非常適合用于新算法的研究、驗證和實現。