#### Abstract

A novel algorithm of blind recognition of Bose-Chaudhuri-Hocquenghem (BCH) codes is proposed to solve the problem of Adaptive Coding and Modulation (ACM) in cognitive radio systems. The recognition algorithm is based on soft decision situations. The code length is firstly estimated by comparing the Log-Likelihood Ratios (LLRs) of the syndromes, which are obtained according to the minimum binary parity check matrixes of different primitive polynomials. After that, by comparing the LLRs of different minimum polynomials, the code roots and generator polynomial are reconstructed. When comparing with some previous approaches, our algorithm yields better performance even on very low Signal-Noise-Ratios (SNRs) with lower calculation complexity. Simulation results show the efficiency of the proposed algorithm.

#### 1. Introduction

Adaptive Coding and Modulation (ACM) technique is one of the most important techniques of cognitive radio networks for the intelligent communications [1–4]. A typical intelligent communication system based on ACM is shown in Figure 1 [5]. The transmitter chooses transmission power, modulation mode, and channel coding parameters according to the channel quality to adapt the electromagnetism environment. Instead of fixed coding and modulation systems, the intelligent communication systems choose the optimized transmission parameters to increase the flexibility and spectrum efficiency and achieve high reliability and quality of service (QoS). This fact requires that a cognitive radio receiver should be an intelligent receiver able to adapt itself to a specific transmission context and to blindly estimate the coding and modulation parameters from the received data streams.

In this paper, we consider the problem of blind identification of channel coding parameters for the intelligent communication systems which use binary BCH codes. We assume that the estimation of signal power and modulation mode is achieved. The transmitters might choose the optimized code length and code rate according to the channel conditions to get the best balance between information transmission speed and fault tolerance. But the receivers always could not get the channel coding parameters directly. In [6, 7], the authors propose a reliable channel to transmit the modulation and coding parameters. If such a reliable channel is difficult to build, the receivers could not obtain the transmitted information from the received data streams. And if a communication system contains multiple users, the building of those reliable channels is complex. In recent years, the blind recognition algorithms of channel coding parameters are considered by some researchers. In [8–15], some blind recognition methods of convolutional codes are proposed. But these approaches are not suitable for BCH codes. In [16], a blind recognition of binary linear block codes for the low code rate situations is presented. It has a good performance in high Bit Error Rate (BER) case but could not be suitable for high code rate situations. In [17, 18], the authors propose a blind recognition algorithm of BCH codes based on roots information dispersion entropy and roots statistic. The algorithm could achieve correct recognition in both high and low code rate situations with the BER of 10^{−2}, but the calculation complexity is large, especially when the code length is long. The authors of [19] improve that algorithm proposed in [18] to reduce the calculation complexity and make the recognition procedure be much fast.

In this paper, we propose a new algorithm to recognize the BCH codes parameters for the soft decision situations. Although the previous works have good performance, the main base of those algorithms is utilizing the algebraic properties of the codes in Galois Fields (GF) under hard decisions. The major drawback is low fault tolerance. When soft information about the channel output is available, the decoding performance is improved about 2~3 dB in soft decision situations [20]. In [21–24], the authors introduce a Maximum A Posteriori Probability (MAP) approach to achieve blind frame synchronization of some error-correcting codes and yield better performance than previous hard decision ones. Inspired by this idea and those previous works, we develop a soft-decision-based algorithm to achieve blind recognition of BCH codes for a cognitive radio system without building a reliable channel to transmit coding parameters.

The paper is organized as follows. Section 2 introduces the principle of the proposed recognition algorithm for BCH codes. In Section 3, we present the estimation method of code length. Section 4 shows the reconstruction algorithm of parity check matrix. Finally, the simulation results and conclusions are shown in Sections 5 and 6, respectively.

#### 2. Principles

According to the algebraic properties of BCH codes, if no error occurs in transmission, all syndromes equal zeros. The syndromes are calculated as follows [20]:

In (1), is the parity check matrix, is a block of received code, and is the number of syndrome elements corresponding to . If the block contains errors or is not correct, not all the syndromes equal zeros. So when the parity check matrix is correctly estimated, the probability of is larger than the case of incorrect . Therefore, recognition of BCH codes is equivalent to maximizing the probability that all the syndrome elements equal zeros. In other words, it minimizes the Log-Likelihood Ratio (LLR) of the syndrome calculated using :

In [21], the authors consider that for codes having a sparse parity check matrix the syndrome elements can be assumed to be independent and therefore

It is difficult to apply (3) to BCH codes directly because the parity check matrix is not sparse. Jiang and Narayanan proposes an Adaptive Belief Propagation (ABP) method on Soft-Input-Soft-Output decoding of Reed Solomon (RS) codes [25]. The main idea is adapting the parity check matrix of the codes to the reliability of the received information bits at each iteration step of the iterative decoding procedure to reduce the impact of nonzero elements in the parity check matrix. This idea is employed in [23] to achieve blind frame synchronization of RS codes. The adaptation procedure reduces the impact of nonzero elements of parity check matrix on the independence of syndrome elements. In our work, we also utilize the adaptation algorithm introduced in [23, 25] before using (3).

We letbe the LLR of the th syndrome element; we have

Using (3), (4), and (5), the LLR of (2) could be written as

in (6) is much larger than 1, so

According to [26], LLR of each syndrome element iswhere is the LLR of the th received sample of a block and is the variance of noise. and represent number of nonzero elements in the th row of the adapted parity check matrix of the codes and the position of the th nonzero element in the th row. Note that here we transform the parity check matrix to a binary pattern in instead of to ease the implementation of adaptation procedure and LLRs calculations. The transform approach is replacing the symbol elements of in by their binary column vector patterns. For example, a parity check matrix of BCH codes in with code length is

According to the coding theories [20], we replace the symbol by the vector and other symbols are processed similarly. Than the parity check matrix can be written in as follows:

The purpose of blind recognition is to estimate the code length and parity check matrix with only knowledge of received streams. The proposed blind recognition procedure includes two steps. The code length is estimated firstly and after that code rate and are reconstructed by searching the code roots.

#### 3. Recognition of Code Length

In a cognitive radio system, though the transmitters choose optimized code length and code rate, we can limit the range of them to simplify the reconstruction complexity of the encoder parameters for cognitive receivers. We can limit the fact that transmitters send primitive BCH coded packets in regular code length of defined in but not extended or shortened codes. And for each code length we limit the transmitters just using one primitive polynomial to encode the blocks. These limits do not affect the error-correcting abilities and spectrum efficiency and the cognitive receivers only need to estimate the code length in the set ofand receivers do not need to search all primitive polynomials for the same code length.

Before the code rate is confirmed, the number of rows of the parity check matrix is unknown. Note that all primitive BCH codes have a root of primitive element in . According to this fact, we propose a minimum parity check matrix corresponding to primitive root of the codes as follows:

For each code length in the set defined by (11), there is only one primitive root and one minimum parity check matrix . The starting of a codeword could be confirmed by synchronization information and we assume that synchronization is achieved before code length estimation. Try to calculate the LLR of (7) using in different code length and estimate the code length by minimizing the LLR. We consider that for different code length the number of elements of syndromes and rows of parity check matrices is different, which affects the comparability of LLRs with different code length. To solve the problem, we modify the LLR of (7) and (8) as follows:

In (13), is the adapted matrix of using the adaptation algorithm proposed in [23]. The code length is estimated by the length value that minimizes the LLR of the syndrome:where is the LLR of the th block in the observation window of the received sequence which has coded blocks. Estimation performance is improved when increases.

#### 4. Reconstruction of the Parity Check Matrix

When the code length is confirmed, the number of rows in the parity check matrix is determined by code rate. After the processing of Section 3, the first row of a check matrix is already gotten during the estimation of code length . The other rows are in the styles as follows:

The number of rows in equals the error-correcting capability . Let be the th row of and we consider the LLR:where is the maximum of error-correcting capability for all code rates with the code length . If is a root of the code, is lower than that on incorrect roots. Therefore, the whole parity check matrix could be estimated by comparing the LLRs of (17) on different values of . Note that the root of BCH codes is consecutive, so for the codes with the error-correcting capacity , all the LLRs corresponding to the roots should be lower than the others except the conjugate roots of every . But two problems exist when using (17) directly. Firstly, not all the ranks of binary parity check matrices are equal to same value. For example, when and rank = 3, is of the style as (18) after adaptation processing. Obviously, only the first 3 rows are valid for the calculation of LLR. This largely affects the comparability between LLRs of with different ranks:

A simple solution is modifying (17) towhere the rank of is calculated in . Secondly, not every integer below is a valid error-correcting capability and at incorrect , calculation of LLR is needless. For example, when and code length is 63, we just need to consider the LLRs with the assumptions of error-correcting capability in the set :

For the convenience of computer recognition, we propose the judgment of the code rate in the computer program by computing the criteria function as follows:whereand is a set consisting of integers which are not larger than the maximum of the error-correcting capacity and for any , is a conjugate root of one of the code roots .

The error-correcting capacity could be estimated by the one that maximizes :

Finally, the parity check matrix and code rate could be confirmed according to .

#### 5. Simulations

Computer simulation results of the proposed algorithm are shown in this section. In the simulations, we assume that the transmitter is sending a binary sequence of codewords and using a Binary Phase Shift Keying (BPSK) modulation. The propagation channel is corrupted by an Additive White Gaussian Noise (AWGN) with the variance . For each configuration, the information symbols in the codes are randomly chosen. The simulations contain two parts: for code length estimation of Section 3 and parity check matrix reconstruction of Section 4. We also compare the performance of our algorithm with one of the previous ones. SNR affects the performance of code length estimations. Probabilities of fault recognition (PFR) of the code length for several codes on different SNRs are shown in Figure 2. The full curves represent the mean values of the statistical PFRs and the dotted lines are confidence intervals while the confidence level is 0.95. We also draw the performance of the algorithm proposed in [18, 19] in Figure 2 which is based on roots information dispersion entropy and roots statistic and we call it “RIDERS algorithm.”

In the simulations, we choose statistical samples including 50 blocks. The curves show that our proposed algorithm yields a better performance. The curves of PFR of our proposed algorithm fall rapidly when SNR increases and the PFR is much lower than that of the RIDERS algorithm. Note that the RIDERS algorithm could not estimate the code length for the BCH (127, 71) codes; even SNR is high. The authors of [18] ignore the fact that for a binary BCH code the distribution of the root in is different from that of other roots because is a root of a codeword just when the number of ones in the codeword is even. Therefore, the distribution of roots information dispersion entropy on incorrect code length is not uniform. The ununiform distribution affects the roots information dispersion entropy function proposed in [18]. Except for modifying the definition of , another simple solution is ignoring the checking of the root . We also mark the confidence intervals for each curve in the figure, where means the confidence interval is while the confidence level is . We also simulate the modified RIDERS algorithm on the code length estimation of BCH (127, 71) codes, legend of which is “m-RIDERS BCH (127, 71)” codes in Figure 2. Even so, our algorithm still performs better.

We also compare the calculation complexity of the proposed algorithm and the RIDERS algorithm in [18] under the same computer hardware and software environment; the results are shown in Figure 3. We draw the statistics of the elapsed time on different searching ranges of code length . Elapsed time of our algorithm is much lower and raises more slowly when increases.

After estimating of the code length , we can search the code roots and reconstruct the parity check matrix via (21) and (23). Figure 4 shows the sum of LLRs defined by (19) on different roots when recognizing the BCH (63, 51) codes. Also we choose in the simulations. For each conjugate roots group, we only calculate one on the root which has the lowest power. For example, is a possible group of conjugate roots of the codes with length , and we just consider on . Thus, we draw the LLRs on the roots , , , , , , , , , , , and . Corresponding index serials in Figure 4 are consecutive from 1 to 12. The received stream is disturbed by an AWGN with dB and BER = . and are obviously lower than the others, so we could consider the unconjugate roots of the code are and , so the error-correcting capacity is estimated to be 2 and the check matrix is reconstructed as follows:

Then the code parameters are completely confirmed. The stems of defined by (21) shown in Figure 5 also denote the estimation of the error-correction capability of the codes as is maximum. The probabilities of fault recognition (PFR) of parity check matrices of the proposed algorithm on different noise levels are shown in Figure 6. We draw the curves of PFR for the check matrix recognition of BCH (63, 51), BCH (63, 30), and BCH (127, 71) codes. As increased, the curves fall rapidly. Also we draw the statistical confidence intervals (while confidence level is 0.95) by dotted lines for each curve in the figure. These show an excellent consistency of the proposed method. When dB, no fault recognition occurs for more than 200 000 simulation tests.

#### 6. Conclusions

A new blind recognition of BCH codes for cognitive radios in soft decision situation is presented. The code length is estimated firstly by checking the LLRs of the minimum parity check matrix and the code rate and whole check matrix are reconstructed by searching code roots. Simulations show that our proposed blind recognition algorithm yields better performance than one of the previous ones.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.