An algebraic decoding method for a (n, n(n−1), n−1) permutation group code in a communication modulation system, wherein when n is a prime number, the (n, n(n−1), n−1) permutation group code contains n(n−1) permutation codewords, each of the permutation codewords contains n code elements, and a minimum Hamming distance between any two of the permutation codewords is n−1, comprising:
- i) determining an intermediate parameter w:
- let w∈Zn be obtained by solving an expression (r1−r2)w=(s1−s2)(mod n), wherein (mod n) represents a modulo n operation;
- let p(r1)=s1 and p(r2)=s2 be two of the code elements correctly detected in a real signal vector received from a channel, wherein s1, s2∈Zn are respectively element values of the code elements p(r1) and p(r2), r1, r2∈Zn are respectively position indices of the code elements p(r1) and p(r2), and Zn is a positive integer finite domain represented by Zn={1, 2, . . . , n};
- and both the code elements p(r1) and p(r2) are elements in a permutation codeword p with a code length of n;
- ii) calculating respective code elements in the permutation codeword p by using the intermediate parameter w determined in i) and the detected parameters r1 and s1 according to an expression p(i)=(s1+(n−r1+i)w)(mod n), wherein p(i) represents an element value of a code element at a position index i, and i=1, 2, . . . , n;
- and
- iii) constructing a vector with a length of n by arranging the n code elements calculated in ii) in an order of i=1, 2, . . . , n, to obtain a decoded codeword p=[p(1)p(2) . . . p(n−1)p(n)].