在FPGA中实施4G无线球形检测器的方案
时间:11-09
来源:互联网
点击:
信道矩阵预处理
信道矩阵预处理器确定了空分复用复合信号每一层的最佳检测次序。该预处理器负责计算信道矩阵的伪逆矩阵范数,并根据这些范数,选择待处理的下一个传输流。伪逆矩阵中范数最小的行对应着最强传输流(检波后噪声放大最小),而范数最大的行对应着质量最差的层(检波后噪声放大最大)。我们的实施方案首先检测最弱的层,然后按最低噪声放大到最高噪声放大的次序逐层检测。对排序过程中的每一步,信道矩阵中相应的列随后会被清空,然后简化后的矩阵进入下一级的天线排序处理流水线。
在预处理算法中,伪逆矩阵的计算要求最高。这个过程的核心是矩阵求逆,通常通过吉文斯(Givens) 旋转进行 QR 分解 (QRD) 来实现。常用的角度估算和平面旋转算法(如 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资源占用
实施和仿真包括图 2 所示的检测过程,但不包括软输出生成模块。目标芯片是 Virtex-5 XC5VFX130T-2FF1738 FPGA。设计的时钟频率为 225MHz,可用的数据率为 83.965Mb/s。
表 1 显示了设计中每个主要功能单元的资源占用情况。利用率 (%) 表示 FPGA 面积占XC5VFX130T 器件总面积的百分比。
表 1. 按子系统划分的资源占用情况
System Generator 和基于模型的设计
我们使用针对 DSP 设计流程的赛灵思 System Generator 实现了完整的硬判链。设计验证工作不仅使用了 MATLAB?/Simulink? 环境的仿真语义,还有 System Generator 的协同仿真功能。信道矩阵参数的同相部分和正交部分从正常的分布得出,并由 MATLAB 交付给System Generator 建模环境。我们同样使用这种仿真框架进行了比特误码率计算。图 4 对我们的定点硬判决设计 BER 曲线、浮点硬判决设计BER曲线和最佳 ML 参考曲线进行了比较。我们通过对赛灵思 ML510 开发平台进行基于以太网的硬件协仿真,开发出了该设计的硬件演示。信道矩阵参数采用赛灵思 AWGN IP核发送给球形检测器。我们通过把设计嵌入到自同步 BER 测试器来计算 BER。该仪器能够向检测器发送输入并捕获误码。
图 4. 4x4 64-QAM的浮点 MATLAB 仿真(硬判决)、System Generator设计(硬判决)BER 曲线与最大似然曲线相比
本文就采用空分复用 MIMO 的通信系统使用的球形检测器进行了简要介绍。我们详细探讨了球形检测器和信道矩阵预处理器的架构情况。实现预处理的方法有许多种,虽然我们的方法在计算上要复杂一点,但得出的 BER 性能接近最大似然。虽然我们的讨论是围绕 WiMAX 进行的,设计人员可以把其中的许多方法用于 3G LTE(长期演进)无线系统。
我们团队的下一步工作是通过采用 turbo 卷积码和软输出生成模块执行迭代软检测来改善BER 性能。
信道矩阵预处理器确定了空分复用复合信号每一层的最佳检测次序。该预处理器负责计算信道矩阵的伪逆矩阵范数,并根据这些范数,选择待处理的下一个传输流。伪逆矩阵中范数最小的行对应着最强传输流(检波后噪声放大最小),而范数最大的行对应着质量最差的层(检波后噪声放大最大)。我们的实施方案首先检测最弱的层,然后按最低噪声放大到最高噪声放大的次序逐层检测。对排序过程中的每一步,信道矩阵中相应的列随后会被清空,然后简化后的矩阵进入下一级的天线排序处理流水线。
在预处理算法中,伪逆矩阵的计算要求最高。这个过程的核心是矩阵求逆,通常通过吉文斯(Givens) 旋转进行 QR 分解 (QRD) 来实现。常用的角度估算和平面旋转算法(如 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资源占用
实施和仿真包括图 2 所示的检测过程,但不包括软输出生成模块。目标芯片是 Virtex-5 XC5VFX130T-2FF1738 FPGA。设计的时钟频率为 225MHz,可用的数据率为 83.965Mb/s。
表 1 显示了设计中每个主要功能单元的资源占用情况。利用率 (%) 表示 FPGA 面积占XC5VFX130T 器件总面积的百分比。
表 1. 按子系统划分的资源占用情况
System Generator 和基于模型的设计
我们使用针对 DSP 设计流程的赛灵思 System Generator 实现了完整的硬判链。设计验证工作不仅使用了 MATLAB?/Simulink? 环境的仿真语义,还有 System Generator 的协同仿真功能。信道矩阵参数的同相部分和正交部分从正常的分布得出,并由 MATLAB 交付给System Generator 建模环境。我们同样使用这种仿真框架进行了比特误码率计算。图 4 对我们的定点硬判决设计 BER 曲线、浮点硬判决设计BER曲线和最佳 ML 参考曲线进行了比较。我们通过对赛灵思 ML510 开发平台进行基于以太网的硬件协仿真,开发出了该设计的硬件演示。信道矩阵参数采用赛灵思 AWGN IP核发送给球形检测器。我们通过把设计嵌入到自同步 BER 测试器来计算 BER。该仪器能够向检测器发送输入并捕获误码。
图 4. 4x4 64-QAM的浮点 MATLAB 仿真(硬判决)、System Generator设计(硬判决)BER 曲线与最大似然曲线相比
本文就采用空分复用 MIMO 的通信系统使用的球形检测器进行了简要介绍。我们详细探讨了球形检测器和信道矩阵预处理器的架构情况。实现预处理的方法有许多种,虽然我们的方法在计算上要复杂一点,但得出的 BER 性能接近最大似然。虽然我们的讨论是围绕 WiMAX 进行的,设计人员可以把其中的许多方法用于 3G LTE(长期演进)无线系统。
我们团队的下一步工作是通过采用 turbo 卷积码和软输出生成模块执行迭代软检测来改善BER 性能。
FPGA 赛灵思 仿真 解码器 嵌入式 DSP LTE 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)