Font Size: a A A

The Research And Implementation Of Parallel Decoding Algorithm For LDPC Code On OpenMP Platform

Posted on:2019-03-20Degree:MasterType:Thesis
Country:ChinaCandidate:L J YangFull Text:PDF
GTID:2348330563954545Subject:Electronics and Communications Engineering
Abstract/Summary:PDF Full Text Request
LDPC coding is a kind of linear block code which is currently known to have very advanced performance.In practice,the performance obtained is in direct conformity with the limit of Shannon's theory.In the latest 5G communication standard,it has also been adopted as a long frame coding scheme.Although the theory of LDPC codes is already mature,the research methods for LDPC codes still remain in the simulation.For a long LDPC frame,it is still difficult to avoid the problem of excessive time overhead by running serial programs.In order to solve this problem faced by long LDPC code.In this thesis,according to the parallelism in the process of row update and column updae in LDPC decoding process,using C++ as a programming tool,based on OpenMP,a parallel programming model of shared memory and a new parallel simulation platform has been implemented.The LDPC codewords in the DVBS-2 standard consist of information bits and parity bits.The DVBS-2 standard indicates that the core of LDPC codeword encoding under this standard is to decide parity bits,and a detailed method is given.There is no mention of the solution to the parity matrix.Considering the role of the parity matrix in the subsequent decoding and verification process,this thesis uses the reverse thinking method to study the method of determining the parity bit in the DVBS-2 standard and introduces the calculation method of the parity matrix.The calculation of parity matrix for different code rates.Through the study of the parity matrix,we find that the parity matrix can be expressed as[H1,H2],and H2 has a special structure.On this basis,this thesis gave up the coding method recommended by the DVBS-2 standard and instead of adopting a simpler and more efficient encoding method.Second,the preservation of the parity matrix has also been discussed.The use of ordinary linked list storage makes program be more readable,and more convenient to be referenced of parity matrix in row update.However,the column information of matrix cannot be obtained directly during the column update process.At the same time,the linked list query operation in the row update will also take a lot of time.In practice,this thesis uses the linked list and structure array to save the parity matrix.The parity matrix information in the linked list is used in the decoding verification process.In the row update process,the parity matrix information in the structure array is directly referred.The column update process directly calculates the parity matrix column information.The experimental results show that there is no significant impact using the direct calculation way and the program is efficient by using the calculating way to get column information of the parity matrix.In the row update process,the storage method of the structure array can effectively improve theoperating efficiency of the program.On the decoder side,this thesis uses the minimum sum decoding algorithm as the core decoding algorithm of this paper.The parallelization of the minimum sum decoding algorithm on the OpenMP platform is completed.And then,the only chunksize parameter in the actual OpenMP built-in Dynamic strategy interface function was simulated under the conditions of 4 processes and 10 decoding iterations.It was found that different chunksize parameters have a significant impact on program running time.Then,this thesis discussed the effect of different number of processes on the execution time of the program when the number of iterations is different,and the relevant time results are obtained.At the same time,based on this result,an accelerated ratio graph is drawn,and it is found that as the number of processes increases,the speed increases.The ratio shows a downward trend.Finally,this thesis discusses the preservation of the node's self-information in the process of decoding.Two common compression methods for sparse matrices are given,and sufficient explanations and comparisons are made.Due to taking account of the efficiency factor at the time of citation,the second method is chosen as the matrix compression method used in this thesis.Finally,this thesis gave the error performance of the long frame and short frame of different bit rate based on the DVBS-2 standard,and the acceleration performance on the parallel decoding platform also be shown.The program's solution about the memory leaks,hotspots analysis and other programming problems encountered in the development of the platform and corresponding solutions are given.By introducing early termination of the decoding algorithm,the low signal-to-noise ratio interval,the number of iterations of the decoding algorithm and the related results are given.At the end,we designed the mode II of the decoding platform to improve the overall efficiency of the decoding platform.At the end,we gave the results of the execution and compared it with the mode I.We proved that mode II can effectively improve the decoding efficiency.
Keywords/Search Tags:LDPC, parallel decoding, OpenMP, shared memory, DVBS-2
PDF Full Text Request
Related items