Systems and methods for message encoding and decoding
View Patent ↗Presented herein are systems and methods for checking the integrity of data transmissions between or within one or more digital processing systems by identifying a data characteristic that is likely to change if there is an error in transmission. According to one embodiment, data messages are modified to achieve a selected characteristic according to a predetermined protocol, and changes to the data are recorded in a longitudinal check code (LCC) word, which is used by the receiver to decode the data message and restore the original data.
1. A method for checking the integrity of data transmission, the method comprising:
breaking, by a transmitter apparatus, a data message into a plurality of n-bit words;
grouping the n-bit words into word groups of (n−m) n-bit words (where 0<m<n);
conditionally modifying the n-bit words to have a selected characteristic;
generating a longitudinal check code (LCC) word for a respective word group, which records characteristics of the n-bit words of the word group; and
adding the LCC word to the respective word group, resulting in word groups of (n−m+1) words, whereby the n-bit words of the word groups of (n−m+1) words may be analyzed together with the LCC word to check the integrity of the data transmission, and to restore the data message.
2. The method of claim 1 , wherein an n-bit word is interpreted as having a sign, and modifying an n-bit word includes altering at least one bit from the n-bit word to achieve one of:
a selected value of the at least one bit;
a selected parity characteristic for the n-bit word; and
a selected sign of the n-bit word.
3. The method of claim 1 , wherein the LCC word is generated by recording the occurrence of a change in each n-bit word of a word group in a corresponding bit of the LCC word.
4. The method of claim 3 , wherein recording the occurrence of a change in an n-bit word includes recording whether at least one bit from the n-bit word is altered to achieve one of:
a selected value of the at least one bit;
a selected parity characteristic for the n-bit word; and
a selected sign of the n-bit word.
5. The method of claim 1 , wherein the LCC word is generated by recording the original value of a bit from an n-bit word of a word group in a corresponding bit of the LCC word.
6. The method of claim 1 , wherein the LCC word is generated by recording the original parity characteristic of an n-bit word of a word group in a corresponding bit of the LCC word.
7. The method of claim 1 , wherein the LCC word is generated by recording the original sign of an n-bit word of a word group in a corresponding bit of the LCC word.
8. The method of claim 1 , wherein an unused bit of the LCC word is modified to result in the LCC word having a selected characteristic.
9. The method of claim 1 , wherein the LCC word is interpreted as having a sign, and at least one unused bit of the LCC word is modified to achieve one of:
a selected value of the at least one bit;
a selected parity characteristic of the LCC word; and
a selected sign characteristic of the LCC word.
10. The method of claim 1 , wherein the n-bit words of a word group are conditionally modified to achieve a selected characteristic of the n-bit words, as defined by a predetermined protocol.
11. The method of claim 1 , wherein the n-bit words of a word group are interpreted as having a sign, and the n-bit words of a word group are conditionally modified by altering at least one bit from each n-bit word to achieve one of:
a selected parity characteristic for each n-bit word, such that the parity characteristic of each successive n-bit word in the word group follows a predetermined protocol;
a selected value of the bit of the n-bit word, such that the selected value of the bit for each successive n-bit word in the word group follows a predetermined protocol; and
a selected sign of each n-bit word, such that the selected sign of each successive n-bit word in the word group follows a predetermined protocol.
12. The method of claim 1 , wherein the LCC word is conditionally modified to achieve a selected characteristic of the LCC word, as defined by a predetermined protocol.
13. The method of claim 1 , wherein the LCC word is interpreted as having a sign, and the LCC word is conditionally modified by altering an unused bit of the LCC word to achieve one of:
a selected value of the bit, as defined by a predetermined protocol;
a selected parity characteristic of the LCC word, as defined by a predetermined protocol; and
a selected sign characteristic of the LCC word, as defined by a predetermined protocol.
14. The method of claim 1 , wherein the word group is transmitted to a receiving data buffer, comprising word positions containing original values.
15. The method of claim 14 , wherein:
the n-bit words of a word group are conditionally modified to achieve a selected characteristic of the n-bit words, as defined by a predetermined protocol, and the predetermined protocol is used to ensure that the characteristics of the n-bit words in the word group are different from original values in the respective word positions of the receiving data buffer.
16. The method of claim 15 , wherein:
the LCC word is conditionally modified to achieve a selected characteristic, as defined by a predetermined protocol; and
the predetermined protocol is used to ensure that the characteristics of the LCC word are different from original values in the respective word positions of the receiving data buffer.