很久以前,SRS公司的srsLTE只包含物理层下行链路功能,srsUE则是一个全协议栈的SDR UE平台。最近SRS公司基于OpenLTE开发了一个全协议栈的ENB平台,并把ENB和UE平台整合到了srsLTE里面。所以目前srsLTE平台是包含了全协议栈的ENB和UE平台,全协议栈的意思就是说srsLTE平台里面的ENB和UE可以直接跟商用手机、商用基站通信。
本文主要讲解基于Ubuntu17.04 srsLTE的安装和运行方法。
一、srsENB安装
1.安装Ubuntu 17.04系统
可以利用U盘制作安装盘,安装过程中注意分区。
2.安装配置vim,Git等常用工具
sudo apt-get install update
sudo apt-get install vim
sudo apt-get install git
git config --global user.name “your name”
git config --global user.email “your email”
3.安装UHD
sudo apt-get install libboost-all-devlibusb-1.0-0-dev python-mako doxygen python-docutils python-requests cmakebuild-essential
git clone git://github.com/EttusResearch/uhd.git
cd uhd; mkdir host/build; cd host/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
sudo make install
sudo ldconfig
sudo /usr/lib/uhd/utils/uhd_images_downloader.py
安装完UHD后先找一个USRP对UHD进行测试,如果执行uhd_find_devices能找到相应的USRP设备,则说明UHD安装成功,安装UHD的过程结束,下面几行不用再看。
如果出现uhd库只能在root权限下调用,比如你只能使用sudo uhd_find_devices才能找到相应的USRP设备,则可以执行:
cd /usr/lib/uhd/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
4.下载srsLTE源码
git clone https://github.com/srsLTE/srsLTE
5.安装依赖库
sudo apt-get install libfftw3-dev libmbedtls-devlibboost-all-dev libconfig++-dev libsctp-dev
6.编译
cd srsLTE
mkdir build
cd build
cmake ../
make srsenb
二、srsUE安装
srsENB和srsUE可以安装在同一台电脑上,也可以安装在不同的电脑上。建议安装在不同的电脑上,这样运行时实时性较好。
安装srsUE的方法基本与安装srsENB一样。但是最后编译时需要把makesrsenb 换成 make srsue。
1.安装Ubuntu 17.04系统
可以利用U盘制作安装盘,安装过程中注意分区。
2.安装配置vim,git等常用工具
sudo apt-get install update
sudo apt-get install vim
sudo apt-get install git
git config --global user.name “your name”
git config --global user.email “your email”
3.安装UHD
sudo apt-get install libboost-all-devlibusb-1.0-0-dev python-mako doxygen python-docutils python-requests cmakebuild-essential
git clone git://github.com/EttusResearch/uhd.git
cd uhd; mkdir host/build; cd host/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
sudo make install
sudo ldconfig
sudo /usr/lib/uhd/utils/uhd_images_downloader.py
安装完UHD后先找一个USRP对UHD进行测试,如果执行uhd_find_devices能找到相应的USRP设备,则说明UHD安装成功,安装UHD的过程结束,下面几行不用再看。
如果出现uhd库只能在root权限下调用,比如你只能使用sudo uhd_find_devices才能找到相应的USRP设备,则可以执行:
cd /usr/lib/uhd/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
4.下载srsLTE源码
git clone https://github.com/srsLTE/srsLTE
5.安装依赖库
sudo apt-get install libfftw3-dev libmbedtls-devlibboost-all-dev libconfig++-dev libsctp-dev
6.编译
cd srsLTE
mkdir build
cd build
cmake ../
make srsue
三、运行方法
因为srsENB和srsUE是全协议栈的ENB和UE,要让srsUE能成功接入srsENB搭建的无线网,还额外需要一个EPC。但是SRS公司目前没有开源的EPC,所以我们可以使用OAI的EPC。
3.1.srsENB
1.进入可执行文件目录,可以看到srsENB的可执行文件srsenb
cd srsLTE/build/srsenb/src
2.复制配置文件到srsenb所在目录
cp ../../../srsenb/*.example .
3.更改配置文件名称(把名称后面的“.example”去掉)
mv sib.conf.example sib.conf
mv rr.conf.example rr.conf
mv enb.conf.example enb.conf
mv drb.conf.example drb.conf
4.vim打开enb.conf,对srsENB进行配置。
具体配置参见配置文件里面的解释,不用更改配置文件srsUE和srsENB也能成功连接。常用的配置是在enb.conf中打开图形界面。
[gui]
enable = false
更改为
[gui]
enable = true
此外还需要在enb.conf中配置MME的地址与OAI MME的地址一致。enb.conf中更改MME的地址如下所示。(把127.0.1.100改为你MME的地址)
mme_addr = 127.0.1.100
5.启动srsENB
sudo ./srsenb enb.conf
3.2.srsUE
1.进入可执行文件目录,可以看到srsUE的可执行文件srsue
cd srsLTE/build/srsue/src
2.复制配置文件到srsue所在目录
cp ../../../srsue/ue.conf.example .
3.更改配置文件名称(把名称后面的“.example”去掉)
mv ue.conf.example ue.conf
4.vim打开ue.conf,对srsUE进行配置。
具体配置参见配置文件里面的解释,不用更改配置文件srsUE和srsENB也能成功连接。常用的配置是在ue.conf中打开图形界面。
[gui]
enable = false
更改为
[gui]
enable = true
此外,如果把rx_gain = 50 注释掉,则srsUE会自动调整接收增益。
rx_gain = 50
更改为
#rx_gain = 50
5.启动srsUE
sudo ./srsue ue.conf
上述步骤较多,难免有错。如果上述教程中有任何问题,请在评论区备注,谢谢!