论文部分内容阅读
随着无线通信技术的飞速发展,人们对高效可靠的数据传输技术的关注度也越来越高。由于无线通信系统的时变性和抢占性,很难实现高速率数据传输。我们需要一种在没有获知信道状况的情况下,能够自适应信道选择合适码率的技术,无速率码的出现为我们提供了新的思路。无速率码的传输码率不受约束,可以自适应信道状态选择合适的码率,且在传输过程中不需要向发送端发送反馈信息,是一种可靠并且高效的数据传输技术。本文介绍一种在时变无线网络中适用的无速率码—Spinal码,和其他无速率码相比Spinal码具有构造简单,实用性强、效率高等特点,并且现已证明Spinal码是在BSC信道和AWGN信道上都逼近香农容量限的性能良好的码。本文主要研究无速率Spinal码的译码算法。本文根据Spinal码的结构特征,借鉴序列译码算法,提出了新的Spinal码堆栈译码算法。该算法利用堆栈对码树中的节点进行存储和排序,每步译码都通过栈顶节点的量度计算所有后继节点量度,然后从堆栈中删去这个栈顶节点,嵌入所有后继节点,且根据量度值减小次序重新对堆栈进行排序,当堆栈中的栈顶节点处于树的终点或者堆栈溢出时,算法结束,此时根据栈顶节点携带的路径信息就可得到估计的码源信息。Spinal码堆栈译码算法虽然降低了译码复杂度,但是存在不同路径上的节点之间频繁跳转的现象,译码复杂度依旧过大并且当码长较大时很难实现,本文在此基础上提出改进的Spinal码前向堆栈译码算法,该算法将码树进行分层并将多层划分为一个单元,在每个单元中单独进行树搜索,这样不仅可以改善Spinal码堆栈算法的跳转过大和实现困难的问题,而且进一步降低了译码复杂度。新提出的Spinal码堆栈译码算法和前向堆栈译码算法不仅可以获得良好的速率性能和误码率性能,而且对比现有的Bubble译码算法大大降低了译码计算量。通过仿真可知堆栈译码算法的计算量为Bubble译码算法的50%~70%,前向堆栈译码算法的计算量下降最快,尤其是当信道状况较好的情况下这种优势更加突出,当信噪比为20dB时,计算量仅为Bubble译码算法的15%。并且通过对Spinal码的堆栈译码算法的理论分析我们可知,Spinal码的堆栈译码算法的译码计算量是有限的,总存在一个常数上界。所以,Spinal码堆栈译码算法和改进的前向堆栈译码算法都是适合无速率Spinal码、复杂度低、可靠且有效的译码算法。