基于NI LabVIEW软件和USRP搭建2X2 MIMO系统

2013-03-26 来源:微波射频网 字号:

本文档描述了如何使用NI LabVIEW软件和NI USRP™(通用软件无线电外设)硬件来搭建2x2多输入多输出(MIMO)系统。在对MIMO进行简短的介绍后,本文将基于LabVIEW深入探讨采用Alamouti空时分组编码和最大比合并(maximal ratio combining, MRC)的2x2系统的软件和硬件。

什么是MIMO

MIMO可在不增加功耗的情况下提高无线系统的性能。它是建立在以下理论的基础上:使用多个天线时,传输的信号从发射机天线沿着不同的无线信道传输至接收天线,通过信道分集来获得容量增益。

开发2x2 MIMO系统

本文介绍的MIMO系统在发送端采用Alamouti空时分组编码,在接收端采用最大比合并(MRC)。这两种技术的结合使得2x2 MIMO系统能够完全分集。

发射机根据Alamouti方案对符号进行如下编码:前两个符号(s1和s2)转化为一个2x2矩阵,

行代表不同的发射天线,列代表连续时隙。 连续传送的每对符号重复此过程。

2x2 MIMO系统: 硬件配置

2x2系统需要配置四个NI USRP收发器,因为单个收发器无法同步执行两次发送或接收。推荐采用以下配置:

·  配有免费兆位以太网端口的计算机。
·  连接至计算机的兆位以太网开关。
·  第一个收发器通过以太网直接连接至开关,第二个收发器通过MIMO电缆连接至第一个收发器。这两个收发器用作发射机。
·  第三个收发器通过以太网直接连接至开关,第四个收发器通过MIMO电缆连接至第三个收发器。这两个收发器用作接收机。

图1. 2x2 MIMO硬件安装图

图1显示的配置可用于同步两个发射机之间的参考时钟源和两个接收机之间的参考时钟源。每个收发器的一根天线连接至其中一个端口(NI推荐较为方便的RX1/TX1)。为了使MIMO系统的每个信道完全分集,两个发射机的间距应大于所使用的载频波长的一半(接收机端也是如此)。

2x2 MIMO系统: 软件配置

以下2x2 MIMO范例为LabVIEW应用,需要配置以下软件组件:

·  NI LabVIEW 2011版(或更高版本)系统设计软件—完整版、专业版或学生版
·  NI-USRP 版本 1.1
·  NI LabVIEW调制工具包版本4.3.1
·  2x2 MIMO VI范例

范例操作

将附件中的压缩文件解压到新文件夹并在LabVIEW中打开名为2x2QAMAlamouti.vi 的文件。


图2. 2x2QAMAlamouti.vi范例中前面板的系统参数选项卡

在范例的前面板(图2)上,单击系统参数选项卡。Tx设置和Rx设置集群分别包含Tx对和Rx对的NI USRP收发器参数。按照以下指示在这些集群和链路参数集群中设置控件:

USRP IP地址:输入每个Tx对和Rx对与两个NI USRP收发器相对应的IP地址。使用分号隔开每个地址,例如: “192.168.10.6; 192.168.10.5.”

I/Q采样率[S/sec],符号率、Tx过采样因子和Rx 过采样因子:在I/Q采样率中输入Tx对和Rx对的基带I/Q信号采样率,以采样点/每秒计。输入符号率、Tx过采样率因子和 Rx过采样率因子的值,I/Q采样率应为所需符号率的偶倍数。输入与该偶倍数对应的过采样因子偶数值。换而言之,I/Q采样率、符号率和过采样因子参数之间的关系应为如下所示:

              I/Q采样率= 符号率* 过采样因子

载波频率[Hz]: 输入Tx对和Rx对的正常载波频率,单位为Hz。用户需要选择一个符合当地法规定的频率。

开始触发时间集群—整数秒,小数秒:选择开始触发时间的整数秒和小数秒,确保接收机开始接收的时间刚好在发射机开始传送之前。

每个设备阵列:每个设备阵列是指包含两个元素的集群阵列。每个阵列的元素对应Tx对或Rx对的各个NI USRP收发器。元素0对应USRP IP地址中的第一个NI USRP收发器,元素1对应USRP IP地址的第二个NI USRP收发器。用户需要配置Tx对和Rx对的NI USRP收发器的值,使每个设备对的收发器共享同一参考频率和时基时钟源。用户可设置每个设备对的一个NI USRP收发器(“初级收发器”),通过MIMO电缆连接将设置传输到另一个收发器(“次级收发器”)。若需设置此配置,请按照以下说明设置每个设备阵列的元素:

每个设备阵列元素0:
     参考频率源:内部
     时基时钟源:内部

每个设备阵列元素1:
     参考频率源:MIMO
     时基时钟源:MIMO

参数正确设置后,就可运行VI。这样,Tx对发射的突发信号将由Rx对接收。出现图3所示的波形则表明重构成功。



图3. 最上方的大图表明2x2系统中的4QAM成功重构,图中显示的是两根接收天线的I/Q元件接收的时域信号样本(总共4个信号)。左下方的两个星座图显示的是两个Rx NI USRP收发器接收到的信号。右下星座图显示的是重构后的星座图。

使用LabVIEW搭建2x2 MIMO系统

图4显示的是此范例的实现框图(LabVIEW图形化程序)。以下部分描述的是该系统的一些主要应用领域。


图4. 2x2QAMAlamouti.vi LabVIEW框图由三部分组成。左上部分的代码用于合成传输信号。中间靠下部分的代码用于启动NI USRP硬件的Tx/Rx操作。右上部分的代码用于处理接收的信号并显示接收的波形。

传输信号准备

传输信号准备的第一步是从LabVIEW调制工具包中调用子VI(子路径)。调用MT Generate Bits将会生成用作信息位的PN序列。这些信息位通过调用MT Map Bits to Symbols映射为符号。

然后根据Alamouti编码方案对上一步生成的符号(图 5)进行编码。结果产生一个包含两个数据流的二维符号阵列,每个数据流对应一个发射机。

图5. subApplyAlamoutiCode.vi的框图,该子VI简单明了,采用了Alamouti编码,通过几次阵列处理生成所需的二维符号阵列。

符号编码后,该应用将训练符号序列置于每个数据流之前。接收机通过训练序列实现同步和通道估计。

训练序列加法运算将同一的序列置于每个数据流之前,并对数据进行排列,使得序列先由其中一个Tx NI USRP收发器传输,然后再由另一个收发器传输——例如,两个Tx NI USRP收发器中的其中一个收发器传输序列时,另一个收发器为静止状态。而另一个收发器传输相同的序列时,前一个收发器就处于静止状态。

发射/接收信号之前信号合成的最后一步是以Tx过采样控件中指定的速率对即将传输的符号空间样本进行上采样,然后通过脉冲整形滤波器对上采样信号进行滤波。

信号恢复

在接收端,USRP Fetch Rx Data VI恢复为接收信号的二维阵列,每一行代表从每根天线接收的信号样本的数据流。

在信号恢复的第一步,用户需要从接收端的数据帧中提取接收的数据包。采用能量检测算法来确定数据包的起始点,并丢弃数据帧中剩下的非数据包部分。

然后,使用匹配滤波器对每个数据流进行滤波,并对接收的二维阵列的两行数据之间的能量进行比较,确定较强的信号。最后,对信号较强的那一行进行符号同步,并在两行数据上加上所计算的偏移量。

图6. 图中显示的是接收到的四个波形—来自两根Rx天线的I和Q波形。 接收的数据包的起始部分可进行放大,方便用户观察从每个Tx天线接收的训练序列。

帧同步较为复杂,且取决于发送端的两个训练序列结构。在此情况下,两个发射机使用的是相同的训练序列,但序列之间存在偏移,因此当序列重叠时,看起来就像是一串两倍长的连续训练序列。该应用通过搜索接收信号中两个包含T个符号的连续符号集(每个训练序列的长度为T)之间关联性最高的部分来实现帧同步。在接收到的二维阵列的两行数据上加上所计算的帧补偿量。

针对信道估计,有四个不同的信道可供选择。二维阵列的每一行包含两个训练序列(每个序列对应一个发射机)。因此,通过对每行的每个训练序列进行信号估计,就可估计四个信道的参数。

这些参数估计对于下一步非常重要,因为在下一步中用户将会对Alamouti编码方案进行解码,执行MRC,从而将二维符号阵列转化为正确的一维符号阵列。用户可分开执行最后两步,或者在此应用中使用单矩阵乘法。单矩阵乘法方法比大型MIMO系统更容易普及。

结果

图3显示的是由四个NI USRP收发器组成的2x2 MIMO系统测试运行时的两个Rx信号星座图。最右边的图显示的是执行Alamouti解码、MRC和信道均衡后的最终信号星座图。该图表明此范例运行正常。

主题阅读:LabVIEW软件  MIMO系统