主要内容

并行级联卷积编码:Turbo Codes

This example characterizes the performance of turbo codes over a noisy channel. It shows the basic structure of turbo codes at the transmitter and receiver. We chose the Long Term Evolution (LTE) specifications [4] for the constituent component parameters.

这invention of turbo codes [1[随着近距离香农限制性能的迭代解码原理的发展,在各种应用中,它们的吸收,其中一些应用包括深空通信,第三代无线标准和数字视频广播[3]。

可用示例实现

此示例包括MATLAB®和Simulink®实现:金宝app

MATLAB script using System objects:Commturbocoding.m.

金宝app使用系统块的Simulink模型:commpccc.slx

Simulink model using variable-sized code-blocks:commpcccvs.slx

Both the MATLAB and Simulink implementations of the system are set up so you can simulate the system over a range of Eb/No values for user-specified system parameters like code block length and number of decoding iterations. The following sections use the fixed-size code-block Simulink implementation to describe the details of the coding scheme.

Turbo Encoder

Acomm.turboencoder.is a parallel concatenation scheme with multiple constituent Convolutional encoders. The first encoder operates directly on the input bit sequence, while any others operate on interleaved input sequences, obtained by interleaving the input bits over a block length.

基于系统块的Turbo编码器块使用两个相同的8状态递归系统卷积编码器。这comm.ConvolutionalEncoderSystem object™ uses the "Terminated" setting for theTerminationMethodproperty. This restores the encoders to the starting all-zeros state for each frame of data the block processes. The internal block interleaver uses pre-computed permutation indices, based on the user-specifiedCode block lengthparameter (see theModel Parameters block)。该位重新排序子系统从第二个编码器输出中删除额外的系统位,并根据[4]。

迭代解码

用于并行连接编码方案的迭代解码,comm.TurboDecoder使用后验概率(APP)解码器[2] as the constituent decoder component.

每一个comm.appdecoder.系统对象对应于组成编码器,该组成编码器为来自所接收的阶段的对数阶段的未编码位提供更新的日志似然值序列。对于每组接收的信道序列,解码器迭代地更新未编码位的日志似然,直到满足停止标准。此示例使用固定数量的解码迭代,如下所示Number of decoding iterationsparameter in the model'sModel Parameters堵塞。默认迭代次数是六个。

TerminationMethodproperty for the APP Decoder System object is set to be "Terminated" to match the encoders. The decoder does not assume knowledge of the tail bits and as a result, these are excluded from the multiple iterations.

这internal interleaver of the decoder is identical to the one the encoder uses. It reorders the sequences so that they are properly aligned at the two decoders.

表现

下图显示了两组代码块长度和解码迭代的数量的EB / No值范围内的AWGN通道中的并联级联编码方案的误码率性能。

As the figure shows, the iterative decoding performance improves with an increase in the number of decoding iterations (at the expense of computational complexity) and larger block lengths (at the expense of decoding latency).

Variable-Sized Turbo Coding

这companion modelcommpcccvs.slx使用模拟运行中使用可变大小的代码块突出显示Turbo编码。

这model is set up to run two user specified code-block lengths, which vary as per the selected control signal. The interleaver indices per block length and the noise variance are calculated per time step. Using the CRC syndrome detector, the model displays the code-block error rate in addition to the bit error rate, as the former is the more relevant performance metric with variable-sized code blocks.

CBER Performance

下图显示了AWGN通道中的并联级联编码方案的代码块误差速率性能,以用于BER的类似设置的EB / NO值范围内。

We observe similar improvements as before in performance with increase in the number of decoding iterations and/or block lengths.

进一步的探索

这example allows you to explore the effects of different block lengths and number of decoding iterations on the system performance. It supports all of the 188 code block sizes specified in [4] for a user-specified fixed number of decoding iterations.

Selected References

  1. C. Berrou,A.Glavieux和P. Thitimajshima,“Shannon限制纠正编码和解码附近:Turbo代码”Proc。IEEE®int。Conf。关于通信,瑞士日内瓦,1993年5月,第1064-1070。

  2. Benedetto,S.,G. Montorsi,D. Divsalar和F. Pollara,“一个软输入软输出最大的后后(MAP)模块,用于解码并行和串行连接代码”,JPL TDA进度报告,Vol。42-127,1996年11月。

  3. Schlegel, Christian B. and Lance C. Perez, "Trellis and Turbo Coding", IEEE Press, 2004.

  4. 3GPP TS 36.212 V10.8.0,“第三代合作伙伴项目;技术规范集团无线电接入网络;演进的通用地面无线电接入(E-UTRA);复用和通道编码(第10版)”,2013-06。