Cyclic Code
   HOME





Cyclic Code
In coding theory, a cyclic code is a block code, where the circular shifts of each codeword gives another word that belongs to the code. They are error-correcting codes that have algebraic properties that are convenient for efficient error detection and correction. Definition Let \mathcal be a linear code over a finite field (also called '' Galois field'') GF(q) of block length n. \mathcal is called a cyclic code if, for every Code word (communication), codeword c=(c_1,\ldots,c_n) from \mathcal, the word (c_n,c_1,\ldots,c_) in GF(q)^n obtained by a circular shift, cyclic right shift of components is again a codeword. Because one cyclic right shift is equal to n-1 cyclic left shifts, a cyclic code may also be defined via cyclic left shifts. Therefore, the linear code \mathcal is cyclic precisely when it is invariant under all cyclic shifts. Cyclic codes have some additional structural constraint on the codes. They are based on Galois fields and because of their structural properti ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Coding Theory
Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data storage. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, linguistics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data. There are four types of coding: # Data compression (or ''source coding'') # Error detection and correction, Error control (or ''channel coding'') # Cryptography, Cryptographic coding # Line code, Line coding Data compression attempts to remove unwanted redundancy from the data from a source in order to transmit it more efficiently. For example, DEFLATE data compression makes files small ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Reciprocal Polynomial
In algebra, given a polynomial :p(x) = a_0 + a_1x + a_2x^2 + \cdots + a_nx^n, with coefficients from an arbitrary field, its reciprocal polynomial or reflected polynomial,* denoted by or , is the polynomial :p^*(x) = a_n + a_x + \cdots + a_0x^n = x^n p(x^). That is, the coefficients of are the coefficients of in reverse order. Reciprocal polynomials arise naturally in linear algebra as the characteristic polynomial of the inverse of a matrix. In the special case where the field is the complex numbers, when :p(z) = a_0 + a_1z + a_2z^2 + \cdots + a_nz^n, the conjugate reciprocal polynomial, denoted , is defined by, :p^(z) = \overline + \overlinez + \cdots + \overlinez^n = z^n\overline, where \overline denotes the complex conjugate of a_i, and is also called the reciprocal polynomial when no confusion can arise. A polynomial is called self-reciprocal or palindromic if . The coefficients of a self-reciprocal polynomial satisfy for all . Properties Reciprocal polynomial ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Burst Error
In telecommunications, a burst error or error burst is a contiguous sequence of symbols, received over a communication channel, such that the first and last symbols are in error and there exists no contiguous subsequence of ''m'' correctly received symbols within the error burst. The integer parameter ''m'' is referred to as the ''guard band'' of the error burst. The last symbol in a burst and the first symbol in the following burst are accordingly separated by ''m'' correct symbols or more. The parameter ''m'' should be specified when describing an error burst. Channel model The Gilbert–Elliott model is a simple channel model introduced by Edgar Gilbert and E. O. Elliott that is widely used for describing burst error patterns in transmission channels and enables simulations of the digital error performance of communications links. It is based on a Markov chain In probability theory and statistics, a Markov chain or Markov process is a stochastic process describing a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Hamming Distance
In information theory, the Hamming distance between two String (computer science), strings or vectors of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number of ''substitutions'' required to change one string into the other, or equivalently, the minimum number of ''errors'' that could have transformed one string into the other. In a more general context, the Hamming distance is one of several string metrics for measuring the edit distance between two sequences. It is named after the American mathematician Richard Hamming. A major application is in coding theory, more specifically to block codes, in which the equal-length strings are Vector space, vectors over a finite field. Definition The Hamming distance between two equal-length strings of symbols is the number of positions at which the corresponding symbols are different. Examples The symbols may be letters, bits, or decimal digits, am ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Hamming(7,4)
In coding theory, Hamming(7,4) is a linear code, linear error-correcting code that encodes four bits of data into seven bits by adding three parity bits. It is a member of a larger family of Hamming codes, but the term ''Hamming code'' often refers to this specific code that Richard W. Hamming introduced in 1950. At the time, Hamming worked at Bell Telephone Laboratories and was frustrated with the error-prone punched card reader, which is why he started working on error-correcting codes. The Hamming code adds three additional check bits to every four data bits of the message. Hamming's (7,4) algorithm can correct any single-bit error, or detect all single-bit and two-bit errors. In other words, the minimal Hamming distance between any two correct codewords is 3, and received words can be correctly decoded if they are at a distance of at most one from the codeword that was transmitted by the sender. This means that for transmission medium situations where burst error, burst erro ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Galois Extension
In mathematics, a Galois extension is an algebraic field extension ''E''/''F'' that is normal and separable; or equivalently, ''E''/''F'' is algebraic, and the field fixed by the automorphism group Aut(''E''/''F'') is precisely the base field ''F''. The significance of being a Galois extension is that the extension has a Galois group and obeys the fundamental theorem of Galois theory. A result of Emil Artin allows one to construct Galois extensions as follows: If ''E'' is a given field, and ''G'' is a finite group of automorphisms of ''E'' with fixed field ''F'', then ''E''/''F'' is a Galois extension. The property of an extension being Galois behaves well with respect to field composition and intersection. Characterization of Galois extensions An important theorem of Emil Artin states that for a finite extension E/F, each of the following statements is equivalent to the statement that E/F is Galois: *E/F is a normal extension and a separable extension. *E is a splitting ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Generator Polynomial
In coding theory, a polynomial code is a type of linear code whose set of valid code words consists of those polynomials (usually of some fixed length) that are divisible by a given fixed polynomial (of shorter length, called the ''generator polynomial''). Definition Fix a finite field GF(q), whose elements we call ''symbols''. For the purposes of constructing polynomial codes, we identify a string of n symbols a_\ldots a_0 with the polynomial :a_x^ + \cdots + a_1x + a_0.\, Fix integers m \leq n and let g(x) be some fixed polynomial of degree m, called the ''generator polynomial''. The ''polynomial code generated by g(x)'' is the code whose code words are precisely the polynomials of degree less than n that are divisible (without remainder) by g(x). Example Consider the polynomial code over GF(2)=\ with n=5, m=2, and generator polynomial g(x)=x^2+x+1. This code consists of the following code words: :0\cdot g(x),\quad 1\cdot g(x),\quad x\cdot g(x), \quad (x+1) \cdot g(x), ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Hamming Code
In computer science and telecommunications, Hamming codes are a family of linear error-correcting codes. Hamming codes can detect one-bit and two-bit errors, or correct one-bit errors without detection of uncorrected errors. By contrast, the simple parity code cannot correct errors, and can detect only an odd number of bits in error. Hamming codes are perfect codes, that is, they achieve the highest possible rate for codes with their block length and minimum distance of three. Richard W. Hamming invented Hamming codes in 1950 as a way of automatically correcting errors introduced by punched card readers. In his original paper, Hamming elaborated his general idea, but specifically focused on the Hamming(7,4) code which adds three parity bits to four bits of data. In mathematical terms, Hamming codes are a class of binary linear code. For each integer there is a code-word with block length and message length . Hence the rate of Hamming codes is , which is the highest p ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Low-density Parity-check Code
Low-density parity-check (LDPC) codes are a class of error correction codes which (together with the closely-related turbo codes) have gained prominence in coding theory and information theory since the late 1990s. The codes today are widely used in applications ranging from wireless communications to flash-memory storage. Together with turbo codes, they sparked a revolution in coding theory, achieving order-of-magnitude improvements in performance compared to traditional error correction codes. Central to the performance of LDPC codes is their adaptability to the iterative belief propagation decoding algorithm. Under this algorithm, they can be designed to approach theoretical limits (Channel capacity, capacities) of many channels at low computation costs. Theoretically, analysis of LDPC codes focuses on sequences of codes of fixed code rate and increasing block length. These sequences are typically tailored to a set of channels. For appropriately designed sequences, the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


BCH Code
In coding theory, the Bose–Chaudhuri–Hocquenghem codes (BCH codes) form a class of cyclic error-correcting codes that are constructed using polynomials over a finite field (also called a '' Galois field''). BCH codes were invented in 1959 by French mathematician Alexis Hocquenghem, and independently in 1960 by Raj Chandra Bose and D. K. Ray-Chaudhuri. The name ''Bose–Chaudhuri–Hocquenghem'' (and the acronym ''BCH'') arises from the initials of the inventors' surnames (mistakenly, in the case of Ray-Chaudhuri). One of the key features of BCH codes is that during code design, there is a precise control over the number of symbol errors correctable by the code. In particular, it is possible to design binary BCH codes that can correct multiple bit errors. Another advantage of BCH codes is the ease with which they can be decoded, namely, via an algebraic method known as syndrome decoding. This simplifies the design of the decoder for these codes, using small ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Parity Bit
A parity bit, or check bit, is a bit added to a string of binary code. Parity bits are a simple form of error detecting code. Parity bits are generally applied to the smallest units of a communication protocol, typically 8-bit octets (bytes), although they can also be applied separately to an entire message string of bits. The parity bit ensures that the total number of 1-bits in the string is even or odd. Accordingly, there are two variants of parity bits: even parity bit and odd parity bit. In the case of even parity, for a given set of bits, the bits whose value is 1 are counted. If that count is odd, the parity bit value is set to 1, making the total count of occurrences of 1s in the whole set (including the parity bit) an even number. If the count of 1s in a given set of bits is already even, the parity bit's value is 0. In the case of odd parity, the coding is reversed. For a given set of bits, if the count of bits with a value of 1 is even, the parity bit value is se ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]