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.
An intelligent communication system.
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]:(1)S=S1,S2,…,SnrT=H×Cr.
In (1), H is the parity check matrix, Cr is a block of received code, and nr is the number of syndrome elements corresponding to H. If the block contains errors or H is not correct, not all the syndromes equal zeros. So when the parity check matrix H is correctly estimated, the probability of S=0 is larger than the case of incorrect H. 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 H:(2)ϕH=logPrSH≠0PrSH=0=log1-PHPH.
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(3)PH=PrSH1,SH2,…,SHnr=0=∏k=1nrPrSHk=0.
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 let(4)LSHk=logPrSHk≠0PrSHk=0be the LLR of the kth syndrome element; we have(5)PrSHk=0=11+eLSHk.
Using (3), (4), and (5), the LLR of (2) could be written as(6)ϕH=log∏k=1nreLSHk+1-1.
∏k=1nreLSH(k)+1 in (6) is much larger than 1, so(7)ϕH≈∑k=1nrlogeLSHk+1.
According to [26], LLR of each syndrome element is(8)LSHk=-1uk+1tanh-1∏j=1uktanhr~kj2,where r~(kj)=2/σ2r(kj) is the LLR of the kjth received sample of a block and σ2 is the variance of noise. uk and kj represent number of nonzero elements in the kth row of the adapted parity check matrix of the codes and the position of the jth nonzero element in the kth row. Note that here we transform the parity check matrix H to a binary pattern in GF(2) instead of GF(2m) to ease the implementation of adaptation procedure and LLRs calculations. The transform approach is replacing the symbol elements of H in GF(2m) by their binary column vector patterns. For example, a parity check matrix of BCH codes in GF(23) with code length 23-1=7 is(9)H=α6α5⋯α11α18α15⋯α31.
According to the coding theories [20], we replace the symbol α by the vector 010T and other symbols are processed similarly. Than the parity check matrix can be written in GF(2) as follows:(10)H=111010001110101101001111110010100100110111.
The purpose of blind recognition is to estimate the code length and parity check matrix H 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 H 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 2m-1 defined in GF(2m) 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 of(11)P=2m-1∣m∈Z+,mmin≤m≤mmax,and 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 H is unknown. Note that all primitive BCH codes have a root of primitive element in GF(2m). According to this fact, we propose a minimum parity check matrix Hmin corresponding to primitive root of the codes as follows:(12)Hmin=αn-1,αn-2,…,α,1.
For each code length l in the set defined by (11), there is only one primitive root α and one minimum parity check matrix Hmin. 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 Hmin in different code length l 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:(13)ϕHmin≈1m∑k=1mlogeLSHmin′k+1,(14)Hmin=αn-1,αn-2,…,α,1.
In (13), Hmin′ is the adapted matrix of Hmin using the adaptation algorithm proposed in [23]. The code length is estimated by the length value l that minimizes the LLR of the syndrome:(15)l^=argmaxl∈P∑n=1NϕnHmin∣l,where ϕn is the LLR of the nth block in the observation window of the received sequence which has N coded blocks. Estimation performance is improved when N increases.
4. Reconstruction of the Parity Check Matrix
When the code length is confirmed, the number of rows in the parity check matrix H is determined by code rate. After the processing of Section 3, the first row of a check matrix H is already gotten during the estimation of code length l. The other rows are in the styles as follows:(16)H=αn-1αn-2⋯α1α3n-1α3n-2⋯α31α5n-1α5n-2⋯α51⋮⋮⋮⋮⋮.
The number of rows in H equals the error-correcting capability t. Let Hi be the ith row of H and we consider the LLR:(17)ϕHi=∑k=1mlogeLSHi′k+1,i=1,3,…,2tmax-1,where tmax is the maximum of error-correcting capability for all code rates with the code length l. If α2i-1 is a root of the code, ϕ(Hi) is lower than that on incorrect roots. Therefore, the whole parity check matrix H could be estimated by comparing the LLRs of (17) on different values of i. Note that the root of BCH codes is consecutive, so for the codes with the error-correcting capacity t, all the LLRs ϕ(Hi) corresponding to the roots αi(i≤2t-1) should be lower than the others except the conjugate roots of every αi(i≤2t-1). 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 m=6 and rank (Hi) = 3, Hi′ 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 Hi′ with different ranks:(18)Hi′=111⋯100011⋯010110⋯001000⋯000000⋯000000⋯000.
A simple solution is modifying (17) to(19)ϕHi=1rankHi′∑k=1nrlogeLSHi′k+1,where the rank of Hi′ is calculated in GF(2). Secondly, not every integer below tmax is a valid error-correcting capability and at incorrect t, calculation of LLR is needless. For example, when m=6 and code length is 63, we just need to consider the LLRs with the assumptions of error-correcting capability t in the set T:(20)T=1,2,3,4,5,6,7,10,11,13,15.
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:(21)λi=EBiEAi∑n=1NϕnHi+1∑n=1NϕnHi,where(22)Ai=∑n=1NϕnHj∣j≤i,Bi=∑n=1NϕnHj∣j>i,j∉Ti,and Ti is a set consisting of integers which are not larger than the maximum of the error-correcting capacity tmax and for any j∈Ti, αj is a conjugate root of one of the code roots {αk∣k≤i}.
The error-correcting capacity t could be estimated by the one that maximizes λi:(23)t^=argmaxt∈Tλt.
Finally, the parity check matrix H and code rate could be confirmed according to t^.
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 σn2=N0/2. 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.”
Special property of the root α2m-1=1.
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 α0=1 in GF(2m) is different from that of other roots because α0=1 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 ΔH proposed in [18]. Except for modifying the definition of ΔH, another simple solution is ignoring the checking of the root α0=1. We also mark the confidence intervals for each curve in the figure, where ±c%@α means the confidence interval is ±c% 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 {l=2m-1∣3≤m≤mmax}. Elapsed time of our algorithm is much lower and raises more slowly when mmax increases.
Comparing of elapsed time between proposed and RIDERS algorithms.
After estimating of the code length l, we can search the code roots and reconstruct the parity check matrix via (21) and (23). Figure 4 shows the sum of N LLRs ϕ(Hi) defined by (19) on different roots αi when recognizing the BCH (63, 51) codes. Also we choose N=50 in the simulations. For each conjugate roots group, we only calculate one ϕ(Hi) on the root which has the lowest power. For example, {α3,α6,α12,α24,α48,α33} is a possible group of conjugate roots of the codes with length 26-1=63, and we just consider ϕ(Hi) on α3. Thus, we draw the LLRs ϕ(Hi) on the roots α1, α3, α5, α7, α9, α11, α13, α15, α21, α23, α27, and α31. Corresponding index serials i in Figure 4 are consecutive from 1 to 12. The received stream is disturbed by an AWGN with Es/N0=4dB and BER = 10-1.92. ϕ(H1) and ϕ(H2) are obviously lower than the others, so we could consider the unconjugate roots of the code are α1 and α3, so the error-correcting capacity t is estimated to be 2 and the check matrix is reconstructed as follows:(24)H=α62α61⋯α1α3×62α3×61⋯α31.
LLRs on different code roots of the BCH (63, 51) codes.
Then the code parameters are completely confirmed. The stems of λi defined by (21) shown in Figure 5 also denote the estimation of the error-correction capability t=2 of the codes as λ2 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 Es/N0 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 Es/N0>5dB, no fault recognition occurs for more than 200 000 simulation tests.
Criteria function λi of the BCH (63, 51) codes.
Probabilities of fault recognition of parity check matrix on different SNRs.
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.
VishwanathS.GoldsmithA.Adaptive turbo-coded modulation for flat-fading channels200351696497210.1109/tcomm.2003.8131802-s2.0-0038383126GoldsmithA. J.ChuaS.-G.Adaptive coded modulation for fading channels199846559560210.1109/26.6687272-s2.0-0032072248SishenD.XiaochuanW.NingY.Application of adaptive coding modulation in communication2005211416LiuY.TanX.AnghuwoA. A.Joint power and spectrum allocation algorithm in cognitive radio networks201122469170110.3969/j.issn.1004-4132.2011.04.0202-s2.0-80051945508YongguangZ.CaiyiL.2010Beijing, ChinaPublishing House of Electronics IndustryLiuQ.ZhouS.GiannakisG. B.Cross-layer combining of adaptive modulation and Coding with truncated ARQ over wireless links2004351746175510.1109/TWC.2004.8334742-s2.0-1342298936CaixiaG.ChunyanF.ZhiminZ.2010Beijing, ChinaPublishing House of Electronics IndustryWangF.HuangZ.ZhouY.A method for blind recognition of convolution code based on euclidean algorithmProceedings of the 3rd International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM '07)September 2007Shanghai, ChinaIEEE1414141710.1109/wicom.2007.3582-s2.0-38049024729DingelJ.HagenauerJ.Parameter estimation of a convolutional encoder from noisy observationsProceedings of the IEEE International Symposium on Information Theory (ISIT '07)June 2007Nice, France1776178010.1109/isit.2007.45571472-s2.0-51649118604MarazinM.GautierR.GurelG.Blind recovery of the second convolutional encoder of a turbo-code when its systematic outputs are punctured2009192213232YongguangZ.Blind recognition method for the turbo coding parameters2011382167172MarazinM.GautierR.BurelG.Dual code method for blind identification of convolutional encoder for cognitive radio receiver designProceedings of the IEEE Globecom Workshops (Gc Workshops '09)December 2009Honolulu, Hawaii, USAIEEE17317810.1109/glocomw.2009.53607262-s2.0-77951172458CluzeauM.Block code reconstruction using iterative decoding techniquesProceedings of the IEEE International Symposium on Information Theory (ISIT '06)July 2006Seattle, Wash, USAIEEE2269227310.1109/isit.2006.2619712-s2.0-39049095705BarbierJ.SicotG.HouckeS.Algebraic approach for the reconstruction of linear and convolutional error correcting codes2006166671BarbierJ.LetessierJ.Forward error correcting codes characterization based on rank propertiesProceedings of the International Conference on Wireless Communications & Signal Processing (WCSP '09)November 2009Nanjing, ChinaIEEE1510.1109/wcsp.2009.53717332-s2.0-77749307156JunjunZ.YanbinL.Blind recognition of low code-rate binary linear block codes20093911922NianchengW.XiaojingY.Recognition methods of BCH codes201063034XiaojingY.NianchengW.Recognition method of BCH codes based on roots information dispersion entropy and roots statistic20103236973XizaiL.ZhipingH.ShaojingS.Fast recognition method for generator polynomial of BCH codes201138615917210.3969/j.issn.1001-2400.2011.06.0262-s2.0-84855438017LinS.CostelloD. J.2004New York, NY, USAPearson Prentice HallImadR.SicotG.HouckeS.Blind frame synchronization for error correcting codes having a sparse parity check matrix20095761574157710.1109/tcomm.2009.06.0704452-s2.0-67650690584ImadR.HouckeS.Theoretical analysis of a MAP based blind frame synchronizer20098115472547610.1109/twc.2009.0904102-s2.0-70749135766ImadR.PoulliatC.HouckeS.GadatB.Blind frame synchronization of Reed-Solomon codes: non-binary vs. binary approachProceedings of the IEEE 11th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC '10)June 2010Marrakech, MoroccoIEEE1510.1109/spawc.2010.56708702-s2.0-78751545424ImadR.HouckeS.JegoC.Blind frame synchronization of product codes based on the adaptation of the parity check matrixProceedings of the IEEE International Conference on Communications (ICC '09)June 2009Dresden, GermanyIEEE1510.1109/icc.2009.51987922-s2.0-70449499795JiangJ.NarayananK. R.Iterative soft input soft output decoding of Reed-Solomon codes by adapting the parity check matrix20065283746375610.1109/tit.2006.878176MR22451202-s2.0-33746660309HagenauerJ.PapkeL.OfferE.PapkeL.Iterative decoding of binary block and convolutional codes199642242944510.1109/18.4857142-s2.0-0030110651