摘 要: 基于寬頻段、高帶寬的通用軟件無線電平臺SDR?4902,實現了系統啟動或運行階段波形應用到硬件平臺的自動部署。首先,充分地分析了影響波形應用到硬件平臺部署決策的各種因素,進而構建了統一的系統模型;接著,提出了基于動態規劃原理的波形部署算法,并給出算法偽代碼;最后,為了對本方法進行驗證,提取SDR?4902平臺和一個示例波形的平臺和應用參數以及利用部署算法獲得部署結果,結果表明該方法是合理且有效的。
關鍵詞: 軟件無線電; 波形部署; 系統模型; 動態規劃; SDR?4902
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2013)21?0037?05
0 引 言
軟件無線電(Software Defined Radio,SDR)自1992年由Mitola在美國電信會議提出以來,得到了全球學術界和工業界的廣泛研究和應用[1]。基于軟件無線電思想設計和開發的軟件無線電系統具有硬件平臺通用化和波形應用軟件化的特點,可通過加載波形軟件或配置屬性參數的方式實現通信系統的波形或模式切換。因而,軟件無線電思想對促進現代無線通信系統由傳統的硬件化向軟件化方向發展起著不可替代的作用,可顯著增強無線通信系統的靈活性[2]。
SDR?4902是由光譜信號處理公司(Spectrum Signal Processing)推出的一款高性能、通用化的軟件無線電平臺,具有寬頻率范圍、高帶寬以及強大的信號處理能力等優點,非常適合于各種通信系統等原型開發[3]。本文針對基于SDR?4902平臺的波形部署機制展開研究,具體包括軟件無線電系統波形部署問題介紹、基于SDR?4902平臺和示例波形的平臺模型參數提取和應用模型參數提取以及對本文提出的統一模型和部署算法的合理性和有效性的驗證。
1 問題的提出
1.1 SDR?4902系統組成
SDR?4902是由光譜信號處理公司提出的一款高性能、通用化軟件無線電平臺,如圖1所示,其硬件平臺由兩個主要功能部件(板卡)組成,一個是小型化的處理引擎PRO?4600,一個是集成的射頻和數字中頻處理單元RF?4902。由于SDR?4902平臺具有寬頻率范圍、高帶寬以及強大的數字信號處理能力,非常適合于進行各種通信系統的原型開發。通過購買并集成具有自主知識產權的軟件通信體系結構(Software Communication Architecture,SCA)[4]以及CORBA[5]中間件,現作為國防科技大學“軟件無線電演示與原型開發平臺”。
圖1中,PRO?4600是一個基于CPCI的異構處理引擎,通過集成Xilinx V4 FPGA、TMS320C6416T DSP以及MPC8541E GPP三種類型處理器,使其具有強大和多樣化的數字信號處理和應用控制能力,可滿足多種通信模式的信號處理需求,通常用于實現軟件無線電基帶信號處理;RF?4902是一個集成的射頻和數字中頻處理單元,其射頻收發機的頻率范圍達200 MHz~2.7 GHz、接收機模擬帶寬達到170 MHz、發射機模擬帶寬達到400 MHz,而Xilinx V5 SX95T?2 FPGA則實現了參數可調的數字上下變頻(DUC/DDC),可適應多種通信模式的模擬信號頻率和帶寬需求。
1.2 波形部署
SDR?4902的通用化設計使其可支持多種波形的實現與運行,采用軟件無線電技術將無線通信波形設計為可加載的波形軟件,那么在系統運行時即可根據用戶的通信需求動態地加載指定的波形應用。當然,前提是SDR?4902的用于信號處理的計算資源以及收發機參數能夠滿足各個的波形特定需求。
軟件無線電系統中,一個波形通常需要由多個不同類型的處理器協同完成整個算法鏈路的處理,這一方面是由于算法特定操作的需求決定的,一方面則是由于單個處理器處理資源相對有限決定的。因此,一個波形應用通常是由多種可執行或可加載形式的軟件組成,如通用處理器環境的*.exe文件、DSP的*.o文件以及FPGA的*.bit文件。
2 系統模型
典型的軟件無線電硬件平臺是一個由多種處理器、基于多種互聯機制構成的一個分布式的異構處理器。文獻[6]中,Mitola將硬件平臺中處理器的處理資源以及處理器之間的通信資源列為關鍵資源,對這些資源的準確估計關系到能夠很好地完成波形應用到硬件平臺的映射。文獻[7?8]從操作數的角度出發,利用每秒百萬級操作數(Million Operation Per Second, MOPS)衡量一個處理器(或波形組件)的處理能力(需求)。然而,這種方式過于抽象,無法準確描述實際應用場景中不同類型波形軟件對其運行環境的各種真實需求。文獻[9]采用芯片級的波形部署,波形部署的粒度較大,因此,資源碎片問題較為嚴重,并且資源管理的靈活性也較低。因此,本文綜合分析了影響波形應用到硬件平臺映射過程的各種因素,并將其歸納為兩種特性,一個是匹配(matchable)特性,一個是分配(allocable)特性。前者描述一個平臺配置的實際特性,后者描述一個平臺具備的可分配的資源能力。
2.1 平臺模型
軟件無線電硬件平臺由一系列處理器及其互聯機制組成,處理器為波形組件軟件提供運行必要的運行環境和處理能力,而互聯機制則為不同處理器中兩個波形組件之間的交互提供實時通信服務。這里,處理器囊括GPP、DSP以及FPGA等多種類型,而互聯機制則包括了點到點、總線以及基于交換架構多種類型。因此,平臺建模主要考慮處理設備的處理資源以及互聯機制的通信資源。
具體地,波形應用軟件與處理器之間的匹配特性包括處理器類型、可編程環境以及依賴的運行環境,針對不同的處理器類別,上述三種匹配特性會有不同的表現形式。如通用處理器類型包括處理器類型、廠商以及型號,可編程環境包括操作系統以及編譯工具,而依賴的運行環境包括核心框架以及中間件的版本。此外,波形應用軟件與處理器之間的分配特性則主要考慮特定處理器的處理資源,如GPP和DSP利用MIPS進行度量,而FPGA則采用Slice進行衡量。
假設一個軟件無線電硬件平臺D具有[M]個處理器,那么將其建模為一個長度為[M]的處理器序列,即:
[PD=P1P2…PM] (1)
具體地,處理器的匹配特性建模為一個二維矩陣,其中,橫坐標表示處理器序號,而縱坐標則描述其三種匹配特性,即:
[PM=PM1PM2…PMM=PM1,1PM1,2…PM1,MPM2,1PM2,2…PM2,MPM3,1PM3,2…PM3,M] (2)
而處理器的分配特性則建模為一個一維矢量,即:
[PA=PA1PA2…PAM] (3)
相應地,處理器之間的通信資源建模為連通矩陣:
[PC=PC11PC12…PC1MPC21PC22…PC2M????PCM1PCM2…PCMM=∞PC12…PC1MPC21∞…PC2M????PCM1PCM2…∞] (4)
式中:[PCij]表示處理器[Pi]與處理器[Pj]之間的通信帶寬,單位為MBPS,即每秒兆字節傳輸能力;對角線為∞表示單個處理器內部的通信帶寬為無窮大。
2.2 應用模型
一個軟件無線電波形應用通常由運行于多個處理器的波形組件軟件根據一定的互連關系裝配而成,每一個組件負責特定的算法功能,而任意兩個組件端口之間的連接則表示一個數據傳輸需求。為了將一個波形應用合理地映射到一個硬件平臺中,需要建模應用模型詳細描述每一個波形組件以及組件之間連接的需求。與平臺模型相對應,應用模型任意分為組件對處理設備的處理需求以及端口間連接對互聯機制的需求。前者仍然用匹配特性和分配特性來描述,后者則也同樣利用通信帶寬需求來度量。
假設一個波形應用W由[N]個組件裝配而成,那么將其建模為一個長度為[N]的組件序列,即:
[CW=C1C2…CN] (5)
具體地,組件的匹配特性建模為一個二維矩陣,其中,橫坐標表示組件序號,而縱坐標則描述其三種匹配特性需求,即:
[CM=CM1CM2…CMN=CM1,1CM1,2…CM1,NCM2,1CM2,2…CM2,NCM3,1CM3,2…CM3,N] (6)
而處理器的分配特性則建模為一個一維矢量,即:
[CA=CA1CA2…CAN] (7)
相應地,處理器之間的通信資源建模為連通矩陣
[CC=CC11CC12…CC1NCC21CC22…CC2N????CCN1CCN2…CCNN=0CC12…CC1NCC210…CC2N????CCN1CCN2…0] (8)式中:[CCij]表示組件[Ci]與組件[Cj]之間的通信帶寬,單位為MBPS,即每秒兆字節傳輸需求;對角線為0表示單個組件之間的通信需求為0。
3 算法設計
本文設計了一個基于動態規劃[10]基本原理的波形部署算法。在實際的應用場景中,一個波形應用的部署過程往往分解為對應組件序列中各個組件依次的部署過程,而每一個組件的部署決策僅僅依賴于部署過程的當前狀態,即當前組件的資源需求與硬件平臺的可用資源能力,而與后續的組件序列無關。而動態規劃的核心思想是將待求解問題分解為若干個子問題(階段),每一個子問題的求解依賴于前一個子問題的解,且僅僅保留局部最優解,依次求解各個子問題,而最后一個子問題的解即為待求解問題的解。因此,利用動態規劃算法可很好地解決軟件無線電波形部署決策過程。
基于動態規劃原理的波形部署算法偽代碼如下:
假設硬件平臺具有[M]個處理器,而波形應用具有[N]個組件,[Ci]表示第[i]個組件,而[Pj]表示第[j]個處理器,[PCi]表示與組件[Ci]匹配的所有處理器組成的集合。[node_cost(Ci,Pj|Pk)]表示組件[Ci-1]部署到處理器[Pk]前提下,部署組件[Ci]到處理器[Pj]產生的總代價;而[node_cost*(Ci,Pj)]為[node_cost(Ci,Pj|Pk)]中最小值。
[cost(C1,Pj)]表示部署組件到處理器的代價,該代價函數綜合性地考慮了處理資源代價和通信資源代價,并利用歸一化權重因子平衡表兩種代價的重要性。
式中:[PAj]表示當前時刻處理器[Pj]的可用處理資源;[CCki]表示組件[Ck]與組件[Ci]之間的通信需求;而[PAlj]則表示已部署[Ck]的處理器[Pl]與[Pj]之間當前時刻的可用處理資源。
4 示例驗證
為了對本文提出的波形部署系統模型以及部署算法的合理性以及有效性進行驗證,本文以SDR?4902軟件無線電硬件平臺和一個示例波形構建驗證環境。根據本文提出的系統模型,對SDR?4902硬件平臺和示例波形進行參數提取,然后,利用本文提出的部署算法決策出部署結果。
4.1 平臺參數提取
圖2所示詳細地描述了SDR?4902平臺的內部結構,具體地,包括一個GPP、一個DSP以及三個FPGA,上述處理器之間的數據傳輸主要通過基于非阻塞交換架構的數據交換FPGA完成,因而,該FPGA對用戶是不可見的。
根據系統模型,針對SDR?4902平臺進行參數提取,得到如表1和表2所示SDR?4902的平臺模型參數。
4.2 應用參數提取
本文采用的應用如圖3所示,其中發射端由上變頻、插值濾波、基帶調制和mac1組件組成,而接收端則由解調組件和mac2組件組成。
對驗證環境中采用的示例波形進行應用參數提取,得到如表3和表4所示的應用模型參數。
4.3 波形部署結果
將前面提取得到的平臺參數和應用參數以平臺模型和應用模型的形式作為本文提出波形部署算法的輸入。部署算法中考慮均衡的處理資源和通信資源受限程度,設置[α1=α2=0.5,]得到如圖4所示的波形部署結果(圖中標示白色的組件為示例波形組件)。
式中:[PCij]表示設備[Pi]和[Pj]之間通信帶寬;[CCkl]表示部署在設備[Pi]和[Pj]上的組件[Ck]和[Cl]之間的通信帶寬需求之和。在本實例中求得DSP和Rossi之間通信帶寬占用比為2.8%。根據實際應用環境分析可知,該部署方案是合理且有效的。因此,驗證結果表明本文提出波形部署算法是合理且有效的。
5 結 語
本文對軟件無線電系統中波形部署相關問題展開研究,充分地考慮了影響波形應用到硬件平臺之間部署決策的各種因素,并將其歸納為匹配特性和分配特性,前者將描述了一個平臺實際特性,后者則描述了一個平臺具備的處理能力。處理資源兼具匹配特性和分配特性,而通信資源則只考慮分配特性。然后,基于上述信息,提出了統一的系統模型,包括平臺模型和應用模型。此外,本文還提出了一個基于動態規劃原理的波形部署算法,并給出了其實現偽代碼。最后,通過SDR?4902平臺和示例波形構建驗證環境,對本文提出的系統模型和部署算法進行合理性和有效性驗證,結果表明本文所提出的方法是合理且有效的。
參考文獻
[1] MITOLA J III. Software radios: survey, critical evaluation and future directions [J]. IEEE Aerospace and Electronic Systems Magazine, 1992, 8(4): 25?36.
[2] 楊小牛,樓才義,徐建良.軟件無線電技術與應用[M].北京:北京理工大學出版社,2010.
[3] CAO Z R. JOHANSSON P, HODGKISS W, et al. Design and rapid prototyping of SCA?compliant public safety P25 waveform and P25?FM3TR?VoIP bridge [J]. Analog Integrated Circuit Signal Processing, 2011, 69(2?3): 245?257.
[4] JPEO JTRS. Software communications architecture specification Version: 2.2.2 [S]. San Diego, CA: JPEO JTRS, 2006.
[5] OMG. The Common object request broker: architecture and specification [M]. [S.l.]: [s.n], 1998.
[6] MITOLA J III. Software radio architecture: object?oriented approaches to wireless systems engineering [M]. NY, USA: Wiley Sons, inc., 2000.
[7] MAROJEVIC V, REVES X, GELONCH A. Computing resource management for SDR platforms [C]// Proceedings of IEEE 16th International Symposium on Personal, Indoor and Mobile Radio Communications. Berlin, Germany: PIMRC, 2005: 685?689.
[8] MAROJEVIC V, REVES X, GELONCH A. A computing resource management framework for software?defined radios [J]. IEEE Transaction on Computer, 2008, 57(10): 1399?1412.
[9] 劉青,曹凱,徐春林.芯片級專用處理器波形部署算法[J].電信技術研究,2012(2):1?7.
[10] NEMHAUSER, G L. Introduction to dynamic programming [M]. NY: Wiley, 1966.