# Study On Low Density Parity Check Codes Computer Science Essay

**Published:** **Last Edited:**

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

## 2.1. Introduction and background

Developed by Gallager in 1962, low density parity check (LDPC) codes were nearly forgotten by the scientific community for several years[1]. However, LDPC codes have recently attracted enormous attention for their great capability of correcting errors and excellent parallel decoding scheme[2]. The performance of LDPC codes can approach Shannon's limits, which is the second reason for the giant interest from the scientific community. Recently, many applications are considering to use LDPC codes, such as magnetic storage and high-throughput wireless local area network (LAN)[2].

LDPC codes which can be defined by the parity check matrix H and the generator matrix G [1] belong to a kind of linear block codes [3]. The function of the parity check matrix H is checking the transmitting errors. The function of the generator matrix G is generating LDPC codes by multiplying source information and G.

According to the Gallager's theory, the parity check matrix of LDPC codes has much more number of logical zero than logical one. Assume that Ï‰r and Ï‰c represents respectively the average Hamming weight of each row and column. So that, the coding rate can be described as:

Rate = 1-Ï‰c/Ï‰r

If Ï‰c is constant, the LDPC codes are called regular LDPC coeds. If Ï‰c is not constant, the LDPC codes are called irregular LDPC codes[4].

Assume that the size of the parity check matrix H and the generator matrix G is respectively (Y-X)*Y and X *Y where X is the length of the uncoded LDPC code block and Y is the length of the encoded LDOC code block. So that, H can be described as:

H = (I âˆ£N)

Where I is an identical matrix which size is (Y-X)*(Y-X), N is a nonsingular matrix. And, G can be described as:

G = (-NT âˆ£I')

Where NT is the transpose of N, and I' is also an identical matrix which size is (X*X). Therefore, one zero matrix can be achieved by multiplying G by HT. This is the method for checking the validity of codeword.

S is one block of source information bits which size is 1*X. So, the LDPC codeword C can be calculated by using the method which is mentioned above, described as:

C = S*G

A syndrome vector can be calculated by multiplying C by HT. If C is a correct codeword, the value of each element of the syndrome vector is zero.

## 2.2 Tanner graph

Tanner graph, as an excellent method for describing LDPC codes, was invented in 1981, and was known to the scientific community for making the coding procedure more obvious by using the graph.

There are two different sets of nodes in a Tanner graph. And, there has the connection between the two different sets of nodes, which means the nodes in the same set are never connected. So, Tanner graph is a kind of bipartite graphs. One set of nodes which length is equal to the codeword is called variable nodes, the other is called check nodes, the length of it is equal to the parity check codes.

For creating a Tanner graph, firstly, assume that there is a parity check matrix H which has been shown as:

need change

Where each element in the parity check matrix H is called as Hij. Secondly, the check node Ci is connected with variable node vj when the element Hij is equal to one[5]. Then, a Tanner graph has been produced as figure 1. There are five check bits and ten variable bits in figure 1. So, it is a (10,5) code.

Figure 1

## 2.3 LDPC codes encoding

The procedure of LDPC codes encoding is divided into three main parts[3][4]. Firstly, a parity check matrix need be generated. Then, a generator matrix is created from the parity check matrix. Finally, the codeword is produced from multiplying the source information bits by the generator matrix. All the symbols which will be used soon have the same meaning as before.

## 2.3.1 Generating a parity check matrix

There are many methods which use the random generation algorithm to generate a parity check matrix, such as, a parity check matrix H can be generated from (H1âˆ£H2) form, where the size of H1 and H2 is respectively (Y-X)*(Y-X) and (Y-X)*X. The parity check matrix is correct only if H1 and H2 are very sparse and H1 is invertible.However, it is not guaranteed that the submatrix H1 is invertible when the large size of the matrix is used.

Therefore, the parity check matrix need be regenerated for solve that problem. The method is that one column from H2 is selected randomly at first. Then, the column of H2 is exchanged with a randomly selected column of H1. These two steps are performed until the submatrix H1 is nonsingular again[1]. After that, the new the parity check matrix can be generated from the recalculated H1 and H2.

## 2.3.2 Generating a generator matrix

If a generator matrix need be generated, one element, the codeword C, is described as:

C = (S|P)

Where S is the source information bits which size is 1*X and P is the parity bits which size is 1*(Y-X). According to the Mackay's method which has mentioned before, the parity check matrix H = (H1|H2). Therefore, there is a expression as:

C*HT = C*(H1|H2)T = S* H1T + P* H2T =0

And the generator matrix can be described as:

G = [Ik âˆ£(H2-1 * H1)T]

Where Ik is a X*X identical matrix, and (H2-1 * H1) represents the module-2 algorithm. Then, a generator matrix is calculated from the parity check matrix.

## 2.3.3 Generating LDPC codeword

After producing the generator matrix from the parity check matrix, the LDPC codeword can be described as:

## C = S*G

One block of LDPC codes only matches with one parity check matrix H which can make codeword satisfying C*HT=0.

## 2.4 LDPC codes decoding

Three main decoding methods[4], sum-product, belief propagation and message passing, are going to be applied practically. These three methods are all found on the iterative algorithm[1] which can be explained simply that the source information can generate a ratio after passed between the check nodes and the variable nodes for swapping the probability information. In order to simplify the calculation process, the modulation is assumed to BPSK in the part 2.4.

## 2.4.1 log likelihood ratio

Log likelihood ratio(LLR) [8] is very important for the LDPC codes decoding, because LLR is applied for avoiding the enormous change of that ratio generated from the source bits passed between the two kinds of nodes. LLR can be described as a ratio of conditional probability which has been shown following:

LLPr{} to P{}

Where x is the estimated transmitted data which is equal to , and y is the detected signal. The value of is zero if and only if the number of iteration between variable nodes and check nodes is zero. The conditional probability yk can be described as:

Where Eb is the transmitted energy per bit, is the fading amplitude, and is the variance of AWGN per dimension.

To sum up, LLR can be expressed as:

L=LLR

Where the channel reliability value Lc can be expressed as. No is the noise variance.

## 2.4.2 Sum-product method

The performance of LDPC coeds can be improved when sum-product method is applying into the decoding part. The principle of Sum-Product method the source information is passed between two sets of nodes (check nodes and variable nodes) in one iteration at first. Then, a perfect value of the source information is achieved in a node from one set according to the previous gathered values. Finally, the delivering soft output is calculated from the previous perfect values in one node from the other set for another iteration.

As I mentioned before, the Tanner graph is a bipartite graph, two different kinds of nodes which are the variable nodes and check nodes are connected in it. J(i) represents the member of check nodes which is connected with the ith variable node, I(j) represents the member of variable nodes which is connected with the jth check node. As the figure 2 shows, Vi and Cj is respectively the ith variable nodes the jth check node. The message aji is sent from the jth check node to the ith variable nodes, and the message bij is sent from the ith variable nodes to the jth check node. All the messages are only sent and received between the two connected variable node and check node.

rji qij

Figure 2

At the first step, the ith variable node Vi receives a message Yi from the receiver and another message a(j-1)i passed from the (j-1)th check node. Then, these two messages are combined together for generating a new message bij. After that, bij is sent from the ith variable nodes to the jth check node. The log likelihood ratio of the variable node is described as:

LLR(bij)

Figure 3

At the second step, the jth check node Cj is received the message bij from the ith variable node. And then, Cj sends the message aj(i+1) from the jth check node Cj to the (i+1)th variable node Vi+1. The log likelihood ratio of the check node is described as:

LLR(aj(i+1))

According to statement above, we can summarize the description of the sum-product method shown as:

Need modify

The hard decision can be implemented when the Qj(bj) have been calculated. When the number of iterations increases to the maximum value, the sum-product decoding method stops and checks the decoded codes. The LDPC decoded codes X have to multiply by the parity check matrix H to check the validity. If the result of the multiplication is zero, the code X can be output. Otherwise, the second step need be repeated again until the multiplication result is zero[9].

## 2.5 Simulation performance of LDPC codes

## 2.5.1 Performance of LDPC codes over AWGN channel

All the simulation in this part is printed by using 4PSK modulation.

Figure 4

Figure 4 shows the BER vs. Eb/N0 curve of performance of LDCP codes passed over the AWGN channel by using different iteration numbers. This iteration is the internal iteration of LDCP codes. According to the figure 4, we can find that the curve printed by using 40 iterations has the best performance, and the worst performance is shown from the curve printed by using one iteration. In one word, the performance is better and better when the number of iteration is increasing.

Figure 5

Figure 5 shows the BER vs. Eb/N0 curve of performance of LDCP codes passed over the AWGN channel by using different number of symbols. According to the figure 5, we can find that the curve printed by using 12000 symbols has the best performance, and the worst performance is shown from the curve printed by using 120 symbols. To sum up, the performance is better and better when the number of symbols is increasing. However, the larger number of symbols causes delay for the wireless communication system. In other words, it is very important for balancing the performance and the efficiency when the number of symbols is set for one wireless communication system.

## 2.5.2 Performance of LDPC codes over Rayleigh channel

All the simulation in this part is printed by using 4PSK modulation. Moreover, the Rayleigh channel in this part is belong to the uncorrelation Rayleigh channel.

Figure 6

Figure 4 shows the BER vs. Eb/N0 curve of performance of LDCP codes passed over the Rayleigh channel by using different iteration numbers. This iteration is the internal iteration of LDCP codes. The influence of the different number of iterations for the BER performance here is bigger than the AWGN channel.

Figure 7

Figure 5 shows the BER vs. Eb/N0 curve of performance of LDCP codes passed over the Rayleigh channel by using different number of symbols. The analysis is as same as the before.

## 2.5.3 Performance of LDPC codes with different mapping methods

There are two common mapping methods used for the LDPC codes, they are Gray mapping and set partition mapping. Gray mapping is based on the theory of gray codes which is a kind of the reflected binary codes[10]. The principle of Gray mapping is that the two successive values after mapping only change one digit bit[11].

Set partition mapping[12] can avoid the high error probability. The basic operation of the Set Partition mapping is that classify the signal points and then partition them. The advantages of Set partition mapping are that many sub sets can be achieved from the classification and the minimum Euclidean distance of signal points is increasing from the partitioning.

Figure 8

Figure 8 shows the BER vs. Eb/N0 curve of performance of LDPC codes passed over the AWGN channel and Rayleigh channel by using different mapping methods. According to figure 8, we can find that the performance of gray mapping is better than set partition mapping in AWGN or Rayleigh channel when the number of iterations between the demapper and the decoder is one.

## 2.6 The channel capacity of LDPC codes

Channel capacity is a useful measure for detecting the reliability when a signal is passed over a communication channel. It is a limited information rate.

Figure 9

Figure 10

The figure 9 shows the channel capacity curves of the performance of BPSK, 4PSK, 8QAM, 16QAM, 64QAM and Shannon capacity passing over the AWGN channel respectively. The figure 10 shows the channel capacity curves of the performance of BPSK, 4PSK, 8QAM, 16QAM, 64QAM and Shannon capacity passing over the Rayleigh channel respectively. According to the figure 9 and figure 10, we can find that the channel capacity curves of BPSK, 4PSK and 8PSK have much slower increasing than the 16QAM and 64QAM with the SNR increased.

## 2.6 Conclusion

This chapter is divided into five parts for introducing the LDPC codes. Firstly, some background of LDPC codes is introduced, such as the inventor of the LDPC codes. Then, the Tanner graph which can describe the LDPC codes by graph is presented. Three steps for LDPC encoding are generating a parity check matrix; creating a generator matrix from the parity check matrix; producing the codeword, which are the third part of this chapter. Moreover, the methods of generating a parity check matrix and a generator matrix are described. At the fourth part, the common decoding method of LDPC is sum-product method which belongs to a kind of iterative algorithm. Moreover, the log likelihood ratio is explained before the sum-product method is mentioned. Finally, the simulation results of different number of iteration, different number of symbols and different mapping methods are shown.

7=1

[1] R. Gallager, "Low density parity check codes," IEEE Transaction on Information Theory, vol. 8, pp. 21-28, January 1962.

[2] Block-LDPC: A Practical LDPC Coding System Design Approach

[3] F. Guo, "Low density parity check coding," Ph.D thesis,University of Southampton,UK, 2005.

[4] LDPC-assisted V-BLAST for OFDM-SDMA

[5] M. R. Tanner, "A recursive approach to low complexity codes," IEEE Transactions on Information Theory, vol. 27, pp. 533-547, September 1981.

[6] D. J. C. MacKay and R. M. Neal, "Good error-correction codes based on very sparse matrices," IEEE Transactions on Information Theory, vol. 45, pp. 399-431, 13 March 1999.

[7] Robertson, P., "Illuminating the structure of code and decoder of parallel concatenated recursive systematic (turbo) codes," IEEE Globecom ,San Francisco,1994,ISBN 0-7803-1820-X.

[8] Low-Density Parity-Check (LDPC) Coded OFDM Systems with M-PSK

[9] G. Ungerboeck, "Channel coding with multilevel/phase signals," IEEE Transactions on Information Theory, vol. IT-28, pp. 55-67, 1982.

[10] Iterative detection of Turbo Codes using High-level modulation schemes

[11] S. X. Ng, Coded Modulation Schemes For Wireless Channel. PhD thesis, Uni-

versity of Southampton, School of Electronis and Computer Science, 2002.

## Chapter three: LDPC coded CDMA system

## 2.1 Introduction and background

Following with development of the science, more and more techniques are used in wireless communication systems, for example, each user is assigned to a specific time slot in in Time Division Multiple Access (TDMA) system; each user, in Frequency Division Multiple Access (FDMA) system, is assigned to a specific frequency band. Nowadays, Code division multiple access (CDMA) technique which one of the major wireless multiplexing techniques becomes more and more popular in the wireless communication area. In order to improve the time and frequency efficiency, each user, in CDMA system, is assigned to a specific code. Thus, different user can transmit signals in same time and frequency.

In the CDMA system, the data of each user can be sent by using a high rate sequence. Each user is assigned to a unique code which has good auto-correlation property for recovering the signal easily and poor cross-correlation property for minimizing multi-user interference (MUI)[14]. The spread code which is only used in CDMA system can spreads the bandwidth of the original signal to the system bandwidth before the signal is transmitted. Pseudo-random or pseudo-noise (PN) sequences which can increase the capacity of a communication system are one kind of spread code used in CDMA system.

There is a brief block diagram of a wireless CDMA system shown in the following figure[15].

## Figure 2.1 Brief block diagram of a wireless DS-CDMA system

According to figure 2.1, the un-modulated users' data is a binary bit stream for single user's case or a multilevel data stream for multiple users' case. Then, this data stream is multiplied by a higher bit code sequence which can spread the bandwidth of the base band signal. Next, this spread spectrum signal is modulated with a radio frequency carrier before being transmitted. After received, the received signal is demodulated to get the baseband spread spectrum signal . Finally, the signal is despread and recovered to the original signal [15].

## 2.2 Spread spectrum system

## 2.2.1 Spreading sequence

An important feature of CDMA technique is the application of spreading sequence. There are two basic advantages of using the spreading sequence: one is a good auto-correlation property to make code synchronization and track the information signal easily; the other is a small cross-correlation value for reducing MUI[16]. The pseudo-random or pseudo-noise (PN) sequences is applied for generating spreading sequence[14].

PN sequences are periodic binary sequences with auto-correlation existing noise-like property. Let the period N of two sequences be and . The auto-correlation of sequence is expressed in the following formula[16]:

(2.1)

The cross-correlation of sequence and is expressed in the following formula[16]:

(2.2)

## 2.2.2 M-sequences

An important sequence named m-sequence is the binary maximal-length shift register sequences. M-sequence can be defined as a kind of PN sequences which has the maximal length and this length N is equal to 2m-1. It can be generated by using the linear generator polynomials which degree is m. The m-sequences are expressed in the following formula[14]:

(2.3)

In order to generate m-sequence, the generator polynomial g(x) must be from a kind of polynomials which implies in simple terms, and g(x) can not be factorized into lower-order polynomials.

The auto-correlation of an m-sequence is expressed in the following formula[16]:

(2.4)

For the m-sequences, the property of auto-correlation is perfect, however, the property of cross-correlation is relatively poor. So that, the synchronization and tracking of the spreaded codes is so perfect that the performance of the system is excellent. However, the size of m-sequence m is small in this case, which makes the channel capacity of this system lower.

There is another good sequences named orthogonal code sequences which can detect errors and correct corrupted data. The structure of orthogonal code sequences is that the diagonal of the orthogonal code sequences matrix is one, and all the other elements of the matrix is zero.

## 2.2.3 Spread spectrum system

Spread spectrum is defined as a communication technique in which the data signal is modulated to a much larger bandwidth than the minimum requirement of transmitting signals. It can improve the interference immunity of communication system. A spread spectrum technique is performed by multiplying a radio frequency carrier and a PN digital signal. There is a basic spread spectrum system shown in the following figure 2.2[17]. The difference between a normal digital communication system is that spread spectrum system has two PN sequence generators (spreading code generator) located respectively in the transmitter and receiver.

## Figure 2.2 Basic spread spectrum System

Firstly, a PN code is multiplied by a digital data signal by modulation. Then, the PN digital data signal is modulated with (using multiplication) a RF carrier in order to obtain a very wide bandwidth signal. These two steps are the spread spectrum process which is shown in the figure 2.3[16]. The spreading code in the transmitter is multiplied with the data signal to make the signal appearing noise-like to all other users. The spreading code generator in the receiver generates the same code with the spreading code generator of spreading code generator, and uses it to extract the information signal.

## Figure 2.3 Generation a spread spectrum signal

The multiplication in the time domain of the digital data signal by using the PN code sequences achieves a signal with a frequency spectrum which is similar to the spectrum of the PN code signal. At the same time, the data rate increases from symbol level to chip level. The frequency of signal is expanded, and the amplitude spectrum is reduced, which is due to the increasing.

Next, the mathematical operation is used for describing the modulation and demodulation of spread spectrum system. Hypothetically, the digital data signal is modulated by BPSK. According to the figure 2.1 and figure 2.2, the data rate is R bits/second and the bit duration Tb = 1/R seconds. The channel bandwidth of this system is Bc Hz, and the value of Bc is much larger than the value of R. The bandwidth of data signal is expanded to Bc Hz by superimposing the PN sequence on the data signal at the modulator. The resulting modulated signal is called as a spread spectrum signal.[5]

The digital data signal is expressed in the following formula:

(2.5)

Where , and is a rectangular pulse of duration . The transmission power is normalized to 1 here.

The output of the PN sequence generator in the transmitter is expressed in the following formula:

(2.6)

Where is the binary PN code sequence of Â±1, and is a the other rectangular pulse of duration .

The spread spectrum signal is expressed in the following formula:

(2.7)

The transmitted signal is expressed in the following formula:

(2.8)

The received signal is expressed in the following formula:

(2.8)

Where is a sinusoidal interfering signal.

The received signal after despreading is expressed in the following formula:

(2.10)

Where .

## 2.3 Multi-user detection technology

In CDMA system, the received signal is a combination of all users' signals which overlaps in time and frequency[6]. If nonorthogonal codes are used or the orthogonal codes are destroyed in wireless channel, MUI will occur. Hence, a multi-user detection is applied to improve detection performance when the MUI is present.

## 2.3.1 Correlation detection

The correlation detector is an optimum multi-user detector when we have orthogonal waveforms. Therefore, this detector is not robust to asynchronism, fading channels, or PN sequences with substantial cross-correlation which can not be made orthogonal.

The correlation detector which is known as conventional detector or matched filter correlates the received signal with the original user's time reversed spreading waveform. This method of detection is exploited from single user designs. The output of the correlation detector for the kth user and time I is expressed in the following formula: [7]

(2.11)

Where and are estimated time delay and phase of user k. The estimates of the transmitted bits are expressed in the following formula:

(2.12)

Next, the mathematical method is used to explain a process of correlation detection. According to the figure 2.1 and figure 2.2 firstly, the every user's data is in a column , where k is the number of data. The every user's spreading spectrum sequences is in the column . The simple received signal y is expressed in the following formula:

(2.13)

Where n is the noise. Then, the received signal y is despread by multiplying the transpose of the spreading spectrum sequences C. So, the detected signal passing the correlation detector is expressed in the following formula:

(2.14)

Where the correlation matrix R is equal to .

When the data signal is over the Rayleigh fading channel, the simple received signal y is expressed in the following formula:

(2.15)

Where the Rayleigh fading channel , and are the amplitude and phase of un-correlation Rayleigh fading channel. So, the detected signal passing the correlation detector is expressed in the following formula:

(2.16)

Where the correlation matrix is equal to .

## 2.3.2 Decorrelating detector [7]

The decorrelating detector implements a linear transformation on the outputs of the conventional correlation detectors. This transformation removes the interference between the users and the performance is therefore independent of the different users' received powers. The disadvantage is that decorrelating detector causes noise enhancement.

The correlation detector does not use any information about the other users in the systems. Therefore, it can not combat against MUI. The decorrelating detector essentially applies the inverse of the correlation matrix of users' spreading codes to generate the output. This method of decorrelation is only suit for the base-station practically, where all the information is readily available, and there are no power consumption constraints.

The decorrelating estimates of the transmitted bits can be expressed in the following formula:

(2.17)

Where R is the correlation matrix which is shown in formula 2.16. As shown in figure 2.8, the method of decorrelation detection multiplies the output of correlation detector with the inverse correlation matrix R.

After correlation detector, the output is shown in the following formula (same as the formula 2.16):

(2.18)

Then, the output of correlation detector is despread by multiplying with the inverse correlation matrix R. So, the detected signal passing the decorrelating detector is expressed in the following formula:

(2.19)

As shown in formula 2.19, the is different with the x. The reason is is not be equal to one, but . And, the interference among the received signals of different users is removed. However, the noise is enhanced by the part. Decorrelating detector does not need to know the user' powers and its performance is independent of the powers of the interfering users. When users' powers are unknown and the largest MUI need to be eliminated for improving the system performance, decorrelating detector is the optimal choice[8].

## ,

There are some obvious advantages of this detector comparing with the correlation detector. For example, it removes all the multi-user interference. This also is known that the power of each user does not have to be calculated. One disadvantage to this detector is noise enhancement caused byÂ the part. Moreover, this detector has no way of eliminating any ISI caused by channel dynamics. Even so, this detector is better that the correlation detector when the user spreading spectrum codes are not orthogonal.

## 2.3.3 Minimum mean squared error (MMSE) detection[55]

Minimum mean squared error (MMSE) detector which is same as the decorrelating detector applies a linear transformation to the output of the correlation detector. This transformation is chosen to minimise the mean-square error between its output and the data. At the same time, MMSE detector uses the background noise and the information of the received signal power for finishing the detection. The more important point of the MMSE detector is that the residual interference and the noise enhancement can be eliminated simultaneity.

For the MMSE detection, there is a weight matrix W. An estimated signal is generated in a processing of multiplying the output of the correlation detector with the weight matrix, which is expressed in the following formula:

(2.20)

The weight matrix W is chosen such that the mean-square between each element of the transmitted vector x and its estimate is minimized, which is expressed in the following formula [5]:

(2.21)

The optimal weight matrix is expressed in the following formula:

(2.22)

Where is the auto-correlation matrix of the received signal which is shown in formula 2.17, and is the cross-corrlation matrix between the received signal and the desired response of x.

Assuming that the data of the different users are independent, such as (k and u is the different user), then, is expressed in the following formula:

(2.23)

Where I is the identity matrix, and is variance of the AWGN samples. On the other hand, is equal to for kth user. So, the optimal weight matrix can be calculated.

(2.24)

Thus, the estimates of the transmitted bits are expressed in the following formula [7] [3]:

(2.25)

The performance approaches the decorrelating detection when the SNR is increasing because the MMSE detector minimises the mean-squared error before added channel noise.However, the performance of MMSE detector is also better than the decorrelating detection at a lower SNR. On the other hand, the MMSE detector approaches the correlation detector when the MUI is smaller than the noise. This theory will be proved in the simulation pasrt.

The disadvantage of the MMSE detection is that the received amplitudes and the power of the interfering users need be estimated when it is used. Moreover, matrix inversion need be implemented during this detection process, which increases the program complexity.

## 2.4 LDPC coded CDMA system model

The block diagram of LDPC coded CDMA system[66] is shown in the figure 2.4. This multi-user system can reduce the fading influence and increase the throughput due to the diversity. We assume that only the first user is encoded and spreaded by the chips, all the other users' signals are considered as the interference at the receiver. The spreaded signal of the first user is transmitted through the channel, and then decoded at the receiver, where the noise is the combination of the channel noise and the other users' signals. If the channel is the Rayleigh fading channel, the fading need be considered when the signal is decoded. To sum up, the received signal can be described as:

y= shx + n (2.13)

where s is the spreading sequences which size is N*K, N is the length of the spreading chips and K is the number of users. h is the complex Rayleigh fading amplitude which size is K*K. n is the noise. y is the received signal which size is N*1.

Figure 2.4 Turbo to LDPC

## 2.5 Optimization of simulation program

## 2.6 Simulation results of the LDPC coded CDMA system

The following figures are all modulated by 4PSK modulation.

## 2.6.1 Comparison of three kinds of detection

The simulation is used all three types of detection to compare the performance between different number of users and different kinds of mapping scheme.

## 2.6.1.1 Simulation performance of correlation detection

## Figure 2.5 BER verses SNR of LDPC coded CDMA system over AWGN channel with correlation detection (2 users, m-sequence)

## Figure 2.6 BER verses SNR of LDPC coded CDMA system over AWGN channel with correlation detection (7 users, m-sequence)

Figure 2.5 and figure 2.6 show respectively the performance of various BER vs. SNR curves which is modulated by 4PSK and LDPC coded CDMA system passing over the AWGN channel with correlation detection. There are three curves which are used different mapping types and different number of iteration between the decoder and demapper in each figure. GM means Gray mapping, and SP means Set partition(SP) mapping. According to figure 2.5 and figure 2.6, we can find that the performance of using Gray mapping is the best when the value of SNR is small, and the performance of using SP mapping with one iteration and four iterations is similar. E. Following the increasing of SNR, the performance of using SP mapping with four iterations is better and better. Finally, the curve of using SP mapping with four iterations has the best performance, the curve of using SP mapping with one iteration has the worst performance. The reason is that the iteration between the decoder and demapper can reduce the BER

The Difference between these two figures is the number of users. We can find that the performance of the BER curves becomes worse when the number of users is increasing. The reason is the correlation detector does not cancel the MUI. Therefore, the interference from multiple-user increase, the performance becomes worse.

If we still use the method of m-sequence to detect, increasing the length of m-sequence is a good method to improve the performance of the BER curve because the cross-correlation value of m-sequence is proportional to its length, or just change another sequence which has better cross-correlation property, for example: orthogonal code sequences. This part will be mentioned later.

## Figure 2.7 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with correlation detection (2 users, m-sequence)

## Figure 2.8 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with correlation detection (7 users, m-sequence)

Figure 2.7 shows the performance of various BER vs. SNR curve which is modulated by 4PSK and two users LDPC coded CDMA system passing over the Rayleigh channel with correlation detection. Figure 2.8 shows the performance of various BER vs. SNR curve which is modulated by 4PSK and seven users LDPC coded CDMA system passing over the Rayleigh channel with correlation detection. According to figure 2.7 and figure 2.8, we can find that the BER performance is not very good comparing with the previous curves. The reason is the magnitude attenuation and phase rotation is generated in the Rayleigh fading channel. More importantly, the correlation detector can not combat against these two kinds of interference, and also can not remove MUI. Therefore, the performance becomes worse following the increase of number of users.

## 2.6.1.2 Simulation performance of decorrelating detection

## Figure 2.9 BER verses SNR of LDPC coded CDMA system over AWGN channel with decorrelating detection (2 users, m-sequence)

## Figure 2.10 BER verses SNR of LDPC coded CDMA system over AWGN channel with decorrelating detection (7 users, m-sequence)

Figure 2.9 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and two users LDPC coded CDMA system passing over the AWGN channel with decorrelating detection. Figure 2.10 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and seven users LDPC coded CDMA system passing over the AWGN channel with decorrelating detection. From these two figures, one common ground which we can find is that the value of SNR becomes larger with same BER when the number of users is increasing. That means there is more noise added into the signal when the number of users is increasing. However, comparing with figure 2.5 and figure 2.6, the BER performance of decorrelating detection is better than correlation detection. The reason is the decorrelating detector can cancel the MUI.

## Figure 2.11 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with decorrelating detection (2 users, m-sequence)

## Figure 2.12 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with decorrelating detection (7 users, m-sequence)

Figure 2.11 shows the performance of various BER vs. SNR curve which is modulated by 4PSK and two users LDPC coded CDMA system passing over the Rayleigh channel with decorrelating detection. Figure 2.12 shows the performance of various BER vs. SNR curve which is modulated by 4PSK and seven users LDPC coded CDMA system passing over the Rayleigh channel with decorrelating detection. As discussed before, the theory, the decorrelating detector can remove MUI by multiplying with the output of the correlation detector, is proved by comparing figure 2.11 and figure 2.12 with figure 2.7 and figure 2.8.

## 2.6.1.3 Simulation performance of MMSE detection

## Figure 2.13 BER verses SNR of LDPC coded CDMA system over AWGN channel with MMSE detection (2 users, m-sequence)

## Figure 2.14 BER verses SNR of LDPC coded CDMA system over AWGN channel with MMSE detection (7 users, m-sequence)

Figure 2.13 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and two users LDPC coded CDMA system passing over AWGN channel with MMSE detection. Figure 2.14 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and seven users LDPC coded CDMA system passing over AWGN channel with MMSE detection. From these two figures, one common ground which we can find is that the value of SNR becomes larger with same BER when the number of users is increasing. That means there is more noise added into the signal when the number of users is increasing.

## Figure 2.15 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with MMSE detection (2 users, m-sequence)

## Figure 2.16 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with MMSE detection (7 users, m-sequence)

Figure 2.15 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and two users LDPC coded CDMA system passing over Rayleigh channel with MMSE detection. Figure 2.16 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and seven users LDPC coded CDMA system passing over Rayleigh channel with MMSE detection.

## 2.6.1.4 Comparison

We can observe that the best performance of these three detections is achieved by using SP mapping with four iterations between the decoder and demapper from all the figures above. Therefore, these parameters can be used for comparing these three detections.

## Figure 2.17 BER verses SNR of LDPC coded CDMA system over AWGN channel with correlation detection, decorrelating detection and MMSE detection (2 users, m-sequence)

## Figure 2.18 BER verses SNR of LDPC coded CDMA system over AWGN channel with correlation detection, decorrelating detection and MMSE detection (7 users, m-sequence)

Figure 2.17 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and two users LDPC coded CDMA system passing over AWGN channel with correlation detection, decorrelating detection and MMSE detection. Figure 2.18 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and seven users LDPC coded CDMA system passing over AWGN channel with correlation detection, decorrelating detection and MMSE detection.

## Figure 2.19 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with correlation detection, decorrelating detection and MMSE detection (2 users, m-sequence)

## Figure 2.20 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with correlation detection, decorrelating detection and MMSE detection (7 users, m-sequence)

Figure 2.19 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and two users LDPC coded CDMA system passing over Rayleigh channel with correlation detection, decorrelating detection and MMSE detection. Figure 2.20 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and seven users LDPC coded CDMA system passing over Rayleigh channel with correlation detection, decorrelating detection and MMSE detection.

According to figure 2.17 to 2.20, we can find that the performance of decorrelating detection is the worst when the SNR is small, moreover, the performance of correlation detection and MMSE detection is similar. Following the increase of value of SNR, the curve by using MMSE detection goes down quickly, and the two curves by using correlation detection and decorrelating detection intersect. When the value of SNR is high enough, MMSE detection performs the best and correlation detection performs the worst in these three types of detection. "E"

## 2.6.1 Comparison of orthogonal code sequences and m-sequences

In the part, all the simulation results are detected by MMSE scheme with four iteration because its performance is the best.

## Figure 2.21 BER verses SNR of LDPC coded CDMA system over AWGN channel with MMSE detection

## Figure 2.22 BER verses SNR of LDPC coded CDMA system over Rayleigh channel with MMSE detection

Figure 2.21 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and LDPC coded CDMA system with different number of users passing over AWGN channel with MMSE detection. Figure 2.21 shows the performance of various BER vs. SNR curves which is modulated by 4PSK and LDPC coded CDMA system with different number of users passing over Rayleigh channel with MMSE detection. No matter the number of users and channel type, the performance by using orthogonal code sequences is better than m-sequences because the orthogonal code sequence can totally eliminate the errors and correct corrupted data.

## 2.7 Conclusion

The spread spectrum, general LDPC coded CDMA systems and several multi-user detection have been introduced in the part. Firstly, the block diagram of LDPC coded CDMA system is shown, the structure of transmitter and receiver is shown too. Secondly, there are two forms of spread spectrum, one is m-sequence, and another is orthogonal code sequence. The BER performance by using the orthogonal code sequence is better than m-sequence. Next, the correlation detector is introduced. It is suit for the signal user to detect because it can not remove MUI. Moreover, decorrelating detector and MMSE detector are introduced. As a result of removing MUI, these two detectors have better performance than correlation detector. The BER performance of MMSE detector is the best than all other detectors. But, it is too complex for practical implementation.

[55] Dr.L.L.Yang, Notes of ELEC6022 - Personal Multimedia Communications. [online] https://secure.ecs.soton.ac.uk/notes/elec6022/ELEC6022-slides-4up.pdf

[66] Turbo Coded MC-DS-CDMA for Wireless Channels