Methods and systems for bit error determination and correction
AssigneeEcole De Technologie Superieure
InventorsVivien BOUSSARD, Stéphane COULOMBE
Life of this patent
Estimating the term…
Abstract
A computer-implemented technique for correcting a data packet having a payload and cyclic redundancy check information provides a list of possible packet errors by algorithmic operations of forcing and cancelling bits at certain positions using a generator polynomial, while maintaining the equivalence relationship with the original syndrome, performed explicitly using arithmetic operations or implicitly using a table representative of such arithmetic operations. Correction can then be implemented using an error chosen from the list.
Claims19
A computer-implemented method for correcting a data packet comprising a payload d(x) and cyclic redundancy check (CRC) information, calculated using a generator polynomial g(x), the method comprising:
- calculating a syndrome value according to said data packet and said generator polynomial g(x);
- generating a list of potential error vectors EN according to one of the following:
- A)
- initializing an error vector e using said syndrome value;
- determining that the error vector e is a potential error vector according to a number of bits in the error vector e that have a value that is indicative of an error;
- adding the error vector e to the list of potential error vectors EN according to the determining;
- generating an additional error vector e′ by adding a shifted version of a vector g to the error vector e at a bit position, where the bit position is determined according to a bit value of the error vector e and according to previously determined bit positions, the vector g being associated with the generator polynomial g(x);
- and
- repeating the determining, the adding and the generating by using the additional error vector e′ as the error vector e, for each said bit position of said data packet;
- B)
- providing a lookup table comprising a plurality of syndrome value indexes and entries each entry corresponding to a relative distance to a single error and a next normalized syndrome value, the entries being associated to one of the plurality of syndrome value indexes in accordance with previously determined possible syndrome values for said generator polynomial g(x);
- identifying a relative distance to a single error and a next normalized syndrome value from the entries of the lookup table according to one of the plurality of syndrome value indexes corresponding to the syndrome value;
- generating an error vector e according to said identified relative distance to a single error;
- determining that said error vector e is a potential error vector according to said relative distance to the single error;
- adding said identified error vector e to the list of potential error vectors EN, according to the determining;
- and
- repeating the previous four steps for each bit in said payload d(x), using the identified next normalized syndrome value as the syndrome value;
- returning the list EN;
- selecting a potential error vector e from the list EN;
- and
- correcting the packet based on the selected potential error vector e.
Dependencies are inferred from the claim text.