This assignment is 3 weeks late now because, even after speaking in person with my professor, paying an online tutor $40+ dollars to help me, posting on StackExchange, and talking both in person and via email with a Teacher's Aide (TA) (who I just emailed two additional times), the wording on this is still so utterly and completely vague and cryptic to me. We learned about CRC's in class for maybe like 10 minutes, and were never tested on it or reviewed it ever again. And I can't find information online that speaks of CRC checksum generation or errors in terms of individual bits/bytes, like I'm dealing with here.
Here's the assignment:
a) Write a program that generates an 8-bit CRC checksum for a data stream. An example of this program follows, in pseudocode. This same program may be used to check correct reception of the data stream. The simplest data stream for which this may be used is two bytes; simulate at least 5 different 2-byte data streams both with and without errors and log the results. Particularly interesting are error data streams which differ by only 1 bit from the correct data.
b) Also, simulate at least one 32-byte data stream with at least one error and log the results.
So, 2 questions:
1. How do I "check [for] correct reception of the data stream"? What does that mean? What would incorrect reception of the data stream even look like?
2. How do I create errors in a 2-byte data stream? By changing bits? Then how do you know if there's errors in it at that point? What do you compare? The generated CRC checksum after changing the bits vs. the generated CRC checksum before changing the bits?
Could someone please formulate a sample output that my C++ program should output?
Here's the assignment:
a) Write a program that generates an 8-bit CRC checksum for a data stream. An example of this program follows, in pseudocode. This same program may be used to check correct reception of the data stream. The simplest data stream for which this may be used is two bytes; simulate at least 5 different 2-byte data streams both with and without errors and log the results. Particularly interesting are error data streams which differ by only 1 bit from the correct data.
b) Also, simulate at least one 32-byte data stream with at least one error and log the results.
So, 2 questions:
1. How do I "check [for] correct reception of the data stream"? What does that mean? What would incorrect reception of the data stream even look like?
2. How do I create errors in a 2-byte data stream? By changing bits? Then how do you know if there's errors in it at that point? What do you compare? The generated CRC checksum after changing the bits vs. the generated CRC checksum before changing the bits?
Could someone please formulate a sample output that my C++ program should output?