论文部分内容阅读
随着无线通信技术的飞速发展,高效又可靠的数据传输技术受到了越来越多的重视和关注。面对当前越来越复杂的通信环境,很多情况下发射端难以预先获知准确的信道状态信息,为了适应这种通信环境,无速率码应运而生,因为无速率码具有自适应信道环境的特性。Spinal码是一种可以自适应无线网络环境,根据信道状态选择合适码率进行传输的码字。现已证明Spinal码在BSC信道和AWGN信道上都可以逼近香农容量限,并且结构简单、复杂度低、易实现。Spinal码的核心是伪随机哈希函数,编码器首先将信息序列分块,分块子序列通过哈希函数和星座映射函数产生源源不断的符号序列,译码器不断的接受传输序列直到译码成功或者达到最大传输数量。译码算法为Bubble译码算法,该算法本质上是一种最大似然(ML)译码方法,通过删除译码树中较差的结点来降低译码复杂度。本文的贡献是对Spinal码的编码算法和译码算法分别进行FPGA实现,把Spinal码提升到硬件层面上。在Spinal码译码器的FPGA设计中,主要包括路径扩展、路径选择和路径回溯三个环节,在每个环节的设计过程中,为了提高系统吞吐率和减小设计空间都采用了一些设计技巧,比如,在路径选择模块选用简单又高效的双调排序算法来实现结点删减,以及局部并行处理策略和流水线技术运用,都在一定程度上大大提高了系统吞吐率。通过FPGA实现结果可知:Spinal码不仅可以在AWGN信道和BSC信道上逼近香农限,而且在FPGA上可以达到较高的系统吞吐率。在硬件方面,本文实现了编码器的FPGA设计,吞吐率达到2.57Gbps,而且在BSC信道和AWGN信道下译码器的吞吐率分别为12.62Mbps和14.01Mbps。Spinal码的FPGA实现证明了Spinal码不仅性能良好,还具有较强的实用性。