Linux系统下搭建USRP + GNU Radio开发环境

目录

  • 文章背景
  • 主要步骤
    • 1 物理桥接配置
    • 2 GNU Radio前序的软件配置
    • 3 GNU Radio安装

文章背景

毕设中需要进行lora信号的采集,需要进行整个信号采集的软件配置,才可以将收集的lora信号保存于本地,写文章的目的是因为现有的网上资料比较杂,加上自己刚接触偏通信的领域,作为一个入门的小记录。

主要步骤

在踩了很多坑之后,总结出如下的主要的配置流程:

  • 物理桥接配置
  • GNU Radio前序软件的配置
  • GNU Radio安装

1 物理桥接配置

物理桥接的目的是将USRP与本地的服务器(自己的电脑)连接起来,即使两者处于一个局域网之中,可以互相通信。

PS:由于GNU Radio需要在linux系统中安装,配置过程使用虚拟机进行环境配置,如果电脑本身是linux系统是比较方便的,但配置过程可能会有出入,不在本文讨论范围内。
本文采用的是ubuntu 20.04,版本不同同样会造成配置的差异,特别是版本差别较大的时候。
运行系统镜像选择的是VMware的pro版本,网上有很多密钥,强烈建议使用pro版本,你也不想环境配置到最后一步出错导致系统崩溃从头开始吧(doge),pro有个快照功能可以最小化这个痛苦。
  • 虚拟机基础配置
    打开VMware时,需要选择管理员身份打开,方便后续配置桥接模式。
    新建虚拟机时,处理器数量大一些,内存尽量大一些(6G以上),磁盘空间调大一些(30G以上),网络模式选择桥接模式,USB配置需要是3.0以上的配置,可以有效避免后续配置过程中出现过内存溢出,USB接口不兼容导致找不到USRP设备,磁盘空间不够需要扩充磁盘误操作导致虚拟机崩溃的莫名奇妙的坑。
    Linux系统下搭建USRP + GNU Radio开发环境_第1张图片
    如果安装Ubuntu系统安装后存在屏幕过小这样的老问题,直接参考(https://blog.csdn.net/dengjin20104042056/article/details/106396644)安装VMware Tool。

  • USRP基础配置
    USRP是通用软件无线电外设的英文缩写,USRP 是一个硬件平台,其主要优点是其灵活性和可编程性。通过软件定义,用户可以自定义和实现各种无线通信系统,如 WiFi、LTE、LoRa 等。
    USRP有一个固定IP地址,一般为192.168.10.2。
    个人主机与USRP的连接需要用网线连接,而且购买的网口需要是千兆网卡(百兆网口不能用,别问我为什么知道)。

  • 虚拟机桥接连接外部设备
    VMware的界面中找到“编辑”,接着点击“虚拟网络编辑器”对网络模式进行选择,在接入USRP后,可以找到如下图所示的选项,选择包含“以太网适配器”的选项。Linux系统下搭建USRP + GNU Radio开发环境_第2张图片

  • 桥接模式IP配置
    主要是将USRP的IP地址与虚拟机的IP地址处于同一个局域网中(同一网段),所以虚拟机的桥接模式的地址需要设置为192.168.10.x,x可以是除2之外的数字,具体的配置过程可以参考这篇文章(https://blog.csdn.net/weixin_43434136/article/details/116759692),是一种较为方便的配置方法,不需要修改系统中的网络配置文件。
    前面提到的本地服务器是虚拟机,而在USRP设备与虚拟机之间包含了一个本地主机,所以需要将三者设置于同一个局域网之下,本地主机的配置如下图所示。
    Linux系统下搭建USRP + GNU Radio开发环境_第3张图片
    虚拟机配置参考前文提供的博客进行配置,如下图所示。
    Linux系统下搭建USRP + GNU Radio开发环境_第4张图片
    主机与虚拟机与USRP互相ping:
    Linux系统下搭建USRP + GNU Radio开发环境_第5张图片
    Linux系统下搭建USRP + GNU Radio开发环境_第6张图片

2 GNU Radio前序的软件配置

GNU Radio是一个开源的软件无线电开发工具包,提供了一套功能丰富的工具和库,
用于设计、模拟和实现软件定义无线电系统,在本文中主要用于接收处理分析USRP收到的信号。
该步骤的配置全部参考GNU Radio的官方配置:https://wiki.gnuradio.org/index.php?title=LinuxInstall

  • 切换网络
    由于连接USRP后,服务器整个网络是一个局域网形式,并不能上网,需要将“虚拟网络编辑器”的桥接网卡切换成WIFI的网卡,才能进行后续联网下载软件的操作,建议主机联网通过手机的个人热点,校园网可能会连不上。
    Linux系统下搭建USRP + GNU Radio开发环境_第7张图片
    这里选择的是3.10版本的安装,安装顺序如下图所示。
    Linux系统下搭建USRP + GNU Radio开发环境_第8张图片

  • 安装依赖
    Linux系统下搭建USRP + GNU Radio开发环境_第9张图片
    找到依赖安装页面,复制命令至cmd安装即可。Linux系统下搭建USRP + GNU Radio开发环境_第10张图片

  • 安装UHD
    UHD是USRP的驱动,是服务器连接USRP的必备工具,安装的方法同样参照指南,如下图所示。
    Linux系统下搭建USRP + GNU Radio开发环境_第11张图片
    运行安装成功测试命令的类似输出如下:
    Linux系统下搭建USRP + GNU Radio开发环境_第12张图片

  • 安装VOLK
    VOLK是一个矢量优化库,由它可以提高在不同计算平台矢量计算的效率,原本是Gnuradio的子项目,但后续版本中分离处理(Gnuradio官网提及的)。安装过程同样参照指南,如下图所示。
    Linux系统下搭建USRP + GNU Radio开发环境_第13张图片

3 GNU Radio安装

前面步骤都顺利完成后,最后GNU Radio的安装就变得简单了,同样的方式安装编译即可。
Linux系统下搭建USRP + GNU Radio开发环境_第14张图片
安装完成后,运行gnuradio-companion这一命令测试是否可以打开GNU Radio的图形界面:
Linux系统下搭建USRP + GNU Radio开发环境_第15张图片

你可能感兴趣的:(实验记录,linux,信号处理)