CONVOLUTIONAL CODE INTRODUCTION
INTRODUCTION: It is a type of technique in which we check that is there is any error on the sender side as well as on the receiver side which is done by generating the parity key bits which are added to the original message bits on both sides so whole message is being checked by this technique. CC has some memory where the previous bits are stored which refer to the original message other than those parity bits which we added on real bits. In this error detection and correction mechanism is applied so for that it operate on three different parameters.Rate of convolution code can be calculated from;Input/Output-> k/n
Where k = represents number of input bits
n = represents number of output bits
K = Memory containing both input and output bits.And; Code rate is defined as Rc= k/nSo for example if n=2 and k= 1 then Rc will be 0.5
USAGE: Commonly used for the secure and the reliable data transfer over several applications like digital video, mobile communication and satellite communication.
WORK (ENCODING): In its encoding all the three parameters are used one by one, and if we have even number of 1s then it will be 1 at output an if we have odd number of 1’s then we will get 0 and beside this the output of all three parameters will be XOR.
In this 1 the U(n), U(n-1), U(n-2) from these 3shift registers value will be XOR and generate output against that input bits. In the starting the value of all shift registers will be 0, and then one by one the input bits will pass to these registers. As for state table we haveState table= 2^k-1= 4 because k=3
The above mention blue color blocks in figure are the State and if we pass the input value as from State the output will be 11and vice versa; 2 So for the input 01010101, the output incremented message will be double of the input message just like this 0011110010010110(output code word).DECODING OF CONVOLUTIONAL CODE: 3 Fano Algorithm: Also known as Sequential Decoding. Only works on a code tree because in this the path merging is not possible. Holds the information of all three paths on every decoding stage (current path, immediate predecessor path and one of its successor paths).
Viterbi algorithm: Also known as Maximum Likelihood. Observes the whole received sequence of a given length. It operates on maximum likelihood decoding rule which tries to reduce the error between the detected one and the original transmitted sequence.
Coding technique which is used in the information technology where we take it as a forward error correction. Use to send the data with more reliability for communication purpose under a specific noise ratio (SNR).
It is a combination of block and convolution code and is used for the mobile communication like in 3G/4G (e.g. LTE), for satellite communication and also for the purpose of reliable communication over a low noisy channel. It is now competing with other similar codes like LDPC code (Low Density Parity Check).LDPC is a linear error correction code which helps in sending or transmitting the message over a channel where there is more noise due to which the chances of loss of information will become less even in noisy channel 4.ENCODING:The encoding of the turbo code is expressed in the diagram below;In this encoding one copy of the encoder1 receive a input bit which receive the single output check bit on the basis of that single input bit which is C1. Now the encoder2 will receive the interleaved bit stream which will receive the output check bit C2 then all these three output (I,C1,C2) will be then pass through the multiplexer and the output of the multiplexer will be like IC1C2IC1C2…. to the Puncture. In all this the resulting sequence of has the code rate of 1/3.
INTERLEAVER: Used for the storage system which helps to improve the performance of the Forward Error Correction codes. Whenever the number of error exceed the capability of the error correction code then and fails to recover the original bit from that lost one, so for this problem we use the Interleaver to accurately handle problems by shuffling the source symbol across several code words. That is why Interleave is mostly used in burst error correction.5 PUNCTURING:Puncturing is the code rate of ½ and it can be gain by taking the one half of the check bits alternating between the out of two encoder i.e. IC1,IC2, …. So this process is called Puncturing.
DECODING:In this when the data or the message is being received on the destination side then that data is depunctured if it is needed by calculating the missing check bits or by setting those missing bits to 0. As from the figure above is clearly shown that the decoder 1 will perform the action first by decoding the value which is received by the demultiplexer and those values are not simply 1s or 0s but they will be some other higher value which are based on the confidence of the demodulator decision and this method is known as Soft Decision Decoding. After this the decoder1 will send the decoded value X1, the value “X1” and the “I” will together transfer to the Decoder2 along with the value “C2” so in all this the interleaver will perform its function to set all the values properly. After this the Decoder2 will produce the corrected bit of X2 and send the X2 bit to the Decoder1 as a fed back of second iteration decoding algorithm, b repeating al this process a output will be generating after completing the decoding of all the bits and all this process will be completed in few steps and will cause a little delay but will give high performance because of the using of Interleaving, parallel encoding, soft decision decoding, feedback and of puncturing. 6
*6 = Wireless Communication Network and System-Chapter5*