GNU与ANTSDR U220配置

这里简单记录一下配置USRP的过程,硬件设备是ANTSDR U220,一开始是对照着ANTSDR开发手册 GNU Radio篇 Rev. 1.0这个pdf搞的,但是里面有些过程有点残缺,而且还是在linux实体机上搞的。

这里记录一下虚拟机上配置以及踩坑的过程,主要参考那个手册以及github上的一部分指南。

基础环境配置

我们需要一个虚拟机,这里以Vmware workstation和Ubuntu为例。

我的虚拟机版本是Ubuntu 22.04.5 LTS,不清楚不同的版本会不会有不同的坑。

有的时候主机与虚拟机之间需要传输数据,这里借助ftp去传文件。

虚拟机安装VSFTPD(可跳过,直接用U盘也行)

sudo apt-get update
sudo apt-get install vsftpd
sudo nano /etc/vsftpd.conf

其中第三行是配置VSFTPD的配置文件,通常位于/etc/vsftpd.conf

这里需要:

  • 启用本地用户访问:确保local_enable=YES被取消注释。
  • 启用写权限:取消注释write_enable=YES
  • 启用chroot:取消注释chroot_local_user=YES以限制本地用户只能访问其主目录。

然后需要配置防火墙以允许FTP流量通过。使用以下命令打开FTP端口:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp
sudo ufw enable

查看虚拟机的ip地址,输入ifconfig

在主机的FTP应用上连接虚拟机,我这里使用的是XFTP

完事了可以嘎嘎开传了。

这里的用户名最好能设置为root,如果没有root的密码,需要通过sudo passwd root设置一次root的密码。不过有时候系统可能不支持以root用户的身份通过FTP连接到虚拟机上,那还是算了。(非root用户可能无法复制一些文件,这里直接chmod 777 [文件或目录名]把要复制的文件和目录权限改了就完事了)

GNURadio以及 UHD驱动安装

安装 UHD驱动

git clone https://github.com/MicroPhase/antsdr_uhd.git
cd antsdr_uhd/host/
mkdir build && cd build
cmake -DENABLE_X400=OFF -DENABLE_N320=OFF -DENABLE_X300=OFF -DENABLE_USRP2=OFF -DENABLE_USRP1=OFF -DENABLE_N300=OFF -DENABLE_E320=OFF -DENABLE_E300=OFF ../
make
sudo make install
sudo ldconfig

运行以下命令下载设备需要的固件(U220需要)。

cd /usr/local/lib/uhd/utils
sudo ./uhd_images_downloader.py

将微相提供的 usrp_b210_fpga.bin拷贝到目录/usr/local/share/uhd/images

虽然运行上面的downloader貌似也会下载usrp_b210_fpga.bin,但这个不知道为啥用不了,需要去找淘宝或者京东上的客服要这些文件,然后替换掉它。

将设备连接到电脑端 usb3.0接口,运行命令寻找设备。

uhd_find_devices

这里需要注意:Vmware workstation左上角的虚拟机-设置-USB控制器里的USB兼容性需要设置为3.1。

测试设备是否能正常运行命令:

uhd_usrp_probe

如果连接设备后找不着设备,可能是没连接到虚拟机上,看看虚拟机-可移动设备里能不能找着。

如果虚拟机上显示能找着这个设备,但是上面的指令找不着,也可能是执行权限的问题。

安装gnuradio软件

依赖安装

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy\
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev\
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5\
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins\
python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0\
libcodec2-dev libgsm1-dev

开始下载gnuradio源码并编译

git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git checkout maint-3.8
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make
sudo make install
sudo ldconfig

git clone时可能会因为报错,因为Git 的缓冲区大小默认设置较小,对于大型仓库可能导致问题。可以通过以下命令增加缓冲区大小:

git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000

cmake时也可能会报错Prevented in-tree build. This is bad practice.,注意切换回gnuradio下,删除CMakeFiles、CMakeCache.txt这俩东西。然后再重新回到build底下去执行cmake指令。

添加环境变量

gedit ~/.bashrc

在最后一行加入以下信息

export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3/dist-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

(此时需要重启一下Terminal)

全部安装完成之后,可以打开 GNURadio,在终端中输入:

gnuradio-companion

GNU+USRP采集瀑布图信号的配置

posted @ 2025-06-18 21:22  拾一贰叁  阅读(129)  评论(0)    收藏  举报