- Gurupungav Narayanan - 16CO114
- Nihal Haneef - 16CO128
- Rishika Narayanan - 16CO241
Error detection and correction is critical to accurate data transmission, storage and retrieval. Error correction coding (ECC) has been a crucial part of data transmission or storage. In high-reliability applications, the single error correction and double error detections (SEC-DED) Hamming code may not provide adequate protection against burst errors. This makes multiple-error correction (MEC) highly desirable. This paper proposed a novel approach to improving burst errors correction capability of the extended Hamming Code, with the target objective of minimizing the redundancy, while retaining code rate as maximum as possible. Design algorithms of Hamming encoding and decoding are proposed in this paper along with an innovative mode of transmission, and the simplicity and ease of their implementations are demonstrated with example.
- Implementing standard hamming code encoding and decoding technique to demonstrate correction and detection of errors during transmission.
- Implementing the novel hamming code encoding and decoding technique to demonstrate correction and detection of errors during transmission.
- To implement the above two transmissions over a large dataset for the purpose of plotting graphs and visualising the difference in performance of the two schemes.
- To simulate a data transmission scenario so as to compare and contrast between both the schemes.
J. Zhao and Y. Shi, "A Novel Approach to Improving Burst Errors Correction Capability of Hamming Code," 2007 International Conference on Communications, Circuits and Systems, Kokura, 2007.
- Introduction.md : Explain theoretical aspects of the mini project.
- Design.md : Explain design aspects of the mini project.
- main.m : Main module of the implementation and simulation.
- dec2binV.m : Converts a decimal number to its binary form in a row vector.
- hamgen.m : Generates hamming generator matrix G and the check matrix H given redundancy r.
- std_decode.m : Decodes a (16,11,4) standard hamming codeword. Returns the codewords after correction.
- std_encode.m : Given data bytes, adds parity bits and returns code word by following the standard hamming code scheme.
- nov_encode.m : Given data bytes, adds parity bits and returns code word by following the novel hamming code scheme.
- nov_decode.m : Decodes a (16,11,4) novel hamming codeword. Returns the codewords after correction.
- interleave.m : Interleaves codewords using interleaving method suggested in the paper.
- deinterleave.m : Deinterleaves codewords using deinterleaving method suggested in the paper.
- nicesim.m : Script to show the basic implementation of the algorithm and its working step byt step. It shows the induction of errors, detection and correction of the same.
- plotdata.m : A Script to plot the comparison between the Novel and Standard hamming code implementations.
- simulate.m : Function to simulate the sending of information bits across a noisy medium by induction of error bits.
- compare.m : This function's purpose is to provide us with data to compare the two hamming code implementations. It calls simulate over the defined input parameters.
- datagen.m : Script to store compare.m return values in a .csv file.
- gendataset.csv : A CSV file which stores the data to be used by plotdata.m .