IL119560A - Method of decoding convolutional codes - Google Patents

Method of decoding convolutional codes

Info

Publication number
IL119560A
IL119560A IL11956096A IL11956096A IL119560A IL 119560 A IL119560 A IL 119560A IL 11956096 A IL11956096 A IL 11956096A IL 11956096 A IL11956096 A IL 11956096A IL 119560 A IL119560 A IL 119560A
Authority
IL
Israel
Prior art keywords
path
decoding
segments
decoder
error
Prior art date
Application number
IL11956096A
Other versions
IL119560A0 (en
Original Assignee
Grenader Andrei
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Grenader Andrei filed Critical Grenader Andrei
Priority to IL11956096A priority Critical patent/IL119560A/en
Publication of IL119560A0 publication Critical patent/IL119560A0/en
Publication of IL119560A publication Critical patent/IL119560A/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

METHOD OF DECODING CONVOLUTIONAL CODES The Inventor is 1Π WXDOT) Grenader A.
FIELD OF THE INVENTION This invention relates to an improved method of decoding convolutional codes. In particular, the invention relates to the high-efficiency method of [hard-decision half-rate, 10.07.971 decoding convolutional code (7, 5).
At the present, error-correcting codes are an integral part of all digital communications system. Error-control coding plays an increasingly important role in today's communication systems. Described concisely, error-control coding involves the addition of redundancy to transmitted data so as to provide the means for detecting and correcting errors that inevitably occur in any real communications process.
Such coding techniques are particularly useful for transmission over limited-power channels like general-switched telephone network. Through adding redundancy to transmitted data, the bit-error rate can be reduced considerably without an increase in transmission power.
Today, convolutional codes dominate the error-correcting market. They are the main alternative to block codes. Convolutional codes have considerable error correcting capability. At the same time, they have reasonable decoder complexity.
Generally, Viterbi decoder algorithm is used for decoding convolutional codes. It is a very practical technique and is available in VLSI form. Viterbi decoding of convolutional codes is particularly attractive for satellite communication technology and digital cellular telephone systems, and is finding increasing application in digital recording (Immink, 1989).
BACKGROUND OF THE INVENTION fConvolutional codes were first suggested by Elias in 1955. A sequential decoding algorithm for these codes was proposed by Wozencraft and its implementation was described by Fano and by Massev in 1963. In 1967 Viterbi proposed a maximum likelihood decoding algorithm that provided optimum error rate performance and achieved a shorter decoding delay compared to sequential decoding. The implementation of the Viterbi decoder became feasible with the advent of integrated circuit technologv and was used in the deep-space and satellite communication of the early 1970s. It was also adopted by the GSM committee in the late 1980s for the Pan-European digital cellular mobile radio system, 10.07.97].
There are two methods of decoding of convolutional codes that are well known in the scientific literature. They are algebraic and the probabilistic decoding algorithms. Algebraic methods, which are used in sequential and syndrome decoding algorithm, are faster and simpler. However, they only have a coding gain of 2...3 dB. Probabilistic methods are more complicated in implementation. However, they have an high gain (4...6 dB). The leader in probabilistic methods of decoding convolutional codes is Viterbi algorithm. Convolutional decoder operates on the input sequence by estimating the most likely path of state transitions in the trellis. If the decoder employs the Viterbi algorithm, all the possible paths in the trellis are searched, and their distances to the sequence at the decoder input are compared. The path with the smallest distance is then selected, and the information sequence regenerated. This method is known as maximum likelihood decoding in the sense that the most likely sequence from all the paths in the trellis is selected.
SUMMARY OF THE INVENTION The aim of the invention is to provide a method for efficient decoding of convolutional codes. In particular, this method of decoding is applicable for hard-decision decoding the convolutional code (7, 5), rate 1/2 with constraint length of three binary stage. As for block codes, the problem is to find generator polynomials which have good error-control properties, and most convolutional codes are found by computer search. The generators of this code are described by the vectors, gi = [ 101 ] = 5e and Q2 = [ 1 1 1 ] = 7e.
The proposed method uses the standard algorithm of encoding convolutional codes.
The proposed method uses the combined advantages of algebraic and probabilistic methods of decoding convolutional codes.
The aim of the proposed method of decoding convolutional codes is reconstruction of the initial encoding path. The method makes it possible to simplify decoding considerably by means of analyzing segments (fragments or branches) of encoding path than appear in case of an detectable error. These segments appear if there is no way for the decoder to move on to the next state in the trellis. The encoding path is continuous and single unless an error is encountered; therefore decoding is simply and fast. The basis of the choice of the path is the criterion of maximum likelihood of a given reconstruction of the path of encoder compared against the received sequence.
It is supposed that previous codewords are true except for the last ones.
The method of decoding convolutional codes is comprised of these steps: if there is no detected error, the path of the encoder is continuous; in such a case, one decodes the path; if an error is detected because the encoding path is broken, then the decoder considers segments of the path which appear thereafter; in the latter case, reconstructing the main continuous encoding path by means of knowing about of possible errors, determination the kind of error and decoding of the path.
BRIEF DESCRIPTION OF THE DRAWINGS The invention is described with regard to the algorithm for decoding convolutional code (7, 5).
Fig.1 and [Fig.2, 10.07.97] show a flow diagram of the aforementioned method of decoding convolutional codes.
Fig.3 and Fig.4 show segments of encoding path that can be found in the case of error, and possible ways of reconstructing the path (shown by dotted lines).
At the top of Fig.3 and Fig.4 received codewords are shown. The expected errors are labeled by square brackets. Paths "a", "b" and "c" are correlated with received codewords.
Fig.5 illustrates the trellis diagram of the convolutional code (7, 5).
Fig.6 is shows the flow diagram for half-rate decoding of convolutional code (7, 5). C[x] is the sequence of received codewords, C[k] is the current codeword, C[k-1 ] is the previous codeword, C[n]&C[n+1 ] is the joining of codewords C[n] and C[n+1 ]. The analysis of such joints is the base for correcting errors. The variable "k" is the cycle-counter (time). S[k] is the terminal state of the main continuous encoded path in the trellis at the moment of breaking (Fig.3 and Fig.4).
DETAILED DESCRIPTION OF PREFERRED EMBODIMENT The aim of the proposed method is to reconstruct the original encoded path from its fragments. If the decoder does not detect a break within the received encoded path while moving along the trellis, it decodes a set amount of code bits.
During decoding, the decoder selects the most probable fragment from different possibilities of reconstructing the original encoded path. The choice of the most probable fragment is based upon the minimum Hamming distance. Given equal Hamming distances for two or more reconstruction possibilities, at first, the decoder selects the possible fragment of the . path with longer segment length, afterwards, maximum error dispersion in time, and, finally, randomly, in that order of priority. It provides additional information for detection and error-correction, and it distinguishes the proposed method from other methods.
The proposed method provides a coding gain compared to the Viterbi decoder due to its capability to correct single and double errors for the smallest blocks of received codewords.
The decoder determines that a error has been detect if it cannot move on to the next state in the trellis at a given codewords. In the case of a detected error, the decoder examines subsequent codewords, which make up fragments (two or more linked edges) of original encoded path in the space of the states in the trellis of the code.
Thus, the method of decoding convolutional codes consists of extraction and analysis of the initial encoding path correlated with received codewords. In fact, this is exploring one of the possible combinations of segments of the path.
The initial state of the decoder is set at zero (state 00).
The fragment or the segment of the path is defined as three or more edges correlated with received codewords. The segment weight is 0 in the trellis.
Three codewords have a single location in the space of states in the trellis for the code (7, 5). Each pair of codewords has two possible variants of location in the trellis for the code (7, 5).
An edge is defined as one of four positions in the space of states, defined by the trellis diagram of the code (7, 5) on Fig.5.
A main continuous encoding path is a path that consists of connected edges in the trellis. The main encoded path is the path created during encoding by the encoder.
The method of decoding convolutional codes consist of the following steps as shown on Fig.1 : if the main path is continuous then the path is decoded (step 1 ); and in case of detected error, converting received coding sequence to segments of coding path through the trellis; and considering all variants of joining of these segments for reconstruction initial coding path and comparing differences in segments length, segments location or Hamming distance (step 2); and selecting a case with more possible error (step 3), for example, double error in the one codeword (Fig.4) is more possible as double error in the two codewords (Fig.3), and finally, if there is no differences, then choosing any error at random (step 4), for example, first error. fThe proposed method of decoding convolutional codes by means of considering segments of encoding path that appeared by error is comprised of the following steps as shown by the diagram on Fig.2: - reception of the current frame of codewords (1 ); - formation of the current edge (2); - checking for continuity of the main encoded path (3); if the decoder can reach the next state, then it decodes the previous edge; if the main path is broken, then the decoder examines the frame and formes segments; - determination of reconstruction possibilities of the main encoded path using these segments (4); - choosing the most probable reconstruction using the following rules in that order (5): 1 ) minimum Hamming distance (maximum likelihood); ' 2) maximum of segment length; 3) maximum error dispersion in time; 4) random choice; - reconstruction of the main encoded path (6); - decoding of the main path (7); The above method of decoding of convolutional codes is realized, in particular, for hard-decision decoding half-rate convolutional code (7, 5). Consider the flow diagram of decoding code (7, 5) in detail by means of drawings.
The main steps of the decoding procedure are numbered 1 , 2, 3, 4, 5, 6 and 7 on Fig.6, corresponding to the steps on Fig.2, 10.07.97].
, The method according to the invention will perhaps best be understood with reference to the following example of decoding convolutional code (7, 5).
EXAMPLE Consider the example of correction of an error. In the initial state (Fig.3), the decoder is located in the reset all-zero condition (state 00). After receiving codewords 00, 1 1 and 01 , the decoder is moves on to states 00, 10 and 01 , respectively.
In the state 01 , the continuous encoding path is broken. This is a signal that an error exists. Consider the segments of the path for reconstruction of the continuous path. Every possibility of reconstruction is correlated with the unique code sequence. For example, choice "2" is correlated with the sequence of codewords 1 1 , 1 1 in the trellis.
There are two possibility of reconstruction "1" and "2" that are shown in the Fig.3. Each of them has a Hamming distance of 2 between received codewords 10, 10 and choice of reconstruction in the trellis. In Fig.3 the decoder selects reconstruction choice "2" because the codewords C[k+1] and C[k+2] are not connected with C[k+3]. However, in Fig.4 these codewords are connected; therefore, the decoder selects choice "1".
The proposed method of decoding convolutional code (7, 5) had been compared with Viterbi decoder algorithm for this code by means of computer simulation.
After using the proposed method for hard-decision decoding half-rate convolutional code (7, 5), the following simulation results were obtained: 1. The proposed decoder algorithm has a decoding delay of only 6 codewords per frame of decoding. The Viterbi decoder algorithm has a decoding delay of 10 codewords per frame of CC(7, 5) code. 2. The proposed decoder algorithm is more than 15 times faster (number of computations required to decode a information bit) than the Viterbi decoder. 3. Coding gain of the proposed decoder algorithm is 3.8 dB with BER (Bit error ratio) = x10-4, while the Viterbi decoder has a gain of 2.9 dB for the CC(7, 5) code. -Relative to the convolutional code (23, 35), the proposed decoder algorithm is more than 100 times as fast as the Viterbi decoder, but its gain is only 0.25 dB less than Viterbi's decoder. 4. There is no error propagation effect. 5. [There is a high probability of error detection and a communication channel quality evaluation capability, 10.07.97].
In summary, a unique method for decoding convolutional codes has been described.

Claims (2)

Ί 9 5 S 0 / 3 -8- CLAIMS:
1. The method of decoding convolutional codes by means of considering segments of encoded path that appeared by error fand reconstruction of original encoding path using these segments, comprising the following steps: - reception of the current frame of codewords; - formation of the current edge; - checking for continuity of the main encoded path; if the decoder can reach the next state, then it decodes the previous edge; if the main path is broken, then the decoder examines the frame and formes segments; - determination of reconstruction possibilities of the main encoded path using these segments; - choosing the most probable reconstruction using the following rules in that order: 1 ) minimum Hamming distance; 2) maximum of segment length; 3) maximum error dispersion in time; 4) random choice; - reconstruction of the main encoded path; - decoding of the main path; 10.07.97]
2. In particular, as claimed in claim 1 , the method for hard-decision decoding half-rate convolutional code (7, 5) is described here with references to the accompanying drawings.
IL11956096A 1996-11-04 1996-11-04 Method of decoding convolutional codes IL119560A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IL11956096A IL119560A (en) 1996-11-04 1996-11-04 Method of decoding convolutional codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IL11956096A IL119560A (en) 1996-11-04 1996-11-04 Method of decoding convolutional codes

Publications (2)

Publication Number Publication Date
IL119560A0 IL119560A0 (en) 1997-06-10
IL119560A true IL119560A (en) 1998-09-24

Family

ID=11069446

Family Applications (1)

Application Number Title Priority Date Filing Date
IL11956096A IL119560A (en) 1996-11-04 1996-11-04 Method of decoding convolutional codes

Country Status (1)

Country Link
IL (1) IL119560A (en)

Also Published As

Publication number Publication date
IL119560A0 (en) 1997-06-10

Similar Documents

Publication Publication Date Title
JP3822249B2 (en) Method and means for detecting communication signals with non-uniform error protection
CN115315908B (en) Method, system and apparatus for segmented polarization-adjusted convolutional (PAC) codes
WO2017215489A1 (en) Multiple-symbol combination based decoding for general polar codes
ES2291737T3 (en) METHOD AND SYSTEM TO CALCULATE THE ERROR RATE OF THE BITS OF A RECEIVED SIGNAL.
CA2020899C (en) Generalized viterbi decoding algorithms
US5638408A (en) Variable transmission bit rate discrimination method and apparatus
EP0931383B1 (en) Error correction with two block codes
CN108540141B (en) Polar code coding and decoding method and device
JPH09503359A (en) Multirate serial Viterbi decoder for code division multiple access system applications
EP1108289A1 (en) Partitioned deinterleaver memory for map decoder
US5936972A (en) Syndrome-based channel quality or message structure determiner
WO1999010984A1 (en) A method of and apparatus for selecting cyclic redundancy check generators in a concatenated code
EP1119109A1 (en) Bandwidth-efficient concatenated trellis-coded modulation decoder and decoding method thereof
JPH10215189A (en) Non-equalized digital receiver using block decoding with erasure and error correction
JP2005033705A (en) Decoding apparatus and decoding method
US20020108090A1 (en) Blind transport format detection of turbo-coded data
EP1514360A2 (en) Soft decoding of linear block codes
AU3636300A (en) Viterbi decoding using single-wrong-turn correction
Luyi et al. Forward error correction
US7272771B2 (en) Noise and quality detector for use with turbo coded signals
EP0612166B1 (en) A method and apparatus for error-control coding in a digital data communications system
WO2003017500A1 (en) Coded modulation scheme for a wireless communication system and methods thereof
US8196003B2 (en) Apparatus and method for network-coding
US7392459B2 (en) Method and apparatus for preventing a false pass of a cyclic redundancy check at a receiver during weak receiving conditions in a wireless communications system
IL119560A (en) Method of decoding convolutional codes

Legal Events

Date Code Title Description
FF Patent granted
KB Patent renewed
RH1 Patent not in force