GRAND™
Guessing Random Additive Noise Decoding
GRAND offers a single, energy efficient, precise decoder for a broad swathe of codes with a small footprint, and much more.
On this site, you will find links to papers, tutorials & sample code.
March 2025: link to research implementation of SOGRAND & product code decoding can be found below.

Background
All digital data, whether stored or communicated, can be subject to corruption that results in the received information differing from the original. In some circumstances, no additional information is available to the receiver, and that is called a hard detection situation. In others, it could be that the bits are received with a reliability measure, called the soft detection.
The engineering solution to this problem is to code the data. A code adds redundancy to the data, and one fruitful way of thinking about it is one takes the original data and appends a hash of it. The hash itself is, of course, potentially subject to the damaging effects of corruption, but this additional redundancy can help inform the receiver about the integrity of the data they have received. There are a wide variety of codes - that is, rules for the creation of that hash - and they were all co-designed with specific decoders that use the code-book structure, the hash structure, to try and guess what was stored or communicated based on what was received.
Most of these codes or hashes are individually only suitable for the hard or soft detection setting because they only have a hard or soft detection decoder suitable for them. Because the decoder is entirely coupled to the code structure, this typically means one needs a distinct implementation to decode each of these codes and often, when done in hardware, even distinct pieces of hardware for different levels of redundancy.
Guessing Random Additive Noise Decoding (GRAND) is a methodology based on an innovative paradigm. It is agnostic to the code structure as it aims to identify the noise effect that has impacted the data, solely using the codebook for what it is: a hash of that data. GRAND can directly decode any moderate redundancy code, including non-linear ones. The efficiency of both hard or soft input versions of GRAND have been demonstrated in published circuits and chips.
The accepted paradigm behind the design of long, high-redundancy codes for soft detection settings is to create them by composing shorter component codes. The decoding of such codes then proceeds iteratively with a soft-input, soft-output (SISO) decoder. It has been established that soft input GRAND algorithms can readily produce highly accurate soft output. Using that feature, soft output GRAND can be used to decode long, powerful codes whose performance exceeds those in standards in a highly parallelised, low latency architecture.
The primary features of GRAND are:
1
2
3
4
Accurately decodes any moderate redundancy code, regardless of structure and length, for both hard and soft detection.
Is inherently highly parallelizable, resulting in desirably low latency.
Has proven energy efficient circuit implementation for hard and soft detection.
Can produce accurate soft output and iteratively decode long, powerful codes that outperform those in standards in a highly parallelised, low-latency implementation

Selected Papers
Peihong Yuan, Muriel Médard, Kevin Galligan, Ken R. Duffy
IEEE Transactions on Wireless Communications, to appear.
Arslan Riaz, Alperen Yasar, Furkan Ercan, Wei An, Jonathan Ngo, Kevin Galligan, Muriel Médard, Ken R. Duffy, Rabia T. Yazicigil
IEEE Journal of Solid State Circuits, to appear.
Ken R. Duffy, Moritz Grundei, Muriel Médard,
IEEE Global Communications Conference, 2023
Ken R. Duffy, Wei An, Muriel Médard
IEEE Transactions on Signal Processing, 2022
Arslan Riaz, Vaibhav Bansal, Amit Solomon, Wei An, Qianhan Liu, Kevin Galligan, Ken R. Duffy, Muriel Médard, Rabia T. Yazicigil
IEEE European Solid-state Circuits and Devices Conference (ESSCIRC), 2021
Ken R. Duffy, Jiange Li, Muriel Médard
IEEE Transactions on Information Theory, 2019
Videos
GRAND Introduction
This brief video introduces Guessing Random Additive Noise Decoding (GRAND), a single, energy efficient, precise decoder for a broad swathe of codes with a small footprint… and much more besides.
Code (for non-commercial purposes only)
(Non-optimized/parallelized) C implementation of ORBGRAND and SOGRAND (Soft Output). Sample wrappers including product code decoding in MATLAB.
(Non-optimized/parallelized) MATLAB implementations of GRAND and ORBGRAND
Additional Links
The Network Coding and Reliable Communications Group webpage: https://ncrcg.mit.edu/
​​
The Engineering, Probability, Information & Communications Lab webpage: https://epic.sites.northeastern.edu/
​
The Wise Circuits Lab webpage: https://sites.bu.edu/wisecircuits/
​
MIT's Accessibility webpage: https://accessibility.mit.edu/