← All work
Case study / 04

Error-correctingcodes

How do you send data through a noisy channel and still get it back exactly? I spent a summer at Wolfram Research building the answer from scratch, from simple block codes up to Turbo codes.

RoleStudent researcher
WhenJun to Jul 2024 · Remote
ProgramWolfram High School Summer Research Program
Read itComputational essay ↗
4code families implemented
6,400+Wolfram Community views
1published essay
Turbocodes, the end goal of the study
The idea

Add a little redundancy, fix a lot of noise.

Every time data moves, through a cable, a phone signal or a scratched disc, some bits can flip. Error-correcting codes add a few carefully chosen extra bits so the receiver can find and fix those errors without asking for the data again.

At the program I also looked at cellular automata before focusing on channel codes.

Shannon limitThe maximum rate you can send data over a noisy channel with arbitrarily few errors.
Hamming distanceHow many bits differ between two codewords. More distance means more errors you can catch.
Generator matricesThe matrix that turns a message into a codeword. Each block code is defined by one.
Break a code

A working Hamming(7,4) code.

Four message bits become seven by adding three parity bits. Click a message bit to change the message, then click any received bit to corrupt it and watch the decoder find it.

Parity-check matrix H

Each column is its position written in binary. The syndrome you get from the received bits is the column of the bit that flipped.

What I built

From the basics to the present.

Working with Prof. Lyman Hurd, I started from first principles and built up, writing Wolfram Language functions that encode and decode data under noise for each family.

step 1Hamming
step 2Hadamard
step 3Reed-Muller
step 4Convolutional
studiedTurbo codes
  • Analyzed the Shannon limit, Hamming distance and block-code generator matrices
  • Implemented encoders and decoders for Hamming, Hadamard, Reed-Muller and convolutional codes
  • Published the work as a computational essay on Wolfram Community
The essay

Implementing Error-Correction Codes: From the Beginning to the Present

Published on Wolfram Community as part of the Wolfram High School Summer Research Program, mentored by Prof. Lyman Hurd. It has more than 6,400 views.

Read the essay ↗
Contact

Let's talk.

I'm looking for software engineering internships for Summer 2027, and I'm always happy to talk about projects.

© 2026 Disha SanganeriyaUrbana, IL · Gurugram, IndiaBack to top ↑