close
当前位置: 物联网在线 > 技术文库 >

在FPGA中实施无线MIMO球形检测器

利用AutoESL高级综合工具可实现在 Xilinx Virtex-5器件中构建复杂的宽带无线系统接收器。
作者: Juanjo Noguera 赛灵思公司 高级工程师 juanjo.noguera@xilinx.com
Stephen Neuendorffer 赛灵思公司 高级工程师 stephen.neuendorffer@xilinx.com
Kees Vissers 赛灵思公司 杰出工程师 kees.vissers@xilinx.com
Chris Dick 赛灵思公司 杰出工程师 chris.dick@xilinx.com

空分复用MIMO处理技术可显著提高无线通信系统的频谱效率,进而大幅增加无线通信系统的容量。正因如此,它已成为新一代WiMAX以及其它基于OFDM无线通信系统的核心组成部分。空分复用MIMO处理技术是一项计算密集型应用,可实现高要求的信号处理算法。

在MIMO系统中,空分复用技术的一个具体实例是球形解码。球形解码是一种解决MIMO检测问题的有效方法,其在比特误码率 (BER) 性能方面能与最佳的最大似然检测算法相媲美。但是,DSP处理器的计算能力有限,不足以满足球形解码实时性方面的要求。

现场可编程门阵列 (FPGA) 是一个极具吸引力的平台,可实现如球形解码器这样的复杂DSP密集型算法。现代FPGA 是一种高性能并行计算平台,可在保持可编程DSP处理器灵活性的同时,为系统提供所需的专用硬件。多项研究表明在多个信号处理应用中,FPGA的性能比传统 DSP 处理器高100倍,性价比可提高30倍。

尽管FPGA的性能具有相当大的优势,但通常无法应用于无线信号处理,主要因为传统的DSP程序员认为它们不容易处理。事实上,造成FPGA无法在无线应用中得到广泛使用的真正阻碍是以硬件为中心的传统设计流程与工具。

目前,要想利用FPGA来进行设计,需要具备丰富的硬件设计经验,包括熟悉VHDL与Verilog等硬件描述语言。最近,新型高级综合工具可以作为FPGA的辅助设计工具。这些设计工具将高级算法描述作为输入,并生成可与标准FPGA实现工具(例如 Xilinx® ISE®design suite 与嵌入式开发套件)一起使用的RTL。该工具可提高设计效率,缩短开发时间,同时实现高质量的设计。

我们可利用该工具设计基于 FPGA 的复杂无线算法应用,即802.16e系统下的空分复用MIMO球形检测器。我们专门选择AutoESL的AutoPilot高级综合工具作为时钟频率为225MHz的Xilinx Virtex®-5的辅助设计工具。

球形解码

球形检测作为解码过程的一部分,是一种用于简化空分复用系统检测复杂程度的有效方法,在 BER 性能方面可与复杂度更高的最佳最大似然 (ML) 检测算法相媲美。

如图1所示,在MIMO 802.16e无线接收器的方框图中,我们假设接收器可以准确估计信道矩阵,该假设条件可通过传统的信道估算方法来实现。该实现的流水线具有 3 个构建模块:信道重新排序、QR分解以及球形检测器 (SD)。我们通过计算检测到的比特对数似然比(LLR) 来产生软输出,从而为软输入、软输出信道解码器(比如涡轮解码器)的
使用做准备。

球形解码器方框图

图 1 球形解码器方框图

信道矩阵重排序

球形检测器处理天线的顺序可对BER的性能产生较大影响。在进行球形检测之前,首先执行信道重排序。检测器利用信道矩阵预处理器实现了类似贝尔实验室分层空时 (BLAST) 结构上采用的连续干扰抵消处理技术,最终达到了接近ML性能。

该方法利用信道重排序处理来实现,通过多次迭代确定复杂信道矩阵最佳列检测次序。该算法根据迭代次数来选择范数最大或最小的行。欧几里德范数最小的行表示天线影响最强,而欧几里德范数最大的行表示天线影响最弱。这种新颖的方案首先处理最弱的数据流,随后依次迭代处理功率从高到低的数据流。

为了满足应用对高数据速率的要求,我们实现了图2所示的基于流水线架构的信道排序模块。该模块可以在时分复用 (TDM) 模式下同时处理5条信道。这种方案延长了同一信道不同矩阵元素之间的处理时间,同时可保持高数据吞吐量。
在图2中,G矩阵计算是要求最高的组成部分。该过程的核心是矩阵求逆,可通过QR分解 (QRD) 来实现。实现QRD的常用方法是使用吉文斯旋转。

迭代信道矩阵重排序算法

图 2 迭代信道矩阵重排序算法

该方法可执行对角线单元和非对角线单元的复杂旋转,这些单元都是我们所使用脉动阵列的基本计算单元。改进的实数矩阵QRD在获取信道矩阵列的最佳排序之后,下一步应对实数矩阵系数进行QR分解。用于该QRD处理的功能单元与计算逆矩阵的QRD引擎类似,但有一些不同之处。本例子的输入数据是实数,因此脉动阵列结构的维数会相应更高(即8×8实数值而不是4×4复数值)。


(责任编辑:ioter)

用户喜欢...

如何快速实施符合Qi标准的无线充电系统

对于移动设备,充电过程仍然是最后的束缚。尽管诸如无线充电联盟(WPC)Qi规范等标准有助于支持更高的充电功率水平,但开发人员在设计电路,印刷电路板和固件时仍面临多重挑战,以全面...


DFRobot的Arduino兼容BLE硬件解决方案,具有无线编程,智能应用程序控制,长通信范围和外围模块

DFRobot的Bluno系列与标准的Arduino引脚兼容,这意味着使用Arduino制作的任何项目都可以直接通过蓝牙轻松进行无线连接。所有Bluno板卡和模块都集成了板载BLE,提供无线编程,蓝牙HID,AT命令配置...


3D成像: 嵌入式FPGA处理引擎实现3D web检测

Steven Gloffen 奥地利自动化解决方案提供商digMAR公司为德国地毯和纺织品切割机供应商KURIS公司开发了一套3D图像处理系统。这套多相机机器视觉系统设计用于扫描纺织材料,可以自动计算基于...


RF无线射频电路设计中的常见问题及设计原则

1. 引言 射频(RF)PCB设计,在目前公开出版的理论上具有很多不确定性,常被形容为一种“黑色艺术”。通常情况下,对于微波以下频段的电路(包括低频和低频数字电路),在全面掌握各类...


深度解析FPGA四大设计要点

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的FPGA相对比较简单,所有的功能单元仅仅由管脚、内部buffer、LE、RAM构...


FPGA上电后IO的默认状态

概述 在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后到正常工作整个过程中各个阶段引脚的状态,会对硬件设...


FPGA中组合逻辑和时序逻辑的区别

数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。 1.组合逻辑概念 组合逻辑电路在逻辑功能上的特...


基于NFC的无线通信系统电路设计

在很多场合有线通信技术并不能满足实际需要,比如在野外恶劣环境中作业。使用无线射频通信芯片构建的通信模块,用单片机作为控制部件,配合一定的外围电路就能很好地进行两地空间区...


【原创深度】CBRS——无线领域的下一代领军技术

经过多年努力,联邦通信委员会(FCC)终于展示了其国家宽带计划——公民宽带无线电服务(CBRS)。它没有像5G技术和物联网那样受到重视,但其影响力仍不容小觑。如果CBRS运行成功,它将...


无线医疗仪表设计,你照顾好电源了吗?

在患者护理情形中医疗产品通常对于可靠性、运行时间和坚固性有着高得多的标准,不仅必须确保它们能够依靠多种电源实现无缝运行,并在对从患者身上收集的数据进行无线传输的过程中提...