A joint design method of frame synchronization code and LDPC code

Frame synchronization word (FSW) is an important basis in signal synchronization detection. In our work, the joint design of frame synchronization words and error correcting code are proposed which through regularly distributing the frame synchronization words among the information bits to improve the decoding performance of the LDPC. Frame synchronization word should be added to the information sequence corresponding to the position with the check matrix larger column weight which can guarantee that more Frame synchronization words are received by the check node in the decoding iteration. The frame synchronization word is known to the receiver which play an important role in decoding iteration. The results of simulation show that the algorithm makes an obvious improvement in decoding performance when the signal-noise ratio (SNR) is lower than 1 dB.


Introduction
In non-cooperative communication reception, frame synchronization is an indispensable part, and it relies on frame synchronization words for synchronization identification. The frame synchronization character is not only used for synchronization recognition, but also its certainty can be used to improve the performance of signal decoding. An algorithm based on frame synchronization word distribution is proposed to improve LDPC decoding performance. The frame synchronization words are distributed in the LDPC information sequence according to certain regulations, so that the frame synchronization words can maximize the decoding performance during the decoding iteration process. LDPC code is a reliable channel coding, which is widely used in modern communication systems due to its iterative decoding performance close to Shannon limit. In recent years, there have been an endless number of improved algorithms for LDPC code. Algorithms based on soft information iteration are all based on confidence propagation algorithm. They achieve the goal of reducing complexity or improving performance by changing some steps of the algorithm, but the performance improvement will be accompanied by an increase in the amount of calculation. However, it has not been proposed to the design method of combining frame synchronization word and LDPC, so there is a large research space in this aspect.
In recent years, there has been a relatively mature system for the study of Frame synchronization. Literature [1] proposes a multiple of frame length is estimated via the correlation and then other frame parameters are acquired using the mean of periodic samples with the estimate.A new algorithm based on the fluctuation of the correlation function of the received signals in time domain is proposed in [2]. The algorithm, employing the first-order fluctuation function of the correlation function as the detection function and combining with the SDM adaptive threshold estimation method to detect burst signals. However, the plenty of improved LDPC algorithm are based on the improvement of algorithm steps and the reduction of complexity. The grouping LDPC coding system is proposed in literature [3], and developed a semi-random method for block LDPC code construction. The check matrix is divided into several block matrices for coding with certain constraints, but the coding complexity is increased. Literature [4] has formed a simple and fast encoder by analyzing the parity matrix of quasi-cyclic LDPC (QC-LDPC) codes, but it is not suitable for random construction. Literature [5] optimizes the irregular LDPC code of the DE-LDPC encoding system through multi-symbol differential detection (MSDD) to obtain an optimized code with good performance.
Based on the above analysis, a joint design method of frame synchronization word and channel coding is proposed, and determines the location of frame synchronization words in the information sequence according to the check matrix of LDPC code. Since the frame synchronization word is fully known by the decoding party which is very helpful to other code words in the decoding iteration. There is an introduction to LDPC in the second section, a detailed derivation of the distribution law of frame synchronization words and the theoretical analysis of decoding performance are show in the third section. The fourth part verifies the influence of the frame synchronization word on the decoding performance through simulation experiments.

Representation of LDPC codes
The LDPC code is a linear block code expressed as (n, k), where 'n' is the code length and 'k' is the information sequence. The check matrix 'H' is sparse, and this sparseness ensures that the decoding complexity and minimum code distance only increase linearly with the code length. Each row of the check matrix 'H' corresponds to a check equation, and each column corresponds to a bit in the sequence. The number of non-zero elements in each column is called column weight. For a check matrix 'H' of dimension n m × , the code word ] , , ,

Regular LDPC code and irregular LDPC code
If the number of non-zero elements in each row and column of the check matrix is the same, such LDPC code is called a regular code, otherwise it is called an irregular code. The performance of irregular codes is better than that of regular codes through the analysis of the decoding process. In decoding, the greater degree of the variable node, the more check nodes connected to it, then the decoding performance is better [7]. In this way, variable nodes can obtain more confidence information from more check nodes, and can more accurately determine the correct value of variable nodes. On the contrary, the smaller the degree of the check node, the fewer the variable nodes connected to the check node, the higher message confidence to the connected variable nodes can be provide. For this contradiction, irregular codes can be a good compromise between the degree of variable nodes and check nodes. In the decoding process of irregular codes, high degree variable nodes can receive more confidence messages. These variable nodes can achieve correct decoding faster as the number of iterations increases. In this way, it can send more reliable information to the connected check nodes. And these check nodes can give more information to the variable nodes with smaller degrees which connected to them, so that the decoding can converge quickly. In this way, variable nodes with high degrees are decoded correctly first, and then variable nodes with low degrees are decoded in turn until all variable nodes are completely decoded.

Distribution of frame synchronization word
In channel transmission, the first task of the receiver is to detect the starting point of the received data. It usually sends a certain sequence as the preamble which is frame synchronization word used for sync detection. It will play a vital role in the decoding iteration because of the complete determinism of the frame synchronization word. It is an important problem that how to make the frame synchronization words to maximize the decoding performance. How many frame synchronization words are added, and how are the frame synchronization words arranged?
The purpose of decoding is to restore the received code word. Every time a frame synchronization word is added, a code word is determined. And the permutation and combination of the remaining code words are reduced accordingly, the probability of correct decoding is also improved. But the transmission efficiency decreases from the number of frame synchronization words increases. In this paper, we use the addition of 64bit, 128-bit and 256-bit frame synchronization words for simulation comparison.
The distribution of frame synchronization words is also a question worth pondering. It can be seen from the Tanner graph of the check matrix that in the decoding iteration process, when each check equation receives a frame synchronization word from the message of the variable node, the variable node can be judged more accurately by the check equation. At this time, code performance has been improved to the greatest extent. Each row of the check matrix corresponds to a check equation, and which check equation is connected to the variable node is determined by the position of each row "1" in the check matrix. It can be seen that the column weight of the check matrix is the number of check equations connected to each variable node. Therefore, in order to the most obvious promotion of decoding performance, frame synchronization words should be added to the information sequence corresponding to the position with the largest column weight. In this way, the frame synchronization word information can be passed to the most check equations.
Through the above analysis, the frame synchronization word distribution can be determined by the check matrix. We use Gaussian elimination algorithm and DVB-S2 standard algorithm for simulation. The check matrix column weight of Gaussian elimination algorithm is 3. The column weights of the DVB-S2 standard algorithm are 8 and 3 respectively, and the column weight of information bits is 3. Therefore, the Gaussian elimination algorithm uses the frame synchronization word to be evenly distributed among the information bits with a code length of 512, while the DVB-S2 standard algorithm uses the frame synchronization word to be evenly distributed among the 8100 information bits.

Theoretical analysis of decoding performance
Suppose that the check node has k edges and the variable node has j edges in the decoding iteration. The channel transition probability of the binary channel is p0, and its range is 0 to 0.5. If the information sent by an information node has j-1 check equations are not satisfied, it is considered that this bit is wrong and the bit of this node is modified. Otherwise it is considered that the bit of this node is correct.
It is assumed that an error occurred during the first iteration. The receiving bit will fail if the other bits involved in the check have an even number of errors. And the probability of an even number of errors in the other k-1 bits is If j-1 check equations are not satisfied, it is considered that an error has occurred in the transmission and modify this node bit. Therefore, the j-1 check equations are not satisfied and the probability of bit receiving error is . So the probability that the received bit is correct is According to the above two expressions, the error probability p1 of the first iteration is: In the same way, based on the error probability pi of the i times iteration, the probability pi+1 of the i+1 times error can be obtained is: where p0 is the channel transition probability. When the frame synchronization words are distributed among information bits, it is not affected by channel characteristics due to its complete Certainty. It can be regarded as a noise-free channel for frame synchronization words, so 0 0 = p . Suppose the channel error probability in this case is 0 = uw p . At this time, the probability of an even number of errors in the other k-1 bits changes from 2 . Then formula (1) becomes: Due to the 1-2puw=1, so formula (3) becomes: The formula (1) minus formula (4) obtain the error probability difference before and after adding frame synchronization words is: And because the range of p0 is [0,0.5], so the range of 1-2p0 is [0,1]. Assume that the first to fourth terms of formula (17) are   4  3  2  1 , , , a a a a ,then formula (5) becomes It is the error probability is reduced δ after adding frame synchronization words.

Density evolution theory
Density evolution theory [7] is an important method to analyze the performance of LDPC codes. Through the analysis of the decoding iteration process, the transfer of probability is replaced by the transfer of probability density function, and finally the theoretical bit error rate is calculated through integration.
In the BP decoding algorithm, the probability-likelihood ratio of the message is passed back and forth on the edge of the Tanner graph, and the decoding is achieved by iterative update of the message. According to the BP algorithm, l v represents the LLR information from the variable node to the check node in the L times iteration, and l u represents the LLR information from the check node to the variable node in the L times iteration.
where 't' is all the information received by this variable node in this iteration, and 'r' is all the information received by this check node in this iteration. The iterative update process of the message during BP decoding is [8,9]: where v d is the number of nodes connected to variable nodes, and c d is the number of nodes connected to check nodes.
In the decoding process, the values of l v and l u are randomly distributed, so they are random variables with a certain probability distribution. Let ) (v P l represent the probability density function of each l v , and ) (u Q l represent the probability density function of each l u . When the first iteration of decoding begins, the initial probability density of l v and l u is determined by the transition probability of the channel. With each iteration of the decoding algorithm, ) (v P l and ) (u Q l will change accordingly. The density evolution is to track the values of ) (v P l and ) (u Q l in each iteration to determine the bit error rate [10]. According to probability theory, if multiple independent random variables are added together, the probability density of the sum is equal to the convolution of the probability density function of the original random variable. So according to formula (8), the density evolution from variable node to check node is: The density evolution from check node to variable node is more complicated. First define the operator ) 2 tanh 2 (tanh tanh 2 ) , ( , then formula (9) becomes )) ) ( , , ( ( , Then the density evolution from check node to variable node is: )) )) ( ), (11) According to formula (10), the bit error rate can be expressed as:

Gaussian approximation
Aiming at the memoryless binary input and output AWGN channel, approximate a simplified LDPC decoding method to estimate the theoretical performance of the code. The density evolution of multi-dimensional check messages and variable messages is simplified to the evolution of one-dimensional mean value. This method of reducing the computational complexity is called Gaussian approximation. When the channel model is a Gaussian channel, the initial probability of decoding obeys the Gaussian distribution. In the process of density evolution, the variable node probability density function ) (v P l still obeys the Gaussian distribution. Although the check node probability density function ) (u Q l is not Gaussian, its waveform can be approximately Gaussian distribution [11]. When density evolution satisfies symmetry [12], we can only consider the mean and variance in the iterative process. Assuming that in the L times iteration, the density distribution of variable node LLR messages is  (8) and (9) is [13]: Define the function: Thus, the mean of the check message is: Combining formula (16) and formula (13) can get the mean l v m of the variable node.
According to the probability density distribution = of the variable message in the L times iteration, the bit error rate is: Through numerical calculation, ) (x φ can be obtained as: ) ( The following is the first iteration of the decoding process to analyze the changes when frame synchronization words are added. The initialization of the first iteration is 2 0 σ is the noise variance of the AWGN channel. According to formula (16), the density evolution of the check node becomes: (11), the density evolution of the variable node becomes: (20) Through the simulation of the first iteration process, the simulation results are shown in the figure 1. Describes that after three iterations under different SNR, the distribution diagram of the probability density function and the curve diagram of the decoding performance before and after the frame synchronization word is added. As shown in the figure, (a) describes that after a frame synchronization word is added in the decoding process, the mean value of its probability density function becomes larger and the graph moves to the right. And figure (b) is calculated by formula (16), which describes the graph of bit error rate and SNR after 3 iterations. It can be obtained that under the same SNR, the decoding error rate is significantly reduced after adding frame synchronization words.

MATLAB simulation realization of LDPC codec
In this paper, a large number of simulations have been carried out on the joint innovative algorithm of frame synchronization code and channel coding under AWGN channel. In this paper, Gaussian elimination and DVBS-2 standard coding algorithm are adopted to generate (1540, 512) codes with a code rate of 1/3 and (16200, 8100) codes with a code rate of 1/2. Distribute the frame synchronization words in the information bits according to the law, and do simulation analysis from the aspects of SNR, bit rate and the number of frame synchronization words. Figure 2 shows a simulation diagram of the decoding performance of (1540, 512) codes and (16200, 8100) codes with different numbers of frame synchronization words as the SNR increases. Among them, figure (a) shows the (1540, 512) code distribution frame synchronization words have 32, 64, 128 bits. The decoding algorithm with 128-bit frame synchronization words reduces the bit error rate by about 0.1dB compared with the decoding algorithm without frame synchronization words. And figure (b) shows the (16200, 8100) code distribution frame synchronization words have 64, 128, 256, and 512 bits. When the frame synchronization word is 512 bits, the performance is improved by approximately 0.1dB. Figure (c) shows the simulation of this algorithm under the Rayleigh fading channel. When there are 128-bit frame synchronization words, the decoding performance is improved by about 3dB. It can be seen from the figure that the more frame synchronization words are added, the lower the bit error rate under the same SNR.  Figure 3 shows the simulation diagram of (1540, 512) code under 0.5dB SNR, and (16200, 8100) code under 0.78dB SNR after 1000 cycles, the decoding performance changes with the increase of frame synchronization words. As the number of frame synchronization words increases, the decoding bit error rate decreases. When the number of frame synchronization words added reaches a certain number, the error rate is zero. It can be seen from the figure that the bit error rate of decoding of (1540, 512) code drops to 4 -10 when the frame synchronization word is added with 130 bits, and the frame synchronization word continues to increase the bit error rate drops to zero. (16200, 8100) code drops to 6 -10 when the frame synchronization word is added with 780 bits, and the frame synchronization word continues to increase the bit error rate drops to zero.   Figure 4 shows the (4100, 2048) code when the SNR is 0.8dB, and the (16200, 8100) code when the SNR is 0.8dB. As the number of iterations increases, the convergence performance of decoding when frame synchronization words are not added is added. It can be seen from the figure that the more frame synchronization words are added, the lower the bit error rate when decoding converges.
(a) (b) Fig. 4. The bit error rate of (a) (4100, 2048) code and (b) (16200, 8100) code when different frame synchronization words are added to the decoding performance convergence. Figure 5 shows the effect of 128-bit frame synchronization words added in (16200,8100), (4100,2048) and (1540,512) codes on decoding performance. It can be seen from the simulation diagram that the most obvious improvement in decoding performance before and after the frame synchronization word is added is the (1540, 512) code, the (4100, 2048) code has a smaller improvement, and the smallest improvement is the (16200, 8100) code. It can be concluded that the greater the proportion of the frame synchronization word to the code length, the more obvious the improvement in decoding performance.  Figure 6 simulates the conclusion in section 3.1 Namely, distributing frame synchronization words at the information sequence corresponding to the position with the largest column weight can maximize the decoding performance. As shown in the picture for the (16200, 8100) code, add 512-bit frame synchronization words to the parity check matrix to compare the decoding performance at the largest column weight and the smallest column weight.

Conclusions
We proposes a joint innovative algorithm of frame synchronization and error correcting code, which effectively improves the decoding performance of error correcting code. In this algorithm, the frame synchronization word is not only used for synchronous detection, but also effectively improves the decoding performance of LDPC. It is not affected by code length, code rate and decoding mode. Simulation results show that the decoding performance is effectively improved. However, the non-centralized distribution of frame synchronization words makes the sync detection have to wait for the reception of the entire sequence to be completed.The detection delay increases and further research is needed.