Construction of Cyclically Permutable Codes From Cyclic Codes

Cyclically permutable codes (CPCs) are important to communication networks, e.g., multiple access collision channels without feedback and frequency-hopping spread spectrum communication channels. A CPC is a block code of length n such that each codeword has full cyclic order n and all codewords are cyclically distinct. This study investigates the characteristics of finite fields to develop an efficient algorithm to find a CPC from a p-ary cyclic code, where p is a prime number. In this paper, the Galois field Fourier transform technique is used to generate a CPC of either primitive or non-primitive length.


Introduction
For the past few years, cyclically permutable codes and their applications in communication networks, e.g.multiple access collision channel without feedback (1) and frequencyhopping spread spectrum communications channels (2), (3), and digital watermarking (4), (5) have become increasingly important.A cyclic code (6) is defined as a linear block code such that any cyclic shift of every codeword yields another codeword.Gilbert (7) defined a cyclically permutable code (CPC) as a block code of length n, such that each codeword has cyclic order $n$ and any cyclic shift of all codewords are distinct, i.e., no codeword in CPC can be obtained by any cyclic shift of another codeword.Maracle and Wolverton (8) proposed an algorithm for constructing the cyclically inequivalent subset.However, an existing p-ary cyclic codes usually do not enable this efficient construction.
A cyclically permutable code of length n can be obtained directly from a cyclic code by partitioning this cyclic code into cyclically equivalent subsets, each consisting of all cyclic shift of a codewords, and then choosing any one codeword from those subsets of size $n$.However, it is required that the CPC must be effectively constructed from this cyclic code.N. Q. A. L. Gyorfi and J. L. Massey (9) proposed an encoding procedure for obtaining cyclically equivalent subsets and formed a CPC from a maximum-distance-separable (MDS) code, such as abReed-Solomon (RS) code of length p-1 or a generalized Berlekamop-Justesen (BJ) code of length p+1, both with dimension k and over Fp.More precisely, they constructed a CPC with p k-1 codewords from a RS code or a CPC with p k-2 codewords from a BJ code.
The design of a difference family and several constructions of constant-weight CPCs are presented in (10) where the authors proposed combinatorial constructions to constrcut a CPC that have other coding applications.In (11), the authors proposed the use of algebraic property of a binary cyclic code, such as the generator polynomial in timedomain, for an efficient and systematic construction of a CPC from this binary cyclic code.
In this paper, we use the Galois field Fourier transform method to form a CPC from a p-ary cyclic code of length n where n is a divisor of p m-1 .Let  be an element with multiplication order n.This study extends the results of (9) in twofold advantages.First, for a cyclic code of nonprimitive length n=(p m-1 )/s, s>1, and dimension k, we can construct a CPC with  s p k-m codewords.The CPC constructed here has s times more codewords compared to the CPC constructed in (9).Secondly, let  i , i >1, be a nonzero of a RS code of primitive length p-1 and assume i and p-1 are relative prime, we can then construct a CPC which has more than p k-1 codewords.The remainder of this paper is organized as follows.In Section, we describe the Galois Field Fourier transforms for a p-ary cyclic code.Section III proposes an efficient construction for a CPC from the cyclic codes and provides some CPC examples with DOI: 10.12792/icisip2015.029constructive discussions.Finally, Section IV presents the conclusion.

Galois Field Fourier Transform Methods
For signal processing applications, there are several discrete Fourier transforms applied to complex fields (6).Fourier transforms also exists in the Galois field GF(q), which is important in the study and processing of cyclic codes.As opposed to (11), which used the time-domain to find a CPC, this study proposes the use of the frequency domain as an efficient method to find many CPCs from cyclic codes.Cyclic codes are defined as codes whose codewords have certain specified spectral components that are equal to zeros.The most important cyclic codes studied in this paper are the Reed-Solomon (RS) codes and Boss-Chaudhur-Hochquenghen (BCH) codes, which are used to find CPCs.In this section, we describe the constructions of the Galois field Fourier transform (GFFT) to define cyclic codes, and we use the GFFT for cyclic codes to find the CPC.Galois field Fourier transform is a linear operator described by a matrix multiplication.Let v=(v0,v1,…,vn-1) be a vector over Fq m of length n|q m -1 for some positive integer m.Let   GF(q m ) have order n.The GFFT of v is the vector V=(V0,V1,…,Vn-1) defined as The GFFT can be also written by the formula .
We can use v  V to denote the Fourier transform relationship between v and V. Similarly, the inverse GFFT of the vector V=(V0,V1,…,Vn-1) can be showns to be The inverse GFFT can also be written as where n -1 is the vector multiplicative inverse of n.The spectrum of the polynomial v(x)=v0+v1x+…+vn-1x n-1 is the GFFT of v=(v0,v1,…,vn-1), and the vector v is in the time domain, and its corresponding transform V is in the frequency domain.Given a polynomial v(x), we can show that The j-th component of the GFFT of v is obtained by evaluating v(x) at x=  j .Similarly, we can write the i-th We can then use the zeors and the inverse of the nonzeros of a cyclic code to form the parity check matrix H and the generator matrix G as

Construction of Cyclically Permutable Codes
CPCs are based on the characteristics of cyclic codes, where the cyclically shifted codewords occupy the same subspace, with each CPC codeword belonging to each subspace.Gillbert (3) defined a CPC as a binary block code, the codewords of which are cyclically distinct and have full order.This study proposes efficient methods that can be used to find the CPC, and propose the construction of CPCs using p-ary linear cyclic (n, k, d) codes, where n, k and d are the block length, dimension and minimum Hamming distance, respectively, and those codes with code digits in GF(q) and p can be a prime number.Moreover, this paper presents a cyclic code that can be used to find more CPCs compared with (6), and n can have both primitive and non-primitive lengths.

Conclusion and Discussion
Cyclic codes are block codes in which a cyclic shift codeword generates another codeword belonging to the same subspace.With cyclically permutable codes (CPCs), the codewords are cyclically distinct and have full cyclic order.Although it is important to effectively determine CPCs from cyclic codes, no approach has thus far been proposed.In this paper, we study the characteristics of finite fields and cyclic codes, and propose an efficient CPC construction procedure.The construction method proposed here is more efficient than the RS-based construction proposed in ( 5) and (6).In the first case, when gcd(n,i)=1, we can obtain more CPCs.
Second, in (6), there is only the case where the CPC number comprises s=1 multiples, and we can obtain more than s  1 multiples of CPC.Moreover, as opposed to (5) which used the time domain, we proposed to use the frequency domain as an efficient method to find the CPC from cyclic code.We have shown the construction of CPCs based on the binary mapping of some p-ary linear cyclic codes, and we noted that the code can have primitive and non-primitive length.

.
Let k=1+r  m be the binary (n, k, d) BCH code, where the codewords have 2 k =2  2 m  r .Substituting a non- zero inverse into (3) to generate the matrix, we have -1 is primitive and has primitive length.