基于USRP的Python开发

发布时间:2024年01月20日

安装UHD和Python API

下面的终端命令应该构建和安装最新版本的UHD,包括Python API:

sudo apt-get install git cmake libboost-all-dev libusb-1.0-0-dev python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools build-essential
cd ~
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host
mkdir build
cd build
cmake -DENABLE_TESTS=OFF -DENABLE_C_API=OFF -DENABLE_MANUAL=OFF ..
make -j8
sudo make install
sudo ldconfig

测试UHD驱动程序和Python API

打开一个新终端并键入以下命令:

python3
import uhd
usrp = uhd.usrp.MultiUSRP()
samples = usrp.recv_num_samps(10000, 100e6, 1e6, [0], 50)
print(samples[0:10])

在Python中对USRP速度进行基准测试

如果您使用标准的源代码安装,以下命令应使用Python API对USRP的接收率进行基准测试。如果使用56e6导致许多样本掉落或超支,请尝试降低数量。掉落的样本不一定会破坏任何东西,但这是测试使用虚拟机或旧计算机可能带来的低效率的好方法。如果使用B 2X0,一台具有USB 3.0端口正常运行的相当现代的计算机应该能够运行56 MHz而不会丢弃样本,特别是在num_recv_frames设置得如此之高的情况下。

python /usr/lib/uhd/examples/python/benchmark_rate.py --rx_rate 56e6 --args "num_recv_frames=1000"

增益

接收增益

  • B200/B210/B200-mini: 76 dB
  • X310/N210 with WBX/SBX/UBX: 31.5 dB
  • X310 with TwinRX: 93 dB
  • E310/E312: 76 dB
  • N320/N321: 60 dB

发射增益

  • B200/B210/B200-mini: 90 dB
  • N210 with WBX: 25 dB
  • N210 with SBX or UBX: 31.5 dB
  • E310/E312: 90 dB
  • N320/N321: 60 dB
文章来源:https://blog.csdn.net/qq_36666115/article/details/135716002
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。