Skip to Content
You are currently on the new version of our website. Access the old version .
ElectronicsElectronics
  • Article
  • Open Access

5 January 2026

16 Pages

A Fast Method for Estimating Generator Matrixes of BCH Codes

,
,
and
Aviation University of Air Force, Changchun 130000, China
*
Author to whom correspondence should be addressed.

Abstract

The existing methods used for estimating generator matrixes of BCH codes, which are based on Galois Field Fourier transforms, need to exhaustively test all the possible codeword lengths and corresponding primitive polynomials. With the increase of codeword length, the search space exponentially expands. Consequently, the computational complexity of the estimation scheme becomes very high. To overcome this limitation, a fast estimation method is proposed based on Gaussian elimination. Firstly, the encoded bit stream is reshaped into a matrix according to the assumed codeword length. Then, by using Gaussian elimination, the bit matrix is simplified as the upper triangle form. By testing the independent columns of the upper triangle matrix, the assumed codeword length is judged to be right or not. Simultaneously, by using an augmented matrix, the parity check matrix of a BCH code can be estimated from the simplification result in the procedure of Gaussian elimination. Furthermore, the generator matrix is estimated by using the orthogonality between the generator matrix and parity check matrix. To improve the performance of the proposed method in resisting bit errors, soft-decision data is adopted to evaluate the reliability of received bits, and reliable bits are selected to construct the matrix to be analyzed. Experimental results indicate that the proposed method can recognize BCH codes effectively. The robustness of our method is acceptable for application, and the computation required is much less than the existing methods.

1. Introduction

Channel codes are usually used in communication systems to improve the reliability of systems [1,2,3,4]. A Bose–Chaudhuri–Hocquenghem (BCH) code is a kind of cyclic code. Due to the superior performance in bit error correction and low complexity in encoding and decoding, BCH codes are used widely in wireless communication systems and storage systems [5,6,7,8,9]. In the field of non-corporative reconnaissance, to acquire the transmitted information, the non-corporative side needs to recognize the parameters of channel codes and then decodes the bit-stream using these parameters. Besides its application in information interception, in the field of cognitive communication, the receiver needs to identify the type and parameters of the encoder, when it cannot receive the controlling messages correctly. Consequently, the identification of channel codes, including BCH codes [10,11,12,13,14,15,16,17,18], polar codes [19,20], LDPC codes [21], etc., has attracted the attention of researchers. Since binary primitive BCH codes, as a class of BCH codes, are widely used in communication systems, the recognition of binary BCH codes is discussed in this paper. Identifying a BCH code is attributed to the generator matrix estimation. In [10], Galois Field Fourier transform (GFFT) is used to estimate the codeword length and primitive polynomial of a BCH code. In the identification scheme, the possible codeword length and corresponding primitive polynomials are exhaustively tested. Once the candidate is the true one, the result of the GFFT of codewords contains consecutive zero coefficients. With the decrease of bit errors in the codewords used in GFFT, the correct test probability increases. Therefore, to improve the correct test probability, codewords containing bit errors are deleted from the dataset in [11]. Furthermore, the theoretical performance of this modified scheme is analyzed in [12]. Inspired by this thought, through correcting the only one error bit in a codeword, the number of codewords without errors in the dataset increases, and thus this processing improves the correct identification rates of the GFFT-based method [13]. To increase the efficiency of correcting bit errors in codewords, the bit error correction procedure with lower complexity is proposed in [14]. Moreover, dual criteria are used to test the candidate encoder parameters, according to the results of GFFT. Consequently, the correct identification rate is improved. A scheme for correcting two-bit errors is proposed in [15]. By adopting this scheme, the robustness of the identification method based on GFFT is enhanced further. To decrease the computation required in the GFFT procedure, Chang proposed the fast GFFT [16]; compared with the original algorithm, the fast version requires less computation. Additionally, Chang also discussed the application of GFFT in the scenario that the number of encoded bits is limited [17].
Based on the characteristics that codeword polynomials and the generator polynomial of a BCH code have common roots, the generator polynomial can be estimated by using an hypothesis test [18].
From analysis to the state of the art, it can be concluded that the inherence of the existing identification methods is an exhaustive search. The possible codeword length and the corresponding primitive polynomials need to be exhaustively tested in the identification scheme. However, with the increase of the codeword length, the candidate space expands exponentially, and thus the computational complexity of the identification procedure becomes very high. For example, if the codeword length increases from 7 to 255, the number of candidate primitive polynomials is totally 50. Large computation weakens the identification efficiency; to achieve balance between the identification accuracy and efficiency, a fast identification method is proposed based on Gaussian elimination.
Regarding the research of identifying BCH codes, our research group firstly publishes our work, and the main contributions of the articles are as follows:
  • Compared to the existing methods, the proposed method gets rid of exhaustive search. Gaussian elimination for the bit matrix is adopted in the identification scheme, and the exhaustive test is avoided. Consequently, the computation required by the proposed method is much less than GFFT-based methods.
  • In the procedure of Gaussian elimination, the criteria for judging independence of columns is defined, and besides that, soft-decision data is adopted to evaluate the reliability of the judged bits after demodulation. These means improve the resistance of the method to bit errors, and therefore, its robustness is suitable for application.
The content of the paper is organized as follows. In Section 2, the principle of BCH code is illustrated. The identification scheme is elaborated in Section 3. Experimental results are shown in Section 4, and conclusions are given in Section 5.

2. The Principle of BCH Codes

Binary primitive BCH codes are commonly used in practice. For a ( n , k ) binary primitive BCH code, the generator polynomial has 2 t consecutive roots. These roots can be denoted as α , α 2 , … , α 2 t , where α is the primitive elements as the root of a primitive polynomial with order m and t = ( n − k ) / m . The codeword length n and order m have the relationship n = 2 m − 1 [7,8,9]. By using these roots, the generator polynomial g ( x ) can be expressed as (1).
g ( x ) = ( x − α ) ( x − α 2 ) … ( x − α 2 t ) ;
Equation (1) can be further simplified as g ( x ) = g n − k x n − k + g n − k − 1 x n − k − 1 + … + g 0 . By using the generator polynomial g ( x ) , the generator matrix G can be expressed as (2).
G = g n − k g n − k − 1 … g 0 0 0 … 0 0 g n − k g n − k − 1 … g 0 0 … 0 ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋱ ⋮ 0 0 … 0 g n − k g n − k − 1 … g 0 ;
Once the generator matrix is obtained, the identification is achieved. Therefore, the identification of a BCH code can be attributed to estimate the generator matrix.

3. Identifying BCH Codes Based on Gaussian Elimination

3.1. Principle of the Estimation Method

3.1.1. Rank Deficient Characteristics of Encoded Bit Matrix

From (2), it can be seen that every row in G is independent from each other, and thus for a ( n , k ) BCH code, the rank of G is equal to k . In other word, the rows of G consist of the k -dimensional subspace in a n -dimensional space. Consequently, there exists a null space orthogonal to the space spanned by G , i.e.,
G ⋅ H T = 0 ;
where H is a ( n − k ) × n matrix with the rank n − k , defined as the parity check matrix.
Since a BCH code is a kind of linear block code, its codeword matrix C can be represented as the multiplication of the information bit matrix M with the generator matrix G , i.e.,
C = M ⋅ G ;
by combining (3) and (4), it can be derived that [22]
C ⋅ H T = 0 ;
Equation (5) indicates that the any codeword is orthogonal to the parity check matrix. It means that H consists of the null space of C . Furthermore, the orthogonal relationship shown in (5) can be expressed as
h j , 1 c 1 ⊕ h j , 2 c 2 ⊕ … ⊕ h j , n c n = 0 ;
where c i denotes the i-th column of the matrix C , and h j , i denotes the elements in the j-th row and the i-th column of H . If the number of rows in H is n − k , i.e., the rank of H is n − k , there are n − k linear equations, as shown in (6). It means n − k columns in C are dependent on other k columns; in other words, the rank of the matrix C is k . Therefore, through elementary row transformation, the simplified result can be denoted as in Figure 1.
Figure 1. Simplified result of the bit matrix.
The black block represents a nonzero matrix in size k × n , and the white block represents a ( n − k ) × n zero matrix.
Concretely, the simplified matrix is denoted as C s , shown in (7).
C s = I k × k P k × ( n − k ) 0 ( M − k ) × k 0 ( M − k ) × ( n − k ) ;
As the column number of the bit matrix increases to a multiple of the codeword length, each row contains multiple codewords, and in these cases, the columns also satisfy a linear relationship. If there are p codewords in each row, the columns in the bit matrix C satisfy p k linear equations, i.e.,
h j , 1 c 1 ⊕ h j , 2 c 2 ⊕ … ⊕ h j , n c n = 0 ,           j = 1 , 2 , … , p k ;
Therefore, the matrix has deficient rank, and the rank is p k . Consequently, the bit matrix after simplification can be denoted as in Figure 2.
Figure 2. Matrix with deficient rank.
The black blocks denote nonzero matrixes of size k × n , and white blocks denote zero matrixes.
Otherwise, if the column number is not a multiple of the codeword length, the linear relationship does not exist in the columns, i.e.,
h j , 1 c 1 ⊕ h j , 2 c 2 ⊕ … ⊕ h j , n c n ≠ 0 ,           j = 1 , 2 , … , p k ;
In this case, the columns of the bit matrix are independent from each other, and consequently, the matrix has full rank. The simplification result of the matrix can be denoted as in Figure 3.
Figure 3. Matrix with full rank.
In Figure 3, M > N , the black block denotes the unit matrix of size N × N , and the white block denotes the zero matrix.

3.1.2. Estimation of Codeword Length

According to the above analysis, the codeword length n can be estimated by using the rank characteristics. First, assume the codeword length n ^ , usually from the smallest candidate value. Then the encoded bit stream is reshaped to a matrix in size M × n ^ , where M > n ^ . By using Gaussian elimination, the bit matrix is simplified as the simplest form C s . According to the simplification result, the rank of the matrix can be estimated. If the assumption value is the true one, the rank is deficient. Finally, the estimation result is tested further. Let the number of columns of the matrix equal to q n ^ . If the rank is always deficient in these cases, the estimation is correct definitely. Once the codeword length is estimated, the dimension of the information bits can be estimated according to the deficient rank, as shown in (10).
rank ( C M × q n ) = q k ;
where rank ( C M × q n ) represents the rank of the bit matrix C of the size M × q n .

3.1.3. Estimation of Parity Check Matrix and Generator Matrix

After the codeword length is estimated, the next target is to estimate the parity check matrix. Actually, the estimation of the parity check matrix can be achieved simultaneously as the codeword length is estimated. When the rank of the matrix is deficient firstly, the bit matrix can be simplified as the form shown in (7). The parity check matrix H can be obtained by using the matrix P k × ( n − k ) . The parity check matrix H consists of P k × ( n − k ) and a unit matrix of size N ( n − k ) × N ( n − k ) , as shown in (11).
H = P ( n − k ) × k T   I ( n − k ) × ( n − k ) ;
Furthermore, for the generator matrix G , by using the orthogonal relationship shown in (3), between H and G , and by combining (3) and (11), the generator matrix G can be represented as (12).
G = I k × k   P k × ( n − k ) ;
The form of G shown in (12) is not identical to that in (2). Through elementary row transformation, the generator matrix can be simplified as the form shown in (2), and simultaneously, the generator can be obtained from the generator matrix. The identification is accomplished.
In the above case, the first bit in the sequence is the codeword’s start-point. If not, the first bit of the sequence is shifted to the right one by one until the first bit of the sequence is the codeword’s start-point and the deficient rank characteristics appear.
The flow of the identification procedure is shown in Figure 4.
Figure 4. Flow of the identification procedure.

3.2. Improving the Robustness of the Estimation Method

3.2.1. Test Rank Deficient Characteristics

As the signal to noise ratio (SNR) of the intercepted signal descends, the bit error rate (BER) after demodulation increases. As the number of bit errors increases, the characteristics of rank deficiency disappear. In this case, the independency of the columns after Gaussian elimination needs to be tested. If the bit matrix has full rank, its most concise form consists of a unit matrix and a null matrix, as shown in (13).
C s = I n × n 0 ( M − n ) × n ;
The most concise form indicates that all of the columns are independent. Therefore, to test whether a column is independent or not, the matrix needs to be simplified as the upper triangle form C t . According to the ratio of ‘1’ element in each column, the independency of a column is tested.
First of all, a test statistic should be constructed. Different to the test statistic in [23], a new test statistic is defined in this paper, as shown in (14).
φ ( i ) = ∑ j = 1 M C t ( j , i ) m B ( i ) ;
where C t ( j , i ) is the element on the j -th row and i -th column of the upper triangle matrix C t and m B ( i ) = ( M − i ) / 2 .
Then, the threshold used to test the dependency of each column is set. For different column, the threshold is different. If the statistic value φ ( i ) is larger than the threshold β ( i ) , i.e.,
φ ( i ) > β ( i ) ;
the column is judged to be independent. Otherwise, it is judged to be dependent.
The threshold β ( i ) is computed as follows [23]:
β ( i ) = − b ( i ) − b 2 ( i ) − a ( i ) ⋅ c ( i ) a ( i ) ;
where
a ( i ) = − M 1 − 2 P ( i ) 2 2 b ( i ) = − M 1 − 2 P ( i ) ⋅ P ( i ) c ( i ) = 2 M 1 − 2 P ( i ) ⋅ P ( i ) − 2 P ( i ) 1 − P ( i ) lg 4 P ( i ) 1 − P ( i ) P ( i ) = 1 2 ( 1 − ( 1 − 2 B E R ) ∑ j = 1 M C t ( j , i ) ) ;
Influenced by bit errors, the parity check matrix cannot be obtained from the lower triangle matrix. However, in the procedure of matrix simplification, the parity check matrix of a BCH code can be obtained by using an augmented matrix. The original bit matrix C and a unit matrix I M , called augmented matrix, constitute a new matrix C , I M . After simplification, the upper triangle matrix C t has the relationship shown in (18) with the original bit matrix C .
C t = D 1 C D 2 ;
where D 1 is the elementary row transformation matrix, and D 2 is the elementary column transformation matrix. Consequently, after simplification, the augmented matrix I ′ M can be represented as (19).
I ′ M = D 1 I M D 2 ;
In the matrix I ′ M , the columns that correspond to the independent columns in C t constitute the parity check matrix H of the BCH code. Furthermore, as per the illustration in Section 3.1.3, the generator matrix G and generator polynomial g ( x ) can be obtained naturally by using the orthogonality.

3.2.2. Selection of Reliable Data

To decrease bit errors in the sequence, soft-decision data can be used to select reliable bits. Soft-decision data is the output of the correlation demodulator in the demodulation model, not judged to be symbols [24,25,26]. The position of the soft-decision data in the demodulation model is shown in Figure 5.
Figure 5. Soft-decision data in the demodulation model.
Since soft-decision data is real, it contains more information than judged symbols. In this paper, a BPSK signal is taken as an example to show the soft-decision data and transmitted symbols. For a BPSK signal, soft-decision data r t can be denoted as follows:
r t = + 1 + n t ,       ‘ 0 ’ − 1 + n t ,       ‘ 1 ’ ;
where + 1 represents the high voltage when the transmitted symbol is ‘ 0 ’ , − 1 represents the low voltage when the transmitted symbol is ‘ 1 ’ , and n t is the Gaussian white noise.
Suppose that the hypotheses H 0 and H 1 represent the transmitted ‘ 0 ’ and ‘ 1 ’ bits, respectively, and n t ~ N 0 , σ 2 : according to (20), by using the probability density function of Gaussian distribution, the likelihood function under different hypothesis can be obtained, as shown in (21).
f ( r t H 0 ) = 1 2 π σ exp − ( r t − 1 ) 2 2 σ 2 f ( r t H 1 ) = 1 2 π σ exp − ( r t + 1 ) 2 2 σ 2 ;
By using the likelihood function, the log-likelihood ratio (LLR) can be defined as (22).
LLR = ln f ( r t H 0 ) f ( r t H 1 ) ;
LLR can be used to evaluate the reliability of a judged symbol. For binary modulation, one symbol contains one bit. From (21), it can be seen that if the transmitted bit is ‘ 0 ’ , the value of the likelihood function f ( r t H 0 ) is larger than that of f ( r t H 1 ) , and the LLR is positive, and identically, if the transmitted bit is ‘ 1 ’ , the value of f ( r t H 1 ) is larger than that of f ( r t H 0 ) , and the LLR is negative. When the LLR is positive, the larger it is, the more reliable the judgement is. Contrarily, smaller value means more reliable judgement.
Consequently, if the absolute value of LLR is larger, the bit is more reliable. A threshold α can be set to select reliable bits. If the absolute value of the LLR is larger than α , i.e.,
LLR > α ;
the bit is considered as reliable. The threshold would influence the correct identification rate, and the influence of the threshold on the bit error rate would be analyzed in the next subsection.
The minimum of LLR in a row is regarded as the LLR of the row. The rows with higher LLR are selected to construct the matrix for analyzing, and the rows are arranged in the order of descending LLR; i.e., the row with the highest LLR is on the top of the matrix, and the lowest is on the bottom. Due to the rows in the lower part of a matrix being less used, the simplification procedure would be less influenced by bit errors. By this means, the number of bit errors in the matrix can be reduced, and the correct rate of detecting independent columns increases.
By using LLR, reliable data can be selected to decrease bit errors in the matrix under the Gaussian white noise channel. When burst interference is added on the communication receiver, there may be burst errors in the bit stream after demodulation. Under this kind of channel, a long ‘1’ bit sequence or ‘0’ bit sequence exists in the bit stream. To decrease bit errors, the rows containing bust errors should be deleted directly from the bit matrix.

3.2.3. Analysis for the Selection of LLR Threshold

The value of the LLR threshold has an impact on the BER. In this subsection, the relationship between the BER and the LLR threshold is analyzed theoretically in the case of BPSK modulation. By combining (21) and (22), the criteria for judging bit reliability can be further represented as (24).
r t > α σ 2 2 ;
According to (24), the BER after selecting reliable data is computed as follows [22]:
P e = P ( H 0 ) P ( r t < − α σ 2 2 H 0 ) + P ( H 1 ) P ( r t > α σ 2 2 H 1 ) ;
For ‘ 0 ’ and ‘ 1 ’ bits, their prior probabilities are approximately equal after channel encoding, i.e., P ( H 0 ) = P ( H 1 ) = 1 / 2 . Then, by using the likelihood function, the BER can be further simplified as (26).
P e = 1 2 erfc α σ 2 + 2 2 2 σ ;
where erfc ( x ) is the complementary error function. From (26), it can be seen that with the increase of the threshold, the BER decreases. Additionally, if the expected BER is set firstly, then according to (26), the corresponding threshold can be computed, as shown in (27).
α = 2 σ 2 2 σ erfc − 1 ( 2 P e ) − 1 ;
The algorithm for estimating generator matrixes of BCH codes is summarized as Algorithm 1.
Algorithm 1: Recognize BCH codes fast
Input: Soft-decision data after demodulation.
Output: Generator matrix and generator polynomial of a BCH code.
1. Assume the order m range [3, 8].
2. for m = 3 to 8 do
3.   calculate the candidate codeword length n = 2m − 1
4.   reshape the soft-decision data stream into a matrix of size M × n, M > n.
5.   select n rows with higher reliability from M rows to construct a new bit matrix of size n × n.
6.   simplify the bit matrix to an upper triangle form.
7.   test the independency of each column of the simplified result.
8.   if the matrix is of deficient rank and the number of independent columns k satisfies the equation t = (n − k)/m
9.   the candidate codeword length n is recognized to be right.
10. simultaneously, the parity check matrix H is obtained according to the simplified result.
11. end if
12. end for
13. According to the orthogonal relationship between the parity check matrix H and the generator matrix G, the generator matrix is estimated.
14. Simplify the generator matrix further to obtain the generator polynomial.

3.3. Computational Complexity Analysis

The computation required by this method concentrates on simplifying the matrix into the upper triangle form. To analyze its computational complexity, a module 2 addition is defined as an operation. For a bit matrix of size M × N , the size of the corresponding augmented matrix is M × M . Then the size of the matrix for simplifying is M × ( M + N ) . The procedure of simplifying needs most ∑ i = 1 N ( M − i ) ( M + N + 1 − i ) operations. In practice, the operations required is much less than the value.
The number of columns varies from the shortest codeword length seven to the true codeword length n . Therefore, the total operations required is ∑ N = 7 n ∑ i = 1 N ( M − i ) ( M + N + 1 − i ) . By ignoring the lower order terms in the above formula, the complexity of this method can be denoted as O ∑ N = 7 n M 2 N − 1 6 N 3 .
For comparison, the complexity of the widely used GFFT-based method is also analyzed. The computation of our method is in G F ( 2 ) ; and different with our method, the computation of the GFFT-based method is in G F ( 2 m ) . If a multiplication or an addition in G F ( 2 m ) is defined as an operation, then for M codewords of length N , ( 2 M N 2 + N 2 − N M ) operations are required as the GFFT is executed once. For each assumed codeword length, all the corresponding primitive polynomials are tested. Suppose the number of primitive polynomials for the codeword length n = 2 m − 1 is α ( m ) , then the computation required by the GFFT-based method is O ∑ m = 3 8 2 M N 2 α ( m ) .
Comparing the analyzed results, it can be concluded that the computational complexity of our method is much lower than that of the GFFT-based method.

4. Experimental Results

The first experiment verifies the effectiveness of the method. In the experiment, a ( 7 ,   4 ) BCH code, a ( 15 ,   7 ) BCH code, and a ( 31 ,   16 ) BCH code, whose generator polynomials are 1 + x + x 3 , 1 + x 4 + x 6 + x 7 + x 8 , and 1 + x + x 2 + x 3 + x 5 + x 7 + x 8 + x 9 + x 10 + x 11 + x 15 , respectively, are to be identified. In both cases, the received sequence is reshaped to matrixes with different numbers of columns, and the number of columns is larger than that of rows. Then, Gaussian elimination is executed to these matrixes. The rank difference R D is defined as R D = M − rank ( C ) , and the rank differences of the matrixes with different number of columns are shown in Figure 6, Figure 7 and Figure 8.
Figure 6. The rank differences of a (7, 4) BCH code.
Figure 7. The rank differences of a (15, 7) BCH code.
Figure 8. The rank differences of a (31, 16) BCH code.
As shown in Figure 6, when the number of columns is a multiple of seven, the difference rank is not equal to zero, and the rank of the matrix is deficient. Consequently, the codeword length can be estimated to be seven. Since the first nonzero value of the rank differences is equal to three, it can be obtained that the number of information bits of the BCH code is four. Thus, the encoder is identified to be a ( 7 ,   4 ) BCH code. The parity check matrix is estimated according to the result of Gaussian elimination when the number of columns is seven, shown as follows:
H = 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1
Furthermore, according to (3), the generator matrix G can be obtained.
G = 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1
By using primary transformation, the generator matrix can be simplified as the form shown as follows:
G = 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1
Therefore, the generator polynomial is estimated to be 1 + x + x 3 .
As shown in Figure 7 and Figure 8, the ranks of the ( 15 ,   7 ) and ( 31 ,   16 ) BCH bit matrixes are also deficient periodically. Therefore, they can be identified through the same processing procedure.
The second experiment compares the correct identification rates of the proposed method with that of Sicot’s method and the method based on GFFT. The BCH codes to be identified are the ( 7 ,   4 ) BCH code with the generator polynomial 1 + x + x 3 and the ( 15 ,   11 ) code with the generator polynomial 1 + x 4 + x 6 + x 7 + x 8 . The amount of data is 6 × 10 3 . Since Sicot’s method can only test the independent columns, the correct test rates of Sicot’s and our methods are compared in this experiment. If the GFFT results of 80% codewords have the same zero coefficients, the candidate codeword length and primitive polynomial are judged to be right. The SNR ranges from 0 dB to 10 dB, and under each SNR, the experiment is carried on 100 times. The correct identification rates of the three methods for different BCH codes are shown in Figure 9 and Figure 10.
Figure 9. Correct identification rates for (7, 4) BCH code under different SNR.
Figure 10. Correct identification rates for (15, 11) BCH code under different SNR.
In Figure 9, it shows that our method’s correct identification rates are higher than Sicot’s method. It indicates that the robustness of our method is acceptable for application. Compared with the method based on GFFT, the correct identification rates of our method are much higher under the low SNR, and the GFFT method is a little higher under high SNR due to its exhaustive search. However, the computational complexity of the GFFT method is much higher than that of our method.
By comparing Figure 9 and Figure 10, it is obtained that as the codeword length increases, the correct identification rates decrease. This is because the larger the BCH codeword length is, the larger the size of the bit matrix constructed for identification is. Thus, the number of bit errors in the matrix also increases.
The third experiment compares the proposed method with Sicot’s and GFFT-based methods on the correct identification rates under different bit error rates. The bit error rate ranges from 0.01 to 0.05, and the increment between two adjacent bit error rates is 0.005. Other experiment conditions are the same as those in the second experiment. Under each bit error rate, the experiment is executed 100 times. The correct identification rates of the three methods for different BCH codes are shown in Figure 11 and Figure 12.
Figure 11. Correct identification rates for (7, 4) BCH code under different bit error rates.
Figure 12. Correct identification rates for (15, 11) BCH code under different bit error rates.
From Figure 11 and Figure 12, it can be seen that, under the same bit error rate, the correct identification rates of the proposed method are higher than Sicot’s method. This indicates that the robustness of our method is superior to Sicot’s method. When the bit error rate is low, the correct identification rates of the GFFT-based method are higher than the proposed method. This is because the GFFT-based method adopts an exhaustive search. However, with the increase of bit error rate, the correct identification rate of the GFFT-based method decreases sharply, and in these cases, the correct identification rates of the proposed method are higher than the GFFT-based method.
By comparing Figure 11 and Figure 12, it is obtained that under the same bit error rate, the correct identification rate for the ( 7 ,   4 ) BCH code is higher than that for the ( 15 ,   11 ) BCH code. The reason is that as the codeword length increases, there exist more bit errors in a codeword.
The fourth experiment compares the execution time of the proposed method with the GFFT-based method. The BCH code to be identified is the ( 15 ,   11 ) code with the generator polynomial 1 + x 4 + x 6 + x 7 + x 8 . The amount of data used for identification is 10 4 . The bit error rate of the data is 0.01. The time required for executing the identification programs of our method and the GFFT-based method is shown as Table 1.
Table 1. The execution time of identification programs.
The fifth experiment analyzes the influence of the amount of data to the correct identification rates. The channel codes to be identified are the ( 7 ,   4 ) BCH code with the generator polynomial 1 + x + x 3 . The amount of data used for identification is 10 3 and 6 × 10 3 , respectively. Other conditions are the same as those in the second experiment. The correct identification rates in the case of different amounts of data are shown in Figure 13.
Figure 13. Correct identification rates under different amount of data.
As shown in Figure 13, as the amount of data increases, the correct identification rates also increase. This is because as the amount of data becomes larger, the selected bits have higher reliability. Therefore, the bit matrix used for analyzing contains less bit errors.

5. Conclusions

A fast method for identifying BCH codes is proposed based on the deficient rank characteristic of the encoded bit matrix. Compared with the existing methods, our method does not need to test all the possible codeword lengths and corresponding primitive polynomials exhaustively. Meanwhile, the computation required in the procedure of Gaussian elimination is small. Consequently, the computational complexity of our method is much lower than that of the existing GFFT-based method. Additionally, the performance of our method in resisting bit errors is superior, especially in low SNR. These results indicate that our recognition method is more applicable for engineering. Additionally, through introducing an error correction mechanism, the robustness of the proposed recognition scheme can be improved further. Moreover, the proposed recognition scheme also can be adopted to recognize non-binary BCH codes and other kinds of linear block codes to broaden its application scenarios. In successive research, the performance of the recognition scheme under other kinds of channel environments, such as Rayleigh and Rician channels, will be discussed further. As for channel encoder identification, if the candidate encoder types and parameters are finite, a deep neural network may be adopted to accomplish the classification of different encoders. This may provide a new way to solve the recognition problem.

Author Contributions

Conceptualization, S.H.; Methodology, S.H.; Validation, S.H. and Y.S.; Formal analysis, S.H.; Investigation, S.H.; Data curation, Y.G. and R.Y.; Writing—original draft, S.H.; Writing—review and editing, Y.G.; Project administration, Y.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wang, Q.F.; Cai, S.H.; Ma, X. Free-Ride Coding for Constructions of Coupled LDPC Codes. IEEE Trans. Commun. 2023, 71, 1259–1270. [Google Scholar] [CrossRef] [Scilit]
  2. Ma, L.Y.; Zhang, L.J. Parallel Concatenated Code Combining Polar Code and LDPC code on AWGN Channel. In Proceedings of the International Conference on Anti-Counterfeiting, Security, and Identification, Xiamen, China, 29–31 October 2021; IEEE: New York, NY, USA, 2021. [Google Scholar] [CrossRef] [Scilit]
  3. Xie, Z.P.; Chen, P.P.; Fang, Y.; Chen, Q. Polarization-Aided Coding for Nonorthogonal Multiple Access. IEEE Internet Things J. 2024, 11, 27894–27903. [Google Scholar] [CrossRef] [Scilit]
  4. Xie, Z.P.; Wang, Y.P.; Xu, Y.H. Polarization-Aided Multi-User Spatial Modulation. IEEE Trans. Veh. Technol. 2025, 74, 12148–12159. [Google Scholar] [CrossRef] [Scilit]
  5. Kim, M.; Park, J. High Detection Rate BCH Code with CRC Code for Memory Application. In Proceedings of the International SoC Design Conference, Gangneung-si, Republic of Korea, 19–22 October 2022; IEEE: New York, NY, USA, 2022. [Google Scholar] [CrossRef] [Scilit]
  6. Bossert, M.; Schulz, R.; Bitzer, S. On Hard and Soft Decision Decoding of BCH Codes. IEEE Trans. Inf. Theory 2022, 68, 7107–7124. [Google Scholar] [CrossRef] [Scilit]
  7. Fan, M.Y.; Li, C.J.; Ding, C.S. The Hermitian Dual Codes of Several Classes of BCH Codes. IEEE Trans. Inf. Theory 2023, 69, 4484–4497. [Google Scholar] [CrossRef] [Scilit]
  8. Rodriguez-Sarmiento, D.L.; Duarte-Gonzalez, M.E.; Rodriguez-Quinones, T.; Palazzo, R. Procedure for Identifying Odd-sized Nucleotide Sequences as Codewords of BCH Codes over GF(4). In Proceedings of the 2019 IEEE International Symposium on Information Theory (ISIT), Paris, France, 7–12 July 2019. [Google Scholar] [CrossRef] [Scilit]
  9. Zaragoza, R.M.; Ma, J. On the Performance of Short Binary BCH Codes for Ultra-Low Latency Wireless Communications. In Proceedings of the International Conference on Electrical, Communication and Computer Engineering, Istanbul, Turkiye, 27–28 August 2025; IEEE: New York, NY, USA, 2025. [Google Scholar] [CrossRef] [Scilit]
  10. Wu, G.; Zhang, B.; Wen, X.; Guo, D. Blind Recognition of BCH Code Based on Galois Field Fourier Transform. In Proceedings of the International Conference on Wireless Communications & Signal Processing, Nanjing, China, 15–17 October 2015; IEEE: New York, NY, USA, 2015. [Google Scholar] [CrossRef] [Scilit]
  11. Jo, D.; Kwon, S.; Shin, D.J. Blind Reconstruction of BCH Codes Based on Consecutive Roots of Generator Polynomials. IEEE Commun. Lett. 2018, 22, 894–897. [Google Scholar] [CrossRef] [Scilit]
  12. Song, M.K.; Shin, D.J. Asymptotic Analysis of Blind Reconstruction of BCH Codes Based on Consecutive Roots of Generator Polynomials. IEEE Access 2020, 8, 206514–206527. [Google Scholar] [CrossRef] [Scilit]
  13. Song, M.K.; Kim, J.; Shin, D.J. Blind Reconstruction of BCH and RS Codes Using Single-Error Correction. IEEE Trans. Signal Process. 2021, 69, 5120–5133. [Google Scholar] [CrossRef] [Scilit]
  14. Wu, Z.L.; Zhang, W.; Wang, Y.; Wang, H.; Liu, Y. Blind Recognition of Intercepted Limited BCH and RS Codes Bitstream Using Single-Error Correction Under Harsh Channel Environments. IEEE Trans. Commun. 2025; Early Access. [CrossRef] [Scilit]
  15. Mu, H.C.; Wu, Y.Z.; Li, L. Blind Reconstruction of Binary Primitive BCH Code Based on Error Codeword Correction. In Proceedings of the International Conference on Ubiquitous Communication, Xi’an, China, 5–7 July 2024; IEEE: New York, NY, USA, 2024; pp. 237–242. [Google Scholar] [CrossRef] [Scilit]
  16. Chang, Y.Y.; Zhang, W.; Wang, H.; Liu, Y. Fast Blind Recognition of BCH Code Based on Spectral Analysis and Probability Statistics. IEEE Commun. Lett. 2021, 25, 3170–3174. [Google Scholar] [CrossRef] [Scilit]
  17. Chang, Y.Y.; Zhang, W.; Wang, H.; Liu, Y. Blind Recognition of BCH and RS Codes with Small Samples Intercepted Bitstream. IEEE Trans. Commun. 2024, 72, 1925–1937. [Google Scholar] [CrossRef] [Scilit]
  18. Yardi, A.D.; Vijayakumaran, S.; Kumar, A. Blind Reconstruction of Binary Cyclic Codes from Unsynchronized Bitstream. IEEE Trans. Commun. 2016, 64, 2693–2706. [Google Scholar] [CrossRef] [Scilit]
  19. Chen, Y.; Pang, B.; He, L.; Ma, B.; Li, Y.; Lau, F.C.M. Blind Identification of Polar Codes Based on Estimation and Derivation Approaches. IEEE Commun. Lett. 2023, 27, 414–418. [Google Scholar] [CrossRef] [Scilit]
  20. Zhong, Z.G.; Xie, C.X.; Jin, K. Blind Recognition of Polar Code Parameters Based on Log-Likelihood Ratio. J. Syst. Eng. Electron. 2025, 36, 642–658. [Google Scholar] [CrossRef] [Scilit]
  21. Li, X.Y.; Zhang, Y.F.; Wang, S.J. A Maximum Generating Function Method for Blind Recognition of LDPC Codes. In Proceedings of the International Conference on Computer Communication and Artificial Intelligence, Xi’an, China, 24–26 May 2024; IEEE: New York, NY, USA, 2024; pp. 378–382. [Google Scholar] [CrossRef] [Scilit]
  22. Han, S.N.; Gao, M.Z.; Yi, R.J.; Wu, C. A Fast Method for Blindly Identifying Reed-Solomon Codes Based on Matrix Analysis. IET Commun. 2022, 16, 2414–2421. [Google Scholar] [CrossRef] [Scilit]
  23. Sicot, G.; Houcke, S.; Barbier, J. Blind Detection of Interleaver Parameters. Signal Process. 2009, 89, 450–462. [Google Scholar] [CrossRef] [Scilit]
  24. Xia, T.; Wu, C.H. Novel blind identification of LDPC codes using average LLR of syndrome a posteriori probability. IEEE Trans. Signal Process. 2014, 62, 632–638. [Google Scholar] [CrossRef] [Scilit]
  25. Yu, P.D.; Li, J.; Peng, H. A least square method for parameter estimation of RSC sub-codes of turbo codes. IEEE Commun. Lett. 2014, 18, 644–647. [Google Scholar] [CrossRef] [Scilit]
  26. Yu, P.D.; Peng, H.; Li, J. On blind recognition of channel codes within a candidate set. IEEE Commun. Lett. 2016, 20, 736–739. [Google Scholar] [CrossRef] [Scilit]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.