安装 Ubuntu 系统环境搭建和安装 GNU Radio 安装
更多资料信息联系 QQ:3040963362
环境搭建
1 安装 Ubuntu 系统
我们常用的电脑都是 Windows 系统的,有两种方法在电脑上运行 Linux。第一种方法是安
装双系统,第二种方法是安装虚拟机并在虚拟机中安装 linux,由于方法二不需要额外分区、
更改 BIOS 等操作、在操作不当时也不会导致 Windows 的崩溃,因此选用方法二。
这里使用了常见的虚拟机软件 VMware Workstation。在以下链接中可以下载 Ubuntu
16.04:https://www.ubuntu.com/download/desktop Ubuntu 是一个 Linux 常用的发
行版。下载到的文件是 Ubuntu 系统的镜像.iso 文件,在 VMware 中选择 File – New
Virtual Machine 按照提示一步步点击下一步即可,在配置虚拟机硬件时,CPU 数及 CPU
核心数与实际 CPU 一致即可,内存可设的稍大一些,我设置了 8G 内存(共 16G 物理内存),
硬盘设置 40G(装完 Ubuntu 系统、安装完 GNU Radio 的所有依赖软件后实际使用了 8.1G)。
启动虚拟机,按照第一次启动向导简单配置 Ubuntu,进入桌面后点击左上角的图标,搜索
terminal 即命令行工具,如图 3 。
更多资料信息 QQ:3040963362
图 3 找到 Ubuntu 的命令行工具
打开命令行工具,输入
sudo passwd 回车
设置管理员(Supper User)密码即 root 密码,在用户设置密码之前,Ubuntu 每次开机
会产生一个随机的 root 密码。注意,输密码时不会显示“****”,而是什么字符也不显示,
这一点和我们一般的认知很不一样!
系统提示再次输入密码,第二次输入密码并确认、两次一致后密码设置成功。接下来输入
sudo apt-get update 回车
更新源,会提示输入管理员密码,输入刚才设置的管理员密码后点回车。之后输入(或复制
粘贴,请勿使用 Ctrl C + V 的快捷键,而是鼠标右键在命令行窗口中单击 – 选择 paste)
更多资料信息 QQ:3040963362
sudo apt-get -y install Git swig cmake doxygen build-essential libboost-all-dev
libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin
libfftw3-dev libfftw3-doc libcppunit-1.13-0v5 libcppunit-dev libcppunit-doc
ncurses-bin cpufrequtils Python-numpy python-numpy-doc python-numpy-dbg
python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev
libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc
python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin
libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev
libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev
libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev
python-wxgtk3.0 git-core libqt4-dev python-numpy ccache python-opengl
libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default
qt4-dev-tools libusb-1.0-0-dev libqwt5-qt4-dev libqwtplot3d-qt4-dev
pyqt4-dev-tools python-qwt5-qt4 cmake git-core wget libxi-dev
gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev
libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx
libcomedi-dev python-zmq 回车
大约会下载 1 个多 G 的依赖库和软件。等待其下载完成后,下载编译安装 UHD 驱动。
2 安装 UHD 驱动
UHD 驱动是以源码形式提供的。在命令行中输入
git clone https://github.com/EttusResearch/uhd 回车
更多资料信息 QQ:3040963362
会将 uhd 源码拷贝到 HOME 路径下,转到该路径并新建 build 目录
cd uhd 回车
cd host 回车
mkdir build 回车
cd build 回车
输入
cmake ../回车
产生 Makefile,输入
make 回车
编译源码,大约需要 10-30min 时间,可以通过开启多线程编译可大大缩短编译时间,用
make -j4 代替 make 即可,就会启用 4 个线程同时编译,但也不是越多越好,一般和计算
机 CPU 线程数或虚拟机 CPU 线程数一致即可。如编译中途死机(虚拟机可能会出现、由
于内存不足),重新来过时会接着之前的编译进度继续。之后安装编译成功的库,输入
make test 回车
sudo make install 回车
更新共享库和环境变量
sudo ldconfig 回车
export LD_LIBRARY_PATH=/usr/local/lib 回车
此时 UHD 驱动已经安装完毕,可通过输入
uhd_find_devices 回车
更多资料信息 QQ:3040963362
查看驱动的版本,若在同一子网中已有 USRP 设备,可看到 USRP 设备的信息,如图 4
图 4 验证 UHD 安装情况
一个小技巧:在输入上条命令时输入 uhd_fin 之后按 Tab 键看看会发生什么……自动填充!
对于输一些比较长的命令时可以通过自动填充功能降低拼写错误,省时省力。
在找到设备的情况下,可运行以下程序查看 CDMA 移动电话的上行频谱
uhd_fft -a addr=10.144.97.123 -f 835M -s 10M 回车
更多资料信息 QQ:3040963362
图 5 UHD FFT 测试程序
注意,若 USRP 中的镜像和 UHD 版本不匹配的话,无法直接运行上述测试程序,可以通过
更新 firmware image 和 FPGA image 使之匹配。更新方法见第 3 节。
3 安装 GNU Radio
安装 GNU Radio 与安装 UHD 驱动的步骤类似。
首先回到 home 路径
cd $HOME 回车
之后下载 GNU Radio 源码
git clone --recursive https://github.com/gnuradio/gnuradio 回车
更多资料信息 QQ:3040963362
下载完成后新建 build 目录
cd gnuradio 回车
mkdir build 回车
cd build 回车
生成 Makefile 并编译安装
cmake ../ 回车
make 回车
make test 回车
sudo make install 回车
sudo ldconfig 回车
完成后,可以测试安装是否正确,输入
gnuradio-companion 回车
GNU Radio 开发环境应当可以正确打开。至此,环境搭建完成[3] 。
3. 运行一个 GNU Radio 程序
1 修改 USRP IP 地址并连接
这里使用的是 USRP,USRP 设备使用固定 IP,默认 IP 是 192.168.10.2 。首先将 USRP
设备通过网线直连至 PC,设置 PC 的 ip 为 192.168.10.1,子网掩码 255.255.255.0,在
Windows 下可通过 USRP Configuration Utility 软件修改 USRP 设备的 IP。在本次验证中,
使用了超过 1 台的 USRP,需要通过交换机和上位机通信,在处于同一个子网的 PC 上查看
PC 的 IP 地址:windows 徽标键+R -> 输入 cmd 回车 -> 输入 ipconfig 回车,找到自己
更多资料信息 QQ:3040963362
的本地网卡的 IPv4 地址,如 10.144.97.17,将两台 USRP 的 IP 设置到同一个子网下,如
10.144.97.123 和 10.144.97.124 。
在 Linux 下可通过以下方法修改设备 IP [4] ,cd 到/usr/local/lib/uhd/utils 目录下,运行
sudo ./usrp2_recovery.py --ifc=eth0 --new-ip=10.144.97.123 回车
以上方法需要防火墙允许 UDP 广播。需要注意的是,在虚拟机中运行 Linux 的话,需要将
虚拟机的网卡配置为直连或者与主机共用 IP。
图 6 虚拟机网卡配置
更多资料信息 QQ:3040963362