Ryder Jaeger
Course: Digital Logic Design, ENEE-244
Professor: Jane Jones
Assignment Title: Hamming Code Error Detection and Correction
Assignment Details
My project was an investigation into the hamming code error correction and detection method. Through my project, I explained the logic behind hamming code error correction and detection and its applications as well as exploring other error correction and detection methods. My project consisted of breadboarding that providing a physical representation of how hamming code works and how it can be used to correct found errors. The goal of my breadboarded example was to have an original message, introduce an error to the message, and then use XOR logic in the way of the hamming code to identify the position of said error so that the data can be manually fixed. For example, in the picture below the two sets of 7 LEDS differ at the 4th position, meaning an error must’ve occurred there. The yellow LEDs on the bottom display a 4 in binary confirming the error is at position 4.
Application
The topic of my project connects to digital logic design by utilizing information from the course and skills learned from the course. In digital logic design we learned how to breadboard in the lab portion of the class, a skill that was very useful when making my physical representation of hamming code. Using the skills from class I was able to make diagrams to follow when breadboarding making my work easier to follow and correct. I was also able to understand and explain the digital logic behind hamming code so well because of instruction from this class.
My project connects to my field of study as I am majoring in the Electrical Engineering program here at Carroll and after transferring, plan to continue down the Electrical Engineering path. By researching a topic in my field of study, I can expand on my understanding of the information already taught to me and enhance my learning in a field I’m interested in pursuing.
Results/Conclusions
By doing this project I was able to vastly expand on my knowledge of digital logic which helped me excel in class. I learned a lot about the importance of making good diagrams when breadboarding and having something to reference your work back to. I also learned a lot about XOR logic and truth tables and what combinations produce what results. Through this project, I was able to research outside the scope of what was taught in class and learn more about other error detection and correction methods beyond the hamming code. Overall, this project was an informative learning experience for me, and I feel it helped me understand the ENEE-244 course I based my project in better.
Challenges and Successes
One challenge that came up during my project was an issue with how I had planned my diagrams out versus how I had built the model on the breadboard. When working on the first breadboard I had not set the data and parity LEDs in the same order as I had on the second. This led to confusion when trying to demonstrate how the hamming code worked as the 3 LEDs on the final breadboard did not reveal the correct position for the error. To fix this, I redid the diagrams and followed them more closely which eliminated this issue and created a working demonstration.