srsLTE安装、运行及测试
【轉載】原創博客地址:http://blog.csdn.net/jipengwang/article/details/79451879
前言
?????? 進入研究生階段,就開始從事軟件無線電(SDR)方向的學習及研究,到目前為止,接觸過Amarisoft LTE100、Openairinterface、srsLTE、OpenBTS等SDR系統。實驗室師兄們在基于OpenAirInterface(OAI)平臺上做過較多的開發,也積累了相關的經驗,想進一步了解SDR技術的,可以參考http://blog.csdn.net/jxwxg/article/details/53446841(實驗室大牛寫的SDR基本原理,簡潔易懂)。
? ? ? ?OAI 功能非常強大,其按照3GPP LTE協議實現了UE、eNB以及EPC全協議棧的功能,目前已經支持到Release10版本,且在不斷更新中。但是,OAI平臺功能太過復雜,從而導致其運行及配置的時候,都比較麻煩,比如OAI EPC的運行,需要分別單獨運行HSS、MME以及SPGW三個模塊,且配置也是需要單獨進行配置的,所以過程上,比較繁瑣。
?????? 接觸SRS,是在去年年初,當時srsLTE只開源了全協議棧的UE,eNB,還包括一個下行的PDSCH,沒有EPC的功能,而且其srsUE、srseNB運行的時候,必須要接EPC,所以使用起來,還需要找第三方的EPC才能夠使用,但是在2018年,srs開源了EPC模塊,且配置及使用非常簡單,即不再需要使用第三方的EPC,即可搭建完整的LTESDR系統。
?????? 下面對srsLTE的功能、環境搭建以及配置進行一個整體上的介紹~
srsLTE簡介
?????? srsLTE是由愛爾蘭SoftwareRadioSystems (SRS)公司開發實現的免費開源LTE SDR平臺,在AGPLv3 license許可下發布,并且在實現中使用了OpenLTE的相關功能。SrsLTE的開源過程大致經歷了三個階段:
(1)srsLTE包含全協議棧的UE(srsUE)以及一個物理層下行鏈路的收發鏈路,該階段可以使用第三方(如OAI)的eNB以及EPC來搭建LTE SDR系統;
(2)srsLTE開源了srseNB,即srs具備了全協議棧的eNB以及UE,沒有EPC,因此需要使用第三方(如Amarisoft)的EPC,搭建LTE SDR的整個網絡,實驗室師兄有進行過該階段的性能測試,可以參考http://blog.csdn.net/jxwxg/article/details/73603577;
(3)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共有特征:
? ? ? ? ? ? (1)支持Realease8(兼容一些Realease9的功能);
? ? ? ? ? ? (2)支持FDD;
? ? ? ? ? ? (3) 測試帶寬:1.4MHz、3MHz、5MHz、10MHz、15MHz以及20MHz;
? ? ? ? ? ? (4) 傳輸模式1(單天線),2(發射分集),3(CCD),4(閉環空間復用);
? ? ? ? ? ? (5)采用指令集對Turbo編譯碼進行加速;
? ? ? ? ? ? (6)命令行跟蹤測試指標;
? ? ? ? ? ? (7)詳細的配置文件等。
? ? ? srsUE主要特征:
? ? ? ? ? ? (1)支持UE的小區搜索及同步的過程;
? ? ? ? ? ? (2)軟件USIM支持XOR以及Milenge兩種鑒權算法;
? ? ? ? ? ? (3)虛擬網卡tun_srsue建立網絡連接;
? ? ? ? ? ? (4)與商用基站以及SDR商用基站、核心網進行適配測試,如Amarisoft LTE10。
? ? ? srseNB主要特征:
? ? ? ? ? ? (1)MAC層采用輪詢調度算法;
? ? ? ? ? ? (2)支持周期性及非周期性的CQI反饋;
? ? ? ? ? ? (3)標準的S1AP以及GTP-U接口;
? ? ? ? ? ? (4)目前已經通過商用終端測試,如LG Nexus5、LG Nexus4、HuaWei P9/P9lite以及Huawei dongles:E3276\ E398等。
? ? ? ?srsEPC是單一、輕量級的LTE 核心網實現,其包括下面三個部分:
? ? ? ? ? ? (1)MME(MobilityManagement Entity),標準的S1AP以及GTP-U接口;
? ? ? ? ? ? (2)S/P-GW,標準的連接虛擬網卡的SGi接口;
? ? ? ? ? ? (3)HSS(HomeSubscriber Server),使用CSV文件格式進行用戶數據配置。
? ? ? ?射頻通用設備支持USRPB210、USRP X300、bladeRF以及LimeSDR。
srsLTE環境搭建
?????? 對比于前期的srsLTE安裝(http://blog.csdn.net/jxwxg/article/details/73771212),目前srsLTE安裝都包含在一個文件夾中,因此只需要借助cmake、make等工具進行編譯,安裝即可,以下簡單介紹安裝步驟:
系統安裝
?????? srsLTE運行在Ubuntu系統上,之前在14.04以及17.04系統上均安裝成功,所以Ubuntu系統的選擇,可以是14.04及以上,計算機配置的話,最好能夠i7 CPU,主頻越高越好。系統的安裝推薦使用U盤制作啟動盤,然后進行安裝即可,要注意安裝的時候分區。下面以Ubuntu14.04來進行介紹。
常用工具安裝
?????? 系統安裝好之后,需要安裝常用工具,如git、vim等,可以使用Ubuntu系統的apt-get進行安裝,如安裝git,使用以下命令即可:
[cpp]?view plaincopy? ? ? ?當然,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系統上,執行以下命令即可:
[cpp]?view plaincopy? ? ? ?Ubuntu 17.04系統上,執行以下命令:? ? ??
[cpp]?view plaincopy? ? 另外,srs還提供了srsGUI庫,可以用于在調試的時候,實時查看星座圖及信號能量,其github鏈接為:https://github.com/srslte/srsgui,安裝命令如下:
首先安裝依賴庫:
[cpp]?view plaincopysrsLTE編譯安裝
?????? 從github上clone代碼,之后進行編譯安裝即可,命令如下:
[cpp]?view plaincopysrsLTE運行
?????? 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
[cpp]?view plaincopy? ?cd srsenb/
[cpp]?view plaincopy? ?cd srsue
[cpp]?view plaincopy? ? ? ?如上圖所示為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,首先進行下行灌包測試,之后進行上行灌包測試。
? ? ? (1)下行
? ? ? ?UE側iperf命令為:
[cpp]?view plaincopy? ? ? eNB側iperf灌包從10M開始,然后是20M,之后是30M,從下圖可以看出,下行峰值速率基本在22Mbits/sec左右。
? ? (2)上行
? ? ?eNB側iperf命令為:
? ?iperf –s –u –i 1
? ? UE側iperf命令為:? ?
[cpp]?view plaincopy? ? 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
? ? ?[4]?http://blog.csdn.net/jxwxg/article/details/73603577
? ? ?[5]?http://blog.csdn.net/jxwxg/article/details/53446841
? ? ?[6]?http://blog.csdn.net/jxwxg/article/details/73771212
總結
以上是生活随笔為你收集整理的srsLTE安装、运行及测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦幻西游网页版无法在虚拟机上运行【游戏】
- 下一篇: 一篇文章讲清什么是零知识证明