Application Note

Synchronization and MIMO Capability with USRP Devices

Ettus Research

Introduction

  Some applications require synchronization across multiple USRP (Universal Software Radio Peripheral) devices. Ettus Research provides several convenient solutions for synchronization. For example, two USRP N210s can be synchronized using a MIMO cable. It is also possible to synchronize more than two units using the Ettus Research OctoClock. Optional GPS-disciplined oscillators provide the capability to synchronize devices to the GPS standard over a large geographic area. This document will introduce and explain the synchronization features of the USRP product family and how to meet the requirements of multi-channel applications.

  一些应用研究(如MIMO)需要多个USRP设备同步, Ettus公司提供了多种同步方案: 如两个USRP N210可以使用MIMO Cable, 多于两个设备可以使用Ettus公司的OctoClock, 一个大的地理区域内的多个设备可以使用GPS-disciplined oscillators (GPSDO), 本文介绍USRP产品家族的同步特性以及如何满足多通道(多天线)同步需求.

MIMO System Requirements – Time and Frequency Synchronization

  For a transceiver to be considered MIMO-capable, each channel in the system must meet two basic requirements:

    • The sample clocks must be synchronized and aligned.
    • DSP operations must be performed on samples aligned in time – from the same sample clock edge.

  The Ettus Research USRP N200/N210 is recommended for MIMO applications. Two USRP N200/N210s can be synchronized with the USRP MIMO cable. It is also possible to build larger MIMO systems (up to 16x16) by distributing an external reference.

  Ettus建议使用USRP N200/N210研究MIMO系统. 两个USRP N200/N210可以通过MIMO Cable同步, 也可以通过分布式外部时钟参考实现多达16×16的大型MIMO系统.

Beamforming and Direction Finding Requirements

  Some applications, such as beamforming and direction finding, place additional requirements on the system. In addition to sample time and sample clock alignment, the system must maintain a known phase relationship between each RF input or output. Due to phase ambiguities caused by phased-locked loops which are used for up and down-conversion, some calibration may be required to determine this phase relationship.

  例如波束成型和定向系统, 还需要添加额外的需求. 除了抽样时间和抽样时钟的同步以外, 系统还必须在每个射频输入输出的之间维持一个已知的相位关系. 在上/下变频时, 锁相环会产生的相位模糊, 因此需要一些校准来确定相位关系.

  It is possible to calibrate a multi-channel system by producing a tone that is distributed to the inputs of each USRP device with match-length RF cables. An illustration of a system that uses this methodology is shown in Figure 1. User-developed software running on the host PC is used to measure the phase and amplitude differences of each channel and apply a correction.

  可以通过提供一个基准来校正多天线系统(校准多天线系统的相位偏移), 这个基准信号通过等长的RF Cable输入到每个USRP设备, 如图1所示, 用户程序运行在主机上, 该程序用来测量每个通道的相位差和幅值差并且进行相位校准.

Figure 1 - Multi-Channel USRP-Based System for Direction Finding (note the calibration signal)

Other Variables That Effect Phase Alignment

  As mentioned, other components aside from local oscillators contribute to phase error. Filters, mixers, amplifiers and other components produce phase offsets that vary with time, temperature, mechanical conditions, etc. These types of errors can generally be calibrated out with intermittent, low-rate routines that detect the channel-to-channel phase with a calibration tone. These errors will not change with each PLL retune but may change with time and temperature variation. Thus, applications that require RF phase alignment may require periodic calibration.

  如前文所述, 除了本振以外的其他组件也会导致相位错误: 滤波器, 混频器, 放大器等其他组件也会产生相位偏移, 并且相位偏移随时间, 温度, 自身机械特性等条件变化. 这种类型的相位错误可以通过间歇性, 规律性的校准信号来校准相位偏移. 并且这种错误不会随着每个PLL的重新调谐而变化, 但是会随着时间和温度而变化. 因此需要RF相位同步的应用需要定期校准.

USRP B100 and E100 – Not Recommended for MIMO

  Like the USRP N200/N210, the USRP B100 and E100/110 can be synchronized with an external reference and PPS source. However, this does not imply the USRP B100 and E100/E110 are MIMO capable. The flexible frequency clocking architecture used in these devices produces phase ambiguity in ADC/DAC sample clocks. Therefore, sample edges will not be aligned. Despite the sample edge misalignment, it is still possible to produce samples with relatively accurate time stamps. This is useful for time-difference-of-arrival or similar algorithms.

  USRP B100 和 E100/110 虽然可以像N200/N210一样使用外部参考信号和PPS源来实现同步, 但是这并不意味着 B100和 E100/110具有MIMO能力. 在这些设备中使用灵活的时钟频率架构导致ADC/DAC采样时钟的相位模糊. 因此采样边沿并没有对齐. 尽管如此, 这些设备依然可能提供相对正确的采样时间戳. 这是由于采用时间差定位法或者类似的算法.

  One exception to these statements is when you make use of a daughterboard containing more than one channel in a single slot. For example, LFRX/TX, BasicRX/TX, and TVRX2 can all be used to achieve MIMO capability with a USRP B100 or E100/110.

  有一个例外是, 当母板一个插槽上的子板有多余一个通道时, 例如子板LFRX/TX, BasicRX/TX, and TVRX2都可以使用B100 or E100/110实现MIMO.

Synchronization with GPS Disciplined Oscillator

  It is possible to provide time-synchronization over a wider geographic area with a GPS disciplined oscillator (GPSDO). A GPSDO derives 10 MHz/PPS signals from the GPS system. The GPSDO is accurate to approximately +/-50 ns across the globe. Ettus Research provides an optional GPSDO module with the USRP N200/N210. There is also an upgraded version of the OctoClock, which includes an internal GPSDO.

  可以使用GPSDO在一个很大的地理区域内提供时间同步, 一个GPSDO生成的10MHz/PPS信号源于GPS系统, 精度大约+/- 50 ns. Ettus为USRP N200/N210提供可选的GPSDO模块, 同时也提供GPSDO的升级版OctoClock, 它包含一个内部的GPSDO.

MIMO Capability of Ettus Research USRP Devices

  Table 1 provides an overview of the synchronization and MIMO capabilities of the USRP product line.

  The RF daughterboard selection also impacts the synchronization experience. Most daughterboards use a fractional-N synthesizer to generate the local-oscillator signals. Generally, these fractional-N synthesizers introduce a random phase offset after each retune. If phase alignment between all RF channels is required, this random phase offset will need to be measured and compensated for in software. The SBX PLL includes a resync feature that resets to a fixed phase after each retune.

  子板的选择同样会影响同步性能. 大多数子板采用N分频的频率合成器生成本振信号. 通常这些N分频频率合成器每一次重新调谐都会产生一个随机的相位偏移. 如果必须对齐所有通道的相位, 这个在软件中测量这个随机相位偏移并且对它进行补偿. SBX子板的PLL拥有一个再同步特性, 可以将每次重新调谐后的相位重置为一个固定的相位.

  Thus, it may not need to be calibrated after each retune, but may require periodic calibration. This makes the SBX daughterboard the most ideal option for phased-array applications that fall within its frequency range. Also, the BasicRX/TX and LFRX/TX boards do not contain local oscillators that introduce phase errors.

  因此可能不必每次重新调谐都校准, 但是需要定期校准. 这使得SBX子板在其频率范围内成为相控阵最理想的选择. BasicRX/TX 和 LFRX/TX子板也不含有引起相位错误的本振.

USRP N200/N210 – Plug and Play 2x2 MIMO System

  The easiest method to implement a high-performance 2x2 MIMO system is to utilize two N200/N210s synchronized with an Ettus Research MIMO cable. In this configuration, a single Gigabit Ethernet(GigE) interface can be used to communicate with both USRP devices. The USRP connected to the GigE acts as a switch and routes data to/from both USRP devices. It will also handle time synchronization of the data so the sample alignment process is transparent to the user. The total sample rate for USRP devices connected to a single GigE port on the host computer cannot exceed 25 MS/s in 16-bit mode, or 50 MS/s in 8-bit mode.

  实现一个2×2高性能MIMO系统, 最简单的方法是使用MIMO Cable连接两个N200/N210. 在这一配置下, 一个吉比特以太网接口可以用来与两台USRP设备通信. 连接网口的那台USRP设备充当两台设备的数据网关和路由. 并且会处理数据的时间同步, 因此对于用户来说, 样点对齐是显然的. 单网口连接模式(共享网络模式)下, 与主机通信的总速率在16-bit模式不能超过 25 MS/s, 或者8-bit模式不能超过50 MS/s.

Application Example – Visual Phase Alignment with N210 2X2 MIMO System

  The UHD API allows you to select synchronization settings for each USRP device. These settings are also exposed through GNU Radio blocks. This allows for a quick, illustrative example of how to use the N200/N210 to build a MIMO system. GNU Radio Compnion (GRC) is used for this basic illustration.

  UHD的API允许用户为每个设备选择同步设置. 也可以通过GNU Radio 的block进行设置.

  Figure 3 shows a flowgraph that receives two streams from two unsynchronized USRP devices. A 400.01 MHz tone is injected into both USRP devices, which are tuned to 400.00 MHz. The flow graph separates the real component of each complex baseband signal and plots them together on a WX GUI Scope. When the two USRP devices are synchronized, the scope sill show two, 10 kHz tones with constant relative phase. In this test case, the USRP devices are unsynchronized. Notice in Figure 4 that there are obvious phase and frequency differences between the two signals. This is a result of variations in the two unsynchronized reference clocks. Heat is applied to one of the USRP device’s internal reference crystals to amplify the frequency variation between the two units.

  图3是一个从2路不同步的USRP设备接收2路 stream 的流图(flowgraph). 一个400.01MHz的单一信号输入到2个中心频率为400MHz 的 USRP设备中, 流图分离出每路复基带信号的实部并且画在同一个示波器中. 当2个USRP设备同步之后, 示波器仍然显示两个10KHz的单一信号, 并且相位差保持不变. 在这一测试条件下, USRP设备是不同步的. 在图4 中可以看到两个信号之间有明显的相位和频率偏差. 这是由于2 个不同步的参考时钟导致这一变化的结果. 其中一个USRP设备由于热量导致其的内部参考晶振放大了两个设备之间频率的变化.

  Next, plug-and-play 2×2 system is illustrated in Figure 5 . Notice the relative simplicity of the system. A MIMO system is created by connecting two N200/N210s with a MIMO cable, which shares Ethernet connectivity and common 10 MHz/PPS signals. Like the unsynchronized setup that produce the scope view in Figure 4 , a signal generator drives the receiver inputs of both inputs. A block diagram of the synchronized system is shown in Figure 5 . The flowgraph is shown in Figure 6.

  图5所示一个即插即用的相对简易2×2的MIMO系统. 两个 N200/N210通过 MIMO Cable连接, 他们共享网络连接和10MHz/PSS, 流图如图 6 所示.

  A single UHD block is used in the GRC flowgraph. The block parameters are configured to set up a 2x2 MIMO system. The settings of interest are:

    • Device addr: addr0=192.168.10.2,addr1=192.168.10.3
    • Sync = don't sync
    • Num Mboards = 2
    • Mb0 Clk Src = Default
    • Mb0 Time Src = Default
    • ...
    • Mb1 Clk Src = MIMO Cable
    • Mb1 Time Src = MIMO Cable

  These settings configure the first USRP device, Mb0, which corresponds to the first entry in the address string, to use its default reference for clocking and timing. The second USRP(Mb1) is configured to accept its frequency and timing reference from the MIMO cable. The signals are provided by Mb0. All other standard settings such as center frequency and gain assignments apply as well.

  IP地址为192.168.10.2的设备为Mb0, 另一个为Mb1. 按照上面的方法设置USRP Source相应的参数. Mb0使用默认时钟参考和时间参考, Mb1通过MIMO Cable 从Mb0获取频率和时间参考. 信号是由Mb0提供. 所有其他标准设置(例如中心频率和增益)都保持一样即可.

  Like the first flowgraph shown, the real part of each USRP stream is displayed on a scope. A phase correction block is included to compensate for the random, but constant, phase offset discussed earlier in this paper. Figure 7 includes a screenshot of the resultant display both before phase adjustment. Note the phase is constant and the tones are the same frequency.

  正如第一个流图所示, 每个USRP 数据流的实部都显示在示波器中. 一个相位校正模块(点击这里查看如何编写相位偏移模块)用于补偿这个随机但是保持恒定的相位偏移. 图7 所示相位调整之前的波形. 注意相位差保持恒定, 并且频率相同.

  Figure 8 shows the signals with phase correction applied. In this plot, it is clear the MIMO connection has enabled the frequency and time references to be synchronized. The random phase offset is corrected with a complex phase shift in the flowgraph. In real applications, this phase correction would be implicitly generated with algorithms such as maximum-ratio combining (MRC), or periodic calibration.

  图8 所示使用相位校正模块调节相位之后的波形, 显然, MIMO 连接是的频率和时间参考得到同步. 随机相偏得到纠正. 在实际应用中, 相偏校正是通过最大比合并或者定期校准等算法隐式完成的.

  This is a simple illustration of the MIMO capability provided by the USRP N200/N210. In most applications the phase compensation is implemented with some automated process. However, calibrating the devices with this type of manual correction is certainly an option.

  以上是USRP N200/N210的MIMO能力的简单说明. 通常, 相位补偿是一个自动实现的. 但是, 也可以手动校正设备(即不通过GRC, 直接调用UHD 的API).

  All principles illustrated in this example are applicable to operations in the transmit direction.

Synchronization with 10 MHz and 1 PPS Signals

  While the USRP N200 and N210 provide plug-and-play MIMO capability with the Ettus Research MIMO cable, it is also possible to synchronize multiple devices using external 10 MHz and 1 PPS distribution. This is useful if the developer would like to use a high-accuracy external reference such as a Rubidium source. It is also helpful if the developer must build a MIMO system with more than two channels.

  使用MIMO Cable可以使N200/N210支持2天线MIMO. 使用外部10MHz和 1 PPS支持多于2天线的MIMO同步.

  If common PPS and 10 MHz signals are distributed to USRP N-Series devices, it is theoretically possible to build arbitrarily large MIMO systems. In practice, developers have built systems with up to 16 synchronized USRP devices.

  如果公共 PPS和 10 MHz信号用于N-系列设备, 理论上支持大型MIMO系统. 事实上, 开发者可以同步多达16台设备的同步系统.

  The Ettus Research OctoClock and OctoClock-G make it easy to distribute 10 MHz and 1 PPS signals for multi-channel operation. The OctoClock serves as an 8-way PPS and 10 MHz reference splitter. The user must provide a single 10 MHz and 1 PPS signal. The upgraded OctoClock-G includes a high-accuracy, internal GPS-disciplined oscillator and does not require external signals to be supplied. Figure 9 illustrates the use of an OctoClock-G to create an 8x8 MIMO system.

  OctoClock 和 OctoClock-G 在多天线系统中很容易产生10 MHz 和 1 PPS信号. OctoClock 有 8 路 PPS和 10MHz参考信号分离器, 用户必须提供一个单一的10 MHz和 1 PSS信号, 升级版的OctoClock-G 包含一个高精度的GPSDO并且不需要外部信号. 图 9 显示通过OctoClock-G创建一个8×8的MIMO系统.

  All timing signals from the OctoClock should be connected to the USRP devices with matched length cable of the same type and connectorization. This ensures that there is low skew between all of the channels.

Synchronization Signals – Input Levels

  To achieve optimum performance and prevent damage to the USRP devices, the designer must assure that the input levels fall with specified limits. Guidance for input voltage levels and power levels for the 1 PPS and 10 MHz inputs are shown in Table 3 .

Additional Resources

UHD API For Synchronization http://files.ettus.com/uhd_docs/manual/html/sync.html
OctoClock-G Product Page https://www.ettus.com/product/details/OctoClock-G
GPSDO Module for USRP N200/N210 https://www.ettus.com/product/details/GPSDO-KIT

原文下载地址: https://pan.baidu.com/s/1o894eRC

GNU Radio: Synchronization and MIMO Capability with USRP Devices的更多相关文章

  1. GNU Radio: Multiple USRP configurations 配置多个USRP设备

    Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...

  2. Ubuntu18.04安装UHD+GNU Radio后找不到USRP B210解决办法

    一.在终端中输入uhd_usrp_probe,提示USB错误,没有权限. 解决办法: 输入 : sudo uhd_usrp_probe 二.GNU Radio中出现找不到设备,地址为空的错误: 错误原 ...

  3. GNU Radio: USRP2 and N2x0 Series

    Comparative features list 相对性能清单 Hardware Capabilities: 1 transceiver card slot External PPS referen ...

  4. GNU Radio安装教程: Ubuntu14.04 + uhd3.10.0 + gnuradio3.7.10.1

    1. 更新和安装依赖项 在编译安装uhd和gnuradio之前,确保已安装所需依赖项.Ubuntu系统运行: sudo apt-get update 安装UHD和GNURadio所需依赖项: On U ...

  5. 使用Octave分析GNU Radio的数据

    Octave 是 GNU Radio 的最流行的分析工具,因此 GNU Radio 软件包也包含它自身的一组脚本用于读取和语法分析输出.本文介绍如何使用 Octave 分析 GNU Radio 产生的 ...

  6. GNU Radio Radar Toolbox

    GNU Radio Radar Toolbox Install guide Change to any folder in your home directory and enter followin ...

  7. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...

  8. ubuntu18.04 安装UHD+GNU Radio

    参考链接: ubuntu16.04下安装uhd与gnuradio:https://blog.csdn.net/qq_37748396/article/details/80339366 GNU Radi ...

  9. GNU Radio的hello world(转)

    运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...

随机推荐

  1. bzoj2733 / P3224 [HNOI2012]永无乡(并查集+线段树合并)

    [HNOI2012]永无乡 每个联通块的点集用动态开点线段树维护 并查集维护图 合并时把线段树也合并就好了. #include<iostream> #include<cstdio&g ...

  2. P2831 愤怒的小鸟(状压dp)

    P2831 愤怒的小鸟 我们先预处理出每个猪两两之间(设为$u,v$)和原点三点确定的抛物线(当两只猪横坐标相等时显然无解) 处理出$u,v$确定的抛物线一共可以经过多少点,记为$lines[u][v ...

  3. 20145315 《Java程序设计》第十周学习总结

    20145315 <Java程序设计>第十周学习总结 教材学习内容总结 网络概述 为了能够方便的识别网络上的每个设备,网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址.IP地址实 ...

  4. Java序列化(Serialization)

    关于Java的序列化的文章在网上已经够多了,在这里写关于Java序列化的文章是对自己关于这方面的的一种总结,结合以前的开发经验与网上的资料,写了这篇文章,对自己是有着巩固记忆的作用,也希望能够对大家有 ...

  5. Java堆(heap)、栈(stack)和队列的区别

    Java里面Stack有两种含义: 一:数据结构 Stack,即java.util.Stack import java.util.Stack; import java.util.Iterator; i ...

  6. 【bzoj5170】Fable(树状数组)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=5170 我们会发现,经过一轮冒泡后,若a[i]的前面有比它大的数,就一定会有一个被丢到后 ...

  7. POJ 2771 Guardian of Decency

    http://poj.org/problem?id=2771 题意: 一个老师想带几个同学出去,但是他怕他们会谈恋爱,所以带出去的同学两两之间必须满足如下条件之一: ①身高差大于40  ②同性 ③喜欢 ...

  8. centos 升级python26到python27

    由于开发库依赖于python27,而自己安装的centos6.8自带的python是2.6.6,因此打算简单的做一下升级. 因为centos的yum依赖于python26因此不打算覆盖26.步骤如下: ...

  9. JSP 点击量统计

    JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...

  10. UVA-820 Internet Bandwidth (最大流)

    题目大意:单源单汇无向网络求最大流. 题目分析:入门级别的题.但是ISAP在这儿好像不大好使?... 代码如下: # include<iostream> # include<cstd ...