论文部分内容阅读
SDR平台在对通信基带信号处理算法进行研究和实现时是不可或缺的。传统的SDR平台使用DSP和FPGA的混合架构,无法在达到高的系统吞吐率的同时进行快速开发。由于GPU提供了强大的并行计算能力和简单易用的编程平台,所以本文主要探索在SDR平台上使用GPU进行通信基带信号处理算法的设计和实现方法。首先,本文介绍了GPU的硬件结构和针对GPU进行编程的CUDA平台。通过对GPU的硬件结构和GPU的各级存储器的访问延时进行研究,得到了在GPU上运行算法的最优策略。其次,本文在GPU中实现了MIMO系统中的MMSE检测算法。讨论了在GPU中实现基本矩阵运算的方法。根据GPU的硬件结构,在GPU中使用三个级联的kernel实现了联合优化的MMSE检测算法。在MMSE检测算法中,矩阵求逆是最复杂的。本文通过对GPU共享内存的使用进行优化,高效地实现了基于Gauss Jordan算法的矩阵求逆运算。在GPU中仿真了16QAM调制的4?4 MIMO系统和4?8MIMO系统。最后,本文在GPU上实现了三种满足3GPP LTE标准的Turbo译码器,分别为传统Turbo译码器、分段并行Turbo译码器和全并行Turbo译码器。在传统Turbo译码器中,实现了多码字并行和8状态并行。在前向迭代和后向迭代中,通过使用共享内存和寄存器保证了对全局内存只进行一次访问。在外信息的计算中,通过使用共享内存,让8个线程交替对8个状态和8个时刻进行并行,充分利用了计算资源。在分段并行Turbo译码器中,进一步实现了单个码字的多子码并行,同时使用PIVI补偿算法保证了误码性能。在全并行Turbo译码器中,使用了CPU外层迭代配合GPU内层迭代的算法。在内层迭代中使用了两组共享内存对?,?进行乒乓更新,为了保证误码性能,对?的初始值和?的结束值使用非同步的方式进行更新。在GPU中实现了基于FULL-LOG-MAP和MAX-LOG-MAP算法的上述三种Turbo译码器。仿真结果显示,在GPU中实现的MMSE检测算法可以达到84Mbps的吞吐率,Turbo译码器算法能达到28Mbps的吞吐率。因此,GPU可以作为SDR平台中DSP和FPGA的替代方案。