SOME BASIC BLOCK CODES_2804.docx

download SOME BASIC BLOCK CODES_2804.docx

of 3

Transcript of SOME BASIC BLOCK CODES_2804.docx

  • 8/10/2019 SOME BASIC BLOCK CODES_2804.docx

    1/3

    1.1SOME BASIC BLOCK CODES:

    In this section, I will introduce some specific codes which have block codes properties,

    and some with similar properties with block codes. Because this is not a mathematical

    project, I will not focus on the mathematic formulas, I just want to give students basic

    information and an overall view about some types of code.

    1.1.1 Hamming code:

    Hamming codes are a popular family of binary block codes, which are used in many

    applications nowadays. Hamming codes were introduced by Richard Hamming in 1950, and

    they are still popular at the moment because of their simplicity and effectiveness.

    In general, Hamming codes are still block codes, so we can denote them in the form

    Hamming (n, k) codes, where n-bit code word will be used to encode k-bit information

    block. Hamming (n, k) codes always have the following properties:

    - n = 2m

    1

    - k = 2m

    m1

    - The minimum Hamming distance is dmin= 3

    where m is the number of parity bits, and m .For example, we can take m = 3. Hence,

    - n = 231 = 7and k = 2

    331 = 4

    Therefore, we get the Hamming (7, 4) code which I described in section 1.2.1.

    Hamming codes can be used to detect up to 2 errors (but not correct), and it has an ability

    to correct 1 error. Hamming codes have many applications, such as real communication

    system (teletext systems, radio and digital TV), information systems (logical circuits,

    semiconductor memories) or in audio and video system (data compression in CD, DVD).

    Hamming codes are the basic family of block codes, which are simple, but used widely.

    Hamming codes have all the important properties as well as it can be encoded and

    decoded using generator matrix G and parity check matrix H which students should study

    in the university. Therefore, in my thesis, I will choose this kind of code to introduce to

    students.

    1.1.2 Cyclic Codes:

    Cyclic code is not exactly block code; it is just a sub part of block error of correcting

    code. A linear block code will be a cyclic code if each code word in that code is a cyclic shift

  • 8/10/2019 SOME BASIC BLOCK CODES_2804.docx

    2/3

  • 8/10/2019 SOME BASIC BLOCK CODES_2804.docx

    3/3

    codes are used widely nowadays, because of their big advantage in decoding process, via

    an algorithm called syndrome decoding. While the binary Hamming codes can only detect

    up to 2 errors and correct only 1 error, binary BCH codes can correct multiple bit errors.

    Another advantage of BCH Codes is about the simplicity in designing the decoder.

    All the knowledge studied in this project is the basic background for a further thesis

    research in digital communication design, so in this section we only discuss about binary

    BCH Codes, while the non-binary BCH codes named ReedSolomon will be introduced

    shortly in the next section.

    Firstly, we will take a look at the design of BCH Codes. A binary cyclic code which has

    code length of n = 2m

    1 ( ),parity check bits n kmtand the minimum Hammingdistance dmin2t + 1will be a BCH Code. The symbol twill represent to the correctable bitsin a BCH code. Therefore, we can design a BCH Code with the desired number of correcting

    bits, as long as t2m-1

    . To encode a k-bit polynomial code to an n-bit code word, we canuse the generator polynomial. The parameters and generator polynomials of some popular

    BCH Codes will be shown in Table 1.3.3:

    m n k t Generator Polynomial

    4 15 7 2 1 + X4+ X

    6+ X

    7+ X

    8

    4 15 5 3 1 + X + X2+ X

    4+ X

    5+ X

    8+ X

    10

    5 31 21 2 1 + X3+ X

    5+ X

    6+ X

    8+ X

    9+ X

    10

    5 31 16 3 1 + X + X2+ X

    3+ X

    5+ X

    7+ X

    8+ X

    9+ X

    10+ X

    11+ X

    15

    6 63 51 2 1 + X3+ X

    4+ X

    5+ X

    8+ X

    10+ X

    12

    6 63 45 3 1 + X + X2+ X

    3+ X

    6+ X

    7+ X

    9+ X

    15+ X

    16+ X

    17+ X

    18

    Table 1.3.3: Some example parameters and Generator polynomial of some BCH Codes

    To find a code word relating a BCH code (n, k), we just need to take the remainder

    after dividing our information polynomial by a generator polynomial. Therefore, like the

    generator matrix in linear block codes, the generator polynomial will give the code its

    characteristics: all code words which relate to a BCH code are multiples of its generator

    polynomial. However, how can we construct a generator polynomial? First of all, we need

    to study about some abstract algebra, especially about finite field, or we can call, Galois

    Field (GF).

    Galois field (or finite field) is a field with a finite number of elements, while a field is a set of

    elements with some basic operations (addition, multiplication) which can be operated

    without leaving the set, and the addition and multiplication are associative, communicative,

    and distributive. A Galois field of order qis denoted by GF(q).