352
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
Capacity Approaching Low-Rate LDGM Codes Francisco J. V´azquez-Ara´ujo, Member, IEEE, Miguel Gonz´alez-L´opez, Member, IEEE, Luis Castedo, Member, IEEE, and Javier Garcia-Frias, Senior Member, IEEE
Abstract—We study the ability of low-rate SeriallyConcatenated Low Density Generator Matrix (SCLDGM) codes to approach theoretical limits. Although two layer SCLDGM codes approach capacity for medium rates (0.25 < 𝑅 < 0.9), they do not perform adequately for lower rates. In this case, substantial performance improvements are obtained using three layers. Index Terms—Capacity approaching codes, LDGM codes, lowrate codes, EXIT function analysis.
I. I NTRODUCTION
S
YSTEMATIC Low-Density Generator Matrix (LDGM) codes are linear block codes with a sparse generator matrix G = [I P]. LDGM codes are a particular instance of Low Density Parity Check (LDPC) codes since their parity check matrix [P𝑇 I] is also sparse. Both LDGM and LDPC codes can be decoded with linear complexity algorithms such as the Sum Product Algorithm (SPA). The advantage of LDGM codes is that the encoding procedure is much simpler, since it simply consists in the multiplication of the uncoded vector by the sparse generator matrix. MacKay showed that there exist LDPC codes with dense generator matrices capable of approaching the Shannon capacity limit for medium and high rates, i.e., rates above 0.25 [1], [2]. On the other hand, LDGM codes are asymptotically bad, because their minimum distance is upper bounded by the minimum row weight of the generator matrix. As a consequence, regular LDGM codes (i.e., those whose paritycheck matrix P contains the same number of ones in all columns and rows) present error-oors even when the block length grows towards innity [3]. Nevertheless, it was also shown in [3] that, in practical situations, regular LDGM codes perform adequately for high rates above 0.9. For medium rates between 0.25 and 0.9, it is possible to substantially lower the error-oor of conventional LDGM codes, without degrading the convergence threshold, by adding an outer systematic LDGM code with a very high rate. The Paper approved by S.-Y. Chung, the Editor for LDPC Coding and Information Theory of the IEEE Communications Society. Manuscript received June 12, 2009; revised December 3, 2009 and April 20, 2010. This work has been supported by Xunta de Galicia, Ministerio de Educacion y Ciencia of Spain and FEDER funds of the European Union under grants number 09TIC008105PR, TEC2007-68020-C04-01 and CSD2008-00010. F. J. V´azquez-Ara´ujo, M. Gonz´alez-L´opez, and L. Castedo are with the Department of Electronics and Systems University of A Corua, Facultad de Informatica, Campus de Elvia s/n 15071 A Corua (e-mail: {fjvazquez, mgonzalezlopez, luis}@udc.es). J. Garcia-Frias is with the Department of Electrical and Computer Engineering, University of Delaware (e-mail:
[email protected]). The ideas herein presented were partially presented at the IEEE International Symposium on Wireless Communication Systems Trondheim, Norway, 2007. Digital Object Identier 10.1109/TCOMM.2010.112310.090086
resulting coding structure is termed Serially-Concatenated LDGM (SCLDGM) [4]. The capacity approaching capability of medium rate SCLDGM codes is studied in [5], [6]. Indeed, using common optimization techniques for LDPC codes, such as Density Evolution, capacity approaching medium rate SCLDGM codes have been designed for several channel models of interest [7]. The design of good LDPC codes for low rates (below 0.25) has received a great degree of attention in the last years. When designing low-rate conventional LDPC codes using EXtrinsic Information Transfer (EXIT) charts, Yue et al. [8] noticed that the decoding tunnel through the EXIT chart remains very narrow even for 𝐸𝑏 /𝑁0 values far greater than the code analytical convergence threshold. Since this threshold is calculated by assuming an innite block length and a cycle free factor graph (best-case scenario), the decoding tunnel for practical codes is always narrower than the analytical one. This means that the actual performance of a given code will be far away from its predicted convergence threshold. To overcome this limitation, Yue et al. [8] proposed the use of Generalized LDPC (GLDPC) codes [9] with Hadamard constraints to open the decoding tunnel from the constraint node side. However, the use of these constraints leads to higher decoding complexity. In this work we investigate the serial concatenation of three systematic LDGM codes with the goal of obtaining good lowrate (below 0.25) SCLDGM codes capable of approaching the capacity limits. The advantage of the proposed three-layer SCLDGM codes over GLDPC codes is that they keep the simplicity and exibility of LDPC codes because they only use single parity checks instead of the more complex Hadamard constraints utilized in GLDPC structures. As a consequence, the standard SPA can be applied for the decoding of three layered SCLDGM codes, and the same optimization criteria as for LDPC codes can be used. Three-layer SCLDGM codes can be seen as a particular case of multi-edge type LDPC codes [10]. In [10], a multiedge structure is proposed to approach the low-rate capacity, but only one rate is considered and no simulation results are provided (just the analytical threshold). The layered LDGM structure proposed here has linear encoding complexity and approaches the capacity limits for a wide range of rates in both theoretical thresholds and simulations. The proposed structure is also similar to that of Concatenated Tree (CT) codes [11]. However, notice that CT codes are formed by the parallel concatenation of LDPC codes, and the scheme presented here is formed by the serial concatenation of LDGM codes. In addition, CT codes are more suitable for medium and high rates, whereas the layered SCLDGM codes herein proposed work best when using low rates.
c 2011 IEEE 0090-6778/11$25.00 ⃝
´ ´ VAZQUEZ-ARA UJO et al.: CAPACITY APPROACHING LOW-RATE LDGM CODES
d30 u1 d10
d20 d3c
uK d1c
f11
p31
π3
p11
d31
fL33
π1 fL11
f13
d2c
p1L1 d21
f12
p21
fL22
p2L2
p3L3
π2
Fig. 1. code.
d32
Factor graph of a systematic quasi-regular three-layer SCLDGM
II. T HREE - LAYER SCLDGM C ODES Fig. 1 shows the factor graph corresponding to a threelayer SCLDGM code, where thick lines represent groups of several edges. There is a random connection between variable nodes (represented by circles) and check nodes (represented by squares) within each layer, which is represented as an edge interleaver, 𝜋𝑖 , 𝑖 = 1, 2, 3. Notice that the constituent LDGM codes are not completely regular but, as detailed in Fig. 1, they have different degrees for different classes of bits (we will call them quasi-regular, since they have the same degree for each class of bits). Specically, we use the notation 𝑑𝑗𝑖−1 , 𝑖, 𝑗 = 1, 2, 3, 𝑖−1 < 𝑗, to denote the degree of variable nodes in layer 𝑖 with respect to check nodes in layer 𝑗, and 𝑑𝑗𝑐 , 𝑗 = 1, 2, 3, to denote the degree of check nodes in layer 𝑗. We will also denote as 𝑅𝑗 , 𝑗 = 1, 2, 3 the rate of the LDGM code associated to layer 𝑗, so that the overall rate 𝑅 = 𝑅1 𝑅2 𝑅3 . Optimization of three-layer SCLDGM codes using EXIT function analysis resembles the procedure explained in [5]. However, the EXIT functions are calculated in a different way due to the utilization of edge interleavers between each layer. Now, all the mutual informations passed to the check nodes from all the groups of variable nodes in the previous layers are combined into a single value by a weighted average performed in an analogous way as in the case of irregular degree proles. For example, the information received by the second layer of checks (𝑓 2 ) in a SCLDGM code from the rst two layers of variable nodes should be calculated as 𝐼𝑢𝑝1 →𝑓 2 =
𝑑20 𝐾𝐼𝑢→𝑓 2 + 𝑑21 𝐿1 𝐼𝑝1 →𝑓 2 , 𝑑20 𝐾 + 𝑑21 𝐿1
(1)
where 𝐼𝑢→𝑓 2 and 𝐼𝑝1 →𝑓 2 represent the information received by the second layer of checks from the systematic nodes (𝑢) and the outer parity variable nodes (𝑝1 ), respectively. Correspondingly, 𝑑20 𝐾 and 𝑑21 𝐿1 are the number of edges carrying the mutual informations 𝐼𝑢→𝑓 2 and 𝐼𝑝1 →𝑓 2 . As a consequence, we do not make distinctions in the information passed from the check nodes to the different previous layers of variable nodes. For example, the information passed from the second layer of check nodes to both the systematic and
353
outer parity bits can be approximated as ( 𝐼𝑓 2 →𝑢𝑝1 ≈ 1 − 𝐽 (𝑑2𝑐 − 1)𝐽 −1 (1 − 𝐼𝑢𝑝1 →𝑓 2 ) + ) 𝐽 −1 (1 − 𝐼𝑝2 →𝑓 2 ) ,
(2)
where 𝐽(𝜎 2 ) is a function that represents the mutual information between the output Log-Likelihood Ratio (LLR) of a BIAWGN channel and its input [5]. Notice that the LLR noise variance 𝜎 2 is related to the channel noise variance 𝜎𝑛2 as 𝜎 2 = 4/𝜎𝑛2 . Different from [5], no restriction is imposed on the number of edges that a layer of checks can receive from a previous layer of variable nodes. Once the different EXIT functions have been obtained, it is easy to track the evolution of the mutual information of the messages exchanged in the Sum Product decoding Algorithm (SPA) for a given code and 𝐸𝑏 /𝑁0 1 . If the output mutual information corresponding to the systematic variable nodes, dened as ( 𝐼𝑜 = 𝐽 𝑑10 𝐽 −1 (𝐼𝑓 1 →𝑢 ) + 𝑑20 𝐽 −1 (𝐼𝑓 2 →𝑢𝑝1 ) + ) 𝑑30 𝐽 −1 (𝐼𝑓 3 →𝑢𝑝1 𝑝2 ) , (3)
reaches the value 𝐼𝑜 = 1 after a certain number of iterations (we x the maximum number of iterations to 100), the SPA converges to a point where all codewords are decoded correctly. Thus, we can empirically determine the analytical convergence threshold by obtaining the code that reaches 𝐼𝑜 = 1 at the lowest 𝐸𝑏 /𝑁0 value. In order to efciently perform the search over all the possible codes for a xed 𝐸𝑏 /𝑁0 , we use a search algorithm called Differential Evolution (DE) [12]. DE is an optimization method for multidimensional functions that nds the global minimum of the desired function with a high probability, even if the function has several local minima. Notice that the increase in the number of parameters for three-layer SCLDGM codes would make exhaustive search very slow, while the application of DE makes the optimization process substantially faster. The way DE works is the following: rst, it generates a set (population) of random trial parameter vectors. Then, it takes two parameter vectors and combines them, using a weighted difference between them, to generate a new parameter vector. If this new vector is better (as dened by the function we are trying to minimize) than a randomly chosen vector in the population, it is added to the population, replacing the previous vector. This is done iteratively until the algorithm converges or a maximum number of iterations is performed. In our case the parameters to be optimized are the degrees of the variable nodes in each layer, as well as the rates of the constituent LDGM codes. For example, the parameter vector in the case of a three-layer SCLDGM is [𝑅1 , 𝑅2 , 𝑑10 , 𝑑20 , 𝑑30 , 𝑑21 , 𝑑31 , 𝑑32 ].
(4)
Note that the rate 𝑅3 does not need to be considered, because it can be obtained from the other two rates and the xed global rate. Also, note that, since the population in the DE algorithm consists of real-valued vectors, the different degrees 𝑑𝑗𝑖 must be rounded to the nearest integer prior to the evaluation of the function to be minimized. 1 This method is completely analogous to Density Evolution with Gaussian approximation, but tracking mutual information instead of the density mean.
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
The function we are trying to minimize is 1 − 𝐼𝑜 , which, as explained before, should achieve a value of 0 for a successful code. Once such a code has been obtained, we know that the analytical convergence threshold is less than or equal to the 𝐸𝑏 /𝑁0 under consideration. Then, we decrease the value of 𝐸𝑏 /𝑁0 and apply again the Differential Evolution algorithm. This process of decreasing 𝐸𝑏 /𝑁0 and performing Differential Evolution is repeated until no code can be found that achieves 1 − 𝐼0 = 0, thus determining the analytical convergence threshold for the best code. The initial population (2000 vectors) is randomly chosen using an uniform distribution that covers the entire search space uniformly. Tables I and II show the best two-layer and three-layer SCLDGM codes, respectively, obtained following the aforementioned optimization procedure for a Binary-Input AWGN (BIAWGN) channel and different rates between 0.02 and 0.5. Tables I and II also show their corresponding analytical convergence thresholds, the Constrained-input Capacity Limit (CCL), and the gap between the analytical convergence threshold and the CCL. Notice that the code parameters shown in the tables fully determine each code (i.e., the remaining code parameters can be obtained from these ones). We have also optimized a four-layer scheme and obtained results similar to those achieved with three-layer codes. Note that the gap to the capacity is already very small with three layers and, thus, the potential gain of using four layers is not very signicant. We also searched for irregular two-layer SCLDGM codes to try to approach the performance attained by the three-layer SCLDGM codes. We allowed three different degrees from the systematic nodes (𝑢) to the inner parity checks (𝑓 2 ), since they are the two main groups of nodes, and kept the other degrees regular. The best code for rate 𝑅 = 0.05 found by DE is 𝑅1 = 0.7956, 𝑑10 = 4, 𝑑20 = [36, 39, 37] 𝑎20 = [0.1873, 0.2624, 0.5502], 𝑑21 = 67 where 𝑎20 represents the fraction of nodes having the respective degrees 𝑑20 . The theoretical threshold of this code is −1.05 dB. Note that this code is practically the same as the fourth code in Table I and presents similar performance (the theoretical threshold for the quasi-regular structure is −1.03 dB), which means that the DE search naturally tends to a quasi-regular code. This illustrates that, in the case of layered SCLDGM codes, the performance of regular and irregular codes is essentially the same, and thus irregular codes are not considered in this paper. III. S IMULATION R ESULTS Since EXIT function analysis is valid only for innite block lengths and cycle-free factor graphs, we assess the actual performance for nite-length codewords of the best codes found for BIAWGN channels via Monte Carlo simulations. Fig. 2 shows the actual performance of the best two-layer and three-layer SCLDGM codes represented in Tables I and II for a nite block length of 𝐾 = 10, 000 information bits. We perform a maximum of 100 decoder iterations and simulate the transmission of 20, 000 codewords.
10
0
3layer S C LDG M 2layer S C LDG M
1
10
R =0.1
2
10
3
10 BE R
354
4
10
R =0.05
R =0.5 R =0.2
5
10
6
10
7
10
R =0.02 R =0.02 C C L R =0.05 C C L R =0.1 C C L R =0.2 C C L
R =0.5 C C L
8
10
1.5
1
0.5
Eb/N0
0
0.5
1
Fig. 2. Performance comparison of two-layer SCLDGM codes versus threelayer SCLDGM codes in BIAWGN channels for an information block length 𝐾 = 10000 and different overall medium and low rates, 𝑅.
Notice from Tables I and II that, when 𝑅 = 0.5, the best two-layer SCLDGM code has a slightly better analytical convergence threshold (0.25 dB away from the CCL) than its three-layer counterpart (0.32 dB away from the CCL). Fig. 2 shows that the two-layer SCLDGM code also presents a better simulated convergence threshold at a target BER=10−4 (gap of 0.55 dB to the CCL) than that of the three-layer SCLDGM code (gap of 0.67 dB). In this case, as observed in Table II, the two outer layers of the three-layer SCLDGM act as the single outer layer in the two-layer SCLDGM (i.e., they lower the error oor of the inner LDGM). However, while the twolayer scheme is able to approach capacity, the constraints we imposed during the optimization process (minimum degree of 2 and maximum rate of 0.98 to avoid layer degeneracy) lead to a small performance degradation in the three layer scheme. This indicates that the use of three layers for rates larger than 0.5 may be counterproductive. For 𝑅 = 0.2, the best codes for the two structures exhibit a very similar behavior. The analytical convergence thresholds are quite similar to each other (0.28 and 0.31 dB away from the CCL for the three-layer SCLDGM code and the twolayer SCLDGM code, respectively) and the same occurs for the simulated convergence thresholds at a target BER=10−4 (roughly 0.7 dB away from the CCL in both cases). Interestingly, if we decrease the rate down to 𝑅 = 0.1, three-layer SCLDGM codes perform better: the best code has an analytical convergence threshold only 0.24 dB away from the capacity limit, while the gap of the best twolayer SCLDGM code is 0.32 dB. The simulated convergence thresholds of both the two-layer and the three-layer codes at a target BER=10−4 (0.72 and 0.52 dB away from the CCL, respectively) are in agreement with the analytical ones, and both codes have a comparable error oor. By further decreasing the rate we reach a point where two-layer SCLDGM codes are unable to perform near the capacity limits, making it necessary to resort to three-layer SCLDGM codes. Indeed, for 𝑅 = 0.05, two-layer SCLDGM codes exhibit a severe performance degradation. As shown in
´ ´ VAZQUEZ-ARA UJO et al.: CAPACITY APPROACHING LOW-RATE LDGM CODES
355
TABLE I O PTIMIZED SYSTEMATIC QUASI - REGULAR TWO - LAYER SCLDGM CODES 𝑅 0.5 0.2 0.1 0.05 0.02
𝑅1 0.979427 0.893763 0.835640 0.793659 0.757596
𝑅2 0.510503 0.223773 0.119669 0.062999 0.026399
𝑑10 𝑑20 𝑑21 3 6 45 3 12 21 3 20 44 4 37 68 5 89 136
Thresh. (dB) 0.43 -0.65 -0.95 -1.03 -0.98
CCL (dB) 0.18 -0.96 -1.27 -1.43 -1.53
Gap (dB) 0.25 0.31 0.32 0.40 0.55
TABLE II O PTIMIZED SYSTEMATIC QUASI - REGULAR THREE - LAYER SCLDGM CODES .
BE R
𝑅 0.5 0.2 0.1 0.05 0.02
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
𝑅1 0.978533 0.937629 0.867084 0.869119 0.866780
𝑅2 0.978583 0.809723 0.622162 0.458355 0.206208
𝑅3 0.522152 0.263428 0.185368 0.125513 0.111896
𝑑10 𝑑20 𝑑30 𝑑21 𝑑31 𝑑32 2 2 6 7 50 50 3 2 11 45 40 2 3 2 19 10 17 2 3 3 43 27 13 2 3 14 95 63 57 2
K=10000 K=20000
K=40000
K=80000
8
10 1.4
1.3
1.2
1.1
1
E /N0
0.9
0.8
0.7
0.6
b
Fig. 3. Performance of the best 𝑅 = 0.05 three-layer SCLDGM code in BIAWGN for different information block lengths, 𝐾.
Table I, the analytical convergence threshold of the best twolayer SCLDGM code for this rate is 0.40 dB away from the CCL, while for higher rates the gap to the CCL was around 0.30 dB. In addition, the actual convergence threshold for the two-layer code is far away not only from the CCL, but also from the analytical convergence threshold (0.78 dB from the analytical convergence threshold at a target BER=10−4 , while for higher rates simulated performance was always within 0.4 dB from the analysis). Moreover, the slope of the waterfall region is lower than that observed for higher rates. This is caused by the slow increase in the EXIT tunnel gap when increasing the SNR [8], as previously mentioned. On the other hand, three-layer SCLDGM codes are perfectly able to perform near the capacity limits for 𝑅 = 0.05: the analytical convergence threshold of the best three-layer code is at 𝐸𝑏 /𝑁0 = −1.31 dB, only 0.12 dB away from the CCL. The simulated performance of this code presents little degradation with respect to the analytical convergence threshold: for a target BER=10−4 the required 𝐸𝑏 /𝑁0 is −0.95 dB, only 0.36 dB from the analytical convergence threshold and 0.48 dB from the constrained capacity. The performance degradation of the two-layer SCLDGM
Thresh. (dB) 0.5 -0.68 -1.03 -1.31 -1.35
CCL (dB) 0.18 -0.96 -1.27 -1.43 -1.53
Gap (dB) 0.32 0.28 0.24 0.12 0.18
code is also very signicant for 𝑅 = 0.02. The gap between the analytical convergence threshold and the capacity limit increases to 0.55 dB, and the gap between the simulated threshold at a target BER=10−4 and the capacity limit is again greater than 1 dB. On the other hand, the analytical convergence threshold of the best three-layer SCLDGM code is at 𝐸𝑏 /𝑁0 = −1.35 dB, only 0.18 dB away from the CCL and 0.24 dB away from the ultimate Shannon limit (𝑅 → 0), while the simulated performance requires an 𝐸𝑏 /𝑁0 = −0.97 dB for a target BER=10−4 . Although in our simulations we have focused on information block lengths of 𝐾 = 10, 000 bits, similar trends can be observed for other lengths. This is illustrated in Fig. 3, which depicts the actual performance of the best three-layer SCLDGM code for 𝑅 = 0.05 when varying the block length. Observe the 0.2 dB improvement in performance when increasing the block length from 𝐾 = 10, 000 to 𝐾 = 80, 000 information bits. In this latter case, the simulated convergence threshold for a target BER=10−4 is only 0.18 dB away from the analytical one and, thus, very close to the CCL (0.28 dB away). Finally, it can be seen from Figs. 2 and 3 that all BER curves exhibit the error oor that is characteristic of LDGM codes, as explained in the introduction. Notice, however, that this error oor takes values around 10−7 , which is sufciently low in practical situations. IV. C ONCLUSION We have investigated the ability of low-rate SeriallyConcatenated Low Density Generator Matrix (SCLDGM) codes to approach capacity. As occurs with LDPC and IRA codes, two-layer SCLDGM codes are able to perform close to the capacity limits for medium rates, but present signicant performance degradation as the rate decreases. To overcome this limitation, we have proposed and studied a three-layer SCLDGM coding structure. Using EXIT evolution techniques, we have optimized the proposed scheme and shown that, even for moderate block lengths, it is able to perform within 0.5 dB of the capacity limit for rates between 0.02 and 0.2. R EFERENCES [1] D. J. C. MacKay and R. M. Neal, “Good codes based on very sparse matrices,” C. Boyd Cryptography Coding: 5th IAM Conf.. Lecture Notes Computer Science, no. 1025, pp. 100-111, 1995.
356
[2] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inf. Theory, vol. 45, no. 2, pp. 399-431, 1999. [3] J. F. Cheng and R. J. McEliece, “Some high-rate near capacity codecs for the Gaussian channel,” in Proc. 34th Allerton Conf. Commun., Control Comput., Oct. 1996. [4] J. Garcia-Frias and W. Zhong, “Approaching Shannon performance by iterative decoding of linear codes with low-density generator matrix,” IEEE Commun. Lett., vol. 7, no. 6, pp. 266-268, June 2003. [5] M. Gonz´alez-L´opez, F. J. V´azquez-Ara´ujo, L. Castedo, and J. GarciaFrias, “Serially-concatenated low-density generator matrix (SCLDGM) codes for transmission over AWGN and Rayleigh fading channels,” IEEE Trans. Wireless Commun., vol. 6, no. 8, pp. 2753-2758, Aug. 2007. [6] W. Zhong and J. Garcia-Frias, “LDGM codes for channel coding and joint source-channel coding of correlated sources,” EURASIP J. Applied Signal Process., vol. 6, pp. 942-953, 2005. [7] F. J. V´azquez-Ara´ujo, M. Gonz´alez-L´opez, L. Castedo, and J. GarciaFrias, “Serially-concatenated LDGM codes for MIMO channels,” IEEE Trans. Wireless Commun., vol. 6, no. 8, pp. 2860-2871, Aug. 2007.
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
[8] G. Yue, L. Ping, and X. Wang, “Generalized low-density parity-check codes based on Hadamard constraints,” IEEE Trans. Inf. Theory, vol. 53, no. 3, pp. 1058-1079, Mar. 2007. [9] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533-547, 1981. [10] T. Richardson and R. Urbanke (May 2002), “Multi-edge type LDPC codes,” presented at the Workshop honoring Prof. Bob McEliece on his 60th birthday (but not included in the proceedings), California Institute of Technology, Pasadena, CA. [Online]. Available: http://lthcwww.ep.ch/papers/multiedge.ps [11] L. Ping and K. Y. Wu, “Concatenated tree codes: a low-complexity, high-performance approach,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 791-799, 2001. [12] K. Price and R. Storn, “Differential evolution–a simple and efcient heuristic for global optimization over continuous spaces,” J. Global Optimiz., vol. 11, pp. 341-359, 1997.