Name Rahul Kumar
Department of Electronics & Communication Engineering
Lovely Professional University, Kapurthala, Punjab.
Abstract:- A convolutional code is a type of error-correcting code in which each m-bit information symbol (each m-bit string) to be encoded is transformed into an n-bit symbol, where m/n is the code rate (n ≥ m) and the transformation is a function of the last k information symbols, where k is the constraint length of the code. The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events. The terms Viterbi path and Viterbi algorithm are also applied to related dynamic programming algorithms that discover the single most likely explanation for an observation. For example, in statisticalparsing a dynamic programming algorithm can be used to discover the single most likely context-free derivation (parse) of a string, which is sometimes called the Viterbi parse.
I. INTRODUCTION
Convolutional codes are applied in applications that require good performance with low implementation cost. They operate on data stream, not static block.
Convolutional codes have memory that uses previous bits to encode or decode following bits It is denoted by (n, k, L), where L is code memory depth. Code rate r is determined by input rate TO output rate . Convolutional codes are used extensively in numerous applications in order to achieve reliable data transfer, including digital video, radio, mobile communication, and satellite communication. These codes are often implemented in concatenation with a hard-decision code, particularly Reed Solomon. Prior to turbo codes, such constructions were the most efficient, coming closest to the Shannon limit. Viterbi algorithm has found universal application in decoding the convolutional codes used in both CDMA and GSM digital cellular, dial-up modems,