PASM and TASM forward error correction and detection code method and apparatus
First Claim
1. A process for encoding a PASM error correcting and detecting code comprising the steps of:
- storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having ring register of information-memory cells and parity-check memory cells;
calculating a first set of parity-check symbols from the data symbols along a first set of parity lines, by setting the parity-check symbol for each of the first set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols along each parity line, wherein each parity line of the first set of parity lines has a path with a first slope traversing through said information-memory cells, and said first set of parity-check symbols forms a first parity row located in said parity-check memory cells;
calculating at least a second set of parity-check symbols from the data symbols and parity-check symbols along a second set of parity lines, by setting the parity-check symbol for each of the second set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols and parity-check symbols along each parity line, wherein each parity line of the second set of parity lines has a path with a second slope traversing through said information-memory cells and through said first parity row, and said second set of parity-check symbols form a second parity row located in said parity-check memory cells; and
outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check symbols.
2 Assignments
0 Petitions
Accused Products
Abstract
A PASM and TASM encoding method is provided comprising the steps of storing a block of a data-bit sequence in a memory, calculating parity-check symbols, and outputting an encoded data bit sequence. The PASM encoding method includes calculating a first set of parity-check symbols from the data-bit sequence along a first set of parity lines, and calculating at least a second set of parity-check symbols from the data symbols and parity-check symbols along a second set of parity lines, wherein each parity line of the second set of parity lines has a path traversing through the parity-check symbols. The TASM encoding method includes calculating a first parity-check symbol from data symbols and parity-check symbols along a first parity line having a first slope and calculating at least a second parity-check symbol from data symbols and parity-check symbols along a second parity line having a second slope, wherein the second parity line traverses through the first parity-check symbol.
-
Citations
9 Claims
-
1. A process for encoding a PASM error correcting and detecting code comprising the steps of:
-
storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having ring register of information-memory cells and parity-check memory cells; calculating a first set of parity-check symbols from the data symbols along a first set of parity lines, by setting the parity-check symbol for each of the first set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols along each parity line, wherein each parity line of the first set of parity lines has a path with a first slope traversing through said information-memory cells, and said first set of parity-check symbols forms a first parity row located in said parity-check memory cells; calculating at least a second set of parity-check symbols from the data symbols and parity-check symbols along a second set of parity lines, by setting the parity-check symbol for each of the second set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols and parity-check symbols along each parity line, wherein each parity line of the second set of parity lines has a path with a second slope traversing through said information-memory cells and through said first parity row, and said second set of parity-check symbols form a second parity row located in said parity-check memory cells; and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check symbols.
-
-
2. A process for encoding a PASM error correcting and detecting code comprising the step of:
-
calculating a first set of parity-check symbols from the data symbols along a first set of parity lines, by setting the parity-check symbol for each of the first set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols along each parity line, wherein each parity line of the first set of parity lines has a path with a first slope traversing through said information-memory cells, and said first set of parity-check symbols forms a first parity row located in said parity-check memory cells; calculating a second set of parity-check symbols from the data symbols and parity-check symbols along a second set of parity lines, by setting the parity-check symbol for each of the second set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols and parity-check symbols along each parity line, wherein each parity line of the second set of parity lines has a path with a second slope traversing through said information-memory cells and through said first parity row, and said second set of parity-check symbols form a second parity row located in said parity-check memory cells; calculating at least a third set of parity-check symbols from the data symbols and parity-check symbols along a third set of parity lines, by setting the parity-check symbol for each of the third set of parity-check symbols for each parity line equal to the modulo-2p sum of the data symbols and parity-check symbols along each parity line, wherein each parity line of the third set of parity lines has a path with a third slope traversing through said information-memory cells and through said first and second parity rows, and said third set of parity-check symbols form a third parity row located in said parity-check memory cells; and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check symbols.
-
-
3. A process for encoding a PASM error correcting and detecting code comprising the steps of:
-
storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having a ring register of information-memory cells and parity-check memory cells; calculating a first set of parity-check symbols from the data symbols along a first set of parity lines, wherein each parity line of the first set of parity lines has a path with a first slope traversing through said information-memory cells; calculating at least a second set of parity-check symbols from the data symbols and parity-check symbols along a second set of parity lines, wherein each parity line of the second set of parity lines has a path with a second slope transversing through said information-memory cells and through said parity-check memory cells; and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check symbols.
-
-
4. A process for encoding a TASM error correcting and detecting code comprising the steps of:
-
storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having a ring register of information memory cells and parity-check memory cells; calculating a first parity-check symbol from data symbols and parity-check symbol, in memory means having a ring register of information memory cells and parity-check memory cells; calculating a first parity-check symbol from data symbols and parity-check memory cells, respectively, along a first parity path having a first slope passing through the information memory cells and parity-check memory cells by adding modulo 2p the data symbols and parity-check symbols along the first parity path; storing said first parity-check symbol in a first parity row located in said parity-check memory cells; calculating a second parity-check symbol from data symbols and parity-check symbols located in the information memory cells and parity-check symbols located in the informating memory cells and parity-check memory cells, respectively, along a second parity path having a second slope by adding modulo 2p the data symbols and parity-check symbols along the second parity path, wherein said second parity path traverses through said first parity-check symbol; storing said second parity-check symbol in said second parity row; and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check sequence.
-
-
5. A process for encoding a TASM error correcting and detecting code comprising the steps of:
-
storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having a ring register information memory cells and parity-check memory cells; calculating a first parity-check symbols located in the information memory cells and parity-check memory cells, respectively, along a first parity path having a first slope passing through the information memory cells and parity-check memory cells by adding modulo 2p the data symbols and parity-check symbols along the first parity path; storing said first parity-check symbol in a first parity row located in said parity-check memory cells; calculating a second parity-check symbols from data symbols and parity-check symbols located in the informating memory cells and parity-check memory cells, respectively, along a second parity path having a second slope by adding modulo 2p the data symbols and parity-check symbols along the second parity path, wherein said second parity path traverses through said first parity-check symbol; storing said second parity-check symbol in said second parity row; calculating at least a third parity-check symbol from data symbols and parity-check symbols located in the information memory cells and parity-check memory cells, respectively, along a third parity path having a third slope passing through the second parity-check row, and through the information memory cells and parity-check memory cells, by adding modulo 2p the data symbols and parity-check symbols along the third parity path, wherein said third parity path traverses through said second parity-check symbol; storing said third parity-check symbol in a third parity row located in said parity-memory cells; and outputting an encoded-data symbol sequence.
-
-
6. A process for encoding a TASM error correcting and detecting code comprising the step of:
-
storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having a ring register of information memory cells and parity-check memory cells; calculating a first parity-check symbol from data symbols and parity-check symbols located in the information memory cells and parity-check memory cells, respectively, along a first parity path having a first slope passing through the informating memory cells and parity-check memory cells; calculating at least a second parity-check symbol from data symbols and parity-check symbols located in the informating memory cells and parity-check memory cell, respectively, along a second parity path having a second slope, wherein said second parity path traverses through said first parity-check symbol; and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check sequence.
-
-
7. A process for communicating in an ARQ system with the PASM FEC and detecting code comprising the steps of:
-
storing a block of a data-symbol sequence having data symbols with P-bits per symbol, in memory means having a ring register of information memory cells and parity-check memory cells; calculating a first block of parity-check symbols from the data symbols along at least two sets of parity lines, wherein each parity line of the first set of parity lines has a path with a first slope, and each parity line of the second set of parity lines has a path with a second slope, traversing through said information-memory cells; calculating at least a second block of parity-check symbols from the data symbols and parity-check symbols along at least a third set of parity lines, wherein each parity line of the third set of parity lines has a path with a third slope traversing through said information-memory cells and through said parity-check memory cells; transmitting encoded-data-symbol sequence comprising the data-symbol sequence and the first block of parity-check symbols, over a communications channel having a feedback channel; storing the encoded-data-symbol sequence in receiver-memory means having receiver-information-memory cells and receiver-parity-memory cells, wherein said encoded-data-symbol sequence includes a received-parity-check-symbol sequence having received-parity-check-symbols stored in the receiver-parity-memory cells, add a receiver-data-symbol sequence blocked and stored in the receiver-information-memory cells; finding the parity-check bits and the parity-line bits along the parity lines in receiver-information-memory cells, having an error; incrementing a count of each composite cell on a composite-error graph traversed by the path of each of the parity lines having an error; determining the largest-number cell in the composite-error graph having the largest number; comparing the largest number to a threshold; inverting, provided the largest number exceeds the threshold, the data bit in the receiver-information-memory cells corresponding to the largest-number cell in the composite-error graph having the largest number, thereby the new-data symbol minimizes the count in the largest-number cell; sending a retransmit request to the transmitter if some errors are not correctable; sending the second block of parity-check symbols over the communication channel; using the second set of parity-check symbols, repeating the steps of finding the parity-check bits and the parity-line bits along the parity lines in the g rows by h columns of receiver-information-memory cells, having an error; incrementing the count of each composite cell on a composite-error graph traversed by the path of each of the parity lines having an error; determining the largest-number cell in the composite-error graph having the largest number; comparing the largest number to a threshold; and inverting, provided the largest number exceeds the threshold, the data bit in the receiver-information-memory cells corresponding to the largest-number cell in the composite-error graph having the largest number, thereby the new-data symbol minimizes the count in the largest-number cell.
-
-
8. A PASM error correcting and detecting code encoding apparatus comprising:
-
memory means having a ring register coupled to a data source for storing a block of a data-symbol sequence; and processor means coupled to said memory means for calculating a first set of parity-check symbols from the data symbols along a first set of set of parity lines, wherein each parity line of the first set of parity lines has a path with a first slope traversing through said information-memory cells, and said first set of parity-check symbols forms a first parity row located in said parity-check memory cells, calculating at least a second set of parity-check symbols from the data symbols along a second set of parity lines, wherein each parity line of the second set of parity lines has a path with a second slope traversing through said information-memory cells and through said first parity row, and said second set of parity-check symbols form a second parity row located in said parity-check memory cells, and outputting an encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check symbols.
-
-
9. A TASM error correcting and detecting code encoding apparatus comprising:
-
memory means having a ring register coupled to a data source for storing a block of a data-symbol sequence having data symbols with p-bits per symbol, in memory means having information memory cells and parity-check memory cells; and processor means for calculating a first set of parity-check symbols from data symbols located in the information memory cells, along a first parity path having a first slope passing through the information memory cells and parity-check memory cells by adding modulo 2p the data symbols and parity-check symbols along the first parity path;
storing said first set of parity-check symbols in a first parity row located in said parity-check memory cells;
calculating al least a second set of parity-check symbols from data symbols and parity-check symbols located in the information memory cells and parity-check memory cells, respectively, along a second parity path having a second slope by adding modulo 2p the data symbols and parity-check symbols along the second parity path, wherein said second parity-check symbols are located at said second slope with reference to the first parity-check memory cells;
storing said second parity-check symbols in said second parity row; and
outputting and encoded-data-symbol sequence comprising the data-symbol sequence and the parity-check sequence.
-
Specification