GNURadio 安装与起步

      GNURadio就是软件定义无线电,在无线电爱好者和学术方面都有很高的人气。与GNURadio配合使用的就是USRP。USRP有很多厂家生产,有虚拟仪器的,有ettus research的,有一个显而易见的共同点就是都很贵,都1万左右,我们学生是玩不起的,还好学校导师在进行这方面的研究,于是我也有资源来学习真实硬件的使用,而不只是在GNURadio软件平台上应用。不是说软件仿真不重要,如果软件仿真都失败了,肯定原理上存在问题,而软件仿真成功也不意味着硬件就行,硬件和软件还是有很大差别的。

       那首先需要安装GNURadio,注意只有Linux平台才行。按照 GNURadio的主页 就可以进行安装,但我1年前就走了很多弯路,所以必须写清楚。我这里说的都是从源码编译。

☘   如果有硬件,必须先安装uhd(USRP Hardware Driver)。参见wiki
首先解决依赖关系。ubuntu只要运行下面的命令即可,其他linux也相应安装这些包。

uhd安装完成后就可以接下去,安装GNURadio.有时这个lib不再ldconfig的路径,那么就需要把uhd的安装目录加入到ld.so.conf或者ld.so.conf.d,如下(因系统而异):

☘   安装GNURadio。首先也要解决依赖关系,参考build guideubuntu build。ubuntu12.04的话,输入下面命令即可。

然后下载源码,不要告诉我找不到。解压之后,cd到解压后的目录。

编译大概20分钟,到这里应该就安装成功了,然后启动试试。

☘   启动 $ gnuradio-companion
一般会跳出来path什么的,没事只要在.bashrc(shell的配置文件)中加入:

就好了,也有可能不太一样,但原理是一样的,具体的PATH可以自己找。再次运行,就会出现图形界面,初学者都是从这开始的。

GNURadio_main

运行成功后就可以自己摸索了。
这里有几个小问题:

1. 有时跳出 Unable to set the thread priority. 这时就在/etc/security/limits.conf加入@username – rtprio 50,username是你的登录名。

2.有时出现mem warning什么的。那么在 /etc/sysctl.conf 加入:
net.core.rmem_max=50000000
net.core.wmem_max=1048576

3.与USRP2通信是靠以太网的,所以需要配置ip。
address: 192.168.10.1
netmask: 255.255.255.0
gateway: 192.168.0.1

设置方法有很多,最方便的就是在上网那里新建连接,把参数输进去。