A type of channel coding. It adds redundancy to a message so that, at the receiver, one can decode with minimal errors.