srsLTE系統安裝教程

srsLTE系統安裝教程

原文鏈接 http://www.geeflex.com/Blog/2018-03-12-srsLTE/

 

srsLTE簡介

srsLTE是由愛爾蘭SoftwareRadioSystems (SRS)公司開發實現的免費開源LTE SDR平臺,在AGPLv3 license許可下發布,並且在實現中使用了OpenLTE的相關功能。

SrsLTE的開源過程大致經歷了三個階段:

  • srsLTE包含全協議棧的UE(srsUE)以及一個物理層下行鏈路的收發鏈路,該階段可以使用第三方(如OAI)的eNB以及EPC來搭建LTE SDR系統;
  • srsLTE開源了srseNB,即srs具備了全協議棧的eNB以及UE,沒有EPC,因此需要使用第三方(如Amarisoft)的EPC,搭建LTE SDR的整個網絡;
  • srsLTE開源了srsEPC,即核心網功能,且一如往常的代碼簡潔,配置簡單,使用方便,到目前爲止,既可以通過srsLTE搭建完整的LTE網絡。

目前的srsLTE開源代碼在Github上管理,鏈接爲https://github.com/srsLTE/srsLTE
其代碼主要分爲三個模塊,即srsUE、srseNB、srsEPC,另外還包括一些底層的庫函數:

  • srsUE:實現了物理層到IP層的LTE SDR平臺;
  • srseNB:全協議棧的LTE eNodeB SDR平臺;
  • srsEPC:輕量級的LTE核心網實現平臺,包括HSS、MME以及S/P-GW;
  • lib:一套模塊化的通用庫,包括PHY、MAC、RLC、NAS、S1AP以及GW各層。

下面簡單介紹srsLTE整個模塊的性能特徵,主要包含以下四個部分:

SrsLTE共有特徵:

  • 支持Realease8(兼容一些Realease9的功能);
  • 支持FDD;
  • 測試帶寬:1.4MHz、3MHz、5MHz、10MHz、15MHz以及20MHz;
  • 傳輸模式1(單天線),2(發射分集),3(CCD),4(閉環空間複用);
  • 採用指令集對Turbo編譯碼進行加速;
  • 命令行跟蹤測試指標;
  • 詳細的配置文件等。

SrsUE主要特徵:

  • 支持UE的小區搜索及同步的過程;
  • 軟件USIM支持XOR以及Milenge兩種鑑權算法;
  • 虛擬網卡tun_srsue建立網絡連接;
  • 與商用基站以及SDR商用基站、核心網進行適配測試,如Amarisoft LTE10。

SrseNB主要特徵:

  • MAC層採用輪詢調度算法;
  • 支持週期性及非週期性的CQI反饋;
  • 標準的S1AP以及GTP-U接口;
  • 目前已經通過商用終端測試,如LG Nexus5、LG Nexus4、HuaWei P9/P9lite以及Huawei dongles:E3276\ E398等。

SrsEPC是單一、輕量級的LTE 核心網實現,其包括下面三個部分:

  • MME(Mobility Management Entity),標準的S1AP以及GTP-U接口;
  • S/P-GW,標準的連接虛擬網卡的SGi接口;
  • HSS(Home Subscriber Server),使用CSV文件格式進行用戶數據配置。

射頻通用設備支持USRP B210、USRP X300、bladeRF以及LimeSDR。

srsLTE環境搭建

目前srsLTE安裝包都包含在一個文件夾中,因此只需要藉助cmake、make等工具進行編譯,安裝即可,以下簡單介紹安裝步驟:

系統安裝

srsLTE運行在Ubuntu系統上,之前在14.04以及17.04系統上均安裝成功,所以Ubuntu系統的選擇,可以是14.04及以上,計算機配置的話,最好能夠i7 CPU,主頻越高越好。系統的安裝推薦使用U盤製作啓動盤,然後進行安裝即可,要注意安裝的時候分區。下面以Ubuntu 14.04來進行介紹。

常用工具安裝

系統安裝好之後,需要安裝常用工具,如git、vim等,可以使用Ubuntu系統的apt-get進行安裝,如安裝git,使用以下命令即可:

sudo apt-get update
sudo apt-get install git

當然,git安裝完成之後,還需要進行配置,如配置用戶及email等。

UHD安裝

硬件設備選擇USRP B210,因此需要在系統上安裝UHD驅動,目前UHD版本3.10.0.0對於OAI以及srsLTE的支持比較穩定,UHD的安裝教程可以參考http://blog.csdn.net/jipengwang/article/details/79451729

srsLTE依賴庫安裝

在Ubuntu14.04系統上,執行以下命令即可:

sudo apt-get install cmake libfftw3-dev libpolarssl-dev libboost-program-options-dev libboost-thread-dev libconfig++-dev libsctp-dev

在Ubuntu 17.04系統上,執行以下命令:

sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libboost-thread-dev libconfig++-dev libsctp-dev

另外,srs還提供了srsGUI庫,可以用於在調試的時候,實時查看星座圖及信號能量,其github鏈接爲:https://github.com/srslte/srsgui
安裝命令如下. 首先安裝依賴庫:

sudo apt-get install libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-dev libqt4-dev

下載及安裝命令如下:

git clone https://github.com/suttonpd/srsgui.git
cd srsGUI
mkdir build
cd build
cmake ../
make 
sudo make install 
sudo ldconfig

srsLTE編譯安裝

從github上clone代碼,之後進行編譯安裝即可,命令如下:

git clone https://github.com/srsLTE/srsLTE
mkdir build
cd build
cmake ../
make 
make test
sudo make install
sudo ldconfig

srsLTE運行

srsLTE的運行參數均採用配置文件進行,即只需要在運行程序後面加上配置文件即可,配置參數在配置文件中進行,其中srsLTE對於UE、eNB、EPC均提供了對應的示例配置文件,其放置位置在對應的srsue、srsenb以及srsepc文件夾下,且命名方式爲 *.example,如下圖所示爲srsenb下面的配置文件:

在運行時,可以將這些配置文件複製,並修改文件名,如將drb.conf.example賦值,並命名爲drb.conf。

SrseNB以及srsEPC可以運行在一臺電腦上,也可以運行在兩臺不同的電腦上,但是需要保證兩臺機器之間的IP可達,並修改相關的配置文件;srsUE則需要運行在另一臺電腦上。

執行sudo make install之後,就可以直接使用srsepc、srsenb以及srsue進行運行對應的模塊,運行命令如下(假設目前位於srsLTE目錄下):

  1. srsepc
    cd srsepc/
    sudo srsepc epc.conf
    
  2. srsenb
    cd srsenb/
    sudo srsenb enb.conf
    
  3. srsue
    cd srsue
    sudo srsue ue.conf
    

srsLTE運行界面

如上圖所示爲srsLTE運行界面,其中srseNB以及srsUE的GUI界面可以在配置文件中進行配置,並且運行eNB的電腦,虛擬網卡名稱爲srs_spgw_sgi,地址爲172.16.0.1,運行UE的虛擬網卡名稱爲tun_srsue,地址與eNB側同網段,如下兩圖所示:

另外,在eNB及UE的運行終端中,可以輸入t來實時查看snr、bler等性能指標參數,如下面兩圖所示:

srsLTE測試

ping命令測試

在運行eNB及UE的電腦上,分別對虛擬網卡tun_srsue以及srs_spgw_sgi進行ping命令測試,如下兩圖所示:

iperf測試

使用iperf進行灌包測試,以下測試爲PRB=50,即帶寬10MHz,首先進行下行灌包測試,之後進行上行灌包測試。

  • 下行

UE側iperf命令爲:

iperf –s –u –i 1

eNB側iperf命令爲:

iperf –c 172.16.0.4 –u –i 1 –b 30M –t 60

eNB側iperf灌包從10M開始,然後是20M,之後是30M,從下圖可以看出,下行峯值速率基本在22Mbits/sec左右。

  • 上行

eNB側iperf命令爲:

iperf –s –u –i 1

UE側iperf命令爲:

iperf –c 172.16.0.1 –u –i 1 –b 10M –t 60

UE側灌包從10M開始,之後是15M,然後是20M,可以看到上行峯值速率在14.7Mbps左右。

根據上面的測試結果,還可以進行配置天線的增益來進行測試增益下的峯值速率,這裏只是進行說明如何通過iperf進行速率的測試。

總結

經過上面的介紹與演示,相信大家對於srsLTE的安裝、運行以及測試有了一定的瞭解,之後有空會繼續更新如何對配置文件進行修改以及探索srsLTE的更多功能。

參考文獻

  1. https://github.com/srsLTE/srsLTE
  2. http://www.softwareradiosystems.com/
  3. http://blog.csdn.net/jipengwang/article/details/79451729
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章