In
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 data storage. Codes are stud ...
, Justesen codes form a class of
error-correcting codes that have a constant rate, constant relative distance, and a constant alphabet size.
Before the Justesen error correction code was discovered, no error correction code was known that had all of these three parameters as a constant.
Subsequently, other ECC codes with this property have been discovered, for example
expander code
In coding theory, expander codes form a class of error-correcting codes that are constructed from bipartite expander graphs.
Along with Justesen codes, expander codes are of particular interest since they have a constant positive rate, a const ...
s.
These codes have important applications in
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
such as in the construction of
small-bias sample spaces.
Justesen codes are derived as the
code concatenation of a
Reed–Solomon code and the
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
.
The Reed–Solomon codes used achieve constant rate and constant relative distance at the expense of an alphabet size that is ''linear'' in the message length.
The
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
is a family of codes that achieve constant rate and constant alphabet size, but the relative distance is only constant for most of the codes in the family.
The concatenation of the two codes first encodes the message using the Reed–Solomon code, and then encodes each symbol of the codeword further using a code from the
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
– using a different code of the ensemble at each position of the codeword.
This is different from usual code concatenation where the inner codes are the same for each position. The Justesen code can be constructed very efficiently using only
logarithmic space.
Definition
The Justesen code is the concatenation of an
outer code
and different
inner codes
, for
.
More precisely, the concatenation of these codes, denoted by
, is defined as follows. Given a message
, we compute the codeword produced by an outer code
:
.
Then we apply each code of N linear inner codes to each coordinate of that codeword to produce the final codeword; that is,
.
Look back to the definition of the outer code and linear inner codes, this definition of the Justesen code makes sense because the codeword of the outer code is a vector with
elements, and we have
linear inner codes to apply for those
elements.
Here for the Justesen code, the outer code
is chosen to be
Reed Solomon code over a
field evaluated over
of
rate
Rate or rates may refer to:
Finance
* Rates (tax), a type of taxation system in the United Kingdom used to fund local government
* Exchange rate, rate at which one currency will be exchanged for another
Mathematics and science
* Rate (mathema ...
,
<
<
.
The outer code
have the relative distance
and block length of
. The set of inner codes is the
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
.
Property of Justesen code
As the linear codes in the Wonzencraft ensemble have the rate
, Justesen code is the concatenated code
with the rate
. We have the following theorem that estimates the distance of the concatenated code
.
Theorem
Let
Then
has relative distance of at least
Proof
In order to prove a lower bound for the distance of a code
we prove that the Hamming distance of an arbitrary but distinct pair of codewords has a lower bound. So let
be the Hamming distance of two codewords
and
. For any given
:
we want a lower bound for
Notice that if
, then
. So for the lower bound
, we need to take into account the distance of
Suppose
:
Recall that
is a
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
. Due to "Wonzencraft ensemble theorem", there are at least
linear codes
that have distance
So if for some
and the code
has distance
then
:
Further, if we have
numbers
such that
and the code
has distance
then
:
So now the final task is to find a lower bound for
. Define:
:
Then
is the number of linear codes
having the distance
Now we want to estimate
Obviously
.
Due to the
Wozencraft Ensemble Theorem, there are at most
linear codes having distance less than
so
:
Finally, we have
:
This is true for any arbitrary
. So
has the relative distance at least
which completes the proof.
Comments
We want to consider the "strongly explicit code". So the question is what the "strongly explicit code" is. Loosely speaking, for linear code, the "explicit" property is related to the complexity of constructing its generator matrix G.
That in effect means that we can compute the matrix in logarithmic space without using the brute force algorithm to verify that a code has a given satisfied distance.
For the other codes that are not linear, we can consider the complexity of the encoding algorithm.
So by far, we can see that the Wonzencraft ensemble and Reed-Solomon codes are strongly explicit. Therefore, we have the following result:
''Corollary:'' The concatenated code
is an asymptotically good code(that is, rate
> 0 and relative distance
> 0 for small q) and has a strongly explicit construction.
An example of a Justesen code
The following slightly different code is referred to as the Justesen code in MacWilliams/MacWilliams. It is the particular case of the above-considered
Justesen code for a very particular Wonzencraft ensemble:
Let ''R'' be a Reed-Solomon code of length ''N'' = 2
''m'' − 1,
rank ''K'' and minimum weight ''N'' − ''K'' + 1.
The symbols of ''R'' are elements of ''F'' = GF(2
''m'') and the codewords are obtained by taking every polynomial ƒ over ''F'' of degree less than ''K'' and listing the values of ƒ on the non-zero elements of ''F'' in some predetermined order.
Let α be a
primitive element of ''F''. For a codeword a = (''a''
1, ..., ''a''
''N'') from ''R'', let b be the vector of length 2''N'' over ''F'' given by
:
and let c be the vector of length 2''N'' ''m'' obtained from ''b'' by expressing each element of ''F'' as a binary vector of length ''m''. The ''Justesen code'' is the linear code containing all such c.
The parameters of this code are length 2''m'' ''N'', dimension ''m'' ''K'' and
minimum distance at least
:
where
is the greatest integer satisfying
. (See MacWilliams/MacWilliams for a proof.)
See also
*
Wozencraft ensemble
In coding theory, the Wozencraft ensemble is a set of linear codes in which most of codes satisfy the Gilbert-Varshamov bound. It is named after John Wozencraft, who proved its existence. The ensemble is described by , who attributes it to Wozenc ...
*
Concatenated error correction code
*
Reed-Solomon error correction
*
Linear Code In coding theory, a linear code is an error-correcting code for which any linear combination of codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although turbo codes can be seen a ...
References
Lecture 28: Justesen Code. Coding theory's course. Prof. Atri Rudra
Lecture 6: Concatenated codes. Forney codes. Justesen codes. Essential Coding Theory
*
* {{cite book , author=F.J. MacWilliams , author-link=Jessie MacWilliams , author2=N.J.A. Sloane , title=The Theory of Error-Correcting Codes , url=https://archive.org/details/theoryoferrorcor0000macw , url-access=registration , publisher=North-Holland , year=1977 , isbn=0-444-85193-3 , page
306–316
Error detection and correction
Finite fields
Coding theory