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 ,發現正常運行了。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章