基于IT++的Turbo码性能研究

2020-02-02 06:46邵璐
电子技术与软件工程 2020年15期
关键词:译码器交织译码

邵璐

(宁夏大学新华学院信息与计算机科学系 宁夏回族自治区银川市 750021)

1 Turbo码简介

Turbo 码的编码端[2]包含两个或以上编码器组件,输入的序列码通过交织器进行交织处理后,再经由每个编码器组件进行卷积编码。在译码端(以两个编码器组件为例),选择软判决算法替代硬判决,并将译码结果迭代若干次,以得到更可靠的性能结果。一般来说,Turbo 码的编码可以看作为一种改进的级联结构,译码是对相关码序列的迭代算法运算。

2 Turbo编码器

Turbo 编码器的经典结构包含两个编码器组件(Component code),如图1所示。编码器组件通常选择递归系统卷积(RSC)编码器,如图2所示。在实际应用中,RSC 编码器总是保持一半速率,每位输入比特的输出处对应产生一比特系统位和一比特校验位。为了实现半速率Turbo 码,Turbo 编码器中的每个编码器组件都需要进行删余(Puncturing)。在实际工作中,Turbo 编码器一般采用删余方式,通常选择RSC 编码器的全速率的系统序列和半速率的校验序列。并且,通常选择删余奇偶校验位而不是系统位,是因为删余前者的性能往往超过后者。

此外,在两个编码器组件之间还存在一个交织器(Interleaver)[3],其目的是克服信道衰落引起的突发衰落。若没有交织器,信道编码(如Turbo 编码)虽可以有效地消除孤立性误码,但遭遇突发性误码时往往会失效。

K=3 的递归系统卷积编码器[1]如图2所示(生成多项式为(7,5))。

3 Turbo译码器

与编码器类似,Turbo 迭代译码器的经典结构也包含两个由交织器连接的编码器组件,如图3所示。在译码器原理图中,有三个输入,包括编码后的信道输出及其各自对应的奇偶校验位,以及来自其他编码器组件对原始译码信息的估计——称为先验信息(a-priori information)。在Turbo 码中,译码器在译码过程中不仅要为下一次判决生成一系列软输出(Soft),还要生成每一比特位对应的正确译码概率。注意,软输出被称为对数似然比(Log Likelihood Ratios,LLRs),分别表示每个正确判决的概率。

Turbo 译码器采用了迭代译码,示意图如图3。在第一次迭代中,编码器组件1(Component decoder 1),即分量译码器1 只接收信道输出信息并生成一个软输出,该软输出是信道输出比特的估计值。之后,编码器组件2,即分量译码器2 同时获取来自分量译码器1和信道输出信息在得到一个估计值,作为第一次迭代的结果。接下来,在第二次迭代中,分量译码器1 不仅接收信道输出信息,还同时接收由第一次迭代中分量译码器2 在第一次迭代中生成的结果。第一次迭代生成的额外信息,构成了第二次迭代对应的先验信息,用于分量译码器2 的第二次迭代[1],以得到更精确的译码输出结果。这一过程循环往复,可提高译码正确率,即误码率(BER)随着迭代的进行而降低。在实际工作中,考虑到译码的复杂度,通常选用8 次迭代译码[1]。由于编码器中使用了交织器,因此在迭代译码过程中,需要使用交织器和去交织器来避免重复出现LLRs,从而消除传输误差。此外,同样的信息在每次迭代译码中只能使用一次,因此Berou 等人定义了外部信息和内部信息[4],使其在Turbo 码的解码中更加清晰。

图1:Turbo 编码器结构[1]

图2:递归系统卷积编码器结构[1]

图3:Turbo 解码器的结构[1]

本文在Turbo 译码阶段采用近似Log-MAP 算法。1995年,Robertson[5]设计出另一种可完全正确进行估计的算法,称为近似Log-MAP (Approximation Log-MAP,approx-Log-MAP)算法,其性能与MAP 算法相当,但复杂度较低。它的实现效率极高,目前已广泛应用于Turbo 译码器之中。本文选择了此种译码算法,算法基本表达式如下:

图4:AWGN 信道下不同迭代次数Turbo 码的性能

图5:AWGN 信道下Turbo 码不同调制方案的性能

图6:非相关瑞利衰落信道下Turbo 码不同迭代次数的性能

其中fc(x)为修正项,其值可通过查表得到。

4 仿真结果

4.1 Turbo码在AWGN信道中的性能

如图4所示,在AWGN 信道坏境下,增加迭代次数可以提高Turbo 码的性能(QPSK),例如经历2 次迭代的Turbo 码的误码率整体优于1 次迭代的Turbo 码。然而,随着迭代次数的不断提高,对误码率的改进极小,但Turbo 码的复杂度却大大提高。另外,将未编码通信系统与1 次迭代的Turbo 码系统进行比较,可以明显地看出10-5误码率处提高了7dB。

以1 次迭代的Turbo 码为例(图5),QPSK 具有所有其他方案中最好的性能,其中仅需要6dB 就可以实现10-5的误码率。而对于8PSK、16QAM 和64QAM,若想达到足够低的误码率,则需要更好的信噪比环境。特别是对于64QAM,大约需要27dB 才能得到10-5的误码率,这是仿真中所有调制方案中性能最差的。

4.2 Turbo码在非相关瑞利衰落信道中的性能

图6对比了AWGN 和非相关瑞利衰落信道下未编码和使用了Turbo 码的信号性能。无论是在AWGN 信道还是在非相关的瑞利衰落信道下使用Turbo 编码,均远优于不加信道编码的系统性能。

5 结语

从仿真结果来看,Turbo 码是一种有效的信道编码方式。仿真结果表明,在AWGN 信道和非相关的瑞利信道环境下,Turbo 码的迭代次数和调制方式的表现差异都得到了验证和比较。毫无疑问,Turbo 编码提高了通信系统的性能,但也造成了延迟和硬件实现的复杂度。随着芯片集成度的持续提高,硬件实现这一问题得以解决。但无线网络时延要求的日渐提高,编码与译码造成的延迟则是未来要考虑的主要因素。

猜你喜欢
译码器交织译码
“新”与“旧”的交织 碰撞出的魅力“夜上海”
基于校正搜索宽度的极化码译码算法研究
交织冷暖
纠错模式可配置的NAND Flash BCH译码器设计
一种改进的块交织方法及FPGA实现
跟踪导练(一)5
从霍尔的编码译码理论看弹幕的译码
奥运梦与中国梦交织延展
LDPC 码改进高速译码算法
HINOC2.0系统中高速LDPC译码器结构设计