Limesdr-USB 基于 Ubuntu18.04 环境建立

经过一番折腾,终于大概了解几个东东的关系了

LimeSuite
这个是官方的驱动,包括配置界面 LimeSuitGUI 和 工具 LimeUtil,USB 驱动等

SoapySDR
开始不明白为什么需要,其实这是一个转换工具

GNU Radio
这个就是数字信号DSP处理的核心了,多个功能模块,信号发生器,滤波器等等。

gr-osmosdr
这个是 osmosdr 针对 gnuradio 的一个插件


这样理解整个系统
1)首先 gnuradio 是纯软件实现,他只是处理算法,输入的信号可能是文件,可能是模拟的信号源都行
当然也可以是真正的 SDR 硬件,例如 limesdr。
于是通过 gr-osmosdr的工作,在 gnuradio 里面添加了两个模块, osmosdr source 和 osmosdr sink
分别是信号发送接收模块。这样,gnuradio 拿到的数字信号就来自真正的硬件了。

2)gr-osmosdr 包含了多个sdr软件接口,例如hackrf,bladerf,soapysdr,等,这样,这些不同厂家的 sdr
硬件,就通过一个相同的接口 gr-osmosdr 接入到 gnuradio 中了。

3)然而我们在 gr-osmosdr 官网中发现其实他并不支持limesdr,因为这个是比较新的sdr,没有足够的软件配套。
于是官方的方法是用一个现成的协议 SoapySDR 接入,只需要实现一个limesdr版本的 SoapySDR 软件,那么就
可以正确的接入到 gr-osmosdr,从而最终使用 gnuradio。

4)于是 SoapySDR 这个中间翻译层,联合了 gr-osmosdr 和 真正的硬件驱动 limesuit。

5)于是在 gnuradio 中拉一个 osmosdr source 相当于从 limesdr 获取射频信号了。


ubuntu 18.04

一,首先添加仓库
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt update

然后安装limesuite驱动和中间层 soapysdr-module-lms7

sudo apt install limesuite liblimesuite-dev limesuite-udev limesuite-images 
sudo apt install soapysdr-tools soapysdr-module-lms7

插入limesdr,运行 LimeUtil --info
可以查看到信息,表明驱动层和limesdr硬件通讯正常

运行 SoapySDRUtil --info 看到信息表明中间层正确

 

二,安装 gnuradio
sudo apt install gnuradio

最后安装 gr-osmosdr
本来可以 apt 安装的,奈何失败,进入gnuradio,根本就没有找到这个模块
开始踩坑

于是采用源码编译的

$ sudo apt install libsoapysdr-dev gr-fcdproplus
$ git clone git://git.osmocom.org/gr-osmosdr
$ cd gr-osmosdr && mkdir build && cd build/
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig

这里遇到的问题如些:
首先安装一些依赖的
sudo apt-get -y install python-dev
sudo apt-get -y install swig

其次是需要 cmake 版本,于是只能下载cmake新版本编译安装
这样就顺利的编译好 gr-osmosdr 安装好。

进入 gnuradio 后可以选择 osmocom source了。然后运行的时候报错
提示是没有找到 osmocom 模块,查看log,发现这个 gnuradio companion 其实是
一个图形界面而已,实际是上转化为 python 代码,再运行 python 代码的。
这是这样就变成了 python找不到这个模块了。

查看 gr-osmosdr 的安装记录,确实是有模块安装到 /usb/lib/python3 里面的
于是打开 python 查看路径,发现当前是 python3.6,查看路径
>>import sys
>>sys.path
查看到其实python的路径并不包含 /usb/lib/python3 而是在 /usb/lib/python3.6 
原来问题在这里,那修改 python 的路径就可以了,参考网上的方法,在 
~/.bashrc 添加
export PYTHONPATH=$PYTHONPATH:/usr/lib/python3/dist-packages
source ~/.bashrc

这样重新启动 gnuradio-companion ,发现正常运行了。
 

你可能感兴趣的:(软件无线电)