srsLTE安装、运行及测试
【轉(zhuǎn)載】原創(chuàng)博客地址:http://blog.csdn.net/jipengwang/article/details/79451879
前言
?????? 進(jìn)入研究生階段,就開始從事軟件無線電(SDR)方向的學(xué)習(xí)及研究,到目前為止,接觸過Amarisoft LTE100、Openairinterface、srsLTE、OpenBTS等SDR系統(tǒng)。實驗室?guī)熜謧冊诨贠penAirInterface(OAI)平臺上做過較多的開發(fā),也積累了相關(guān)的經(jīng)驗,想進(jìn)一步了解SDR技術(shù)的,可以參考http://blog.csdn.net/jxwxg/article/details/53446841(實驗室大牛寫的SDR基本原理,簡潔易懂)。
? ? ? ?OAI 功能非常強(qiáng)大,其按照3GPP LTE協(xié)議實現(xiàn)了UE、eNB以及EPC全協(xié)議棧的功能,目前已經(jīng)支持到Release10版本,且在不斷更新中。但是,OAI平臺功能太過復(fù)雜,從而導(dǎo)致其運行及配置的時候,都比較麻煩,比如OAI EPC的運行,需要分別單獨運行HSS、MME以及SPGW三個模塊,且配置也是需要單獨進(jìn)行配置的,所以過程上,比較繁瑣。
?????? 接觸SRS,是在去年年初,當(dāng)時srsLTE只開源了全協(xié)議棧的UE,eNB,還包括一個下行的PDSCH,沒有EPC的功能,而且其srsUE、srseNB運行的時候,必須要接EPC,所以使用起來,還需要找第三方的EPC才能夠使用,但是在2018年,srs開源了EPC模塊,且配置及使用非常簡單,即不再需要使用第三方的EPC,即可搭建完整的LTESDR系統(tǒng)。
?????? 下面對srsLTE的功能、環(huán)境搭建以及配置進(jìn)行一個整體上的介紹~
srsLTE簡介
?????? srsLTE是由愛爾蘭SoftwareRadioSystems (SRS)公司開發(fā)實現(xiàn)的免費開源LTE SDR平臺,在AGPLv3 license許可下發(fā)布,并且在實現(xiàn)中使用了OpenLTE的相關(guān)功能。SrsLTE的開源過程大致經(jīng)歷了三個階段:
(1)srsLTE包含全協(xié)議棧的UE(srsUE)以及一個物理層下行鏈路的收發(fā)鏈路,該階段可以使用第三方(如OAI)的eNB以及EPC來搭建LTE SDR系統(tǒng);
(2)srsLTE開源了srseNB,即srs具備了全協(xié)議棧的eNB以及UE,沒有EPC,因此需要使用第三方(如Amarisoft)的EPC,搭建LTE SDR的整個網(wǎng)絡(luò),實驗室?guī)熜钟羞M(jìn)行過該階段的性能測試,可以參考http://blog.csdn.net/jxwxg/article/details/73603577;
(3)srsLTE開源了srsEPC,即核心網(wǎng)功能,且一如往常的代碼簡潔,配置簡單,使用方便,到目前為止,既可以通過srsLTE搭建完整的LTE網(wǎng)絡(luò)。
目前的srsLTE開源代碼在Github上管理,鏈接為https://github.com/srsLTE/srsLTE,其代碼主要分為三個模塊,即srsUE、srseNB、srsEPC,另外還包括一些底層的庫函數(shù):
? ? ? ?srsUE:實現(xiàn)了物理層到IP層的LTE SDR平臺;
? ? ? ?srseNB:全協(xié)議棧的LTE eNodeB SDR平臺;
?????? srsEPC:輕量級的LTE核心網(wǎng)實現(xiàn)平臺,包括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(發(fā)射分集),3(CCD),4(閉環(huán)空間復(fù)用);
? ? ? ? ? ? (5)采用指令集對Turbo編譯碼進(jìn)行加速;
? ? ? ? ? ? (6)命令行跟蹤測試指標(biāo);
? ? ? ? ? ? (7)詳細(xì)的配置文件等。
? ? ? srsUE主要特征:
? ? ? ? ? ? (1)支持UE的小區(qū)搜索及同步的過程;
? ? ? ? ? ? (2)軟件USIM支持XOR以及Milenge兩種鑒權(quán)算法;
? ? ? ? ? ? (3)虛擬網(wǎng)卡tun_srsue建立網(wǎng)絡(luò)連接;
? ? ? ? ? ? (4)與商用基站以及SDR商用基站、核心網(wǎng)進(jìn)行適配測試,如Amarisoft LTE10。
? ? ? srseNB主要特征:
? ? ? ? ? ? (1)MAC層采用輪詢調(diào)度算法;
? ? ? ? ? ? (2)支持周期性及非周期性的CQI反饋;
? ? ? ? ? ? (3)標(biāo)準(zhǔn)的S1AP以及GTP-U接口;
? ? ? ? ? ? (4)目前已經(jīng)通過商用終端測試,如LG Nexus5、LG Nexus4、HuaWei P9/P9lite以及Huawei dongles:E3276\ E398等。
? ? ? ?srsEPC是單一、輕量級的LTE 核心網(wǎng)實現(xiàn),其包括下面三個部分:
? ? ? ? ? ? (1)MME(MobilityManagement Entity),標(biāo)準(zhǔn)的S1AP以及GTP-U接口;
? ? ? ? ? ? (2)S/P-GW,標(biāo)準(zhǔn)的連接虛擬網(wǎng)卡的SGi接口;
? ? ? ? ? ? (3)HSS(HomeSubscriber Server),使用CSV文件格式進(jìn)行用戶數(shù)據(jù)配置。
? ? ? ?射頻通用設(shè)備支持USRPB210、USRP X300、bladeRF以及LimeSDR。
srsLTE環(huán)境搭建
?????? 對比于前期的srsLTE安裝(http://blog.csdn.net/jxwxg/article/details/73771212),目前srsLTE安裝都包含在一個文件夾中,因此只需要借助cmake、make等工具進(jìn)行編譯,安裝即可,以下簡單介紹安裝步驟:
系統(tǒng)安裝
?????? srsLTE運行在Ubuntu系統(tǒng)上,之前在14.04以及17.04系統(tǒng)上均安裝成功,所以Ubuntu系統(tǒng)的選擇,可以是14.04及以上,計算機(jī)配置的話,最好能夠i7 CPU,主頻越高越好。系統(tǒng)的安裝推薦使用U盤制作啟動盤,然后進(jìn)行安裝即可,要注意安裝的時候分區(qū)。下面以Ubuntu14.04來進(jìn)行介紹。
常用工具安裝
?????? 系統(tǒng)安裝好之后,需要安裝常用工具,如git、vim等,可以使用Ubuntu系統(tǒng)的apt-get進(jìn)行安裝,如安裝git,使用以下命令即可:
[cpp]?view plaincopy? ? ? ?當(dāng)然,git安裝完成之后,還需要進(jìn)行配置,如配置用戶及email等。
UHD安裝
?????? 硬件設(shè)備選擇USRP B210,因此需要在系統(tǒng)上安裝UHD驅(qū)動,目前UHD版本3.10.0.0對于OAI以及srsLTE的支持比較穩(wěn)定,UHD的安裝教程可以參考http://blog.csdn.net/jipengwang/article/details/79451729。
srsLTE依賴庫安裝
? ? ? ?在Ubuntu14.04系統(tǒng)上,執(zhí)行以下命令即可:
[cpp]?view plaincopy? ? ? ?Ubuntu 17.04系統(tǒng)上,執(zhí)行以下命令:? ? ??
[cpp]?view plaincopy? ? 另外,srs還提供了srsGUI庫,可以用于在調(diào)試的時候,實時查看星座圖及信號能量,其github鏈接為:https://github.com/srslte/srsgui,安裝命令如下:
首先安裝依賴庫:
[cpp]?view plaincopysrsLTE編譯安裝
?????? 從github上clone代碼,之后進(jìn)行編譯安裝即可,命令如下:
[cpp]?view plaincopysrsLTE運行
?????? srsLTE的運行參數(shù)均采用配置文件進(jìn)行,即只需要在運行程序后面加上配置文件即可,配置參數(shù)在配置文件中進(jìn)行,其中srsLTE對于UE、eNB、EPC均提供了對應(yīng)的示例配置文件,其放置位置在對應(yīng)的srsue、srsenb以及srsepc文件夾下,且命名方式為 *.example,如下圖所示為srsenb下面的配置文件:
? ? ? ?在運行時,可以將這些配置文件復(fù)制,并修改文件名,如將drb.conf.example賦值,并命名為drb.conf。
? ? ? ?srseNB以及srsEPC可以運行在一臺電腦上,也可以運行在兩臺不同的電腦上,但是需要保證兩臺機(jī)器之間的IP可達(dá),并修改相關(guān)的配置文件;srsUE則需要運行在另一臺電腦上。
執(zhí)行sudo make install之后,就可以直接使用srsepc、srsenb以及srsue進(jìn)行運行對應(yīng)的模塊,運行命令如下(假設(shè)目前位于srsLTE目錄下):
? ? ? ?(1)srsepc
[cpp]?view plaincopy? ?cd srsenb/
[cpp]?view plaincopy? ?cd srsue
[cpp]?view plaincopy? ? ? ?如上圖所示為srsLTE運行界面,其中srseNB以及srsUE的GUI界面可以在配置文件中進(jìn)行配置,并且運行eNB的電腦,虛擬網(wǎng)卡名稱為srs_spgw_sgi,地址為172.16.0.1,運行UE的虛擬網(wǎng)卡名稱為tun_srsue,地址與eNB側(cè)同網(wǎng)段,如下兩圖所示:
另外,在eNB及UE的運行終端中,可以輸入t來實時查看snr、bler等性能指標(biāo)參數(shù),如下面兩圖所示:
srsLTE測試
ping命令測試
?????? 在運行eNB及UE的電腦上,分別對虛擬網(wǎng)卡tun_srsue以及srs_spgw_sgi進(jìn)行ping命令測試,如下兩圖所示:
iperf測試
?????? 使用iperf進(jìn)行灌包測試,以下測試為PRB=50,即帶寬10MHz,首先進(jìn)行下行灌包測試,之后進(jìn)行上行灌包測試。
? ? ? (1)下行
? ? ? ?UE側(cè)iperf命令為:
[cpp]?view plaincopy? ? ? eNB側(cè)iperf灌包從10M開始,然后是20M,之后是30M,從下圖可以看出,下行峰值速率基本在22Mbits/sec左右。
? ? (2)上行
? ? ?eNB側(cè)iperf命令為:
? ?iperf –s –u –i 1
? ? UE側(cè)iperf命令為:? ?
[cpp]?view plaincopy? ? UE側(cè)灌包從10M開始,之后是15M,然后是20M,可以看到上行峰值速率在14.7Mbps左右。
? ? ? ? 根據(jù)上面的測試結(jié)果,還可以進(jìn)行配置天線的增益來進(jìn)行測試增益下的峰值速率,這里只是進(jìn)行說明如何通過iperf進(jìn)行速率的測試。
總結(jié)
?????? 經(jīng)過上面的介紹與演示,相信大家對于srsLTE的安裝、運行以及測試有了一定的了解,之后有空會繼續(xù)更新如何對配置文件進(jìn)行修改以及探索srsLTE的更多功能。
參考文獻(xiàn)
? ? ?[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
總結(jié)
以上是生活随笔為你收集整理的srsLTE安装、运行及测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦幻西游网页版无法在虚拟机上运行【游戏】
- 下一篇: 一篇文章讲清什么是零知识证明