Divergence coding for convolutional codes

In the paper we propose a new coding/decoding on the divergence principle. A new divergent multithreshold decoder (MTD) for convolutional self-orthogonal codes contains two threshold elements. The second threshold element decodes the code with the code distance one greater than for the first threshold element. Errorcorrecting possibility of the new MTD modification have been higher than traditional MTD. Simulation results show that the performance of the divergent schemes allow to approach area of its effective work to channel capacity approximately on 0,5 dB. Note that we include the enough effective Viterbi decoder instead of the first threshold element, the divergence principle can reach more. Index Terms — error-correcting coding, convolutional code, decoder, multithreshold decoder, Viterbi algorithm.


Introduction
Error correcting coding has become an integral part of the modern information communication and storage systems.This was made possible thanks to significant breakthroughs achieved coding theory in recent years.Presented in [1,2] the main achievements of optimization coding theory shows that nowadays a multithreshold decoding (MTD), built on new axioms of this theory, provides a very high efficiency level at the moderate complexity.For the Gaussian channel MTD algorithms provides the error probability per bit P b (e) <10 -5 at the bit energy level E b /N 0 ~ 1,3 dB.To organize such an effective work of decoders for Low-Density Parity Check (LDPC) codes, which recently remained the unique competitors for MTD algorithms in the Gaussian channels with this noise level is already very difficult, and for the high-throughput channels is even impossible.It is much harder for these algorithms to decode a convolutional code.On the other hand, the possibility of implementation of MTD decoders on the basis of technical solutions [3] fully removes from them the rate problem, because it allows to keep high decoding characteristics for any channel throughput rate including 1 Gbit/s and more [4,5].And the resources to enhance the performance for MTD algorithms are not fully exhausted, allowing in the future expect from them further improvement of working efficiency at high noise levels.It is possible to remind that the MTD efficiency used in non-binary channels with symbol codes or in channels with erasures (in all cases at a very low complexity) was initially at the creation of these algorithms so great that for such applications there are no any competing methods for MTD decoders at the moment and probably in the future as well.
We had analyzed the performance of the currently known demonstration programs of all popular decoding methods (the Viterbi algorithm (AV), LDPC and Reed-Solomon decoders, MTD, and some others).All programs are available on our websites [6,7].In most cases we see that all modifications on MTD algorithms provide in a few orders higher reliability decoding fidelity than other methods, and at the same time also show in a few decimal orders greater decoding rate than their former potential competitors.The main reason of such a serious advantage of MTD decoders is always that at very high levels noise they provide the same decoding, as the optimal methods, but our decoders have a linear complexity.And the last fact allows to MTD algorithms use very long codes, which determines their advantage on AV [1,2].
And finally, most importantly, that for many combinations of codes and channel the efficiency of different MTD modifications at a low level of E b /N 0 is so great that there are no any other methods that could be efficient in these conditions.Thus, breaking the level of efficiency of real LDPC codes decoder, MTD algorithms actually declared their superiority in efficiency and complexity of implementation in general for all major applications in the digital data transmission, storage and recovery systems.
At increase in code distance of the used convolutional self-orthogonal codes in a limit it is possible to receive the big efficiency, but thus the area in which MTD starts optimum them to decode is shifted aside smaller noise.The given property essentially complicates reduction of decoding BER at the big noise in the channel [8,9].It's known that for providing the same high reliability, the calculations space will be increase with decreasing channel energy.But the use of majority logic only, obviously, will not let to closer significantly to the channel capacity.
It is possible to apply some approaches to the decision of the considered problem, based on MTD using in structure of various concatenated coding schemes.Analytical calculations and simulation results show, that application of the concatenated schemes allows reduce the probability of error decoding for 1.. 4 decimal orders without a significant complication of the decoding scheme [10,11,12].Also it is possible to use MTD in schemes with the parallel coding [13] which allow to approach area of its effective work to channel capacity approximately on 0,5 dB.Unfortunately the use of cascade schemes leads to the transmission necessity of the additional check bits, thereby reducing the final code rate of the concatenated codes [1,2].
In [14] we offers a method to improve convolutional self-orthogonal codes (CSOC) decoding efficiency due to decoding of received data by several MTDs having different settings with consequent forming of decoding result on the basis of majority votes.Such decoder was called multilevel MTD.New modifications of the decoder provided coding gain improving by a few tenths of dB due to better using of the bits soft information are offered [15].
In the paper we propose the new directions of the multithreshold algorithm development that can allow bringing the permissible levels of the code rates closely to the channel capacity.

Proposed methods
This section presents the traditional structure of the encoder and decoder, as well as the proposed new coding and decoding schemes based on the divergence principle.The description of the traditional decoder is given for comparison with the new schemes and corresponds to the description in [12].
MTD decoder for convolutional self-orthogonal codes (CSOC) is development of the elementary threshold decoder of Massey [16].For implementation of operation of encoding CSOC it is possible to use the elementary diagrams constructed on the basis of shift registers.The example of the encoder scheme for CSOC, set by an ancestor polynomial g(x) = 1+x +x 4 + x 6 , is shown in a Figure 1.This code is characterized by parameters of code length, length of information sequence, code rate and the minimum code distance of n=26, k=13, R=1/2, d=5, respectively.Consider the a operation principle of the convolutional coding scheme shown in Figure 1.Actually it consists of the shift register, where in the left side there are grouped cells, from the outputs of which there come the value of its contents to the inputs of the half-adder (mod 2 is an adder), from its output a check symbol v i are sent to the channel.To simplify the description, we will assume a code to be systematic.Therefore, together with the a check symbol in the channel on each cycle of the code work the one informational symbol u i from zero shift register cell is going away.
Check symbol generates in the encoder during operation in accordance with the following algorithm: • Before starting to encode code block key K is in state 1. • Information vector u = (u 0 , u 1 , …, u k-1 ) applied one character input shift register.As a result, information symbol u 0 is located in cell k-1, u 1 -the cell k-2, etc.There k -a length of information sequence, k=13 for encoder shown in Figure 1.
• Key K is transferred to state 2.
• For j from 0 to k-1 to perform cyclic shift register, and then calculates the j-th checking bit v j : As a result of the algorithm generated a checking vector v = (v 0 , v 1 , ..., v k-1 ), which, together with an information vector defines the code word c = (u, v), which is transmitted through the channel.
Let's describe the principle multithreshold decoding of CSOC.In a situation, where the decoder after transmission of a binary symmetric channel (BSC) rather than a distorted codeword noises message y = (u', v') of length n.First calculated syndrome s = Hy (here Hcheck matrix code) of the received message, and for each information symbol u j , 1≤j≤k, stands set {s p } syndrome elements with numbers {p}, called checks relative to the character u j and containing error e j in this symbol.
First, as in the usual threshold decoder is calculated syndrome s = Hy (here H -check matrix CSOC) of the received message, and each information symbol u j , 1 ≤ j ≤ k, find the set of elements {s p } syndrome with numbers {p} called checks against symbol u j and containing, as an error term e j in this symbol.
In addition to the threshold decoder in MTD injected binary vector d of length k, called the difference, initially filled with zeros.The basic step is to decode that for arbitrarily chosen symbol u j computed likelihood function L j , independent of its related inspections and jth element of vector d: where d j -a symbol of the difference vector, related to decoded symbol u j (0 or 1); S p -p-th element of the syndrome vector, which is part of a number of checks regarding decoded symbol u j ; Θ j -a set of of numbers of checks, controlling the j-th information symbol.The example of MTD decoder for encoder from Figure 1 is given in Figure 2. Let's consider the new modification schemes for the coding and decoding procces.Figure 3 shows a new proposed divergent encoder for the CSOC with R = 1/2.The important point to describe the work of this encoder is the presence at far right side of the encoding register another cell, its content is also comes to the input of the half-adder, where data goes into the channel from.Of course, the code can be non-systematic, and there could be a lot of cells in the right side of the register, where the data go to multi-entranced half-adder from.
Figure 4 shows a new proposed decoder corresponding to the divergent encoder on Figure 3.It is built on the ideas of the MTD (see Figure 2) but new decoder contains two threshold elements (T) located in the left and right sides of the decoder.Left T1 and the relevant parts of the information register and syndrome, which it interacts, are square marked and called as decoder1.
Full decoder with second threshold element T2 in the right side of the registers is similar to the decoder1.Additional code checks are transferred to an input of the T2.These checks occur in the decoder much later than the symbols from the compact checks group related to the T1.
At decoding of the symbol stream received from the channel, the T1 makes decisions about information errors on the basis of their own group only checks.If the codes are chosen correctly, the density of such mistakes will be less than before the T1, and reaching the T2, these errors according to the MTD operation principles will be corrected.The number of checks are transferred to an input of the T2 is one larger than for the first threshold element.And the second threshold decodes the code with the code distance one greater than for the T1.Therefore, the correction possibility of the T2 will be higher, which will strengthen the correction process.It is important that this has been achieved without the involvement of the concatenated methods that decrease the redundancy of the first code (and the first threshold element), which significantly reduces the correcting possibilities of the first decoder.
It is obvious that the proposed divergent code can be an initial part of the code with a larger length and same structure.Then at two such the conditional "concatenated" encoding / decoding schemes the minimum distance d will be increased on 2, etc.Indeed, such schemes work successfully, they corresponds to the MTD operation principles and the Fundamental Theorem of the multithreshold decoding [1] and shows the satisfactory results.But actually the received decoding scheme has become much more complicated, because the effect of growth of code distance, a valuable resource, can't be easy achieved.The decoder 1 transfers no corrected errors to the right, to second threshold element T2 (see Fig. 4).Then the errors from the last cell (with number n  4) after the two half-adder are entered into the syndrome register.So, the first T1 work at a bit increased noise level, which degrades its characteristics.But if T1 can to work with this increased errors and its performance degrades a little bit, and the second T2 helps to the first, then we could expect that together they can to correct the complex error flow.That fact allows continuing the analysis of divergent code scheme to determine its capabilities at high noise level.

Experimental studies
Consider the performance of the divergent schemes (with the growing, "divergent" values of code distance d).Dependences of bit error rate (BER) for Viterbi decoder (AV) and MTD for SOC with a code distance d and d + 1 shown in Figure 5.The dependence curves are typical bends in the points where the decoding error probability reaches optimum minimum values (in case when noise level decreases to the right side) for the used codes.To the left of the bend points algorithms can't work due to high channel noise.
Figure 5 shows the ability of the divergent coding scheme, when MTD for the code with the distance d + 1 provides decoding at level noise ~ 1.7 dB, although the traditional MTD works normally only at the noise level of the order 1.8 dB.Let's consider the MTD for the code with the minimum distance d.Its characteristics are close to the optimum up to E b /N 0 = 1.6 dB.Let's fix the noise level of 1.7 dB for the decoder.This is the point 1 in the Figure 3. Now we can to include in the encoder and decoder the additional faraway checks, its influence we discussed in Figure 3 and Figure 4.If additional noise from this checks is a small value and it can be expressed as an increase of channel noise in about 0.1 dB, when the D1 (for the code with the distance d) still copes, then the characteristics of the decoder will be displaced from the point 1 to the point 2, and its will remain optimal.But then in the second decoder with T2 really enter the error flow from the D1 with a lower density than the error probability in the channel.And this creates the conditions under which the T2 really also reduces further the error density from the first threshold element (point 3 in Figure 5).
Note that it will happen at the noise level that is approximately in 0.1 dB greater than that when T2 could work without supporting of T1.Thus, it is a really possible to advance towards higher channel noise by applying this principle for a few times.Turning now to the curve for AV, shown in Figure 5, we can see that it has no such bend as the curves for MTD.In addition, for long codes which are still implemented in terms of the AV decoder's complexity, the curves usually lie to the left of the curves for MTD, as it is shown in Figure 4.It means that if we include the enough effective AV decoder instead of the D1, the divergence principle can reach more effect.Simulation results show that such schemes are functionally realizable.

Conclusion
In present paper some new important properties of multithreshold decoding (MTD) algorithm for convolutional code are discussed.The proposed MTD decoders allows bringing the permissible levels of the code rates closely to the channel capacity.
Various comparing the many decoding algorithms effectiveness show that only Viterbi algorithm, MTD and QMTD (a multithreshold decoding for non binary codes) are in the group of methods that change the distance of its decisions prior to the accepted information.We combine them into the class of the codes with direct check metrics and they have already been successfully applied together, in the divergence coding schemes as well.Works in this direction are expanding.
The present work has been executed under financial support of the Russian Foundation For Basic Research (grant 14-07-00859).

Fig. 5 .
Fig. 5. Performance of the proposed coding scheme at the diferent parameters of the divergent code