Hadamard code

Hadamard code

The Hadamard code, named after Jacques Hadamard, is a system used for signal error detection and correction. It is one of the family of [2"n", "n" + 1, 2"n" − 1] codes. Especially for large "n" it has a poor rate but it is capable of correcting many errors.

Construction

The code is based on Hadamard matrices. If "H" is an Hadamard matrix of order 2"n" the codewords are constructed by taking the rows of "H" and −"H" as codewords, where each −1 is replaced by 0. In this way 2"n" + 1 code words are constructed that each have a length of 2"n". Since the rows of a Hadamard matrix are orthogonal the minimum distance is 2"n" - 1. In this way a [2"n", "n" + 1, 2"n" − 1] code is constructed.

The code can also be constructed by creating the parity-check matrix which consists of all 2"n" − 1 vectors containing an odd number of 1s, or by using a recursive encoding process.

Decoding

The code has minimum distance 2"n" − 1 and hence can correct at most "t" = 2"n" − 2 − 1 errors. The algorithm below achieves this.

When a code word is received it is first transformed to a 1/−1 vector "v" by changing all 0s to −1. Compute ("v" "H"T). The entry with the maximum absolute value corresponds to the row taken as a code word. If it is positive the code word came from "H", if it is negative the code word came from −"H".

"Proof:" If there wereno errors the product ("v" "H"T) would consist of only zero's and one entry of +/−2"n". If there are errors in "v" then, in absolute value, some of the zeros become larger and the maximum becomes smaller. Each error that occurs can change a zero with 2. So the zeros can become at most 0 + 2"t" = "2""n" − 1 − 2. The maximumcan decrease at most to 2"n" − 2"t" = 2"n" − 2"n" − 1 + 2 = 2"n" − 1 + 2. So the maximum that points to the correct row will always be larger in absolute value than the other values in the row.

History

A Hadamard code was used during the 1971 Mariner 9 mission to correct for picture transmission error. [ [http://www-math.cudenver.edu/~wcherowi/courses/m4410/m5410cd1.html] . Part of "Math 4410 - Mathematics of Coding Theory"] The data words used during this mission were 6 bits long, which represented 64 grayscale values. Because of limitations of the quality of the alignment of the transmitter the maximum useful data length was about 30 bits. Instead of using a repetition code, a [32, 6, 16] Hadamard code was used. Errors of up to 7 bits per word could be corrected using this scheme. Compared to a 5-repetition code, the error correcting properties of this Hadamard code are much better, yet its rate is comparable. The efficient decoding algorithm was an important factor in the decision to use this code. The circuitry used was called the "Green Machine". [ [http://www-math.cudenver.edu/~wcherowi/courses/m6409/mariner9talk.pdf] Combinatorics in SpaceThe Mariner 9 Telemetry System] . It employed the Fast Fourier Transform which can increase the decryption speed with a factor of 3.

Optimality

For value of n <= 6 the Hadamard codes have been proven optimal. ["Optimal binary linear codes of dimension at most seven", David B. Jaffe, Iliya Bouyukliev. [http://www.math.unl.edu/~djaffe2/papers/sevens.html] ]

Notes


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Hadamard-Code — Matrix des [32,6,16] Hadamard Codes der NASA Raumsonde Mariner 9 (1971/1972). Die Farbe Schwarz kodiert die Binärziffer 1, und die Farbe Weiß kodiert die Binärziffer 0 …   Deutsch Wikipedia

  • Hadamard matrix — In mathematics, a Hadamard matrix is a square matrix whose entries are either +1 or −1 and whose rows are mutually orthogonal. This means that every two different rows in a Hadamard matrix represent two perpendicular vectors. Such matrices can… …   Wikipedia

  • Hadamard — Jacques Salomon Hadamard Jacques Salomon Hadamard (* 8. Dezember 1865 in Versailles; † 17. Oktober 1963 in Paris) war ein französischer Mathematiker. Inhaltsverzeichnis 1 …   Deutsch Wikipedia

  • Code — redirects here. CODE may also refer to Cultural Olympiad Digital Edition. Decoded redirects here. For the television show, see Brad Meltzer s Decoded. For code (computer programming), see source code. For other uses, see Code (disambiguation).… …   Wikipedia

  • Reed-Muller-Code — Die Reed Muller Codes sind eine Familie von linearen, fehlerkorrigierenden Codes, die im Bereich der Kanalcodierung zur gesicherten Datenübertragung und Datenspeicherung Verwendung finden. Diese Klasse von Codes wurden von Irving S. Reed und… …   Deutsch Wikipedia

  • Jacques Salomon Hadamard — (* 8. Dezember 1865 in Versailles; † 17. Oktober 1963 in Paris) war ein französischer Mathematiker. Inhaltsverzeichnis 1 …   Deutsch Wikipedia

  • Jacques Hadamard — Jacques Salomon Hadamard Jacques Hadamard (Jacques Salomon Hadamard; * 8. Dezember 1865 in Versailles; † 17. Oktober 1963 in Paris) war ein französischer Mathematiker. Inhaltsverzeichnis …   Deutsch Wikipedia

  • Binary Golay code — In mathematics and computer science, a binary Golay code is a type of error correcting code used in digital communications. The binary Golay code, along with the ternary Golay code, has a particularly deep and interesting connection to the theory …   Wikipedia

  • Linearer Code — Ein linearer Code ist in der Kodierungstheorie ein spezieller Blockcode, bei dem die Codewörter Elemente eines endlichdimensionalen Vektorraums über einem endlichen Körper sind. Ein Code ist genau dann ein linearer Code, falls er ein… …   Deutsch Wikipedia

  • Reed–Muller code — Reed Muller codes are a family of linear error correcting codes used in communications. They are named after their discoverers, Irving S. Reed and D. E. Muller. Muller discovered the codes, and Reed proposed the majority logic decoding for the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”