initial structure Non-systematic convolutional codes are more popular due to better noise immunity. It relates to the free distance of the convolutional code. Recursive and non-recursive codes The encoder on the picture above is a non-recursive encoder. Here's an example of a recursive one and as such it admits a feedback structure: The example encoder is systematic because the input data is also used in the output symbols (Output 2). Codes with output symbols that do not include the input data are called non-systematic. Recursive codes are typically systematic and, conversely, non-recursive codes are typically non-systematic. It isn't a strict requirement, but a common practice. The example encoder in Img. 2. is an 8-state encoder because the 3 registers will create 8 possible encoder states (23). A corresponding decoder trellis will typically use 8 states as well. Recursive systematic convolutional (RSC) codes have become more popular due to their use in Turbo Codes. Recursive systematic codes are also referred to as pseudo-systematic codes. Other RSC codes and example applications include: Useful for LDPC code implementation and as inner constituent code for serial concatenated convolutional codes (SCCC's). Useful for SCCC's and multidimensional turbo codes. Useful as constituent code in low error rate turbo codes for applications such as satellite links. Also suitable as SCCC outer code. Impulse response, transfer function, and constraint length A convolutional encoder is called so because it performs a convolution of the input stream with the encoder's impulse responses: where is an input sequence, is a sequence from output , is an impulse response for output and denotes convolution. A convolutional encoder is a discrete linear time-invariant system. Every output of an encoder can be described by its own transfer function, which is closely related to the generator polynomial. An impulse response is connected with a transfer function through Z-transform. Transfer functions for the first (non-recursive) encoder are: Transfer functions for the second (recursive) encoder are: Define by where, for any rational function , . Then is the maximum of the polynomial degrees of the , and the constraint length is defined as . For instance, in the first example the constraint length is 3, and in the second the constraint length is 4. Trellis diagram A convolutional encoder is a finite state machine. An encoder with n binary cells will have 2n states. Imagine that the encoder (shown on Img.1, above) has '1' in the left