你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

如何用赛灵思FPGA实现4G无线球形检测器

发布者:jackzhang 时间:2010-08-03 20:31:48

MIMO无线系统最佳硬判决检测方式是最大似然(ML)检测器。ML检测因为比特误码率 (BER)性能出众,非常受欢迎。不过,直接实施的复杂性会随着天线和调制方案的增加呈指数级增强,使ASIC或FPGA仅能用于使用少数天线的低密度调制方案。

WiMAX对宽带互联网接入如同手机对语音通信一样意义非凡。它可以取代DSL和有线服务,随时随地提供互联网接入。只需要打开计算机,连接到最近的WiMAX天线,就可以畅游全世界的网络了。

宽带互联网接入遇到的最大挑战之一就是移动性,而这正是最新的WiMAX标准所要解决的。IEEE 802.16e-2005介绍了传输和接收过程中多根天线的用法,即MIMO概念,又称为多输入多输出,是移动WiMAX的一个关键特性。

空分复用(SDM) MIMO处理可显著提高频谱效率,进而大幅增加无线通信系统的容量。空分复用MIMO通信系统作为一种能够大幅提升无线系统容量和连接可靠性的手段,近来吸引了人们的广泛关注。

MIMO无线系统最佳硬判决检测方式是最大似然(ML)检测器。ML检测因为比特误码率 (BER)性能出众,非常受欢迎。不过,直接实施的复杂性会随着天线和调制方案的增加呈指数级增强,使ASIC或FPGA仅能用于使用少数天线的低密度调制方案。

在MIMO检测中,既能保持与最佳ML检测相媲美的BER性能,又能大幅降低计算复杂性的出色方法非球形检测法莫属。这种方法不仅能够降低SDM和空分多接入系统的检测复杂性,同时又能保持与最佳ML检测相媲美的BER性能。实现球形检测器有多种方法,每种方法又有多种不同算法,因此设计人员可以在诸如无线信道的吞吐量、BER以及实施复杂性等多项性能指标之间寻求最佳平衡。

虽然算法(比如K-best或者深度优先搜索)和硬件架构对MIMO检测器的最终BER性能显而易见有极大的影响,不过一般在球形检测之前进行的信道矩阵预处理也会对MIMO检测器的最终BER性能产生巨大影响。信道矩阵预处理可繁可简,比如根据对信道矩阵进行的方差计算结果 (variancecomputation),计算出处理空分复用数据流的优先次序,也可以使用非常复杂的矩阵因子分解方法来确定更为理想(以BER衡量)的数据流处理优先次序。

Signum Concepts是一家总部位于圣地亚哥的通信系统开发公司,一直与赛灵思和莱斯大学(RiceUniversity)开展通力合作,运用FPGA设计出了用于802.16e宽带无线系统的空分复用MIMO的MIMO检测器。该处理器采用信道矩阵预处理器,实现了类似贝尔实验室分层空时(BLAST)结构上采用的连续干扰抵消处理技术,最终达到了接近最大似然性能。

系统考虑因素

理想情况下,检测过程要求对所有可能的符号向量组合进行ML解决方案计算。球形检测器旨在通过使用简单的算术运算降低计算复杂性,同时还能够保持最终结果的数值完整性。我们的方法,第一步是把复杂的数值信道矩阵分解为只有实数的表达式。这个运算增加了矩阵维数,但简化了处理矩阵元的计算。降低计算复杂性的第二个方面体现在,减少检测方案分析和处理的可选符号。其中,对信道矩阵进行QR分解是至关重要的一步。

用于球形检测器 MIMO 检测的部分欧几里德距离度量方程
图 1. 用于球形检测器 MIMO 检测的部分欧几里德距离度量方程

图1显示的是如何进行数学转换,得出计算部分欧几里德距离度量法的最终表达式。欧几里德距离度量法是球形检测过程的基础。R代表三角形矩阵,用于处理以矩阵元rM,M开始的可选符号的迭代法。其中,M代表信道矩阵以实数表达的维数。该解决方案通过M次迭代定义出遍历树结构,树的每层i对应第i根天线的处理符号。

实现树的遍历有几种可选方法。在我们的实施方案中,则使用了广度优先搜索法,这是因为该方法采用备受欢迎的前馈结构,因此具有硬件友好特征。在每一层,该实施方案只选择K个距离最小的幸存节点来计算扩展情况。

球形检测器处理天线的次序对BER性能有着极大的影响。因此,在进行球形检测前,我们的设计采用了类似于V-BLAST技术的信道重新排序技术。

该方法通过多次迭代,计算出信道矩阵的伪逆矩阵的行范数,然后确定信道矩阵最佳列检测次序。根据迭代次数,该方法可以选择出范数最大或者最小的行。欧几里德范数最小的逆矩阵行表示天线的影响最强,而欧几里德范数最大的行则表示天线的影响最弱。这种新颖的方法首先处理最弱的数据流,随后依次迭代处理功率从高到低的数据流。

FPGA 硬件应用

为实现上述系统,我们采用了赛灵思 Virtex-5 FPGA技术。该设计流程采用赛灵思System Generator进行设计捕获、仿真和验证。为了支持各种不同数量的天线/用户和调制次序,我们将检测器设计用于要求最高的4x4、64-QAM情况下。

我们的模型假定接收方非常清楚信道矩阵,这可以通过传统的信道估算方法来实现。在信道重新排序和QR分解之后,我们开始使用球形检测器。为准备使用软输入、软输出信道解码器(如turbo解码器),我们通过计算检测到的比特的对数似然比(LLR)来生成软输出。

该系统的主要架构元素包括数据副载波处理和系统子模块管理功能,以便实时处理所需数量的子载波,同时最大程度地降低处理时延。对每个数据副载波都进行了信道矩阵估算,限定了每个信道矩阵可用的处理时间。对选中的FPGA而言,其目标时钟频率为225MHz,通信带宽为5MHz(相当于WiMAX系统中的360个数据子载波),每个信道矩阵间隔可用的处理时钟周期数为64。

我们采用硬件功能单元精湛的流水线和时分复用(TDM)功能,以达到WiMAX OFDM符号的实时要求。

除了高数据率外,在架构设计指导过程中控制子模块时延也是一个重要的问题。我们通过引入连续信道矩阵的TDM解决了时延问题。这种方法可以延长同一信道矩阵元之间的处理时间,同时还能保持较高的数据吞吐量。构成TDM组的信道数会随着子模块的不同而变化。在TDM方案中,信道矩阵求逆过程用了5个信道,而有15个信道在实数QR分解模块中进行了时分复用。图 2 是该系统的高级流程图。

MIMO 802.16e 宽带无线接收器的高级流程图
图 2. MIMO 802.16e 宽带无线接收器的高级流程图

信道矩阵预处理

信道矩阵预处理器确定了空分复用复合信号每一层的最佳检测次序。该预处理器负责计算信道矩阵的伪逆矩阵范数,并根据这些范数,选择待处理的下一个传输流。伪逆矩阵中范数最小的行对应着最强传输流(检波后噪声放大最小),而范数最大的行对应着质量最差的层(检波后噪声放大最大)。我们的实施方案首先检测最弱的层,然后按最低噪声放大到最高噪声放大的次序逐层检测。对排序过程中的每一步,信道矩阵中相应的列随后会被清空,然后简化后的矩阵进入下一级的天线排序处理流水线。

在预处理算法中,伪逆矩阵的计算要求最高。这个过程的核心是矩阵求逆,通常通过吉文斯(Givens)旋转进行QR分解来实现。常用的角度估算和平面旋转算法(如CORDIC)会造成严重的系统时延,对我们的系统来说是不可接受的。因此,我们的目标是运用FPGA的嵌入式DSP资源(比如Virtex-5器件中的DSP48E),找出矢量旋转和相位估算的替代性解决方案。

QRD的脉动阵列结构由两种类型的处理单元构成——对角线单元或边界单元和非对角线单元或内部单元。边界单元执行矢量函数,可以生成阵列内部单元使用的旋转角度。要想得到想要的旋转角度,可以把非对角线单元中的值与对角线单元中的共轭复数相乘,然后除以复数的倒数即可。相除实际是用乘法的方式完成的,即在观察到函数接近线性的时候,乘以根据定义的间隔的多项式近似值计算出的倒数。图3显示了采用这种近似值在对角线脉动单元中完成这种复杂旋转的信号流程图。

对角线脉动单元结构图
图 3. 对角线脉动单元结构图

发送到非对角线单元中的数据是旋转矢量的同相部分和正交部分除以相应的近似值得出的结果。我们不仅通过在对角线单元和非对角线单元采用流水线架构实现了高数据吞吐量,同时还通过对跨5个信道的硬件进行时分复用的方式控制了近似值模块和复杂乘法器引起的时延。

对4x4矩阵,我们使用了1个对角线单元和7个非对角线单元。分解单个矩阵所花的处理时间为4x4=16个数据周期,而该设计交付数据的速度是每三个时钟周期一个样本,因此分解单个矩阵的所用总时长为3x4x4=48个时钟周期(低于可用的64个时钟周期)。我们对分解后的矩阵使用了回代法(back substitution),同时以相同的TDM方式进一步进行了重新排序操作。

球形检测器

球形检测器采用PED单元进行范数计算。根据树的层次,我们采用了三种不同类型的PED单元。根节点PED模块负责计算所有可能的PED。二级PED模块针对上一级计算得出的8个幸存路径计算出8个可能的PED。这样在树的下一级索引中,我们就有64个生成的PED。第三种类型的PED模块用于其它树级,负责计算上一级计算出的所有PED的最邻近的节点PED。

球形检测器(SD)的流水线架构可以在每个时钟周期中处理数据。其结果就是树的每级只需要一个PED模块。因此,对4x4 64-QAM系统而言,PED单元的总数为8,与树的级数相等。

SD可以采用硬解码和软解码两种类型的解码技术。硬解码能够用贯穿树的各级的最小距离矩阵度量次序;软解码用对数似然比来代表输出的每个比特。对数似然比一般被当作优先输入值提供给信道解码器,比如turbo解码器。

FPGA资源占用

实施和仿真包括MIMO 802.16e宽带无线接收检测过程,但不包括软输出生成模块。目标芯片是Virtex-5 XC5VFX130T-2FF1738 FPGA。设计的时钟频率为225MHz,可用的数据率为83.965MB/s。

按子系统划分的资源占用情况
表 1. 按子系统划分的资源占用情况

System Generator和基于模型的设计

我们使用针对DSP设计流程的赛灵思SystemGenerator实现了完整的硬判链。设计验证工作不仅使用了MATLAB/Simulink 环境的仿真语义,还有SystemGenerator的协同仿真功能。信道矩阵参数的同相部分和正交部分从正常的分布得出,并由MATLAB交付给SystemGenerator建模环境。我们同样使用这种仿真框架进行了比特误码率计算。

4x4 64-QAM的浮点 MATLAB 仿真(硬判决)、System Generator设计 (硬判决)BER 曲线与最大似然曲线相比
图 4. 4x4 64-QAM的浮点 MATLAB 仿真(硬判决)、System Generator设计 (硬判决)BER 曲线与最大似然曲线相比

图4对我们的定点硬判决设计BER曲线、浮点硬判决设计BER曲线和最佳ML参考曲线进行了比较。我们通过对赛灵思ML510开发平台进行基于以太网的硬件协仿真,开发出了该设计的硬件演示。信道矩阵参数采用赛灵思AWGNIP核发送给球形检测器。我们通过把设计嵌入到自同步BER测试器来计算BER。该仪器能够向检测器发送输入并捕获误码。

本文就采用空分复用MIMO的通信系统使用的球形检测器进行了简要介绍。我们详细探讨了球形检测器和信道矩阵预处理器的架构情况。实现预处理的方法有许多种,虽然我们的方法在计算上要复杂一点,但得出的BER性能接近最大似然。虽然我们的讨论是围绕WiMAX进行的,设计人员可以把其中的许多方法用于3G/ LTE(长期演进)无线系统。

作者:Signum Concepts 公司DSP工程师Milos Trajkovic、 Signum Concepts公司系统工程师Slobodan Denic、 Signum Concepts 公司工程副总裁Dragan Vuletic、赛灵思公司DSP首席架构师Chris Dick、 赛灵思公司宽带系统架构师Raghu Rao、 莱斯大学研究生及前赛灵思实习生KiarashAmiri

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了