Turbo编码相关知识

   这段时间里,看到的一些书籍和程序中,很多都用到LDPC码,卷积码和Turbo码,刚好又在学习Turbo码,故将资料中的关于Turbo码编码的知识点加以整理。
   Turbo编码进化自卷积码,在LTE标准中,Turbo编码作为了信道编码机制的唯一方案,用于处理用户数据。其近乎理想的性能被LTE采用源自他的复杂度可计算和可执行。LTE中的Turbo编码为了有效的执行进行了很多的改进。eg:通过附加CRC(循环冗余检查)以检查Turbo编码器的输入,LTE Turbo解码器可以在编码质量可以接受的情况下实现早期终止机制,使其计算复杂度减小,避免不少性能上的损失。
   接下来说一下Turbo编码方式的特性:
  
- 该编码方式具有类随机码的特性,同时具有足够的结构信息,使得能够使用一种高效的迭代译码方法进行译码。这种编码尤其在中等误比特率和长分组长度情况下,具有优异的性能;
- 另外,Turbo编码还有一个特点是由两个或更多的简单分量码组成,分量码按照某种规则排列后,与一个伪随机交织器结合。由于存在不止一个分量码,因此可以以迭代的形式对每个分量码采用简单的软输入软输出(SISO)译码器,其中一个译码器的的软输出结果直接作为另一个译码器的输入,反之亦然,直到得到最终的译码估计。
- Turbo码也有两个缺点:
一是较长的编码时延,主要是由于长分组长度和为达到接近信道容量的性能所需的多次译码迭代所造成;

接下来是对Turbo编码的简介:
Turbo编码相关知识_第1张图片
其中图a是基本的Turbo码编码框图,b则为具体的Turbo码编码器。
基本的编码器包括信息序列(输入序列),两个(2,1,v)系统反馈(递归)卷积编码器和一个交织器(用π表示)。最终被传输的序列(码字)由如下向量给出
这里写图片描述
因此整个(收尾的)码的总长度为N=3K,在K值较大情况下,码率近似为R=(K-v)/3K≈1/3.
由b图得知,两个分量码均由相同的(2,1,4)系统反馈编码器产生,其生成矩阵由下式给出:
这里写图片描述

另外还有一些常用结论可以参考:

  • 为了获得接近香农极限的通信性能,选取信息分组长度(交织器的大小)K为一个很大的数值,一般至少取到几千个比特。
  • 分量码通常由相同的编码器产生;
  • 最优的交织器以一种伪随机的形式将比特位重新排序;
  • 可以对校验序列中的比特位进行打孔以获得更高的码率;
  • 次优的迭代译码算法采用一种迭代形式对每个分量码使用SISO译码器进行译码,每个分量码的SISO译码器采用BCJR或MAP算法将获得最好的性能(不等同于整体上采用ML或MAP译码)

参考书籍
《全面详解LTE:MATLAB建模、仿真与实现》
《差错控制编码》

你可能感兴趣的:(通信技术)