Info
软件定义的无线电(Software Defined Radio, SDR)
一种无线电广播通信技术,基于软件定义的无线通信协议而非通过硬连线实现,频带、空中接口协议和功能可通过软件下载和更新来升级,不用更换设备
SDR系统分类
- 基于FPGA的SDR系统
实时处理能里强,开发难度大,开发成本高。(通信系统带宽越大,吞吐率越高,对系统实时性要求越高)
- 基于DSP的SDR系统
实时性比FPGA略差,同样开发难度大,开发成本也高。
基于GPP的SDR系统
- GPP->General Purpose Processor,通用处理器,简单的理解为我们使用的电脑。
- 基于GPP能够高效开发各种通信模块、通信系统,因为可以很方便的基于各种编程语言、链接库来实现各种通信功能,如编码、调制。基于GPP的SDR系统开发门槛和成本较低,开发周期短,便于调试,是目前最为通用的一种SDR系统实现形式。
- GPP-based SDR系统通常包含GPP和外设两部分
不同设备对比
HackRF One
LPC4320/4330: ARM Cortex M4处理器, 主频204MHz
XC2C64A:Xilinx,CoolRunner-II系列CPLD,1500门
MAX2837:2.3GHz到2.7GHz无线宽带射频收发器
RFFC5072:混频器提供80MHz到4200MHz的本振
MAX5864:ADC/DAC, 8-bit,22MHz采样率
Si5351C:I2C可编程任意CMOS时钟生成器,有800MHz分频提供40MHz 50MHz级采样时钟
MGA-81563:0.1–6GHz 3V, 14 dBm 放大器
SKY13317:20 MHz-6.0 GHz 射频单刀三掷(SP3T)开关
SKY13350:0.01-6.0 GHz 射频单刀双掷(SPDT)开关
GNU Radio
GNU Radio | sudo apt install gnuradio |
---|---|
gqrx | sudo apt isntall gqrx-sdr |
gr-osmosdr | sudo apt isntall gr-osmosdr |
硬件依赖安装
$ sudo apt‐get install git build-essential cmake libusb-1.0-0-dev liblog4cpp5-dev libboost-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev swig //一些依赖
HackRF驱动安装
Sudo apt-get install hackrf libhackrf-dev libhackrf0
BladeRF驱动安装
20220426记录:可以直接apt安装
sudo apt-get install bladerf libbladerf-dev libudev-dev libsystemd-dev flex
//安装固件和镜像
sudo apt-get install bladerf-firmware-fx3 //注意型号
sudo apt-get install bladerf-fpga-hostedx115 //注意设备型号
USRP B210驱动安装
可以直接 apt install uhd_host
Ettus USRP 使用UHD作为驱动程序,可以从ettus官网下载last rease包,可以下载后编译安装,该下载页面提供可linux下和VS环境的源码,也停工了刷写设备固件的镜像文件
http://www.ettus.com.cn/Download/software/UHD.html
官方也有相关安装guide
http://files.ettus.com/manual/page_build_guide.html
安装流程
- 依赖环境
sudo apt install libboost-all-dev libusb-1.0-0-dev python3-mako doxygen python-docutils cmake build-essential
- 解压下载好的源码并编译安装
cd uhd/host
mkdir build
cd build/
cmake -DCMAKE_INSTALL_PREFIX=/usr ../ #安装位置为/usr
make -j4
sudo make install
sudo ldconfig
- 镜像准备
可以直接从上面的链接下载解压后扔到指定文件夹
如:/usr/share/uhd/image
也可以使用编译安装好的程序进行安装程序为 ::uhd_images_downloader
UHD_IMAGES_DIR=/usr/share/uhd/image
- 插入设备,使用uhd_find_devices检测设备,若无固件会自动安装之前下载的镜像,已安装则可以直接检测到设备
limesdr驱动安装
sudo apt install limesuite liblimesuite-dev limesuite-udev soapysdr-tools soapysdr-module-lms7 libgnuradio-limesdr3.0.1
sudo apt install gr-limesdr
gqrx对limesdr支持不是很好,使用cubsdr更方便
sudo apt install cubicsdr