preview

The Importance Of Computers In Communication Codes

Good Essays

As motivated above, it is often necessary to be able to reliably send data over noisy or otherwise unreliable communication channels. We can use error correction codes to help mitigate the introduction of errors into our data. To do this, we can divide our data into smaller pieces called messages and map these messages to codewords through a process called encoding. This process will provide necessary redundancy to correct a certain number of introduced errors during the decoding process. An (n, k) block code C is an injective map E : Q k 7→ Q n where Q is a set of symbols called our alphabet. The size of our alphabet, |Q| is denoted as q. In many practical applications q = 2 where Q = {0, 1}. E(m) = c maps our message m of length k to our …show more content…

. . , k, a contradiction. Thus, h(x) = 0 and f(x) = g(x). 3 Thus, the added n − k points provide redundancy in case an error occurs during transmission of our message. We’ll write our received word as c 0 = (y0, y1, . . . , yn−1). Suppose that an error does occur. Theoretically, we could decode the message by taking all subsets of size k of (y0, y1, . . . , yn−1) and interpolate each of the k numbers in each subset to determine a polynomial of degree k − 1. We could then find which polynomial occurs most often. The coefficients of that polynomial would then be taken as the original message [9]. Obviously we cannot perform this decoding procedure due to computational constraints. We would need to find n k  polynomials which is infeasible for even slightly large values of n and k. For this reason, the original formulation of the codewords was changed. Let our alphabet Q be a finite field Fpm for some prime p generated by f(x) with primitive element α. We construct for our code a generator polynomial g(x) whose roots are α, α2 , . . . , αt where t = n − k. In other words g(x) = Y t i=1 (x − α i ). Again, let p(x) = Pk−1 i=0 mix i . To achieve a systematic Reed-Solomon encoding (non systematic encodings exist, but will not be discussed here), our codeword is defined as c(x) = x t p(x) − x t p(x)modg(x) (2) Notice that the first term in c(x) yields a (n − k) + k − 1 = n − 1 degree polynomial where the lowest n − k degree terms have coefficient 0. The

Get Access