Explore chapters and articles related to this topic
Force-System Resultants and Equilibrium
Published in Richard C. Dorf, The Engineering Handbook, 2018
Error correction coding involves adding redundant symbols to a data stream in order to allow for reliable transmission in the presence of channel errors. Error correction codes fall into two main classes: block codes and convolutional codes. In block codes, the code word is only a function of the current data input, whereas in convolutional codes the current output is a function of not only the current data input but also of previous data inputs. Thus, a convolutional code has memory, whereas a block code is memoryless. Codes can also be classified according to their code rate, symbol alphabet size, error detection/correction capability, and complexity. The code rate determines the extra bandwidth needed and also the reduction in energy per transmitted symbol relative to an uncoded system. The alphabet size is usually either two (binary) or a power of two. When the alphabet size is binary, the symbol is called a bit. Codes can be made either to detect or to correct errors or some combination of both and also can be made to detect/ correct either random errors or burst errors. The complexity of a code is usually a function of the decoding procedure that is used, so the most popular codes are those that can be decoded in a relatively simple manner and still provide good error correction capability.
Data Communication
Published in Sunit Kumar Sen, Fieldbus and Networking in Process Automation, 2017
Linear block codes are a form of block codes that are employed for both error detection and correction. For such a linear block code, the XORing of two valid code words would give rise to another valid codeword. Parity check code and Hamming code are some examples of linear block codes. Parity check code is an error-checking code and it has its own drawbacks and is not used in noisy environments. A Hamming code can correct a single error or detect a double error. It can also detect a burst error. A cyclic code is a special type of linear block code in which if a codeword is cyclically shifted, it would result in another codeword. Cyclic redundancy code (CRC) is a type of cyclic code. If automatic repeat request (ARQ) protocol is used in conjunction with CRC code, then it becomes very effective in reducing the BER of a message. A CRC-16 code may attain one undetected error in every 1014 bits.
Noise in digital communications systems
Published in J. Dunlop, D. G. Smith, Telecommunications Engineering, 2017
Table 5.4 indicates that block codes are best suited to correcting a small number of errors in each block. As the number of errors per block rises then block codes become less and less attractive. The interference encountered on most communications links tends to be impulsive rather than Gaussian and this leads to errors occurring in bursts rather than individually. Under such circumstances several errors can occur in a single block and hence simple block codes are not an effective means of error correction. Some care is necessary in defining the duration of an error burst as such a burst often contains some digits which may not be in error. An error burst is bounded by two erroneous digits and must be separated from the next error burst by a number of correct digits greater than or equal to the number of digits in the error burst. This apparently convoluted definition may be clarified by the example shown in Fig. 5.12. In this figure it becomes clear that errors 1 and 3 could not be used to define a single burst of length 13 digits because error 4 would occur within the following 13 digits. Hence it becomes apparent that errors 1 and 2 define an error burst of five digits and this is followed by errors 3 and 4, which define an error burst of six digits.
Series concatenation of 2D convolutional codes by means of input-state-output representations
Published in International Journal of Control, 2018
Joan-Josep Climent, Diego Napp, Raquel Pinto, Rita Simões
Convolutional codes are one-dimensional (1D) convolutional codes and can be seen as a generalisation of block codes in the sense that a block code is a convolutional code with no delay; i.e. block codes are basically zero-dimensional (0D) convolutional codes. In same way, two-dimensional (2D) convolutional codes extend the 1D convolutional codes. These codes have a practical potential in applications as they are very suitable to encode data recorded in two dimensions, e.g. pictures, storage media, wireless applications, etc. Despite the recent increasing interest (Almeida, Napp, & Pinto, 2016; Climent, Napp, Perea, & Pinto, 2016; Climent, Napp, & Pinto, 2012; Lobo, Bitzer, & Vouk, 2012; Napp, Pinto, & Simões, 2016; Ozkaya, 2014), in comparison with 1D convolutional codes, little research has been done in the area of 2D convolutional codes and much more needs to be done to make it attractive for real-life applications.
Performance of Soft Viterbi Decoder enhanced with Non-Transmittable Codewords for storage media
Published in Cogent Engineering, 2018
Kilavo Hassan, Kisangiri Michael, Salehe I. Mrutu
Convolutional code consists of (n, k, m) and typically k and n are small integers with k < n, but the memory order m can vary and as you increase the memory, the low error probability can be achieved (Marazin, Gautier, & Burel, 2011). Convolutional codes are different from the block codes in such a way that the encoder contains the memory and the n encoder at any time unit and depends not only on the k input but also on the previous input block (Wicker, 1995). The encoding process used in this paper is locked Convolutional encoding and the decoding process used is the enhanced Soft decision Viterbi Decoding. Figure 1 is a state diagram for (2, 1, 2) binary Convolutional encode, where we have one bit as an input and then we get two bits as output.
FS-GDI Based Area Efficient Hamming (11, 7) Encoding
Published in International Journal of Electronics, 2023
Mohsen A. M. El-Bendary, O. El-Badry
In general, there are two main types of FEC schemes, the block and convolutional codes. The block codes such as Hamming codes, Reed-Solomon codes and Repetition codes are simpler than the Convolutional Codes (CCs). The CCs are widely used in the communications systems, it is more complex and consumes high amount of power. In this paper, Hamming (11, 7) encoding is presented, it is chosen of simplicity and as an example to study FS-GDI efficiency for implementing the error control coding schemes (R. P., K. P., and A. P., 2016; Shoba & Nakkeeran, 2017).