Chinese Journal of Electronics Vol24, No1, Jan 2015 Construction of Type-II QC LDPC Codes Based on Perfect Cyclic Difference Set ZHANG Lijun 1,LIBing 2 and CHENG Leelung 3 (1 School of Electronic and Information Engineering, Beijing Jiaotong University, Beijing 100044, China) (2 Space Star Technology Co, Ltd, China Academy of Space Technology, Beijing 100086, China) (3 Department of Electronic Engineering, City University of Hong Kong, Hong Kong, China) Abstract Quasi-cyclic (QC) Low-density paritycheck (LDPC) codes are constructed from combination of weight-0 (null matrix) and Weight-2 (W2) Circulant matrix (CM), which can be seen as a special case of the general type-ii QC LDPC codes The shift matrix of the codes is built on the basis of one integer sequence, called perfect Cyclic difference set (CDS), which guarantees the girth of the code at least six Simulation results show that the codes can perform well in comparison with a variety of other LDPC codes They have excellent error floor and decoding convergence characteristics Key words Type-II QC LDPC codes, Weight-2 circulant matrix, Perfect cyclic difference sets I Introduction LDPC codes are a class of linear block codes, introduced first by Gallager [1] andrediscoveredbymackayand Neal [2] The name of these codes comes from the characteristics of their parity-check matrix, which contains only a few non-zero elements in comparison to the number of zero elements LDPC codes have been shown to perform extremely close to the Shannon limit over Additive white Gaussian noise (AWGN) channel [3] Since the rediscovery, the decoding, theoretical analysis as well as construction of LDPC codes have become the focuses of the field [4 6] QCLDPCcodes,whose parity check matrices consist of circulant matrices or zero matrices, are getting more attention due to their easy implementation and other graceful features [7] The construction of QC LDPC codes, especially of the algebraic methods, has been deeply explored [8 11] In most recent years, more construction methods for QC LDPC codes have been proposed based on one-coincidence sequence [12], Steiner systems [13], circular generator matrices [14], etc [15,16] In general, the parity check matrix of a QC-LDPC code is an array of circulants A circulant is a square matrix in which each row is the cyclic shift (one place to the right) of the row above it The row and column weights of a circulant are equal, noted as w We simplicity say that the circulant has weight w Ifw = 1, the circulant is called Circulant permutation matrix (CPM) [17] CPM is often used to build the paritycheckmatrixofqcldpccodes [8,9,15,17,18],andthe codes are also called type-i QC LDPC codes [19] For w up to 2, the corresponding codes are termed type-ii QC LDPC codes In a typical parity check matrix of type-ii QC LDPC codes, zero matrices, CPMs and W2 CMs are included Using CM with higher weight has been shown in Ref[19] to allow higher minimum distance to be achieved than one could obtain with CPMs alone In the range of small to medium block lengths, type-ii QC LDPC codes have been demonstrated to compare favorably, under the iterative decoding of Sum-product algorithm (SPA) [1], to randomly constructed LDPC codes [20] One challenge to W2 CMs adopted in parity check matrix is that they inevitably enlarge the venture of introducing more cycles of length 4 in the Tanner graph [21], which to some extent prevent the convergence of iterative decoding Smarandache et al showed the influence of protoand Tanner-graph structure on minimum Hamming distance upper bounds, where some special cases are QC LDPC codes consisting of W2 CMs [22] Lally presented explicit construction of type-ii QC LDPC codes and fullrank QC matrix Lally s fullrank matrix is a hybrid matrix, which consists of CPMs andw2cms,aswellaszeromatrices [18] It should be noted that no further simulation results were provided in Ref[18] except the theoretical analysis, and the validity of Lally s codes cannot be determined We decided to construct new type-ii QC LDPC codes, whose parity check matrix is a pure array of only W2 CMs instead of the combination of zero matrices, CPMs and W2 CMs This undoubtedly enhances the difficulty in elimination of 4-cycles With the help of a special integer sequence, called perfect CDS, a subtle method is created to achieve the goal of no 4-cycles The new type-ii codes will be compared with the counterparts of Lally s in AWGN channel in sequel Manuscript Received Jan 2013; Accepted May 2014 This work is supported by National Natural Science Foundation of China (No61371070, No61271199)
Construction of Type-II QC LDPC Codes Based on Perfect Cyclic Difference Set 147 II Type-II QC LDPC Codes 1 Code structure Assume that L and p are two integers, and the parity check matrix H of a type-ii QC LDPC code of length N = Lp with W2 CMs has the form [18] H = I(p (1) 0,0 )+I(p(2) 0,0 ) I(p(1) I(p (1) 1,0 )+I(p(2) 1,0 ) I(p(1) I(p (1) J 1,0 )+I(p(2) J 1,0 ) 0,1 )+I(p(2) 0,1 1,1 )+I(p(2) 1,1 ) I(p(1) 0,L 1 )+I(p(2) 0,L 1 ) ) I(p(1) 1,L 1 )+I(p(2) 1,L 1 ) I(p(1) J 1,1 )+I(p(2) J 1,1 ) I(p(1) J 1,L 1 )+I(p(2) J 1,L 1 ) (1) where J L and p (1) < p (2) for 0 j J 1 and 0 l L 1 I(p (i) )fori =1, 2 represents the CPM obtained by right-cyclically shifting each row of a p p identity matrix by p (i) places, where p(i) {0, 1,,p 1} Obviously, S(H) = (p (1) 0,0,p(2) 0,0 ) (p(1) (p (1) 1,0,p(2) 1,0 ) (p(1) (p (1) J 1,0,p(2) J 1,0 ) p (i) 0,1,p(2) 0,1 1,1,p(2) 1,1 shows the locations of the two 1 s in the top row of the W2 CM I(p (1) )+I(p(2) )Thus,atype-IIQCLDPCcodecan alternatively expressed by the shift matix of H, ) (p(1) ) (p(1) 0,L 1,p(2) 0,L 1 ) 1,L 1,p(2) 1,L 1 ) (p(1) J 1,1,p(2) J 1,1 ) (p(1) J 1,L 1,p(2) J 1,L 1 ) (2) Obviously, H is a J L array of p p W2 CMs, ie, a Jp Lp matrix where each column has a weight of 2J and each row has a weight of 2L ThenullspaceofH defines a (2J, 2L) regular type-ii QC LDPC code Since the p binary rows within each row of circulants in H sum to an all-zero row, the rank of H is at most Jp J Therefore, the coding rate is lower bounded by Lp (Jp J) Lp =1 J(p 1) Lp 2 Girth Let d = p (2) p(1) when p (2) and p (1) are defined Recall that p (1) <p (2),andsod is always a positive integer The girth of type-ii QC LDPC codes is determined by Theorem 6 from Ref[18] Theorem 1 The Tanner graph representation of the matrix H given in Eq(1) has girth at least 6 if and only if, for all j 0,j 1, 0 j 0 j 1 J 1, and all l 0,l 1, 0 l 0 l 1 L 1, all i t {1, 2}, 0 t 3, each of the following inequalities holds true, (1) d j0,l 0 d j0,l 0 (2) d j0,l 0 ±d j0,l 1 (3) d j0,l 0 ±d j1,l 0 (4) p (i 0) p (i 1) p (i 2) p (i 3) j 1,l 1 mod p whenever all values in an inequality are defined Foranytype-IIQCLDPCmatrix,theaboveconditions can be exhaustively checked to determine if girth is at least six If we want to construct a matrix satisfying Theorem 1, this will be an involved task Although, for regular (2L, 2J) type-ii QC LDPC matrix, further constraint of p, namely,p>2l is (3) given [19], finding proper matrix is also tough with trial-anderror IIIType-IIQCLDPCCodesBased on Perfect CDS 1 Motivation The first three conditions in Theorem 1 can be rewritten as (1) p (2) p (1) p (1) p (2) (2) p (2) p (2) mod p and p (2) p (1) p (2) (3) p (2) p (2) mod p and p (2) p (1) p (2) mod p Combining them with condition (4) in Theorem 1, we can conclude that all the conditions in Theorem 1 will be met if none of the differences between any two different elements in S(H), say, p (i 0) and p (i 1) j 1,l 1, are identical, where i 0,i 1 {1, 2}, and 0 j 0,j 1 J 1, and 0 l 0,l 1 L 1 It should be noted if j 0 = j 1 and l 0 = l 1,theni 0 i 1 Now, the construction of type-ii QC LDPC codes with girth at least 6 reduces to obtaining a series of integers which has the property of different differences under modulo p operation 2 Perfect CDS A (ν, k, λ)-cyclic difference set modulo ν is a set S = {s 1,s 2,,s k } of k non-negative numbers modulo ν, such that for each a 0, there are exactly λ pairs (s i,s j), for 1 i, j k, andi j, which meet s i s j = a mod ν Since there are totally k(k 1) pairs and the whole number for
148 Chinese Journal of Electronics 2015 a 0 mod ν is ν 1, the relation among ν, k and λ is λ = k(k 1)/(ν 1) If λ =1,thenν = k 2 k +1, and the set S is called a perfect CDS [23] The values of the parameters ν and k for which perfect CDS exists can be found in Ref[24] For a modulo ν perfect CDS containing k elements, its difference table where the row and the column indexes are both k elements in an ascending order, can be established Each element in the difference table is the modulo ν difference between the top element in the same column and the left most element in the same row [24] Table1 shows the difference table of modulo 7 perfect CDS {0, 1, 3} It can be seen from the table that all differences between different elements in a perfect CDS are different Table 1 Difference table of mod 7perfectCDS{0,1,3} 0 1 3 0 0 1 3 1 6 0 2 3 4 5 0 3 Code construction According to the property of perfect CDS, let p = ν = k 2 k + 1, and arrange the elements of a perfect CDS in the shift matrix S(H) with each element appearing once, then a type-ii QC LDPC codes with girth at least 6 can be constructed Specifically, for any integer J and L such that 2JL k, select arbitrarily 2JL different elements in S, and arrange them in pairs as the form of (s u,s v), in S(H), where 1 u<v k The difference δ = v u is called interval of the pair Obviously, the selection of elements in S, the assignment of these elements in pairs, and the location of the pairs in S(H) are flexible and on-demand, but we adopt a certain selection and assignment mode for pairs instead of random mode Concretely, let J = 2, and arrange these 2L pairs in two rows consecutively, ie, place the pairs in an ascending order in terms of the first element in each pair, from left to right in the first row and then the second row, and a (4, 2L) type-iiqc LDPC code is obtained The choice of J = 2 suggests the column weight is not less than 3, which guarantees the graceful decoding convergence in SPA For another, small J means few rows in H and high coding rate With different δ, a variety of (4, 2L) type-iiqcldpc codes for the same L can be constructed The error performance maybe to some extent depends on the interval, because different intervals can bring different amounts of short cycles, say, 6-cycles and 8-cycles, in Tanner graph Simulations results in next section illustrate that error rate is not sensitive to δ, and the improvement among codes with different intervals can be negligible Although we have not yet derived rigid mathematical explanation of the phenomenon, it can be concluded at least that the construction is robust and stable For J = 2, some CDS type-ii QC LDPC codes with various lengths and rates are listed in Table 2 As shown in the table, the block size and coding rate vary in a large range, which means more flexibility in choice More and more CDS type-ii QC LDPC codes can be obtained if we choose other values of J and larger perfect CDS Furthermore, the extension to irregular codes is straightforward by replacing some W2 CMs with CPMs or zero matrices IV Simulation Results Two examples are given to illustrate the construction of CDS type-ii QC LDPC codes Binary phase shift keying (BPSK) transmission over an AWGN channel is assumed The SPA is used for decoding and the maximum number of iterations is set to 50 MacKay codes [25], pseudo random PEG codes [26],theRS-LDPCcodes [27], the array codes [28] and the type-iiqcldpccodesbylally [18] are included for comparison In addition, we have appended a type-ii RS-LDPC codes, which were obtained by just adding two adjacent CPMs together in the same column of the RS-LDPC codes [27] It should be noted that, in the construction of the type-ii RS-LDPC codes, Theorem 1 is not taken into account, so the 4-cycles may exist in the Tanner graph for the codes Table 2 A list of CDS type-ii QC LDPC codes with J =2 k p L (n, k) Rates 12 133 3 (399, 135) 034 14 183 3 (549, 186) 034 17 273 3 (819, 275) 034 17 273 4 (1092, 550) 050 18 307 3 (921, 309) 034 18 307 4 (1228, 616) 050 20 381 3 (1143, 383) 034 20 381 4 (1524, 764) 050 20 381 5 (1905, 1145) 060 24 553 3 (1659, 555) 033 24 553 4 (2212, 1108) 050 24 553 5 (2765, 1661) 060 24 553 6 (3318, 2219) 067 28 757 3 (2271, 759) 033 28 757 4 (3028, 1516) 050 28 757 5 (3785, 2273) 060 28 757 6 (4542, 3030) 067 28 757 7 (5299, 3793) 072 30 871 3 (2613, 873) 033 30 871 4 (3484, 1744) 050 30 871 5 (4355, 2615) 060 30 871 6 (5226, 3486) 067 30 871 7 (6097, 4364) 072 32 993 8 (7944, 5968) 075 Example 1 Based on the modulo 133 perfect CDS {1, 2, 4, 18, 22, 59, 66, 74, 101, 106, 112, 125}, we can construct three 2 3 arrays of 133 133 W2 CMs with intervals 1, 3 and 6, respectively The performance comparison among the three (399, 135) CDS type-ii QC LDPC codes is shown in Fig1 It can be seen that the curves are on the top of each other in most range of E b /N 0, which suggests the interval is not the key factor to influence the code performance The distributions of short cycles for these codes are listed in Table 3, and no explicit relation between short cycles and intervals can be found According to the simulation results, the maximal interval δ = 6 is selected, whose shift matrix is " # (1, 66) (2, 74) (4, 101) (4) (18, 106) (22, 112) (59, 125)
Construction of Type-II QC LDPC Codes Based on Perfect Cyclic Difference Set 149 Fig 1 Performance of (399, 135) CDS codes with different intervals (δ =1, 3, 6) The matrix H, which is a 266 399 matrix over GF (2), has column and row weights of 4 and 6, respectively Its null space gives a (399, 135) type-ii QC LDPC code of rate 034 Table 3 Distribution of short cycles for (399, 135) CDS codes with different intervals Intervals #of4-cycles #of6-cycles #of8-cycles δ =1 0 665 3093 δ =3 0 266 2020 δ =6 0 798 1824 The performance of this code is shown in Fig2 For comparison, a (399, 134) MacKay code, a (399, 134) PEG code, a (402, 137) array code, a (399, 135) Lally code, a (441, 163) RS- LDPC code, and a (441, 185) type-ii RS-LDPC code are also included The first four codes have the same column weights, row weights and similar rates with the CDS code While the RS-LDPC code has column weight 5 and row weight 7, the W2 RS-LDPC code has column weight 10 and row weight 14 It can be seen that the performance curves of CDS code, the PEG code and the RS-LDPC code are on the top of each other, down to the BER of 10 6,whilethecodelengthoftheRS- LDPC code is longer than that of CDS code At the BER of 10 6, the CDS code outperforms the MacKay code, the type-ii RS-LDPC code, the array code, and the Lally code by 02dB, 17dB, 20dB, and 22dB, respectively The type-ii RS-LDPC code shows an error floor at the BER of 10 6, while no error floor can be observed for the CDS code 20, 29, 97, 119, 152, 154, 177, 203, 241, 255, 291, 297, 301, 338, 308, 362, 367, 370} [24], we can construct a 2 5 arrays of 381 381 W2 CMs with interval 10 The shift matrix S(H) is " (1, 241) (2, 255) (20, 291) (29, 297) (97, 301) (119, 308) (152, 338) (154, 362) (177, 367) (203, 370) (5) Its corresponding parity check matrix H is a 762 1905 matrix over GF(2), with column and row weights of 4 and 10, respectively Its null space gives a (1905, 1145) type-ii QC LDPC code of rate 060 The performance of this code is shown in Fig3 At the BER of 10 5, the CDS code is 2dB apart from Shannon limit (068dB) For comparison, a (1905, 1144) MacKay code, a (1905, 1144) PEG code, a (1910, 1149) array code, and a (1905, 1145) Lally code with the same column weights, row weights and similar rates are also included It can be seen that the CDS code slightly outperforms the PEG code and MacKay code At the BER of 10 6, the CDS code outperforms the Lally code by 14dB and exceeds the array code by about 20dB A (1905, 1218) RS-LDPC code with column weight 6 and row weight 15, and a (1905, 1247) type-ii RS-LDPC code with column weight 12 and row weight 30 are also included in Fig3 At the BER of 10 7, the CDS code outperforms the RS-LDPC code by more than 05dB The type-ii RS-LDPC code shows an error floor below the BER of 10 6, while for CDS code no error floor is observed at the BER of 10 7 It should be noted that the reason that no lower BERs are not simulated is 10 7 is enough for many application and to illustrate the advantage of the CDS code, as done in Refs[9] and [27] # Fig 2 Performance of the (399, 135) CDS code in AWGN channel Example 2 Using the modulo 381 perfect CDS {1, 2, Fig 3 Performance of the (1905, 1145) CDS code in AWGN channel The decoding convergence for the CDS code is depicted in Fig4, and the gap between 10 iterations and 50 iterations is only 04dB at the BER of 10 6 Structured LDPC codes based on finite geometries [11],finite fields [9], combinatorial designs [10], etc perform well in AWGN channel Because of the discrete natures of the construction, the coding lengths and coding rates can not be chosen on demand It is difficult to directly compare two codes from different constructions, and PEG codes are often used as a baseline to evaluate the capability of structured codes, as what we have done in above two examples Even so, we still find a suitable code from [8, p500] This is a (1488, 747) QC LDPC code based on finite field The code has the same coding
150 Chinese Journal of Electronics 2015 rate as the (1228, 616) CDS code from Table 2, although the latter has a little shorter length As shown in Fig5, the CDS code can get about 08dB more coding gain than the (1488, 747) code at BER of 10 5 With the increase of E b /N 0,the advantage of CDS code is enlarged Fig 4 The convergence rates of the (1905, 1145) CDS code Fig 5 Performance comparison of the (1228, 616) CDS code and (1488, 747) code in AWGN channel V Conclusions Type-II QC LDPC codes based on perfect CDS are constructed The properties of perfect CDS ensure that the associated Tanner graph of the parity check matrix is free of 4-cycles and has a girth at least 6 Simulation results show that the CDS codes perform well over the AWGN channel with iterative decoding in comparison with several other popular LDPC codes Furthermore, this code exhibits excellent decoding convergence and no sign of error floor at the BER down to 10 7 Acknowledgment The authors would like to thank Prof Shu LIN in UC Davis for many interesting and helpful discussions References [1] RG Gallager, Low density parity check codes, IRE Transactions on Information Theory, Vol8, No1, pp21 28, 1962 [2] DJC Mackay and RM Neal, Good error correcting codes basedonverysparsematrices,ieee Transactions on Information Theory, Vol45, No2, pp399 431, 1999 [3] T Richardson and R Urbankf, The capacity of low-density parity-check codes under message-passing decoding, IEEE Transactions on Information Theory, Vol47, No2, pp599 618, 2001 [4] Zhang Li, Huang Qin, Lin Shu, et al, Quasi-cyclic LDPC codes: An algebraic construction, rank analysis, and codes on latin squares, IEEE Transactions on Communications, Vol58, No11, pp3126 3139, 2010 [5] Huang Jie and Zhang Lijun, Relative-residual-based dynamic schedule for belief propagation decoding of LDPC codes, China Communications, Vol8, No5, pp47 53, 2011 [6] Liu Minghua and Zhang Lijun, Iterative hybrid decoding algorithm for LDPC codes based on attenuation factor, Frontiers of Electrical and Electronic Engineering, Vol7, No3, pp279 285, 2012 [7] S Myung, K Yang and J Kim, Quasi-cyclic LDPC codes for fast encoding, IEEE Transactions on Information Theory, Vol51, No8, pp2894 2901, 2005 [8] W Ryan and S Lin, Channel Codes: Classical and Modern, Cambridge University Press, UK, 2009 [9] Lan Lan, Zeng Linqi, Tai YY, et al, Construction of quasicyclic LDPC codes for AWGN and binary erasure channels: A finite field approach, IEEE Transactions on Information Theory, Vol53, No7, pp2429 2458, 2007 [10] Lan Lan, Tai YY, Lin Shu, et al, New constructions of quasicyclic LDPC codes based on special classes of BIBDs for the AWGN and binary erasure channels, IEEE Transactions on Communications, Vol56, No1, pp39 48, 2008 [11] Kou Yu, Lin Shu and Fossorier M, Low-density parity-check codes based on finite geometries: A rediscovery and new results, IEEE Transactions on Information Theory, Vol47, No7, pp2711 2736, 2001 [12] Huang Jenfa, Huang Chunming and Yang Chaochin, Construction of one-coincidence sequence quasi-cyclic LDPC codes of large girth, IEEE Transactions on Information Theory, Vol58, No3, pp1825 1836, 2012 [13] H Falsafain and M Esmaeili, A new construction of structured binary regular LDPC codes based on steiner systems with parameter t > 2, IEEE Transactions on Communications, Vol60, No1, pp74 80, 2012 [14] K Wang, Y Xiao and K Kim, Construction of protograph LDPC codes with circular generator matrices, Journal of Systems Engineering and Electronics, Vol22, No5, pp840 847, 2011 [15] Kang Jingyu, Huang Qin, Zhang Li, et al, Quasi-cyclic LDPC codes: An algebraic construction, IEEE Transactions on Communications, Vol58, No5, pp1383 1396, 2010 [16] D Nguyen, SK Chilappagari, MW Marcellin, et al, Onthe construction of structured LDPC codes free of small trapping sets, IEEE Transactions on Information Theory, Vol58, No4, pp2280 2302, 2012 [17] Li Zongwang, Chen Lei, Zeng Linqi, et al, Efficient encoding of quasi-cyclic low-density parity-check codes, IEEE Transactions on Communications, Vol54, No1, pp71 81, 2006 [18] K Lally, Explicit construction of type-ii QC LDPC codes with girth at least 6, Proc of IEEE International Symposium on Information Theory, pp2371 2375, 2007 [19] R Smarandache and PO Vontobel, On regular quasi-cyclic LDPC codes from binomials, Proc of IEEE International Symposium on Information Theory, pp277, 2004 [20] ME O Sullivan, Algebraic construction of sparse matrices with large girth, IEEE Transactions on Information Theory, Vol52, No2, pp718 727, 2006 [21] RM Tanner, A recursive approach to low complexity codes, IEEE Transactions on Information Theory, Vol27, No5, pp533 547, 1981
Construction of Type-II QC LDPC Codes Based on Perfect Cyclic Difference Set 151 [22] R Smarandache and PO Vontobel, Quasi-cyclic LDPC codes: Influence of proto- and tanner-graph structure on minimum hamming distance upper bounds, IEEE Transactions on Information Theory, Vol58, No2, pp585 607, 2012 [23] HJ Ryser, Combinatorial Mathematics, Wiley New York & Sons, 1963 [24] K Coolsaet, Cyclic difference sets, available at http://www inferencephycamacuk/cds, 2012-11 [25] DJC Mackay, Encyclopedia of Sparse Graph Codes, available at http://wwwinferencephycamacuk/mackay/codes/ datahtml, 2012-9 [26] XY Hu, E Eeleftheriou and D Arnold, Progressive edgegrowth tanner graphs, Proc of IEEE Global Telecommunications Conference, pp995 1001, 2001 [27] L Chen, I Djurdjevic and J Xu, Construction of QC-LDPC codes based on the minimum-weight codewords of RS codes, Proc of IEEE International Symposium on Information Theory, pp239, 2004 [28] JL Fan, Array codes as low-density parity-check godes, Proce of the 2nd International Symposium on Turbo Codes and Related Topics, pp543 546, 2000 ZHANG Lijun received the BS and MA degrees from Shandong University, China, in 1996 and 1999, respectively, both in electronic engineering, and the PhD degree in communications and information systems from Tsinghua University, China, in 2003 He is now an associate professor with the School of Electronic and Information Engineering, Beijing Jiaotong University His current research interests include error control coding and signal processing for digital communications and magnetic recording channels (Email: ljzhang@bitueducn) LI Bing received the BS degree in communication engineer from Beijing University of Posts and Telecommunications, in 2009 and the master degree in communication and information system from Beijing Jiaotong University, in 2012 He is now working in 503 research institute of the China Academy of space technology His current research interests include satellite communication and satellite navigation CHENG Leelung received his BSc and MSc from King s College, University of London in 1976 and 1981, respectively He received his PhD degree of Engineering from Tsinghua University of China He joined City University of Hong Kong in 1990 and the present title is assistant professor of the Electronic Engineering Department Previous research works in digital watermarking schemes using multiresolution Curvelet domain have been carried out Some research activities in RFID and smart cards have been published He published over 40 papers in international conferences and journals He has 4 patents awarded