我是靠谱客的博主 激动西牛,最近开发中收集的这篇文章主要介绍USRP b210 实现四通道同时双发射双接收数据项目环境一、uhd与gnuradio安装一、b210介绍官方实例总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

USRP b210 实现四通道同时双发射双接收数据

  • 项目环境
  • 一、uhd与gnuradio安装
  • 一、b210介绍
  • 官方实例
    • 1.txrx_loopback_to_file.cpp
    • 2.运行结果
  • 总结


项目环境

本次项目使用的PC环境为Ubuntu16.04,USPR B210板子

一、uhd与gnuradio安装

这部分在网上已经有很多教程了,可以参考ubuntu16.04下安装uhd与gnuradio

一、b210介绍

这部分详细的可以参考官方文件,网页地址是https://kb.ettus.com/Knowledge_Base,一些基本的资料都能直接看到,但是UHD and USRP User Manual部分的资料需要科学XX,这部分包含了c,c++,python写的API调用的函数介绍。
对于本次项目我们需要知道的是b210包含了4个通道,可以实现2X2的MIMO全双工模式。其中发射天线是TX/RX,接收天线是RX2。另外值得注意的一点是,单发单收模式是只需要将板卡与PC通过USB3.0连接即可,双发双收则必须额外接入外部电源,否则功率是不够的。

官方实例

1.txrx_loopback_to_file.cpp

这个例子是ettus官方提供的发射与接收双线程运行的例子,通过这个例子我们可以学习怎么控制b210板子同时进行发射与接受信号。
这个例子在 uhd/host/examples/ 文件夹中,同时该文件夹中还有许多值得学习的例子。

本例需要我们设置的几个参数是:

tx-rate //发射端采样率
rx-rate //接收端采样率
tx-freq //发射端中心频率 
rx-freq //接收端中心频率
tx-ant
//发射天线,b210设置为 “TX/RX”
rx-ant
//接收天线,b210设置为 “RX2”
tx-bw
//发射带宽
rx-bw
//接收带宽
注意四通道情况下各天线总的采样率与带宽不能超过官方给的定值。我设置的均是5M
tx-channels // 这个是区别单发单收与双发双收的重要参数。默认情况是“0”,我们设置为“0,1” 开启发射段双通道
rx-channels // 同理单通道设置“0”,双通道设置“0,1”,注意发射与接收必须为单发单收或者双发双收,不能一单一双

2.运行结果

如果不需要开发其他功能,只需要发射与采数据,只需要打开
/uhd/host/build/examples,里面有编译好的文件,

:~/uhd/host/build/examples$ ./txrx_loopback_to_file
--tx-rate 10000000-rx-rate 10000000 --tx-freq 5821000000 --rx-freq 5820000000 --tx-bw 5000000 --rx-bw 5000000 --tx-channels "0,1" --rx-channels "0,1" --tx-ant "TX/RX" --rx-ant "RX2" --type "float" --tx-gain 30 --rx-gain 30
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.009.007-6-g9ebbb8eb
UHD Warning:
Unable to set the thread priority. Performance may be negatively affected.
Please see the general application notes in the manual for instructions.
EnvironmentError: OSError: error in pthread_setschedparam
Creating the transmit usrp device with: ...
-- Detected Device: B210
-- Operating over USB 3.
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 16.000000 MHz...
-- Actually got clock rate 16.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Setting master clock rate selection to 'automatic'.
Creating the receive usrp device with: ...
Using TX Device: Single USRP:
Device: B-Series Device
Mboard 0: B210
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: FE-RX2
RX Channel: 1
RX DSP: 1
RX Dboard: A
RX Subdev: FE-RX1
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: FE-TX2
TX Channel: 1
TX DSP: 1
TX Dboard: A
TX Subdev: FE-TX1
Using RX Device: Single USRP:
Device: B-Series Device
Mboard 0: B210
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: FE-RX2
RX Channel: 1
RX DSP: 1
RX Dboard: A
RX Subdev: FE-RX1
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: FE-TX2
TX Channel: 1
TX DSP: 1
TX Dboard: A
TX Subdev: FE-TX1
Setting TX Rate: 10.000000 Msps...
-- Asking for clock rate 40.000000 MHz...
-- Actually got clock rate 40.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
Actual TX Rate: 10.000000 Msps...
Setting RX Rate: 10.000000 Msps...
Actual RX Rate: 10.000000 Msps...
Configuring TX Channel 0
Setting TX Freq: 5821.000000 MHz...
Actual TX Freq: 5821.000000 MHz...
Setting TX Gain: 30.000000 dB...
Actual TX Gain: 30.000000 dB...
Setting TX Bandwidth: 5000000.000000 MHz...
Actual TX Bandwidth: 5000000.000000 MHz...
Configuring TX Channel 1
Setting TX Freq: 5821.000000 MHz...
Actual TX Freq: 5821.000000 MHz...
Setting TX Gain: 30.000000 dB...
Actual TX Gain: 30.000000 dB...
Setting TX Bandwidth: 5000000.000000 MHz...
Actual TX Bandwidth: 5000000.000000 MHz...
Configuring RX Channel 0
Setting RX Freq: 5820.000000 MHz...
Actual RX Freq: 5820.000000 MHz...
Setting RX Gain: 30.000000 dB...
Actual RX Gain: 30.000000 dB...
Setting RX Bandwidth: 5.000000 MHz...
Actual RX Bandwidth: 5.000000 MHz...
Configuring RX Channel 1
Setting RX Freq: 5820.000000 MHz...
Actual RX Freq: 5820.000000 MHz...
Setting RX Gain: 30.000000 dB...
Actual RX Gain: 30.000000 dB...
Setting RX Bandwidth: 5.000000 MHz...
Actual RX Bandwidth: 5.000000 MHz...
-- Asking for clock rate 10.000000 MHz...
-- Actually got clock rate 10.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
Checking TX: LO: locked ...
Checking RX: LO: locked ...
Press Ctrl + C to stop streaming...
Setting device timestamp to 0...

按 ctrl+c 停止数据流,此时可以在文件夹中看到 usrp_samples.00.dat 与usrp_samples.01.dat 两个通道的数据文件。

为了验证上述结果的正确性,我们通过grc查看数据

总结

未完待续

最后

以上就是激动西牛为你收集整理的USRP b210 实现四通道同时双发射双接收数据项目环境一、uhd与gnuradio安装一、b210介绍官方实例总结的全部内容,希望文章能够帮你解决USRP b210 实现四通道同时双发射双接收数据项目环境一、uhd与gnuradio安装一、b210介绍官方实例总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部