I've been away from error correction for a while, but I was able to get it to work back then. Here is a sample result. Thank you for answering my questions. -Linda Seltzer _______________________________________________________________ transmitted message [0] = f transmitted message [1] = 0 transmitted message [2] = 5 transmitted message [3] = 5 transmitted message [4] = 4 transmitted message [5] = 7 transmitted message [6] = 0 transmitted message [7] = f transmitted message [8] = 0 transmitted message [9] = a transmitted message [a] = 7 transmitted message [b] = 6 transmitted message [c] = 4 transmitted message [d] = 8 transmitted message [e] = 0 ---------------------------------------- ******ERROR CORRECTION TEST - Arbitrary example Before errors inserted: recd_msg[0] = f Before errors inserted: recd_msg[1] = 0 Before errors inserted: recd_msg[2] = 5 Before errors inserted: recd_msg[3] = 5 Before errors inserted: recd_msg[4] = 4 Before errors inserted: recd_msg[5] = 7 Before errors inserted: recd_msg[6] = 0 Before errors inserted: recd_msg[7] = f Before errors inserted: recd_msg[8] = 0 Before errors inserted: recd_msg[9] = a Before errors inserted: recd_msg[a] = 7 Before errors inserted: recd_msg[b] = 6 Before errors inserted: recd_msg[c] = 4 Before errors inserted: recd_msg[d] = 8 Before errors inserted: recd_msg[e] = 0 inserted error at location 8, value b inserted error at location 9, value 2 inserted error at location e, value 2 After errors inserted: recd_msg[0] = f After errors inserted: recd_msg[1] = 0 After errors inserted: recd_msg[2] = 5 After errors inserted: recd_msg[3] = 5 After errors inserted: recd_msg[4] = 4 After errors inserted: recd_msg[5] = 7 After errors inserted: recd_msg[6] = 0 After errors inserted: recd_msg[7] = f After errors inserted: recd_msg[8] = b After errors inserted: recd_msg[9] = 2 After errors inserted: recd_msg[a] = 7 After errors inserted: recd_msg[b] = 6 After errors inserted: recd_msg[c] = 4 After errors inserted: recd_msg[d] = 8 After errors inserted: recd_msg[e] = 2 synd[0] = 0 synd[1] = e synd[2] = f synd[3] = 2 synd[4] = f synd[5] = e synd[0] = 0 synd[1] = e synd[2] = f synd[3] = 2 synd[4] = f synd[5] = e Length of Syndrome 6 Error Locator polynomial LL0 = 1 LL1 = 6 LL2 = a LL3 = 2 nroots = 3 power representation of root = 1 in hex inverse root val = e power representation of root = 6 in hex inverse root val = 9 power representation of root = 7 in hex inverse root val = 8 error found at location e error found at location 9 error found at location 8 root = 1 root = 6 root = 7 rootsofsigma 1 6 7 syndrome vector for matrix equation = 0 e f Printing 3x3 matrix row1 before squaring: [5 a 9] element (1,1): alpha^ 8 element (1,2): alpha^ 9 element (1,3): alpha^ e row1: [ 2 8 d ] row2: [ a f f ] row3: [ 4 c e ] Matrix in power representation element (1,1): alpha^ 1 element (1,2): alpha^ 3 element (1,3): alpha^ d element (2,1): alpha^ 9 element (2,2): alpha^ c element (2,3): alpha^ c element (3,1): alpha^ 2 element (3,2): alpha^ 6 element (3,3): alpha^ b Transpose Matrix in power representation element (1,1): alpha^ 1 element (1,2): alpha^ 9 element (1,3): alpha^ 2 element (2,1): alpha^ 3 element (2,2): alpha^ c element (2,3): alpha^ 6 element (3,1): alpha^ d element (3,2): alpha^ c element (3,3): alpha^ b Computing ca11 XOR of element (3,2): alpha^ 8 element (3,3): alpha^ 3 Cofactors element (1,1): alpha^ d element (1,2): alpha^ 9 element (1,3): alpha^ 5 element (2,1): alpha^ c element (2,2): alpha^ b element (2,3): alpha^ 5 element (3,1): alpha^ 3 element (3,2): alpha^ d element (3,3): alpha^ 1 Determinant = a = alpha ** 9 Matrix inverse in power representation element (1,1): alpha^ 4 element (1,2): alpha^ 0 element (1,3): alpha^ b element (2,1): alpha^ 3 element (2,2): alpha^ 2 element (2,3): alpha^ b element (3,1): alpha^ 9 element (3,2): alpha^ 4 element (3,3): alpha^ 7 Product of matrix and inverse element (1,1): alpha^ 0 element (1,2) = 0 element (1,3) = 0 element (2,1) = 0 element (2,2): alpha^ 0 element (2,3) = 0 element (3,1) = 0 element (3,3) = 0 element (3,3): alpha^ 0 errmags at 8 = b = alpha^7 errmags at 9 = 8 = alpha^3 errmags at e = 2 = alpha^1 Error at location 8 is b Error at location 8 is b Error at location 9 is 8 Error at location 9 is 8 Error at location e is 2 Error at location e is 2 Error vector [0] = 0 Error vector [1] = 0 Error vector [2] = 0 Error vector [3] = 0 Error vector [4] = 0 Error vector [5] = 0 Error vector [6] = 0 Error vector [7] = 0 Error vector [8] = b Error vector [9] = 8 Error vector [a] = 0 Error vector [b] = 0 Error vector [c] = 0 Error vector [d] = 0 Error vector [e] = 2 Add to recd_msg[0] = f Add to recd_msg[1] = 0 Add to recd_msg[2] = 5 Add to recd_msg[3] = 5 Add to recd_msg[4] = 4 Add to recd_msg[5] = 7 Add to recd_msg[6] = 0 Add to recd_msg[7] = f Add to recd_msg[8] = b Add to recd_msg[9] = 2 Add to recd_msg[a] = 7 Add to recd_msg[b] = 6 Add to recd_msg[c] = 4 Add to recd_msg[d] = 8 Add to recd_msg[e] = 2 ************Doing error correction correctedmsg [0] = f correctedmsg [1] = 0 correctedmsg [2] = 5 correctedmsg [3] = 5 correctedmsg [4] = 4 correctedmsg [5] = 7 correctedmsg [6] = 0 correctedmsg [7] = f correctedmsg [8] = 0 correctedmsg [9] = a correctedmsg [a] = 7 correctedmsg [b] = 6 correctedmsg [c] = 4 correctedmsg [d] = 8 correctedmsg [e] = 0>>>