在FPGA中实施4G无线球形检测器
[09-12 18:29:42] 来源:http://www.88dzw.com EDA/PLD 阅读:8437次
文章摘要:FPGA 硬件应用为实现上述系统,我们采用了赛灵思 Virtex-5 FPGA技术。该设计流程采用赛灵思System Generator进行设计捕获、仿真和验证。为了支持各种不同数量的天线/用户和调制次序,我们将检测器设计用于要求最高的4x4、64-QAM情况下。我们的模型假定接收方非常清楚信道矩阵,这可以通过传统的信道估算方法来实现。在信道重新排序和QR分解之后,我们开始使用球形检测器。为准备使用软输入、软输出信道解码器(如turbo解码器),我们通过计算检测到的比特的对数似然比(LLR)来生成软输出。该系统的主要架构元素包括数据副载波处理和系统子模块管理功能,以便实时处理所需数量的子载波,
在FPGA中实施4G无线球形检测器,标签:eda技术,eda技术实用教程,http://www.88dzw.comFPGA 硬件应用
为实现上述系统,我们采用了赛灵思 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分解模块中进行了时分复用。
信道矩阵预处理
信道矩阵预处理器确定了空分复用复合信号每一层的最佳检测次序。该预处理器负责计算信道矩阵的伪逆矩阵范数,并根据这些范数,选择待处理的下一个传输流。伪逆矩阵中范数最小的行对应着最强传输流(检波后噪声放大最小),而范数最大的行对应着质量最差的层(检波后噪声放大最大)。我们的实施方案首先检测最弱的层,然后按最低噪声放大到最高噪声放大的次序逐层检测。对排序过程中的每一步,信道矩阵中相应的列随后会被清空,然后简化后的矩阵进入下一级的天线排序处理流水线。
在预处理算法中,伪逆矩阵的计算要求最高。这个过程的核心是矩阵求逆,通常通过吉文斯(Givens)旋转进行QR分解来实现。常用的角度估算和平面旋转算法(如CORDIC)会造成严重的系统时延,对我们的系统来说是不可接受的。因此,我们的目标是运用FPGA的嵌入式DSP资源(比如Virtex-5器件中的DSP48E),找出矢量旋转和相位估算的替代性解决方案。
QRD的脉动阵列结构由两种类型的处理单元构成——对角线单元或边界单元和非对角线单元或内部单元。边界单元执行矢量函数,可以生成阵列内部单元使用的旋转角度。要想得到想要的旋转角度,可以把非对角线单元中的值与对角线单元中的共轭复数相乘,然后除以复数的倒数即可。相除实际是用乘法的方式完成的,即在观察到函数接近线性的时候,乘以根据定义的间隔的多项式近似值计算出的倒数。图2显示了采用这种近似值在对角线脉动单元中完成这种复杂旋转的信号流程图。
发送到非对角线单元中的数据是旋转矢量的同相部分和正交部分除以相应的近似值得出的结果。我们不仅通过在对角线单元和非对角线单元采用流水线架构实现了高数据吞吐量,同时还通过对跨5个信道的硬件进行时分复用的方式控制了近似值模块和复杂乘法器引起的时延。
图2 对角线脉动单元结构图
对4x4矩阵,我们使用了1个对角线单元和7个非对角线单元。分解单个矩阵所花的处理时间为4x4=16个数据周期,而该设计交付数据的速度是每三个时钟周期一个样本,因此分解单个矩阵的所用总时长为3x4x4=48个时钟周期(低于可用的64个时钟周期)。我们对分解后的矩阵使用了回代法(back substitution),同时以相同的TDM方式进一步进行了重新排序操作。
球形检测器
球形检测器采用PED单元进行范数计算。根据树的层次,我们采用了三种不同类型的PED单元。根节点PED模块负责计算所有可能的PED。二级PED模块针对上一级计算得出的8个幸存路径计算出8个可能的PED。这样在树的下一级索引中,我们就有64个生成的PED。第三种类型的PED模块用于其它树级,负责计算上一级计算出的所有PED的最邻近的节点PED。
《在FPGA中实施4G无线球形检测器》相关文章
- › 在FPGA中实现PCI Express桥接解决方案
- › 在FPGA中实施4G无线球形检测器
- › 在FPGA中实现源同步LVDS接收正确字对齐
- › 雷达视频积累算法在FPGA上的实现
- › CVSD算法分析及其在FPGA中的实现
- › IIR数字滤波器设计-在FPGA上实现任意阶IIR数字滤波器
- 在百度中搜索相关文章:在FPGA中实施4G无线球形检测器
- 在谷歌中搜索相关文章:在FPGA中实施4G无线球形检测器
- 在soso中搜索相关文章:在FPGA中实施4G无线球形检测器
- 在搜狗中搜索相关文章:在FPGA中实施4G无线球形检测器