Abstract:
A method for constructing LDPC (Low-Density Parity-Check) code in the mobile digital multimedia broadcast system is provided, wherein the Low-Density Parity-Check matrix of the LDPC code is iteratively constructed according to a code-table and expansion method, and the code-table is a part of the constructed Low-Density Parity-Check matrix. According to the constructing method of the present invention, the LDPC code having excellent performance of error correcting coding which is applicable to the mobile digital multimedia broadcast system.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a mobile digital multimedia broadcast communication system, and more particularly, to a method for constructing LDPC code in the mobile digital multimedia broadcast communication system. 
       BACKGROUND 
       [0002]    In 1948, Claude Shannon initially proposed his famous “noisy channel encoding theory” which firstly defines the maximum transmission rate of the noisy channel information, i.e., channel capacity. Meanwhile, Shannon also derived the limited transmission capability of the noisy channel, i.e., the minimum Signal-to-Noise Ratio required by errorless information transmission, which is also called as Shannon limit. The Shannon limit is an important indicator for evaluating the channel error correction capability. The closer the error correction performance curve to the Shannon limit, the more excellent is the error correction performance. Otherwise, farther to the Shannon limit, the worse is the performance. 
         [0003]    The Low Density Parity Code (LDPC) is a kind of excellent channel error correction encoding scheme which may approach the Shannon limit. The LDPC code is a special linear parity check block code, whose parity check matrix is “sparse”: there is only very few non-zero matrix elements (for the binary code, non-zero element is 1), and the remaining elements are all zero. In 1960, Robert Gallager firstly proposed the concept of LDPC code in his Ph.D. dissertation and also suggested two iterative decoding algorithms, thus the LDPC code is also called as Gallager code. Gallager indicated theoretically that the LDPC code may approach the channel capacity with lower complexity by using iterative decoding algorithms (or message delivering algorithms). This is a great invention, however, in the following 30 years researchers did not pay enough attention to the invention. 
         [0004]    From the current viewpoint, one reasons why the LDPC code was ignored might consist in that the software and hardware levels of the computers were underdeveloped at that time, and thus the researches could not know the excellent performance of the LDPC code from results of computer simulations; as another reason, the LDPC code needs a larger storage space which could not be achieved at that time. Additionally, at that time, other codes such as Reed-Solomon code and Hamming code were available, which might be considered as temporarily usable channel encoding schemes, and thus the researchers did not intently forward their researches onto the LDPC code. 
         [0005]    Even today, if it is intended to apply the LDPC code to actual communication systems, the LDPC code still needs to be carefully studied and designed. Since LDPC code has some special requirements when applying to actual communication systems, such as codec hardware schemes having lower complexity, excellent error correction performance, and the like, it is required to specially limit the construction of the parity check matrix of the LDPC code as well as deeply study on the encoding/decoding method. Generally, there are two methods of constructing the parity check matrix of the LDPC code: one is to firstly set some attribute limitations on the parity check matrix such as minimum girth or node degree distribution and then randomly or pseudo-randomly generate the parity check matrix by using the computer searching methods; the other is to construct the parity check matrix of the LDPC code by using the mathematical formulae to make it have regular structure. 
         [0006]    Mobile digital multimedia broadcast communication system is developing rapidly in recent years, and a normal system thereof is termed as “Mobile TV” system. The most difficult part in the design of the mobile TV system lies in the miniaturization of the mobile phone and low power consumption design. Therefore, the technology adopted by the system normally has a high performance with low complexity, such as channel encoding technology. 
         [0007]    The LDPC proposed in the present invention is a channel encoding scheme applicable to the mobile digital multimedia broadcast communication system. 
       SUMMARY OF INVENTION 
       [0008]    As described above, an object of some embodiments of the present invention is to provide a method of constructing the LPDC code which can be applied to a mobile digital multimedia broadcast communication system having excellent error correction performance. 
         [0009]    To this end, the present invention provide a method of constructing a LDPC code in a mobile digital multimedia broadcast communication system wherein a Low-Density Parity-Check matrix of the LPDC code is iteratively constructed according to a code table and an expansion method, and the code table is a part of the constructed Low-Density Parity-Check matrix, the method comprising the following steps: 
         [0010]    step 1: setting up a first cycle with a cycling index I, the I falls in the range of 1 to row number or column number of the code table, wherein the maximum value of the I is the row number of the code table if the code table is a part of rows of the constructed Low-Density Parity-Check matrix, and the maximum value of the I is the column number of the code table if the code table is a part of columns of the constructed Low-Density Parity-Check matrix; 
         [0011]    selecting data of I th  row or I th  column in the code table, if a representing format of the data sequence is not sparse, the data sequence is transformed into sparse format, and the data sequence in sparse format is marked by hexp and suppose the data sequence hexp comprises W data in total, in which the data of the I th  row in the code table is selected if the code table is a part of rows of the constructed Low-Density Parity-Check matrix, and the data of the I th  column in the code table is selected if the code table is a part of columns of the constructed Low-Density Parity-Check matrix; 
         [0012]    step 2: nesting a second cycle with a cycle index J in the first cycle in which J is selected from the range of 1 to L; 
         [0013]    wherein it is supposed that the dimension of the Low-Density Parity-Check matrix of the LPDC code is M rows and N columns, and the Low-Density Parity-Check matrix with M rows and N columns can be divided into m×n blocks with each block having L×L elements, i.e., M=m×L and N=n×L; 
         [0014]    if the code table is a part of rows of the constructed Low-Density Parity-Check matrix and it is supposed that the data sequence hexp corresponds to the r th  row of the Low-Density Parity-Check matrix with the r in the range of 1 to M, a variable “row” is calculated according to the following formula: 
         [0000]      row={[( J− 1)× m +( r−I )]%  M}+I,    
         [0015]    in which the symbol % denotes modular operation, and the row falls in the range of 1 to M; 
         [0016]    if the code table is a part of columns of the constructed Low-Density Parity-Check matrix and it is supposed that the data sequence hexp corresponds to the c th  column of the Low-Density Parity-Check matrix with the c in the range of 1 to N, a variable “column” is calculated according to the following formula: 
         [0000]      column={[( J− 1)× n +( c−I )]%  N}+I,    
         [0017]    in which % denotes modular operation, and the “column” falls in the range of 1 to N; 
         [0018]    step 3: nesting a third cycle with a cycle index K in the variable “row” of the second cycle with the K in the range of 1 to W, and the K th  data of the data sequence hexp is marked by hexp(K), and 
         [0019]    if the code table is a part of rows of the constructed Low-Density Parity-Check matrix, the hexp (K) falls in the range of 0 to N−1, and the variable “column” is calculated according to the following formula: 
         [0000]      column=[(└ hexp ( K )/ n┘+J− 1)%  L]×n +( hexp ( K )%  n )+1, 
         [0000]    in which └•┘ denotes floor rounding operation; 
         [0020]    if the code table is a part of columns of the constructed Low-Density Parity-Check matrix, the hexp (K) falls in the range of 0 to M−1, and the variable “row” is calculated according to the following formula: 
         [0000]      row=[(└ hexp ( K )/ m┘+J− 1)%  L]×m +( hexp ( K )%  m )+1, and 
         [0021]    setting the element at the row th  row and column th  column of the Low-Density Parity-Check matrix to be a non-zero element. 
         [0022]    According to the above constructing method, the present invention can provide a LPDC code with excellent error correction performance which can be applied to a mobile digital multimedia broadcast communication system. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0023]    The present invention is described but not limited in conjunction with the embodiments shown in the drawings throughout which the similar reference signs represent the similar elements, in which: 
           [0024]      FIG. 1  is an error correction performance curve of a LDPC code in a mobile digital multimedia broadcast communication system according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0025]    The present invention relates to a method of constructing a LDPC code in a mobile digital multimedia broadcast system. Mainly, a Low-Density Parity-Check matrix of the LPDC code is iteratively constructed according to a code table and an expansion method, and the code table is a part of the constructed Low-Density Parity-Check matrix. If the code table is a part of rows in the constructed Low-Density Parity-Check matrix, the method comprises the following steps: 
         [0026]    step 1: setting up a first cycle with a cycling index I with the I falls in the range of 1 to row number of the code table, setting the data of the I th  row of the code table to be a data sequence, if the representing format of the data sequence is not sparse, the data sequence is transformed into sparse format, and the data sequence represented in sparse format is denoted as hexp; 
         [0027]    step 2: nesting a second cycle with a cycle index J in the first cycle in which J is selected from the range of 1 to L; 
         [0028]    and it is supposed that the dimension of the Low-Density Parity-Check matrix of the LPDC code is M rows and N columns, and the Low-Density Parity-Check matrix with M rows and N columns can be divided into m×n blocks with each block having L×L elements, i.e., M=m×L and N=n×L; 
         [0029]    and it is supposed that the data sequence hexp corresponds to the r th  row of the Low-Density Parity-Check matrix with the r in the range of 1 to M, a variable “row” is calculated according to the following formula: 
         [0000]      row={[( J− 1)× m +( r− 1)]%  M}+I,    
         [0030]    in which the symbol % denotes modular operation, and the row falls in the range of 1 to M; 
         [0031]    step 3: nesting a third cycle with a cycle index K in the variable “row” of the second cycle with the K in the range of 1 to W, and the K th  data of the data sequence hexp is marked by hexp (K), and the hexp (K) falls in the range of 0 to N−1, and the variable “column” is calculated according to the following formula: 
         [0000]      column=[(└ hexp ( K )/ n┘+J− 1)%  L]×n +( hexp ( K )%  n )+1, 
         [0000]    in which └•┘ denotes floor rounding operation; and setting the element at the row th  row and column th  column of the Low-Density Parity-Check matrix to be a non-zero element. The code table can be sparse format, and it can also be non-sparse format. The sparse format means that only the specific positions of non-zero elements, i.e. row indexes and column indexes of the non-zero elements, in the Low-Density Parity-Check matrix are indicated, rather than the Low-Density Parity-Check matrix composed of zero elements and non-zero elements being specifically indicated; and the non-zero element denotes element “1” in the Low-Density Parity-Check matrix of binary LDPC code, the non-sparse format means the Low-Density Parity-Check matrix is represented by zero elements and non-zero elements. 
         [0032]    The code table is composed of m rows of data, the code table having m rows of data can be composed of any cyclic continuous m rows of data in the constructed Low-Density Parity-Check matrix, and if row m 1  and row m 2  are cyclic continuous two rows in the Low-Density Parity-check matrix, then |m 1 −m 2 |=1 or |m 1 −m 2 |=M−1 in which |•| denotes absolute operation. 
         [0033]    The code rates of the LDPC code in the embodiment are 1/2 and 3/4 with code length of 9216 bits, n=36, L=256, m equals 18 and 9 respectively, and the code table shown is the code table of the LDPC code with data of the first row to the m th  row of the constructed Low-Density Parity-Check matrix and code rate of R=1/2: 
         [0000]    
       
         
               
               
               
               
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 0 
                 6 
                 12 
                 18 
                 25 
                 30 
               
               
                   
                 0 
                 7 
                 19 
                 26 
                 31 
                 5664 
               
               
                   
                 0 
                 8 
                 13 
                 20 
                 32 
                 8270 
               
               
                   
                 1 
                 6 
                 14 
                 21 
                 3085 
                 8959 
               
               
                   
                 1 
                 15 
                 27 
                 33 
                 9128 
                 9188 
               
               
                   
                 1 
                 9 
                 16 
                 34 
                 8485 
                 9093 
               
               
                   
                 2 
                 6 
                 28 
                 35 
                 4156 
                 7760 
               
               
                   
                 2 
                 10 
                 17 
                 7335 
                 7545 
                 9138 
               
               
                   
                 2 
                 11 
                 22 
                 5278 
                 8728 
                 8962 
               
               
                   
                 3 
                 7 
                 2510 
                 4765 
                 8637 
                 8875 
               
               
                   
                 3 
                 4653 
                 4744 
                 7541 
                 9175 
                 9198 
               
               
                   
                 3 
                 23 
                 2349 
                 9012 
                 9107 
                 9168 
               
               
                   
                 4 
                 7 
                 29 
                 5921 
                 7774 
                 8946 
               
               
                   
                 4 
                 7224 
                 8074 
                 8339 
                 8725 
                 9212 
               
               
                   
                 4 
                 4169 
                 8650 
                 8780 
                 9023 
                 9159 
               
               
                   
                 5 
                 8 
                 6638 
                 8986 
                 9064 
                 9210 
               
               
                   
                 5 
                 2107 
                 7787 
                 8655 
                 9141 
                 9171 
               
               
                   
                 5 
                 24 
                 5939 
                 8507 
                 8906 
                 9173 
               
               
                   
                   
               
             
          
         
       
     
         [0034]    The method of constructing the Parity-Check matrix is as follows: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                  for I=1:18 
               
               
                   
                   selecting the I th  row of the above table denoting as 
               
               
                   
                 hexp; 
               
               
                   
                   for J=1:256 
               
               
                   
                    row =(J−1)*18+I; 
               
               
                   
                    for K=1:6 
               
               
                   
                   column [(└hexp(K)/36┘+J−1)%256]*36+(hexp(K)%36)+1; 
               
               
                   
                     the element of the row th  row and column th  column 
               
               
                   
                 in the Parity-Check matrix is a non-zero element; 
               
               
                   
                    end 
               
               
                   
                   end 
               
               
                   
                  end 
               
               
                   
                   
               
             
          
         
       
     
         [0035]    The code table of the LDPC code with code rate of R=3/4 is as follows: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
             
             
               
                 0 
                 3 
                 6 
                 12 
                 16 
                 18 
                 21 
                 24 
                 27 
                 31 
                 34 
                 7494 
               
               
                 0 
                 4 
                 10 
                 13 
                 25 
                 28 
                 5233 
                 6498 
                 7018 
                 8358 
                 8805 
                 9211 
               
               
                 0 
                 7 
                 11 
                 19 
                 22 
                 6729 
                 6831 
                 7913 
                 8944 
                 9013 
                 9133 
                 9184 
               
               
                 1 
                 3 
                 8 
                 14 
                 17 
                 20 
                 29 
                 32 
                 5000 
                 5985 
                 7189 
                 7906 
               
               
                 1 
                 9 
                 4612 
                 5523 
                 6456 
                 7879 
                 8487 
                 8952 
                 9081 
                 9129 
                 9164 
                 9214 
               
               
                 1 
                 5 
                 23 
                 26 
                 33 
                 35 
                 7135 
                 8525 
                 8983 
                 9015 
                 9048 
                 9154 
               
               
                 2 
                 3 
                 30 
                 3652 
                 4067 
                 5123 
                 7808 
                 7838 
                 8231 
                 8474 
                 8791 
                 9162 
               
               
                 2 
                 35 
                 3774 
                 4310 
                 6827 
                 6917 
                 8264 
                 8416 
                 8542 
                 8834 
                 9044 
                 9089 
               
               
                 2 
                 15 
                 631 
                 1077 
                 6256 
                 7859 
                 8069 
                 8160 
                 8657 
                 8958 
                 9094 
                 9116 
               
               
                   
               
             
          
         
       
     
         [0036]    The method of constructing the Parity-Check matrix of the LDPC code with the code rate of R=3/4 is as follows: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                  for I=1:9 
               
               
                   
                   selecting the I th  row of the above table denoting as 
               
               
                   
                 hexp; 
               
               
                   
                   for J=1:256 
               
               
                   
                    row =(J−1)*9+I; 
               
               
                   
                    for K=1:12 
               
               
                   
                   column=[(└hexp(K)/36┘+J−1)%256]*36+(hexp(K)%36)+1; 
               
               
                   
                     the element of the row th  row and column th  column 
               
               
                   
                 in the Parity-Check matrix is a non-zero element; 
               
               
                   
                    end 
               
               
                   
                   end 
               
               
                   
                  end 
               
               
                   
                   
               
             
          
         
       
     
         [0037]    If the code table is a part of columns in the constructed Low-Density Parity-Check matrix, the method comprises the following steps: 
         [0038]    step 1: setting up a first cycle with a cycling index I with the I falls in the range of 1 to column number of the code table, setting the data of the I th  column of the code table to be a data sequence, if the representing format of the data sequence is not sparse, the data sequence is transformed into sparse format, and the data sequence represented in sparse format is denoted as hexp; 
         [0039]    step 2: nesting a second cycle with a cycling index J in the first cycle in which J is selected from the range of 1 to L; 
         [0040]    and it is supposed that the dimension of the Low-Density Parity-Check matrix of the LPDC code is M rows and N columns, and the Low-Density Parity-Check matrix with M rows and N columns can be divided into m×n blocks with each block having L×L elements, i.e., M=m×L and N=n×L; 
         [0041]    and it is supposed that the data sequence hexp corresponds to the c th  column of the Low-Density Parity-Check matrix with the c in the range of 1 to N, a variable “column” is calculated according to the following formula: 
         [0000]      column={[( J− 1)× n +( c−I )]%  N}+I,    
         [0042]    in which the column falls in the range of 1 to N; 
         [0043]    step 3: nesting a third cycle with a cycling index K in the variable “row” of the second cycle with the K in the range of 1 to N, and the K th  data of the data sequence hexp is marked by hexp (K), and 
         [0044]    the hexp (K) falls in the range of 0 to M−1, and the variable “row” is calculated according to the following formula: 
         [0000]      row=[(└ hexp ( K )/ m┘+J− 1)%  L]×m +( hexp ( K )%  m )+1, and 
         [0045]    setting the element at the row th  row and column th  column of the Low-Density Parity-Check matrix to be a non-zero element. 
         [0046]    As described above, the code table may have a sparse format, and it can also have a non-sparse format with the same definition as described above. The code table can be composed of n columns of data, the n columns of data can be any cycling continuous n columns of data in the constructed Low-Density Parity-Check matrix, and if the column n 1  and n 2  are cycling continuous two columns in the Low-Density Parity-Check matrix, then |n 1 −n 2 |=1 or |n 1 −n 2 |=N−1 in which |•| denotes absolute operation. Similarly, the code rates of the LDPC code in the embodiment are 1/2 and 3/4 with code length of 9216 bits, n=36, L=256, m equals 18 and 9 respectively, the code table is the code table of the LDPC code with data of the first row to the n th  column of the constructed Low-Density Parity-Check matrix and code rate of R=1/2: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 3 
                 6 
                 9 
                 12 
                 15 
                 0 
                 1 
                 2 
                 5 
                 7 
                 8 
                 0 
                 2 
                 3 
                 4 
                 5 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 (catenate the following) 
               
             
          
           
               
                 1 
                 4 
                 7 
                 10 
                 13 
                 16 
                 3 
                 9 
                 15 
                 2296 
                 302 
                 377 
                 119 
                 265 
                 179 
                 50 
                 260 
               
               
                 2 
                 5 
                 8 
                 11 
                 14 
                 17 
                 6 
                 12 
                 22 
                 3449 
                 589 
                 736 
                 1783 
                 2241 
                 1311 
                 304 
                 2544 
               
             
          
           
               
                 (linking upwardly) 
               
             
          
           
               
                 7 
                 0 
                 1 
                 2 
                 3 
                 8 
                 11 
                 17 
                 0 
                 1 
                   
               
             
          
           
               
                 (catenate the following) 
               
             
          
           
               
                 856 
                 28 
                 189 
                 58 
                 77 
                 141 
                 122 
                 47 
                 383 
                 488 
                   
               
               
                 1668 
                 156 
                 3580 
                 744 
                 853 
                 1988 
                 463 
                 1021 
                 3081 
                 3375 
               
             
          
           
               
                 (linking upwardly) 
               
             
          
           
               
                 4 
                 6 
                 12 
                 0 
                 1 
                 2 
                 4 
                 5 
                 6 
                   
               
               
                 52 
                 105 
                 53 
                 33 
                 46 
                 31 
                 70 
                 152 
                 83 
               
               
                 961 
                 2260 
                 2552 
                 61 
                 147 
                 248 
                 315 
                 750 
                 1673 
               
               
                   
               
             
          
         
       
     
         [0047]    The constructing method thereof is as follows: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                  for I=1:36 
               
               
                   
                   selecting the I th  column of the above table denoting as 
               
               
                   
                 hexp; 
               
               
                   
                   for J=1:256 
               
               
                   
                    column =(J−1)*36+I; 
               
               
                   
                    for K=1:3 
               
               
                   
                      row=[(└hexp(K)/18┘+J−1)%256)×18+(hexp(K)%18)+1; 
               
               
                   
                     the element of the row th  row and column th  column 
               
               
                   
                 in the Parity-Check matrix is a non-zero element; 
               
               
                   
                    end 
               
               
                   
                   end 
               
               
                   
                  end 
               
               
                   
                   
               
             
          
         
       
     
         [0048]    The code table of the LDPC code with code rate of R=3/4 is as follows: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
               
               
               
               
             
               
             
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 0 
                 3 
                 6 
                 0 
                 1 
                 5 
                 0 
                 2 
                 3 
                 4 
                 1 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 (catenate the following) 
               
             
          
           
               
                 1 
                 4 
                 7 
                 3 
                 11 
                 296 
                 217 
                 114 
                 35 
                 40 
                 23 
               
               
                 2 
                 5 
                 8 
                 6 
                 1156 
                 583 
                 432 
                 527 
                 52 
                 813 
                 178 
               
             
          
           
               
                 (linking upwardly) 
               
             
          
           
               
                 2 
                 0 
                 1 
                 3 
                 8 
                 0 
                 3 
                 0 
                 2 
                   
               
             
          
           
               
                 (catenate the following) 
               
             
          
           
               
                 350 
                 50 
                 56 
                 106 
                 59 
                 74 
                 43 
                 24 
                 68 
                   
               
               
                 1032 
                 697 
                 1000 
                 195 
                 931 
                 1401 
                 152 
                 685 
                 2159 
               
             
          
           
               
                 (linking upwardly) 
               
             
          
           
               
                 3 
                 0 
                 2 
                 5 
                 0 
                 1 
                 5 
                 0 
                 1 
                 3 
                   
               
             
          
           
               
                 (catenate the following) 
               
             
          
           
               
                 22 
                 31 
                 44 
                 258 
                 76 
                 29 
                 357 
                 193 
                 214 
                 185 
                   
               
               
                 250 
                 109 
                 336 
                 610 
                 278 
                 516 
                 1240 
                 605 
                 755 
                 335 
               
             
          
           
               
                 (linking upwardly) 
               
             
          
           
               
                 6 
                 0 
                 3 
                 5 
                 0 
                 5 
                   
               
               
                 80 
                 10 
                 366 
                 632 
                 13 
                 7 
               
               
                 1375 
                 346 
                 1065 
                 2051 
                 559 
                 1302 
               
               
                   
               
             
          
         
       
     
         [0049]    The constructing method thereof is as follows: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                  for I=1:36 
               
               
                   
                   selecting the I th  column of the above table denoting as 
               
               
                   
                 hexp; 
               
               
                   
                   for J=1:256 
               
               
                   
                    column = ( J−1 ) *36+I; 
               
               
                   
                    for K=1:3 
               
               
                   
                     row = [(└hexp(K)/9┘+J−1)%256]×9+(hexp(K)%9)+1; 
               
               
                   
                      the element of the row th  row and column th  column 
               
               
                   
                 in the Parity-Check matrix is a non-zero element; 
               
               
                   
                    end 
               
               
                   
                   end 
               
               
                   
                  end 
               
               
                   
                   
               
             
          
         
       
     
         [0050]    Although the present invention is described in conjunction with the examples and embodiments, the present invention is not intended to be limited thereto. On the contrary, the present invention obviously covers the various modifications and may equivalences, which are all enclosed in the scope of the following claims.