In digital communications, SNR is normally measured in footings of Eb/N0, which stands for energy per spot divided by the nonreversible noise denseness [ V. Pless, Introduction to the Theory of Error-Correcting Codes, 3rd erectile dysfunction. New York: John Wiley & A ; Sons, 1998. ] .

Literature Review study

The beginning of error-correcting codification.

Modelling Of Convolutional Encoders With Viterbi... TOPICS SPECIFICALLY FOR YOU

Communication is an act of conveying message signifier one point to the other ; and communicating in it self is non perfect even if the message is accurately stated because it may be garbled during transmittal. As a consequence when a message travels from an information beginning to a finish both the transmitter and the receiving system would wish confidence that the standard message is free from mistakes and if it contains mistake it will be detected and corrected. Richard W Hamming in 1974 was motivated by error which occurred internally in a computing machine and as a consequence stated to look into the theory of mistake rectification [ 1 Thomas M Thompson ] .

In 1948 the cardinal constructs and mathematical theary of information transmittal were laid by C. E Shannon [ Shannon C. E. “ Mathematical Theory of Communication ” Bell system Tech J. Vol 27, No 23, July 1948 pp 379-423 ] He perceived that it is possible to convey digital information over noisy channel with arbitrary little mistake chance if there is proper channel cryptography and decryption in topographic point. The end of mistake free transmittal can be achieved if the information transmittal rate is less than the channel capacity. He did non nevertheless bespeak how to accomplish the undertaking his theory is called the Shannon capacity theory and it was the theory that opens many research workers to the determination of efficient method for error-control cryptography by presenting redundancies to let for mistake rectification.

Shannon theory equation is stated below is chiefly to turn out that any communicating channel could be characterized by a capacity at which information could be faithfully transmitted.

C = B log2 ( 1 + )

C = channel capacity in bits/sec

B = bandwidth in Hertz

S/N = signal to resound ratio.

1 A typical communicating system

Figure 1: Typical communicating system ( Dr Zhu talk note ) .

Explanation of a typical communicating system

A communicating system is the procedure of acquiring information from the information beginning to the information sink ( finish ) ; but in so making there is tremendous informations that is sent and because bandwidth is expensive there is hence need to cut down the size every bit good as bound the mistakes acquiring to the finish.

An encoder is a function or algorithm that transforms each familial sequence of symbols from the message to a another sequence by adding redundancy while the decipherer transforms the standard sequence and take redundancy [ Henk new wave Tiborg ]

Chapter 2

Channel cryptography

Channel cryptography is the procedure of fiting the beginning encoder end product to the transmittal channel and it by and large involves Error control cryptography ; Transmission cryptography and Scrambling [ Graham Wade coding techniques ]

Error-control coding covers a big category of codifications and decrypting techniques. Block codifications and Convolutional codifications are the normally used types in digital communicating system for dependable transmittal of informations from the beginning to finish.

Figure 2 Overview of Error control coding ( redrawn from Graham Wade coding techniques pg 199 )

The two chief categories of mistake control are used to accomplish an acceptable mistake rate at the receiving system are Automatic repetition petition ( ARQ ) and Forward mistake rectification ( FEC ) .

The ARQ uses the mistake sensing method together with a feedback channel that allows for rhenium transmittal in the instance the message was received with mistake in which instance the receiving system will inquire for the message once more. This sort of method is fundamentally where there is variable hold can be condoned and a changeless through put is non indispensable. In the ARQ systems the receiving system merely detects mistake but can non rectify it but bespeak for the information to be re transmitted. The usage of excess codification usually called para cheque helps the receiving system detects whether the message was received in mistake.

The intercrossed ARQ is the same as the ARQ but with a small hardware alteration to cut down the retransmission rate and therefore increase the throughput.

Forward mistake rectification controls the standard mistake via forward transmittal merely. The FEC is applicable where the throughput needs to be changeless and a delimited hold eg existent clip systems ; digital storage systems, deep-space and satellite communicating, tellurian radio system. Deep-space systems began utilizing FEC in the early 1970 ‘s to cut down transmittal power demands [ Wicker, S and Bhargava, V.K. “ Reed Solomon Codes and their Applications, IEEE imperativeness, New Jersey 1994 ]

in existent clip systems the mistake codifications are usually selected for the worst instance scenario Internet Explorer worst transmittal channel conditions to acquire the needed BER and therefore cut down when conditions are better [ Graham Wade coding techniques ]

Figure 3 Block diagram of a FEC communicating system ( redrawn from The communications handbook Jerry d Gibson )

The FEC encoder maps the beginning informations onto the modulator and the FEC decipherer efforts to rectify mistakes that passes through the distinct informations channel which comprises of the modulator, channel and the detector.

Mention to the above diagram figure 2 it can be seen that the different types of channel coding autumn under Block codifications and Convolutional codifications ( see subsequently ) . The block codifications have strong footing for additive algebra and Galois Fieldss. Galois Fieldss are a finite field operation where all operations performed in the field consequence in replies in the same field.

The pick between the usage of either barricade codification or Convolutional codifications depends on factors like codification rate, the type of decrypting technique, word synchronism and the informations format.

Linear block codifications

Block codification is a type of coding generated by adding excess spots ( r spots ) formed by a additive combination of the original informations sequence ( k spots ) to the information block. The added spots are normally known as para cheque spots and the complete spot sequence ( n information spots + R look into spots ) is known as a codeword as shown in the figure below. Therefore n = K + R.


Figure 4 Block cryptography ( From Mischa Schwartz Pg 162 )

In block codifications if the cheque bits R = 1 so it means that the cheque spot defined as the modulo 2 amount ( XOR ) of the K information spots. In the binary Fieldss the operation modulo-2 equivalent to the exclusive-OR map of Boolean algebra.

The opposite of add-on ( minus ) is tantamount to add-on, division by nothing is non allowed and division by 1 is tantamount to generation by 1. The modulo-2 add-on is

0 + 0 = 0

0 + 1 = 1

1 + 1 = 0

0 ten 0 = 0

O x 1 = 0

1 ten 1 = 1 [ sweeney ]

In this instance the mod 2 amount of the familial n spots should ever be zero unless there is an mistake in sensing. This is simple and can observe an uneven figure of mistakes. For illustration for an 8 spot information spot sequence 10110010 the para spot is 0 and can therefore be said to be even para. Increasing the figure of para spots increases the truth of the mistake rectification codification and can take to error sensing. Many different codifications exist to observe and rectify different types of mistakes

Cryptography of Block codifications

See an information spot sequence denoted by

The corresponding codeword will be denoted by

For a systematic codification c1 = d1, c2 = d2 aˆ¦aˆ¦aˆ¦aˆ¦aˆ¦aˆ¦ . ck = dk and the staying spots are provided by the leaden modulo 2 amount of the information spots.

( 1 )




Depending on the construction of the codifications the values of the hij can be 0 or 1.

For a ( 7,3 ) codification ( n = 7 end product spots for K = 3 information spots ) there are 8 possible codewords shown in table 1 for a codification defined as

( 2 )




000 0000


001 1101


010 0111


011 1010


100 1110


101 0011


110 1001


111 0100

Table 1 ( 7,3 ) codification produced from equation ( 2 )

The overacting distance between any two codification vectors is the figure of symbols in which they differ. Eg

1 1 0 1 0 0 1

1 1 1 0 1 0 0

The overacting distance in this instance is 4 because the highlighted symbols differ.

Looking at the 2nd column in table 1, each codification differs in at least three places to the following value. There dmin = 3

Number of noticeable mistakes =

Number of correctable mistakes = t =

single-error-correcting, double-error-detecting ( SECDED ) codifications. SECDED codifications are normally used in computing machine memory protection strategies.

In general a Hamming distance of vitamin D = 2x + 1, allows ten mistakes to be corrected.

If equation ( 1 ) and ( 2 ) are turn into a matrix representation for easiness of use so

( 3 )

Where degree Celsius is the codeword and d the information spots. G is a K x n sized matrix called the codification generator matrix which has as its 1st K columns a K x K individuality matrix Ik so that the information informations spots are maintained in the codeword. The staying columns represent the converse array of weight coefficients and can be represented by an array P. i.e. G = [ Ik, P ] .

For the illustration considered ;

( 4 )


( 5 )

Note that the 1st three columns of G must be the individuality matrix

Decoding of Block codifications

Decoding a familial codeword can be done by using the same para cheque computation to the information spots and comparing the para spots ( ie the last R columns ) with the standard codeword. If the two lucifer so the information spots are considered to be right. If they do non fit so a expression up tabular array can be used to happen the most likely values of the information spots, through comparing.

Mathematically, we know from equation ( 7.3 ) that. c can be rewritten in the signifier ;

( 6 )

Where vitamin D is the standard information spots and dP the standard cheque spots.

So a spot watercourse is received which contains information spots d. The corresponding cheque spots displaced person should match to the para cheque sequence cp and so a comparing is performed utilizing modulo-2 add-on. If there are no mistakes ;

( 7 )

An alternate method of decrypting is to organize a para cheque matrix

( 8 )

Where T represents the matrix transpose.

( 9 )

For the illustration we have considered ;

( 10 )

The matrix H can be used for mistake sensing and rectification. Let R be a vector stand foring the received informations watercourse. Multiplying this by the transpose of the para cheque matrix we get a vector s called the syndrome.

( 11 )

If the syndrome is non-zero so this indicates that one or more mistakes have occurred.

From our illustration, if the information vector is 101, the seven spot codeword is 1010011 ( table 1 ) . Say an mistake occurs in the 2nd place, altering the 0 to a 1 so the received codeword R is 1110011.

From equation ( 11 )

Which is the same as the 2nd column in the matrix H, bespeaking that an mistake has occurred in the 2nd spot.

Restriction to barricade codifications

Overacting codifications usually limit our coding capablenesss foremost they are merely single-error-correcting and Second they have merely a limited scope of values of length N and dimension K, and the available values may non travel good with the system. These jobs are therefore overcome by looking to other types of codifications. [ sweeney ]

Cyclic codifications

Cyclic codifications are a subset of additive block codifications, and they have all the belongingss of block codifications but the difference is such that if any codeword is shifted cyclically.

Most common construction to be encountered belongs to the subclass known as cyclic codifications.

The popularity of cyclic codification is partially because their structural belongingss provide protection against bursty mistakes in add-on to simplifying the logic required for encoding and decryption, though the simplified decryption may be achieved at the disbursal of hold [ sweeyney ] .

The codewords sidelong displacements of one another, with mod-2 add-on of the codewords ensuing in another codeword. Codewords can be represented as multinomial looks, which allows them to be easy generated by displacement registries. For illustration, the codeword can be represented as a codevector

degree Celsiuss = ( c1, c2, aˆ¦ , cn ) . ( c2, c3, aˆ¦ , cn, c1 ) and ( c3, c4, aˆ¦ , cn, c1, c2 ) are besides codewords.

For illustration the ( 7,3 ) codification shown in table 1, each codeword can be obtained by sidelong displacements of the other codewords ( apart from the all zero one ) .

Cyclic codifications can be described as a multinomial, each n-bit codeword degree Celsius = ( c1, c2, aˆ¦ , cn ) is described as an ( n-1 ) order multinomial in ten, where each power of ten represents a 1-bit displacement in clip. The full multinomial is given by

( 13 )

Other codewords can be formed by switching spots and leting the highest order term to ‘wrap around ‘ . Switching one time we get ;

( 14 )

to supply another codeword.

The G matrix described in equation ( 5 ) above can besides be represented in multinomial signifier. Get downing with the 1st column, this is easy done by stand foring value of 1 with its matching ten value. So for the illustration we have antecedently considered, the G matrix is given by

( 5 )

And in multinomial signifier is given by ;

( 15 )

The manner the G matrix is constructed means the last row is ever of the order n-k with the last term of the multinomial being a 1 i.e. xn-k + aˆ¦ + 1. This is known as the codification generator multinomial as the full G matrix can be obtained from g ( x ) . If we use r = n-k, the signifier of g ( x ) is ;

( 16 )

Remembering that the first K columns have to stand for the individuality matrix, the regulations for obtaining the full G matrix from the codification generator multinomial are ;

Put the codification generator multinomial into the bottom row of G.

To cipher the following row up displacement all values one time to the left

if it does n’t go against the individuality matrix status for the 1st K columns, it ‘s all right

if it violates the individuality matrix status for the 1st K columns so mod2 add it to one of the other rows below.

Continue to make this for all rows.

So for the illustration we have considered in equation ( 15 ) we put the codification generator multinomial in the bottom row. To cipher the 2nd row we shift by one to give us x5 + x4 + x3 + x + 0. However the term in x4 violates the individuality matrix status, therefore we must add it to the row below to give x5 + x3 + x2 + x + 1 which is the 2nd row. Switching this row one to the left gives us the top row as the individuality matrix status is n’t violated.

So for illustration, the length 7 cyclic codifications. ( xn – 1 ) can be factorized into the following irreducible multinomials

x7 a?’1 = ( x a?’ 1 ) ( x3 + x + 1 ) ( x3 + x2 + 1 ) .

As these are binary codifications, all the subtraction marks can be replaced by plus marks:

x7 + 1 = ( x + 1 ) ( x3 + x + 1 ) ( x3 + x2 + 1 ) .

As there are 3 irreducible factors, there are 23 = 8 cyclic codifications. The 8 generator multinomials are:

( I ) 1=1

( two ) x + 1 = x + 1

( three ) x3 + x + 1 = x3 + x + 1

( four ) x3 + x2 + 1 = x3 + x2 + 1

( V ) ( ten + 1 ) ( x3 + x + 1 ) = x4 + x3 + x2 + 1

( six ) ( ten + 1 ) ( x3 + x2 + 1 ) = x4 + x2 + x + 1

( seven ) ( x3 + x + 1 ) ( x3 + x2 + 1 ) = x6 + x5 + x4 + x3 + x2 + x + 1

( eight ) ( ten + 1 ) ( x3 + x + 1 ) ( x3 + x2 + 1 ) = x7 + 1

The multinomials of ( three ) and ( four ) have degree 3 and so generate [ 7,4 ] codifications. [ 7,3 ] codifications are generated by ( V ) and ( six ) .

As noted antecedently, given G, one can cipher the codewords. An alternate manner of ciphering codewords is to observe that each codeword is a merchandise of the multinomials stand foring the information bits a ( ten ) and the codification bring forthing multinomial g ( x ) i.e. degree Celsius ( x ) = vitamin D ( x ) g ( x ) . Table 2 below shows how the codewords can be generated utilizing mod2 arithmetic for the instance when g ( x ) = x4 + x3 + x2 + 1. These are the same codewords as those shown in Table 7.2.

vitamin D ( ten )

vitamin D ( x ) g ( ten )






x4 + x3 + x2 + 1



x5 + x4 + x3 + ten


ten + 1

x5 + x2 + x + 1



x6 + x5 + x4 + x2


x2+ 1

x6 + x5 + x3 + 1


x2+ ten

x6 + x3 + x2 + ten


x2 + x + 1

x6 + x4 + x + 1


Table 2 codewords Generation straight from the generator multinomial g ( x ) = x4 + x3 + x2 + 1

In wireless systems, block codifications are used merely for mistake sensing non rectification as the figure of para spots becomes really big for mistake rectification and other methods are more appropriate. Error sensing for cyclic codifications is once more merely merely comparing the expected para spots with the received informations. Normally 8, 12 or 16 para spots are appended to the information spots to supply mistake sensing.


Many of the most of import block codifications for random-error rectification autumn into the household of BCH codifications, named after their inventors Bose, Chaudhuri and Hocquenghem. BCH codifications include overacting codifications as a particular instance.

BCH codifications are a category of cyclic codifications discovered in 1959 by Hocquenghem [ A. Hocquenghem, Codes correcteurs d’erreurs, ChifFres, Vol. 2, pp. 147-156, 1959 ] and

independently in 1960 by Bose and Ray-Chaudhuri [ R.C. Bose and D.K. Ray-Chaudhuri, On a category of error-correcting binary group codifications, Information and Control, Vol. 3, pp. 68-79, 1960 ] . They include both binary and multilevel codifications and the codifications discovered in 1960 by Reed and Solomon [ I.S. Reed and G. Solomon, Polynomial codes over certain finite Fieldss, J. Soc. Indust. Applied Math. Vol. 8, pp. 300-304, 1960 ] were shortly

recognized to be a particular instance of multilevel BCH codes [ D.C. Gorenstein and N. Zierler, A category of error-correcting codifications in autopsy symbols, J. Soc. Indust. Applied Math. Vol. 9, pp. 207-214, 1961 ] .


Reed Solomon codifications

Reed Solomon codifications are a particular illustration of multilevel BCH codifications. Because the symbols are nonbinary, an apprehension of finite field arithmetic is indispensable even for encoding. Furthermore the decryption methods will be similar to those encountered for binary BCH codifications ; there are two clearly different attacks to the encryption of Reed Solomon codifications. One works in the clip sphere through computation of para cheque symbols. The other plants in the frequence sphere through an opposite Fourier transform. We shall run into the clip sphere technique foremost as it is more likely to be encountered in pattern. The standard decryption method is basically a frequence sphere technique, but alteration is needed for RS codifications which can be achieved in two different ways [ Sweeney ]

Reed Solomon codifications are block- based codifications with high codification rate and efficiency for burst mistake rectification. It can observe and rectify multiple random symbol mistakes. The reed Solomon codifications are used in deep-space applications every bit good as in Compact Disks ( Cadmium ) and DVD ‘s.

Convolutional Cryptography

Convolutional cryptography and block cryptography are the two major signifiers of channel cryptography. Convolutional codifications operate on consecutive informations, one or a few spots at a clip. Block codifications operate on comparatively big ( typically, up to a twosome of 100 bytes ) message blocks. There are a assortment of utile convolutional and block codifications, and a assortment of algorithms for decrypting the received coded information sequences to retrieve the original informations [ G. D. Forney, Jr. , “ Convolutional Codes II: Maximum-Likelihood Decoding, ” Information Control, vol. 25, June, 1974, pp. 222-226. ] .

Convolutional codifications have the ability to rectify mistakes and were foremost introduced in orbiter and infinite communications [ Schwartz ] .

Convolutional codifications are normally described utilizing two parametric quantities: the codification rate ( R ) and the restraint length ( L ) . The codification rate, is expressed as a ratio of the figure of spots into the Convolutional encoder ( K ) to the figure of channel symbols end product by the Convolutional encoder ( n ) in a given encoder rhythm R= k/n.

The restraint length parametric quantity, L, denotes the “ length ” of the Convolutional encoder, i.e. how many k-bit phases are available to feed the combinative logic that produces the end product symbols. Closely related to L is the parametric quantity m, which indicates how many encoder rhythms an input it is retained and used for encoding after it foremost appears at the input to the Convolutional encoder. The thousand parametric quantity can be thought of as the memory length of the encoder.

Convolutionally Encoding the Data

Convolutionally encoding the information is accomplished utilizing displacement registry s and associated combinative logic that performs modulo-two add-on. ( A displacement registry is simply a concatenation of flip-flops wherein the end product of the n-th reversal is tied to the input of the ( n+1 ) th flip-flop. Every clip the active border of the

clock occurs, the input to the reversal is clocked through to the end product, and therefore the informations are shifted over one phase. ) The combinative logic is frequently in the signifier of cascaded exclusive-or gates.Convolutional codifications involve the operation of modulo-2 arithmetic on a skiding watercourse of spots. The Convolutional programmer consists of a K-stage displacement registry, with input spots being shifted along the registry one spot at a clip ( K is called the restraint length of the programmer ) . Modulo-2 amounts of the contents are read out at a rate i?® times as fast by switching out i?® spots for every one in. Performance of the encoder can be improved by increasing both K andi?® , although at the cost of complexness and spot rate of operation.

Convolutional encoding utilizing Viterbi decryption is a FEC technique that is peculiarly suited to a channel in which the familial signal is corrupted chiefly by linear white Gaussian noise ( AWGN ) . AWGN is a channel theoretical account whereby the lone mutilation to the communicating informations is a additive add-on of white noise and that implies a random signal with same power within a fixed bandwidth at a centre frequence ( Flat Power spectral Density in units Watts/Hz of a bandwidth ) . The AWGN is suited for mathematical theoretical accounts because it gives an penetration of the behavior of the system and farther is a good theoretical account for broadband radio systems, orbiter and deep infinite communications.

An encoder can be classified as a restraint length K, rate 1/i?® encoder. An illustration of a K = 3, rate 1/i?® encoder is shown in Figure 5 ( these are two illustrations of the same encoder, the information is merely read out at different points of the registry.

Code rate — — — — —

Constraint lengthaˆ¦aˆ¦aˆ¦aˆ¦aˆ¦aˆ¦


Figure 5 Example of a K = 3, rate A? encoder ( from Schwartz P180 )

In both instances data spots are fed into the input and for each input two information spots are read out at the end product phase ( the end product informations rate is twice that of the input ) . To organize the end products at 1 and 2 the values in the registries are added modulo-2 as shown at g1 and g2. The end product is read foremost at line 1 followed by line 2. Convolutional encoders are initialized by puting all the spots to zero.

As an illustration, see the encoder shown in figure 5 for the input spot sequence shown below ;

Input spots: 0 1 1 0 1 0 0 1

Output spots: 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1

For an 8 spot input sequence, 16 spots are end product. The encoder is ab initio all nothings. For another 0 input the spots within the registry are 0,0,0.

g1 = 0 i?… 0 i?… 0 = 0 ( modulo-2 add-on of each value )

g2 = 0 i?… 0 = 0 ( modulo-2 add-on of the 1st and 3rd values )

For the following input of 1, the contents of the registry becomes ( 1,0,0 ) , which gives

g1 = 1 i?… 0 i?… 0 = 1

g2 = 1 i?… 0 = 1

and so on for the remainder of the sequence.

Each map generator g can be represented by a K-bit vector, 1 when a connexion is made and 0 when no connexion is made. For the illustration considered g1 = [ 111 ] and g2 = [ 101 ] . For larger encoders such as the K=9 rate A? encoder shown in figure 7.3 the map generators are represented in octal signifier. In binary signifier g1= [ 111101011 ] and g2= [ 101110001 ] , in octal signifier g1= [ 753 ] and g2=561. This encoder is used in the 3rd coevals cdma2000 system.


Figure 6 K=9, rate A? convolutional encoder ( from Schwartz p181, used in cdma2000 )

A convolutional encoder can be represented in 3 different ways ( I ) province diagram ( two ) treillage ( three ) an of all time spread outing tree.

Convolutional cryptography is besides used in infinite communications, for illustration, the Mars wanderers use a K = 15, rate 1/6 encoder.

State diagram

For the encoder shown in figure 5 the end product spots depend on the incoming spot and the two spots in the right manus phases. The agreement of the spots in the two right manus phases is known as the province and an incoming spot can do a alteration in the province. The manner the encoder can alter province can be represented as a province diagram ( shown in figure 7 ) .


Figure 7 State diagram representation of a K = 3, rate A? encoder ( from Schwartz P182 )

a, B, degree Celsius, 500 represents the provinces, the values of the provinces are shown in the square box. The incoming spot is shown in brackets along the pointers and the end product spots are the brace of spots along the pointer.

The two rightmost spots can be in one of four provinces a = 00, B = 10, c = 01, and d = 11. See an encoder in province degree Celsiuss = 01, for a zero spot geting the three spots are 001, giving g1 = 1 and g2 = 1 and an end product of 11, at the following displacement of spots the encoder alterations to province a = 00. If a 1 spot had arrived the three spots in the encoder would be 101 giving g1 = 0 and g2 = 0, at the following displacement of spots the encoder moves to province B. It is of import to observe that an encoder can non travel from one province to any other province, there are defined waies that an encoder can follow around the province diagram ( and therefore a defined set of end product spots for a given sequence of input spots ) . This belongings of convolutional encoders provides the mistake sensing and rectification capableness. With different definitions of g1 and g2 the values of the end product spots would alter, but the waies of the province diagram remain the same.

Trellis Representation

Figure 8 shows the trellis representation of the same encoder. In this instance, the provinces are shown along the left manus column and clip is represented along the horizontal axis.


Figure 8 Trellis representation of a K = 3 rate A? encoder ( from Schwartz P 183 )

From each province the encoder can travel into one of two provinces depending on the input spot. For each brace of pointers emerging from a province, the upper pointer represents a 0 input spot and the lower pointer a 1 input spot. The two values along the pointers represent the end product spots.

Tree Representation

An illustration of the tree representation is shown in figure 9 Similar to the treillage representation, when traveling from one province to another, the upper lines represent a 0 input spot and the lower lines a 1. The two spots along the lines represent the end product spots.


Figure 9 Decision tree representation of a Convolutional encoder ( from Schwartz P 184 )

The determination tree demonstrates that the figure of possible sequences increases as 2L with clip, along with the Hamming distance for each sequence. This is one of the powerful characteristics of convolutional encoders, as a given way additions in length it can be more readily distinguished from other waies and mistakes can be more easy detected and corrected.


Viterbi decryption is one of two types of decrypting algorithms used with Convolutional encoding the other type is consecutive decryption.

Consecutive decryption has the advantage that it can execute really good with long-constraint length convolutional codifications, but it has a variable decryption clip [ Lin, Ming-Bo, “ New Path History Management Circuits for Viterbi Decoders, ” IEEE Transactions on Communications, vol. 48, October, 2000, pp. 1605-1608. ] . The treatment of consecutive decrypting algorithms will non be highlighted here since it is beyond the range of this undertaking.

One possible scheme for decryption is merely to compare the standard spots with the set of expected sequences from the encoder. The 1 that matches best is the 1 most likely to hold been transmitted. The choice of the most likely sequence to hold been transmitted allows error rectification to be performed. Say we select a sequence of L spots, the figure of possible combinations of these spots is 2L. Increasing the spot length increases the figure of combinations and therefore the truth. This is known as maximum-likelihood decryption.

The chief drawback with this attack is that as L increases the figure of comparings that have to be made additions. For illustration, for L = 100 the figure of comparings that have to be made is 2100. One manner of get the better ofing this job is to utilize a Viterbi algorithm.

Rather than merely comparing every sequence the Viterbi algorithm uses our cognition about the signifier of the encoder to cut down the figure of comparings that are made.

For illustration, see the province diagram in figure 7 If an encoder is in province B, it could merely hold reached here from either province a or province c. The Hamming distance between the standard sequence of spots and the two sequences of spots matching to the waies into province B is compared. The smallest Overacting distance way is retained as the ‘survivor ‘ and the other way is discarded. This means that the figure of waies remains changeless for each clip interval. For illustration, see the tree representation in Figure 9, there are four waies into province a after 4 clip intervals, using the Viterbi algorithm at each clip measure would intend that merely one of these waies would ‘survive ‘ .

So how does this work in pattern? Let ‘s see an illustration utilizing the K = 3 rate A? encoder considered antecedently. The decipherer has been running for a small piece, choosing the most likely waies and the most likely received spots utilizing information from the last 5 clip intervals. From old loops we have arrived at provinces a, B, degree Celsius and vitamin D for the waies shown in Table 7.3 ( merely the old 4 intervals are shown ) . Note that we do non cognize for certain we are in one of these four provinces, we are merely seeking to cipher the most likely waies, given the received informations.

Possible Waies

Interval i‚®





Received spots i‚®





















Table 3 Initial values for the Viterbi decrypting illustration.

Two things occur in interval 5 ; ( I ) we receive new informations spots ( in this instance the spots 10 ) ( two ) the end product spots matching to the two possible passages from the old province ( shown in Table 7.3 ) to the current province are calculated.

Table 4 adds the new information.

For an encoder in province a, it can either remain in province a ( with the end product of 00 ) or it can travel to province Bs ( with the end product of 11 ) .

For an encoder in province B, it can travel to province degree Celsiuss ( with the end product of 10 ) or it can travel to province vitamin D ( with the end product of 01 ) .


The new possible end product values are written in the column matching to interval 5.

Possible Waies

Interval i‚®






Received spots i‚®






Previous State

Current province

Overacting distance























degree Celsiuss








vitamin D







degree Celsiuss








degree Celsiuss








vitamin D

vitamin D







vitamin D

degree Celsiuss


Table 4 ( I ) new informations spots are received in interval 5 ( two ) end product passages are included for the old

Note the figure of waies in Table 2 have increased by a factor of 2. To avoid this turning as 2n, we now need to make up one’s mind which of the new waies survive into the following clip interval. We besides need to make up one’s mind which of the waies corresponds to the most likely informations really transmitted. Both can be done utilizing the Hamming distance as shown in Table 7.4.

To choose the waies that will last into the following clip interval we need to choose the smallest Hamming distances for waies that reach each of the provinces a, B, degree Celsius, and d. These are highlighted by* in Table 4 and are maintained into the following clip interval, dropping the oldest clip interval column ( 1 in this instance ) .

The way that provides the smallest overall Hamming distance provides the most likely information transmitted. The oldest spots ( from interval 1 ) are so decoded as the end product spots from the decipherer. In this instance the most likely spots to hold been transmitted are 00 ( highlighted by ** in table 4 ) . Even though the spots received were 01, the Viterbi decipherer has corrected the mistake.

The major advantage of the Viterbi decipherer is that merely 2K-1 comparings need to be made at each clip interval. Therefore for the K = 3, L = 5 encoder shown in the old illustration, the figure of comparings that need to be made are 2K-1L = 40 whereas if a comparing of all waies is performed so 2L = 64 comparings need to be made.

For this illustration this is non a important betterment but see the instance of the K = 9 encoder used in cdma2000 and shown in figure 3. A value of L = 4 or 5 times K has been shown to supply a public presentation comparable to that of really big L so Lashkar-e-Taiba ‘s set L = 4K = 36. In this instance the Viterbi algorithm requires 2K-1L = 256 ten 36 = 9216 alternatively of 236 comparings ( a factor of 7 million less ) .

Turbo codifications

We have so far considered block codifications and convolutional codifications but there are advantages in uniting them.

Let ‘s first see consecutive concatenation of encoders shown in figure 10. A block encoder bearers out the initial cryptography, the encoded blocks are interleaved, or spread out over clip over a figure of blocks before being fed to the convolutional encoder. This reduces the happening of explosions of mistakes. The block encoder is known as the outer programmer and the convolutional encoder as the interior encoder.


Figure 10 Consecutive concatenation of encoders ( Schwartz P190 )

Turbo codifications offer high public presentation decryption by parallel concatenation of convolutional decipherers. Some of the of import work in this country has been by Berrou and Glavieux ‘Near optimal mistake rectifying cryptography and decryption: turbo codifications, ‘ IEEE Trans on Communications 44:1261-71 ( 1996 ) . The exhilaration in the cryptography community comes from the close optimal public presentation of the codifications. But what does ‘optimum ‘ mean in this context?

It relates to work by Shannon specifying the capacity C of a channel. For the instance of Gaussian white noise, the Capacity ( in bits/sec ) , for input signals of power S, noise with mean power N, in a W Hz bandwidth is given by ;

( 7.17 )

At some rate R bits per second below the capacity, error free transmittal can be obtained. Alternatively in order to accomplish low spot error chance, the spots can be transmitted with signal degrees above the noise.

For illustration to accomplish a spot error chance of 10-5 utilizing Phase Shift Keying ( PSK ) the signal to resound ratio demands to be 9.6dB.

For the K=7, rate A? encoded described earlier in this talk, the SNR needs to be 4.2dB.

For turbo codifications, the SNR needs to be 0.7dB.

This is highly close to the optimum, leting low power, high bandwidth communicating, therefore the exhilaration and consumption in 3G systems ( see Schwartz P191-2 for more information ) .

A turbo encoder involves the parallel concatenation of recursive systematic convolutional ( RSC ) encoders ( figure 11 ) . Systematic in this context means that the input is fed straight to the end product as shown by line c2. Recursive means the end product is fed back to the input.


Figure 11 Example of a recursive systematic convolutional encoder ( from Schwartz P193 )


Figure 12 Rate-1/3 turbo encoder

Parallel concatenation of the RSC encoder is shown in figure 7.9 with an illustration of a rate 1/3 turbo encoder. The first end product is obtained straight from the input, the 2nd from a RSC and the concluding end product is obtained through an interleaver and RSC2. It should be noted that the design of the interleaver is of import to the public presentation in order to decorrelate the input bits fed to both encoders.

A maximal likeliness attack is once more used in decrypting.

Glossary of footings.

Bit Error Rate ( BER ) is a step of mean likeliness that a spot will be in mistake. For illustration a channel with a BER of 10-9 agencies that there is an norm of 1 spot to be received in mistake in every 1,000 000 000 spots.

A typical communicating system.

The construction

Included Components ( constituents ‘ map )

Channel cryptography ( why we need channel coding? )

* you can speak sing to the radio communicating system

* you can speak sing to the different execution of radio communicating system

2. Channel coding

Different types of channel

Different types of coding strategy ( Comparing on SNR, BER, Coding Gain etc )

Convolutional Code ( Why choose convolutional codification? )

3. Viterbi Decoding

Comparing on different algorithm and Make a decision on )

Share this Post!

Kylie Garcia

Hi there, would you like to get such a paper? How about receiving a customized one?

Check it out