ArticleslgStudy

science

Hadamard code

Hadamard code is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Hadamard code rather than just read about it. In short: The Hadamard code is an error-correcting code named after the French mathematician Jacques Hadamard that is used for error detection and correction when transmitting messages over very noisy or unreliable channels. In 1971, the code was used to transmit photos of Mars back to Earth from the NASA space probe Mariner 9.

Hadamard code — main illustration
Hadamard code — illustration

Key takeaways

  • Hadamard code belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Hadamard code to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Hadamard code from memory before moving on to harder problems.

Reference excerpt

The Hadamard code is an error-correcting code named after the French mathematician Jacques Hadamard that is used for error detection and correction when transmitting messages over very noisy or unreliable channels. In 1971, the code was used to transmit photos of Mars back to Earth from the NASA space probe Mariner 9. Because of its unique mathematical properties, the Hadamard code is not only used by engineers, but also intensely studied in coding theory, mathematics, and theoretical computer science. The Hadamard code is also known under the names Walsh code, Walsh family, and Walsh–Hadamard code in recognition of the American mathematician Joseph Leonard Walsh. The Hadamard code's mathematical specification is rather involved, and is described under Constructions. It is an example of a linear code of length 2 m {\displaystyle 2^{m}} over a binary alphabet. Unfortunately, this term is somewhat ambiguous as some references assume a message length k = m {\displaystyle k=m} while others assume a message length of k = m + 1 {\displaystyle k=m+1} . In this article, the first case is called the Hadamard code while the second is called the augmented Hadamard code. The Hadamard code is unique in that each non-zero codeword has a Hamming weight of exactly 2 k − 1 {\displaystyle 2^{k-1}} , which implies that the distance of the code is also 2 k − 1 {\displaystyle 2^{k-1}} . In standard coding theory notation for block codes, the Hadamard code is a [ 2 k , k , 2 k − 1 ] 2 {\displaystyle [2^{k},k,2^{k-1}]_{2}} -code, that is, it is a linear code over a binary alphabet, has block length 2 k {\displaystyle 2^{k}} , message length (or dimension) k {\displaystyle k} , and minimum distance 2 k / 2 {\displaystyle 2^{k}/2} . The block length is very large compared to the message length, but on the other hand, errors can be corrected even in extremely noisy conditions. The augmented Hadamard code is a slightly improved version of the Hadamard code; it is a [ 2 k , k + 1 , 2 k − 1 ] 2 {\displaystyle [2^{k},k+1,2^{k-1}]_{2}} -code and thus has a slightly better rate while maintaining the relative distance of 1 / 2 {\displaystyle 1/2} , and is thus preferred in practical applications. In communication theory, this is simply called the Hadamard code and it is the same as the first order Reed–Muller code over the binary alphabet. Normally, Hadamard codes are based on Sylvester's construction of Hadamard matrices, but the term “Hadamard code” is also used to refer to codes constructed from arbitrary Hadamard matrices, which are not necessarily of Sylvester type. In general, such a code is not linear. Such codes were first constructed by Raj Chandra Bose and Sharadchandra Shankar Shrikhande in 1959. If n is the size of the Hadamard matrix, the code has parameters ( n , 2 n , n / 2 ) 2 {\displaystyle (n,2n,n/2)_{2}} , meaning it is a not-necessarily-linear binary code with 2n codewords of block length n and minimal distance n/2. The construction and decoding scheme described below apply for general n, but the property of linearity and the identification with Reed–Muller codes require that n be a power of 2 and that the Hadamard matrix be equivalent to the matrix constructed by Sylvester's method. The Hadamard code is a locally decodable code, which provides a way to recover parts of the original message with high probability, while only looking at a small fraction of the received word. This gives rise to applications in computational complexity theory and particularly in the design of probabilistically checkable proofs. Since the relative distance of the Hadamard code is 1/2, normally one can only hope to recover from at most a 1/4 fraction of error. Using list decoding, however, it is possible to compute a short list of possible candidate messages as long as fewer than 1 2 − ϵ {\displaystyle {\frac {1}{2}}-\epsilon } of the bits in the received word have been corrupted. In code-division multiple access (CDMA) communication, the Hadamard code is referred to as Walsh Code, and is used to define individual communication channels. It is usual in the CDMA literature to refer to codewords as “codes”. Each user will use a different codeword, or “code”, to modulate their signal. Because Walsh codewords are mathematically orthogonal, a Walsh-encoded signal appears as random noise to a CDMA capable mobile terminal, unless that terminal uses the same codeword as the one used to encode the incoming signal.

… excerpt ends here. Continue reading the full article.

Illustrations

Hadamard code: Matrix of the Augmented Hadamard code [32, 6, 16] for the Reed–Muller code (1, 5) of the NASA space probe Mariner 9
Matrix of the Augmented Hadamard code [32, 6, 16] for the Reed–Muller code (1, 5) of the NASA space probe Mariner 9
Hadamard code: XOR operationsHere the white fields stand for 0and the red fields for 1
XOR operationsHere the white fields stand for 0and the red fields for 1

Worked examples

Example 1 — a first encounter with Hadamard code

Start with the simplest possible case. Write down what Hadamard code claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Hadamard code before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Hadamard code ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Hadamard code

In research
Hadamard code appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Hadamard code in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Hadamard code is common in secondary-school and first-year university syllabi. It links to neighbouring topics Coding theory, Error detection and correction, so understanding it makes those chapters shorter.
In everyday life
Look for Hadamard code outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Hadamard code” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Hadamard code in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Hadamard code means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Hadamard code out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Hadamard code in simple terms?

The Hadamard code is an error-correcting code named after the French mathematician Jacques Hadamard that is used for error detection and correction when transmitting messages over very noisy or unreliable channels. In 1971, the code was used to transmit photos of Mars back to Earth from the NASA sp…

Why does Hadamard code matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Hadamard code?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Hadamard code.

Tags

  • Coding theory
  • Error detection and correction

Keep exploring