MIMO 系统 V-BLAST 检测算法的 FPGA 实现

2017-06-27 00:58乐,孔勇,黄
电子与封装 2017年6期
关键词:复杂度信道天线

孙 乐,孔 勇,黄 虎

(1.中国联合网络通信有限公司网络技术研究院,北京 100048;2.北京中测安华科技有限公司,北京 100085;3.中国运载火箭技术研究院研究发展中心,北京 100076)

MIMO 系统 V-BLAST 检测算法的 FPGA 实现

孙 乐1,孔 勇2,黄 虎3

(1.中国联合网络通信有限公司网络技术研究院,北京 100048;2.北京中测安华科技有限公司,北京 100085;3.中国运载火箭技术研究院研究发展中心,北京 100076)

用 FPGA 实 现 了 多 种 垂 直 分 层 空 时 码 (Vertical-Bell Laboratories Layered Space-Time,V-BLAST) 检测算法,包括最大似然 (Maximum Likelihood,ML) 检测算法、破零 (Zero Forcing,ZF) 检测算法和最小均方误差 (Minimum Mean Square Error,MMSE) 检测算法。首先研究了MIMO V-BLAST 系统架构、数学模型和多种接收机检测算法,分析了关键检测算法的特性和性能,重点使用 Verilog 硬件描述语言在 Xilinx 的 Vertex4-VC4VSX55 FPGA 开发板上实现了 V-BLAST 系统架构和三种检测算法,并通过仿真结果比较了每一种算法的复杂度和性能。仿真结果表明对于V-BLAST 检测,ML 具有最优的性能但复杂度最高;ZF 算法具有较低的复杂度但比 ML 的性能略差;MMSE 算法复杂度只比 ZF算法略大但性能却有显著提升。

多输入多输出;垂直分层空时编码;最大似然算法;最小均方算法;现场可编程门阵列

1 引言

多 输 入 多 输 出 (Multiple-Input Multiple-Output,MIMO) 技术在不增加带宽和天线功率谱的情况下可以成倍地增加通信系统的容量和频谱利用率,已经成为无线通信领域的一个热门话题。信息论表明如果收发信机使用多个天线,系统容量随着天线数的增加而增 加[1]。Foschini 在 1996 年 提 出 了 分 层 空 时 编 码(BLAST)结 构[2],包 括 早 期 的 D-BLAST 和 后 来 的V-BLAST,都受到广泛关注。BLAST 编码是把多种检测技术合并后来分离信号,可以实现较高的频谱利用率,因此 V-BLAST 被广泛应用于 MIMO 系统。为了在接收机分离多个空间复用的数据流,学者们提出了很多非线性(如最大似然算法)和线性检测算法(如最小均方误差算法、破零算法)。为了满足不同系统不同性能和复杂度的需求,可以在不同的接收机采用不同的检测算法。因此,这些检测算法在实际应用中具有很大的应用价值。

现 场 可 编 程 门 阵 列 (Field Programmable Gate Array,FPGA)被认为是一种建立原型和开发设计的快速方法。它具有很多的优点,包括更低的开发成本、更短的开发时间并且可以灵活地重新配置设计。MIMO系统 V-BLAST 检测算法的 FPGA 实现和验证将成为未来无线通信的一种有效方法。

本文介绍了完整的 MIMO V-BLAST 系统模型,分析了不同的 MIMO 译码检测算法,重点在 Xilinx Vertex 系统 FPGA 开发板上使用 Verilog 硬件描述语言分别实现 V-BALST 的三种检测算法,最后对比分析了不同检测算法的性能和复杂度。

2 V-BLAST 系统模型

在无线通信理论中多径效应会导致信号衰落,但如果天线间距足够大并且多径分量足够丰富,接收到的多径信号将成为独立的。MIMO 技术就是利用此特性获得复用增益和分级增益以提高容量和无线链路质量。图1 是 MIMO V-BLAST 系统模型。

图1 MIMO V-BLAST 系统模型

3 检测算法分析

3.1 最大似然检测算法

最大似然译码是最佳的矢量译码方法[3~8]。假设一个线性时不变数据发射系统,接收机的数据受到高斯白噪声的干扰。ML算法是符号矢量r的最佳联合检测算法。当发送信息符号矢量具有相同概率时,ML算法可以被表示为:

作为最有效的检测算法,ML可以得到最好的性能,但它的复杂度也是非常大的。

3.2 破零检测算法

ZF算法使用信道矩阵H的伪逆矩阵作为权重矢量[3~8],检测输出结果如下所示:

ZF检测算法通过引入伪逆矩阵简化了算法,信道矩阵 H 被转化为 NT个并行标量信道和噪声的叠加。很明显,噪声分量由于左乘伪逆矩阵而被增强了。因此 ZF检测算法相比于 ML检测算法降低了复杂度,但同时性能也有所下降。

3.3 最小均方误差检测算法

ZF 可以消除其他天线的干扰,但会使放大背景噪声性能略有下降。因此,一些学者提出了 MMSE 检测算法[3~8]。MMSE 检测算法不仅需要计算伪逆矩阵,还需要估计所有接收天线的 SNR。因此 MMSE 算法可以有效抑制背景噪声干扰。MMSE 算法不同于 ZF 算法的地方在于使用了矩阵 GMMSE代替了 H+:

MMSE检测算法可以被表示为:

其中 σ2是加性高斯白噪声的方差,I是 NR×NT的单位矩阵。

4 V-BLAST 检测算法的 FPGA 实现

基 于 Xilinx Virtex-4 XC4VSX55 芯片 的 ML402 FPGA 开发平台,采用 Verilog 硬件描述语言实现了MIMOV-BLAST 系统不同检测算法的 FPGA 设计实现。

4.1 ML 检测算法的 FPGA 实现

根据公式(2),ML 算法可以被分成 4 个模块,如图2所示。

图2 ML 检测算法的 FPGA 功能模块

4.1.1 初始空间模块的 FPGA 实现

该模块根据调制模式和发送机的发射天线数生成相应的码字空间。为了搜索全部码字空间,ML检测器把这些码字按照特定顺序存储到RAM中,称作全部码字空间的建立。本实现方案采用 MIMO 系统、BPSK 调制方式,2 个发射天线的发送数据有 4 种可能,如图2所示。

4.1.2 模拟信道模块的 FPGA 实现

该模块首先接收到通过训练符号估计出的信道矩阵 H,再通过 MIMO 信道模型计算每个码字的接收信号。实现 FPGA 内嵌的 IP 核复数乘法器 v2.1 技术进行 4个矩阵向量乘法操作,如下所示:

从式(6)中可以看出,需要 4 个硬件乘法器和 2 个加法器来计算一个接收信号。由于 Verilog 语言是一种并行处理语言,可以同时运行多个乘法器任务,6 个乘法器和2个加法器可以同时工作以便于实现高速数字信号处理。

4.1.3 差分模块的 FPGA 实现

该模块首先接受信号向量 r,然后根据公式(2)计算矩阵 c=r-Hs,最后获得 4 个 2×1 向量矩阵 c1,c2,c3,c4,如下所示:

其中 GZF来自于转置模块的输出,r是接收信号的输入向量。这个模块的关键矩阵和向量的乘法可以通过前面所述的方法来实现。

4.2.3 判决模块的 FPGA 实现

该模块考虑的是 BPSK 调制,因此判决模块的结构如图5所示。

BPSK 星座图被提前存储在 ROM 里。当信号s˜到达时,把它的欧几里德距离和星座图进行比较,最小的欧几里德距离用来判决输出结果,然后再通过映射来输出解调后的信号。

4.1.4 判决模块的 FPGA 实现

该模块首先从前一模块读取 c1,c2,c3,c4,再基于 ML检测准则计算每个 Frobeniu 范数,最后就可以判决出具有最小值的sˆ为最终输出信号。

4.2 ZF 检测算法的 FPGA 实现

ZF 检测算法可以被分成 3 个模块,如图3 所示。

图3 ZF 检测算法的 FPGA 功能模块

4.2.1 转置模块的 FPGA 实现

ZF检测算法里最重要的部分就是计算检测矩阵GZF,即矩阵转置算法。矩阵转置算法的流程图如图4所示。

图4 矩阵转置算法的 FPGA 实现

4.2.2 接收机模块的 FPGA 实现接收机模块的功能主要是计算如下公式:

图5 ZF算法的判决模块结构

4.3 MMSE 检测算法的 FPGA 实现

ZF算法由于放大了背景噪声,因而造成系统性能相比 ML算法略有下降。因此 MMSE算法被提出。MMSE 算法的 FPGA 实现框图如图6 所示。

图6 MMSE 检测算法的 FPGA 功能模块图

可以看出 MMSE 检测算法分成三个功能模块,和ZF检测算法唯一的不同之处就是第一个模块,即计算权重矩阵。因此重点设计权重矩阵的 FPGA 实现。

权重矩阵模块接收到信道矩阵H后,通过公式(5)计算权重矩阵 GMMSE。权重矩阵模块的实现框图如图7示。

图7 MMSE检测算法的权重矩阵计算框图

因为 HHH具有共轭对称性,就需要计算(HHH)ij(1≤i≤j≤2)的值。同时由于信道状态已知,信道噪声方差也是已知的。I是一个 2×2 单位矩阵,σ2是一个常数。因此,需要计算 Iii=σ2(i=1,2),此时并不需要乘法器,可以有效降低 FPGA 硬件资源的消耗。矩阵 C 的转置可以通过 4.2 节模块进行计算。最后计算 GMMSE=HHC-1。

5 仿真结果

为了直接比较 V-BLAST 检测算法,采用不同SNR 和收发信机天线数下不同检测算法的 BER 性能进行分析。信道模型采用准静态瑞利平台衰落信道模型,噪声是独立同分布复高斯噪声,噪声的方差是 σ2。信道状态是已知的并保持精确同步。时钟频率 100 MHz,连续发送 80000 个数据。

图8 比较了 NR=NT=2、BPSK 条件下三种检测算法的 FPGA BER 性能。从图8 中可以看出 ML 算法性能最优,但它复杂度最高、星座图也很大。ZF 算法引入了信道转置的概念来降低复杂度并从其他天线消除干扰,因此是一种简单、实际的算法。MMSE 算法在接收端增加了 SNR 的信息,性能要好于 ZF 算法。

图8 不同检测算法的 BER 性能对比

为了进一步研究多天线的影响,图9给出了 ZF算法 QPSK 调制下不同天线数的对比分析。从图9 中可以看出,3×3 系统性能最优,2×2 系统次之,1×1 系统性能最差。这表明随着发射天线和接收天线数的增加,接收机性能可以得到显著改善。天线数越多,MIMO系统的增益阶数越大,系统性能越好。

图9 ZF 检测算法不同天线数的 BER 性能对比

2×2 系统 BPSK 调制情况下三种 V-BLAST 检测算法的 FPGA 实现的资源使用情况如表1 所示。ML的信号空间是 4。由于仿真条件比较简单,因此 ML 检测器并不是消耗资源最大的。如果仿真条件更复杂,如采用 16QAM、4 天线,信号空间将是 164=65536,复杂度将是实际应用难以承受的。从图9和表1中可以看出,MMSE 算法的复杂度比 ZF 要大,但性能得到显著改善。因此,我们必须根据实际的特定环境在复杂度和检测算法性能间取得一个平衡。

表1 不同检测算法 FPGA 资源占用率

6 结论

下一代移动通信系统中对 V-BLAST 系统进行了系统的研究和应用。本文设计了三种检测算法(ML、ZF 和 MMSE)的硬件实现分发和架构,并比较了它们的复杂度和性能。对于 V-BLAST 检测,ML 具有最优的性能但复杂度最高;ZF算法具有较低的复杂度但比ML 的性能略差;MMSE 算法复杂度只比 ZF 算法略大但性能却有显著提升。因此,需要根据系统性能和复杂度的需求来选择不同的检测算法。V-BLAST 检测算法还有很大的研究空间,可以与空时编码来降低复杂度并获得更好的系统性能。

[1]Foschini G J,Gans M J.On limits of wireless communications in a fading environment when using multiple antennas[J].Wireless Personal Communications, 1998:311-335.

[2]Foschini G J.Layered space-time architecture for wireless communications in a fading environment when using multi-element antennas[J].Bell Labs Technical Journal, 1996:41-59.

[3]Swetman H,Thompson S.A comparison of detection algorithms including blastfor wireless communication using multiple antennas[C].The 11thIEEE internationalSymposium on Personal Indoor and Mobile Radio Communications, IEEE Press,London,2000:698-703.

[4]Golden G D,Foschini G J,Valenzuelara,et a1.Detection algorithm and initial laboratory results using V-BLAST space-time communication architecture[J].Electronics Letters, 1999:14-16.

[5]Tang WanBin,Zhou YanLin,Li ShaoQian.MMSE iterative softinterference cancellation algorithm using transmitpower allocation scheme in V-BLAST system[C].2005 International Conference on Communications,Circuits and Systems.2005,1:462-466.

[6]Xie Z,Short R T,Rushforth C K.A Family of Suboptimum detectors for coherent multi-user communications[J].IEEE Journalon Selected a Areas in Communications,1990,8(4): 683-690.

[7]黄韬,袁超伟,刘鸣.MIMO 相关技术与应用[M].北京:机械工业出版社,2007:2-8,33-39.

[8]刘谦雷,杨绿溪,许道峰.用于 MIMO 信号检测的降低复杂度 V-BLAST 算法[J].通信学报,2007,28(9):40-45.

FPGA Implementation of a V-BLAST Detection Algorithm in MIMO System

SUN Le1,KONG Yong2,HUANG Hu3
(1.China Unicom Network Technology Research Institute,Beijing 100048,China;2.Beijing ZCAH Technology Co.,Ltd.,Beijing 100085,China;3.China Academy of Launch Vehicle Technology,Research and Development Center,Beijing 100076,China)

The paper presents an FPGA implementation of various V-BLAST detection algorithms,such as Maximum Likelihood,Zero Forcing and Minimum Mean Squared Error.Firstly,the MIMO V-BLAST system structure,the mathematicalmodels and a variety ofreceiverdetection algorithms are studied in detail.Then the characteristic and performance of typical algorithms and focus on using the Verilog hardware description language are analyzed to implementthe V-BLAST system architecture and the three detection algorithms on the Xilinx's Vertex4-VC4VSX55 FPGA.Ultimately,simulation results are compared with each other in terms of complexity and performance.Simulation analysis shows that ML has the best performance and the greatest complexity;ZF has lower complexity and a larger gap from the performance of ML;MMSE's complexity is a litterbiggerthan ZF algorithm with significantly improved performance.

Multiple-Input Multiple-Output(MIMO);Vertical-Bell Laboratories Layered Space-Time (V-BLAST);Maximum Likelihood(ML);Minimum Mean Square Error(MMSE);Field Programmable Gate Array(FPGA)

TN911.23

A

1681-1070 (2017)06-0031-05

孙 乐(1986—),女,北京交通大学硕士,工程师,主要研究方向为无线通信系统解决方案和无线新业务解决方案。

2017-2-24

猜你喜欢
复杂度信道天线
一种低复杂度的惯性/GNSS矢量深组合方法
求图上广探树的时间复杂度
ETC相控阵天线与普通天线应用对比分析
ALLESS转动天线射频旋转维护与改造
FRFT在水声信道时延频移联合估计中的应用
理论宣讲要上接天线、下接地气
基于导频的OFDM信道估计技术
某雷达导51 头中心控制软件圈复杂度分析与改进
出口技术复杂度研究回顾与评述
弹载北斗抗干扰天线系统分析与设计