4×4天线分组排序K―Best MIMO检测器设计

时间:2022-01-25 12:03:16

4×4天线分组排序K―Best MIMO检测器设计

目前K-Best MIMO检测器采用的排序选择运算占用了大量硬件资源,使得硬件设计复杂度极高。为了在保证良好的算法性能的同时还能够降低硬件设计复杂度,采用分组排序方式对排序选择运算进行了优化,并在现场可编程门阵列平台上对4×4天线、16QAM调制方式的分组排序K-Best MIMO检测器进行了仿真分析。

K-Best MIMO检测器 分组排序 FPGA

中图分类号:TN92 文献标识码:A 文章编号:1006-1010(2014)-06-0073-04

1 引言

实现MIMO(Multiple-Input Multiple-Output,多入多出)技术的关键部分在于设计出低复杂度、高性能的检测器。由于MIMO系统中常采用最大似然算法作为最佳硬判决检测方法,该算法实施复杂度随着天线数目和调制阶数的增加呈指数级增大,ASIC(Application Specific Integrated Circuit,专用集成电路)或FPGA(Field-Programmable Gate Array,现场可编程门阵列)都只能实现少数目天线的低阶调制方案。为了满足MIMO系统逐渐增长的性能需求,又提出了一种既能够保证BER(Bit Error Rate,误码率)性能又能够降低计算复杂度的检测算法――SD(Sphere Decoding,球形检测)算法,该算法能够保持与最大似然算法相媲美的BER性能,且可大幅降低计算复杂度。

SD算法主要原理是:对于一个以接收信号Y为圆心、以C为检测半径的多维搜索格点,该格点的度量就作为新的搜索半径替换之前设定的半径,通过限制搜索半径,使得计算次数控制在一定的范围内,能够有效降低运算复杂度。根据树形搜索方式的不同,SD算法可分为两种不同算法:DFS(Depth First Search,深度优先算法)与BFS(Breadth First Search,广度优先算法),目前常用的广度优先算法为K-Best搜索算法,即K-Best算法。深度优先算法进行单向搜索,存在反馈路径,不利于高速硬件实现;K-Best算法通过对树中每层搜索节点数的约束进行并行搜索,可以利用流水线结构提高吞吐量,便于高速硬件实现。

本文主要是对标准K-Best算法与分组排序K-Best算法性能进行仿真对比,并在现场可编程门阵列(FPGA)Xilinx Virtex-4(XC4VLX200)平台上实现了4×4天线、16QAM(Quadrature Amplitude Modulation,正交幅度调制)调制方式的分组排序K-Best检测器的设计。

2 K-Best MIMO检测算法

K-Best算法搜索规则是:首先确定树中每层保留节点数K;然后从最顶层节点开始搜索,计算所有节点的累积欧氏距离度量,选择K个具有最小累计欧氏距离度量的节点,删减其余节点,逐层搜索至最底层节点结束。可见该搜索规则的特点是:同一层节点的搜索并行执行,每层保留的节点数目具有确定性,不随信道条件的变化而变化。这些特性使得该搜索规则便于高速硬件实现,下面以具体的数学公式实现该搜索规则。

考虑发送天线数目与接收天线数目均为N的MIMO通信系统基带信号等效模型:

y=Hx+n (1)

其中,H表示MIMO通信系统信道的N×N信道矩阵;x=[x1,x2,…,xN]表示N维发送信号;y=[y1,y2,…,yN]表示N维接收信号;n表示N维加性高斯白噪声。由于公式(1)是复向量,计算复杂度较高,为了避免复数运算带来额外硬件开销,将系统模型实数化分解为:

(2)

其中,Re(*)、Im(*)分别表示复数(*)的实数部分和虚数部分;实数化的信道矩阵H~经过QR分解得到H~=QR,采用最大似然准则求解公式(1)可得:

(3)

其中,是2N维向量,

表示接收信号的实数部分;Q表示2N×2N维的正交矩阵;R表示2N×2N维的上三角矩阵。

树形搜索过程具体是:每次计算从最高层开始,需要计算每层欧氏距离增量(INC),将每层的欧氏距离增量与上层保留的K个累积欧氏距离(PED)相加得到本层的累积欧氏距离,再通过排序操作选出本层保留的K个最小累积欧氏距离及其对应节点(也称幸存节点)。对于调制阶数为M的K-Best检测器树搜索结构,每层需计算、排序的PED的数量为,随着K与M的增大,整个搜索过程的计算复杂度呈指数增长,导致硬件难以实现。

在标准的K-Best算法中取平方作为欧氏距离增量度量,在本文设计中取绝对值作为欧氏距离增量度量,以绝对值代替平方运算,不仅仅能够减少平方运算,而且欧氏距离增量的最大值大大减少,硬件实现处理的数据位宽将减小,硬件资源消耗也会大大减少。

为了降低硬件实现复杂度,本文采用分组排序的K-Best算法,并在平坦衰落信道模型下对4×4天线、16QAM调制、无线信道编码的点对点MIMO链路进行了仿真,其仿真结果如图1揭示的4×4天线16QAM调制方式分组排序K-Best算法BER性能所示。

本文设计中FPGA采用定点计算,具体结果如图2揭示的16QAM调制分组排序K-Best算法定点BER性能所示。

从图2可以看出,接收数据采取8位小数量化、欧氏距离采取6位小数量化,即达到与浮点算法性能相近的BER性能。

3 分组排序K-Best MIMO检测器架构设计

3.1 整体架构

基于上述分组排序K-Best算法,本文设计了可配置分组排序K-Best MIMO检测器,具体如图3揭示了一个典型的采用全并行流水线结构的分组排序K-Best MIMO检测器所示,包括:QR分解模块、均衡模块、待选生成模块、8层K-Best模块和最终判决模块。

3.2 K-Best模块设计

K-Best模块是K-Best检测器的核心模块,该模块的处理原理具体包括以下步骤:

步骤1:按照公式(4)计算第l层K×4个欧氏距离增量incl(xl)。

(4)

步骤2:按照公式(5)计算第l层K×4个累积欧氏距离PEDl(xl)。

(5)

步骤3:对步骤2计算得到的所有累积欧氏距离进行排序,选择出第l层最小的K个累积欧氏距离及其对应的保留节点。

(6)

步骤4:l从最高层开始逐次递减1,回到步骤1重新开始计算直至l=1。

步骤5:从第1层的K个选出最小PED及其对应节点作为检测结果输出。

K-Best算法中各检测层均需多次计算R×Z。其中,R表示信道矩阵H经QR分解得到的上三角矩阵;Z表示树形搜索图节点集合,本文设计中的待选生成模块采用文献[3]中提出的待选生成方法,在各节点欧氏距离增量计算之前生成R×Z集合,避免了R×Z的反复计算,减少了硬件资源消耗。其中,第7层和第8层的K-Best计算均采用标准冒泡排序,第6层至第l层的K-Best计算均采用分组排序以降低硬件资源消耗。本文采用的分组排序首先将扩展后16个子节点分为4组,每组排序选择最小的2个,然后再对得到的8个节点排序选出最小的4个。

4 分组排序K-Best MIMO

检测器性能分析

为了验证设计的分组排序K-Best检测器具有较低的硬件实现复杂度,笔者利用Xilinx Virtex-4(XC4VLX200)平台对提出的结构进行了验证仿真。该检测器的验证仿真平台主要由一块Xilinx Virtex-4(XC4VLX200)FPGA芯片和一台PC机组成,硬件仿真平台的结构如图4所示,该平台采用的系统频率是50MHz。

图4 硬件仿真平台示意图

整个测试过程具体是:首先在PC机上由Matlab产生消息序列,经过数字调制过信道加噪声后量化为定点数据;然后采用定点数据(包括消息序列和过信道加噪声数据)初始化RAM;最后进行FPGA在线编程并将FPGA仿真结果与输入消息序列进行对比,通过在线调试软件Chipscope将结果输出给PC机显示。测试结果表明,检测器具有与Matlab定点仿真相同的BER性能。

采用本文设计的4×4天线、16QAM调制方式MIMO检测器与采用标准K-Best算法设计的检测器的主要性能参数如表1所示:

表1 4×4天线16QAM调制MIMO信号检测器性能参数

算法 本文分组排序 标准K-Best

K-Best算法 算法

保留节点数 K=4 K=4

天线数 4×4 4×4

调制方式 16QAM 16QAM

逻辑片 12 866 14 701

触发器 15 505 18 198

4输入查找表 21 938 23 951

这两种检测器除了排序选择方式不同,优化策略以及量化精度均采用相同方式,通过表1中的逻辑片、触发器、4输入查找表中的参数对比可知:本设计的检测器排序选择运算明显减小,并且可以看出检测器复杂度的降低主要来自排序选择运算的减少。

参考文献:

[1] Damen O, Chkeif A, Belfiore J-C. Lattice Code Decoder for Space-Time Codes[J]. IEEE Communications Letters, 2000,4(5): 161-163.

[2] U Finke, M Pohst. Improved Methods for Calculating Vectors of Short Length in a Lattice, Including a Complexity Analysis[J]. Mathematics of Compuation, 1985,44: 463-471.

[3] 马计,王海红,王欣. 排序QR分解MIMO检测器在FPGA中的实现[J]. 计算机工程与应用, 2011,47(32): 75-77.

[4] Burg A, Borgmann M, Wenk M, et al. VLSI Implementation of MIMO Detection Using the Sphere Decoding Algorithm[J]. IEEE Journal of Solid-State Circuits, 2005,40(7): 1566-1577.

[5] 马小晶. MIMO-OFDM系统信号检测技术研究及VLSI实现[D]. 上海: 复旦大学, 2009.

[6] Raghu Mysore Rao, Helen Tarn, Raied Mazahreh, et al. A Low Complexity Square Root MMSE MIMO Decoder[C]. IEEE Transactions on ASILOMAR, 2010: 1463-1467.

上一篇:网格化组网模式在无线基站建设中的应用 下一篇:基于罚函数的自适应全半切换算法