Republic of Iraq Ministry of Higher Education and Scientific Research Al- Mustansiriya University College of Engineering Electrical Engineering Department Reliability of High Data Rate using MIMO for Multipath Channel A Thesis Submitted to the Electrical Engineering Department, College of Engineering, Al-Mustansiriya University in a Partial Fulfillment of the Requirements for the Degree of Master of Science in Electrical Engineering (Electronic and Communication) By Eman Ahmed Farhan Supervised By Assist Prof. Dr. Raad H. Thaher April 2015 Assist prof. Dr. Mahmood F. Mosleh Jumada II 1436 سورة االسراء Acknowledgment First, I thank Almighty Allah for the blessing that countless and give me the strength and patience to complete this work. I would like to offer my sincere thanks and appreciation to the my Supervisors Asst. Prof. Dr. Mahmood F. Mosleh and Asst. Prof. Dr. Raad H. Thahir, which I learned a lot from them, who supported me and carried me along this time and I pray Allah preserve them and do a lot of people like them. Thanks from depths of my heart to my father and mother for their support and encourage me during the study and research period and I pray Almighty Allah to protect them from all harm. I also want to acknowledge my brothers and sisters for their help me throughout the study period. Eman Ahmed Farhan Abstract The most important type of MIMO is the Spatial Multiplexing (SM) which is used to increase the data rate depending on the number of transmitted and received antennas. The main challenge of SM is high Bit Error Rate (BER) at low Signal to Noise Ratio (SNR), which leads to increase the power expended, and this not match the modern requirements of communication system. In this thesis, the performance of MIMO system for Space Time Block Code (STBC) and SM has been investigated. As expected the STBC increase the reliability of data rate while SM increase the data rate with significant BER. Three types of detection have been experimented with SM; Maximum Likelihood (ML), Minimum Mean Square Error (MMSE) and Zero Forcing (ZF). The results show that ML is outperform each MMSE and ZF, but as it is known the complexity of ML increase exponentially with number of antennas and modulation order. ZF is simple one, but it has poor performance. The proposed system is to add channel code serially with SM and maintain the low complexity. The experiments are begun with Convolution Code (CC) to support SM performance. The results show that significant improvement is achieved using this code with ZF detection, it can be getting more than 10 dB of SNR as code gain. But the payment is the redundancy information which can be reduced by using puncturing technique. Also the complexity of Viterbi decoder grows exponentially with large constraint length. The second code is a Low Density Parity Check (LDPC) code which is proposed with suitable parameters to reduce the required iterations in order to achieve real time application for such system. The results confirm that the proposed I scheme is outperform the CC by 3 dB of SNR in addition to acceptable complexity and less number of iterations. II List of contents Subject Item Abstract List of Contents List of Figures List of Abbreviations List of Symbols Page No. I III VII IX X Chapter One: General Introduction 1.1 Introduction 1 1.2 Fading channel 3 1.3 1.4 Literature Survey Aims of the Work 4 7 5.1 contribution of this work 7 1.6 Thesis layout 8 Chapter two: MIMO system and Channel Coding 2.1 2.2 Introduction Multiple Input Multiple Output (MIMO) 9 9 2.2.1 Benefits of MIMO Channels 11 1 Array gain 11 2 Spatial Diversity Gain 11 3 Spatial Multiplexing Gain 11 2.3 The Fading channel 12 2.4 Channel Capacity 13 2.5 Diversity 15 2.6 Space-Time Coding 17 2.6.1 Space-Time block code (STBC) 17 2.7 Spatial Multiplexing (SM) 18 2.7.1 Signal Detection for SM 19 1 Zero Forcing Detection (ZF) 20 III 2 Minimum Mean Square Error (MMSE) 21 3 Maximum likelihood (ML) Signal 21 Detection 2.8 Digital Modulation 22 2.8.1 Phase Shift Keying (PSK) 22 2.9 2.9.1 2.9.2 Convolutional Codes Puncturing Convolutional Representation 23 24 25 1 Trellis Diagram Representation 25 2 2.9.3 State Diagram Representation Encoder 26 26 2.9.4 The constraint length and complexity 27 2.9.5 Decoding of convolutional code 28 1 The Viterbi Algorithm 28 2.10 Low density parity check (LDPC) codes 30 2.10.1 Encoding 32 1 Encoding by generator matrix 32 2 Linear-time encoding for LDPC codes 32 2.10.2 Decoding of LDPC code 34 1 Hard-Decision Decoding 35 2 Soft Decision Decoding 35 2.11 Spatial Multiplexing Supported by LDPC 37 2.11.1 The transmitter 37 2.11.2 The receiver 38 Chapter three: The System Models 3.1 3.2 3.2.1 Introduction STBC system Data Generation 39 39 40 3.2.2 3.2.3 Modulation STBC MIMO system 40 40 IV 3.2.4 3.2.5 Rayleigh Fading Channel The STBC Combiner 41 41 3.3 Spatial multiplexing system model 42 3.3.1 3.3.2 Spatial multiplexing Detection Techniques 43 43 3.4 SM with Convolution Code (SM-CC) 45 3.4.1 3.4.2 3.5 3.5.1 3.5.2 The Convolutional Encoder The Viterbi Decoder The proposal SM- LDPC LDPC encoder LDPC decoder 45 46 48 49 49 3.5.3 Iterative decoding and demodulation 49 Chapter Four: Simulation Results 4.1 4.2 Introduction Simulation of STBC 51 51 4.2.1 STBC with various numbers of antennas 51 4.2.2 4.3 STBC with various order of modulation The simulation of SM system 52 55 4.3.1 SM with various number of antennas 55 without code 4.3.2 The simulation of SM with convolution 58 code 4.3.3 4.3.4 4.3.5 4.3.6 4.4 4.4.1 4.4.2 4.5 The simulation of ZF with CC compared with ML with out CC The simulation of ZF with and without CC Simulation of SM with CC at code rate 2/3 The simulation of SM with CC for different constraint length The simulation of LDPC code 58 Simulation of LDPC code only Simulation of LDPC code with MIMO system The discussion of results 66 67 60 63 65 66 68 Chapter Five: Conclusions and Suggestion for Future Work V 5.1 5.2 Conclusions Suggestions for future work References VI 70 71 72 List of Figures Figure No. Title Page No. Chapter one (1-1) Multipath Phenomenon 4 Chapter two (2-1) (2-2) MIMO system The probability density function of Rayleigh distribution 10 14 (2-3) (2-4) A 2x2 MIMO system with a spatial multiplexing scheme PSK modulation 19 23 (2-5) (2-6) Convolutional Encoder with code rate 1/3 Trellis-code representation for convolutional encoder (2, 1, 3) State diagram of a convolutional code Convolutional encoder of code rate = 1/2 Viterbi algorithm applied to a simple convolutional code Low Density Parity Check code Spatial Multiplexing and LDPC 24 25 (2-7) (2-8) (2-9) (2-10) (2-11) 26 27 29 31 38 Chapter three (3-1) STBC system block diagram 39 (3-2) (3-3) STBC Algorithm MIMO Spatial multiplexing 42 43 (3-4) Spatial Multiplexing algorithm 44 (3-5) (3-6) system model spatial multiplexing with convolution code The Viterbi algorithm 45 46 (3-7) The SM with CC algorithm 47 (3-8) (3-9) system model spatial multiplexing with LDPC code LDPC code with iterative decoding and detection 48 49 (3-10) SM with LDPC system algorithm 50 Chapter Four (4-1) BPSK modulation for (2x2, 3x3, 4x4) MIMO communication systems. VII 52 (4-2a) (2x2) STBC with different modulation 53 (4-2b) (4-3) (3x3) STBC with different modulation Comparison between the capacity of STBC, SM and 53 54 SISO (4-4) (4-5) Comparison between the BER of STBC and BER of SM SM of 4x4 and 2x2 with BPSK 55 56 (4-6) SM of 4x4 and 2x2 with QPSK 56 (4-7) SM of 4x4 and 2x2 with 8PSK 57 (4-8) (4-9) SM of 4x4 and 2x2 with 16-PSK Comparison between ML without CC and ZF with CC for 2x2 schemes Comparison of ZF with CC and ML without CC for 3x3 schemes Comparison of ZF with CC and ML without CC for 4x4 scheme ZF decoder with BPSK and various antenna schemes ZF decoder with QPSK and various antenna schemes ZF decoder with 8-PSK and various antenna schemes ZF decoder with 16-PSK and various antenna schemes SM with CC of 2/3 code rate compared with SM without CC Comparison between ZF of SMCC with constraint length 57 59 (4-10) (4-11) (4-12) (4-13) (4-14) (4-15) (4-16) (4-17) 59 60 61 61 62 63 64 65 =7, ZF of SMCC with constraint length =5 and ZF of SMCC with constraint length =3 (4-18) (4-19) LDPC – only with different iteration The LDPC – MIMO with LDPC – only, SM without code and SM with code VIII 66 67 List of Abbreviations Abbreviations Meaning APP AWGN BER BP BF CC CSI a posteriori probability decoding Additive White Gaussian Noise Bit Error Rate Belief propagation detector Bit Flipping decoding Convolutional Codes Channel State Information EDs FEC FPGA LDPC LLRs LOS MLD MMSE MIMO-BP MISO MS MLG Non-LOS OSTBC-OFDM Euclidean distances Forward Error Correction codes. Field Programing Gate Array Low-density parity-check codes Log-Likelihoods Ratios line of sight Maximum Likelihood Detectors Minimum Mean Square Error MIMO based on belief propagation detector Multiple Input Single Output Min-Sum detector Majority Logic decoding Non-line of sight the Orthogonal Space Time Block Code Orthogonal Frequency Division Multiplexing Phase Shift Keying probability density function Space Time Block Code Single input Single Output Space Time Coding Singular Value Decomposition Sum-Product Algorithm SM with Convolution Code the LDPC codes with SM Ultra Wide-Band PSK pdf STBC SISO STC SVD SPA SM-CC SM- LDPC UWB IX List of Symbols Symbols Meaning The set of signal constellation symbol points the received noisy signal Ȃ a( )× matrix The output code word of CC The channel bandwidth sub matrix of dimension The output code word of LDPC code The channel capacity The capacity of MIMO system The capacity of STBC system The diversity order D E sub matrix of dimension sub matrix of dimension Check nodes The dimension of gap The impulse response in convolutional encoder Ǧ The generator matrix The parity check matrix the channel matrix the identity matrix input data No. of bit message l an integer number The constraint length in the convolutional encoder X The number of shift register stages for convolutional encoder the noise vector , , , and noises in each received signal Spectral for impulse response of channel probability of 0s sub matrix of dimension The pdf of the Rayleigh distribution p sub matrix of dimension the rate of the code Spatial Multiplexing gain , , and the received signals at the receive antennas The number of states in state diagram in CC and T two modulated symbols to transmit by STBC sub matrix of dimension a unitary matrix of dimension a unitary matrix of dimension the transmitted vectors the received vectors Variable nodes The weight matrix of ZF The weight matrix of MMSE ̃ The estimate of transmitted data vector for ZF. The Hermitian transpose operation ̃ The estimate of noise vector for ZF. The variance of the noise term ̃ The estimate of noise vector for MMSE ̃ The estimate of transmitted data vector for MMSE XI ̂ The estimate of the transmitted signal for ML detection The number of transmit antennas symbol energy The transmitted symbols over time The received signal over time Hamming distance between the received signal and the transmitted signal in convolution decoding Hamming distance associated with the transition from state to state in convolution decoding time period of symbol Label of each code word bit corresponds to a variable node The first parity part of code word for LDPC code The last parity part of code word for LDPC code The initial received at LLR variable node A LLR from variable node to check node A LLR from check node to variable node the degree of the current check node the degree of the current variable node outer iteration between SM detector and LDPC decoder inner iteration within LDPC decoder ( ) The LLR value for LDPC coded bits The channel observation A priori message from the LDPC decoder got from earlier outer iterations Energy of bit XII the probability of error the complex transmission coefficient Any element belongs to transmit antennas Any element belongs to receive antennas a diagonal matrices of dimension transpose conjugate The maximum number of sub stream in SM of MIMO system The operator ‘ ’ denotes discrete convolution modulo 2 The symbol sequence associated with the transition from state to state in convolution decoding Label of any state in state diagram Accumulated metric of the survivor sequence chosen for state 1 at time in convolution decoding The parity check matrix after permutations The number of ones in each row in parity check matrix of LDPC codes The number of ones in each column in parity check matrix of LDPC codes Time instant The variance of the scattered signal XIII 5102 Chapter One: General Introduction Chapter One General Introduction 1.1 Introduction In wireless communications, to obtain high data rate at an acceptable bit error rate, large bandwidth or/and high transmit power are required, so that the main technical criteria is to obtain high speed and reliable communication systems with the constraints of limited radio frequency spectrum and power. Also higher transmitted power level is required to combat severe fading channel conditions. Multiple-Input Multiple-Output (MIMO) communication system is used to provide increased capacity and reliability without increasing the bandwidth or transmitted power [1]. MIMO systems consist of multiple antennas in both transmit and receive ends. MIMO system is effective in multipath scattering environment which creates independent propagation channels. The propagation channel gives higher capacities over the same bandwidth in rich scattering, which offers multiple parallel sub channels at the same frequency [2]. In practice a reasonable tradeoff between performance and complexity is obtained from the development of codes to realize the gains offered by MIMO systems [3]. Space Time Block Coding (STBC) is an ever efficient transmit diversity scheme that is used to combat disadvantageous effects of wireless fading channels. For future wireless systems a transmit diversity technique using STBC is an important technique, which provides high diversity gain without needing additional bandwidth by exploiting the multi-path environment [4]. In MIMO systems if each element in an array of antennas transmits independent data streams simultaneously in parallel channels this signaling scheme is called Spatial multiplexing (SM) [5]. 1 5102 Chapter One: General Introduction SM needs higher Signal to Noise Ratio (SNR) values to be very strong technique for increasing channel capacity because SM is divided high data rate signal into multiple low rate data streams and each stream is sent from various sending antenna. So that, to reduce the SNR values in SM system it must increase the number of antennas for same amount of bit rate. At receiver antenna array these signals are arrived with different spatial signatures and these streams can be separated by receiver into parallel channels thus enhancing the capacity [6]. By sending information between transmitter and receiver communication takes place between them through communication channel. From the use of the conditional probability matrix defined between the input and the output, communication channel is properly modelled; the reliability of the information arriving at the receiver can be determined by communication channel. The prime result achieved by the Shannon capacity theorem is that it is possible to have a reliable transmission through a noisy channel by using a rather developed coding technique, to a value less than or equal to the channel capacity as long as the transmission rate is kept [7]. Channel coding is a prime tool in the design of reliable digital communication systems. The adding of redundant information to the input data channel coding provides improved performance through a channel. Block coding and convolutional coding are two main forms of channel coding [8]. Inserting the channel codes with MIMO systems are used to improve performance and reduce the probability of errors of the MIMO systems, therefore, there has been a big effort for evolution the coded MIMO systems [9] An important tool is the convolution code in error-control coding. In general terms, the high level of memory leads to the high complexity of 2 5102 Chapter One: General Introduction the convolutional decoder so that the encoding is designed in a manner that make the decoder can be performed in simplified way. Also high level of memory leads to the high complexity of the convolutional decoder [7]. The error performance of a communications system can significantly be improved by using of convolutional codes with probabilistic decoding. One of the most widely used as decoding algorithms is the Viterbi Algorithm (VA), it is optimal, but its complexity exponentially increases with the constraint length of the code in both number of computations and memory requirement [10]. One type of block codes is Low-density parity-check (LDPC) codes, which introduced by Gallager [11] in 1962, but because computational complexity was high for hardware technology at that time they were ignored for long time, then LDPC codes is brought back to light by MacKay and Neal [12]. LDPC codes have been vastly studied and got part of various standards in the recent years because of their very well error correcting executing - nearby to the Shannon limit [13]. 1.2 Fading channel In a cellular mobile radio environment, reflection of radio waves caused by the surrounding objects, such as houses, building or trees. Reflected waves are produced from these obstacles with attenuated amplitudes and phases. The reflected waves are called multipath waves. Figure (1-1) is illustrated the multipath phenomenon [14]. At the same antenna the constructive and/or destructive interference between the signals arriving from different paths, the phenomenon of multipath is described this case, and hence the signal strength arrive at the receiver with different delays and phases, random fluctuations. The phenomenon is called as fading if destructive interference occurs, where the signal power can be significantly reduced [15]. 3 5102 Chapter One: General Introduction For description fading channels, several mathematical models have been developed. Common models employ to approximate actual channel conditions such as Rayleigh and Ricean distributions. The models take into account the correlation between sub-channels and the phenomenon of multipath fading [15]. Figure (1-1): Multipath Phenomenon [2] 1.3Literature Survey Many scientists and researchers focused on the wireless communication systems and worked to develop it, due to its importance to large fields of life. H. H. Tang and M.C. Lin [16] in 2002 showed that will obtain an equivalent code with the lowest state complexity by an optimum permutation for any given convolutional code, the output code word of convolution code. A. Shokrollahi [17] in 2003 showed that LDPC codes not only desirable from a theoretical side, but also typical for practical applications by giving brief view of the LDPC codes and the employed methods of their analysis and design. 4 5102 Chapter One: General Introduction J. Fitzpatrick [2] in 2004 found that by MIMO systems increase in capacity and bit rates offered. This could be compared with conventional Single input Single Output (SISO) systems, MIMO systems with different numbers of antenna elements and different Multipath environments. M. Shahid [1] in 2005 was investigated the basics of (MIMO) radio communication systems and (MISO) with (STC). The system was executed with binary phase shift keying (BPSK) and in both an additive white Gaussian noise (AWGN) channel and in a slow flat fading multipath channel the design was tested. F. Heliot [18] in 2006 aimed to design durable and efficient Space Time Coding (STC) schemes good adapted to single-band Ultra Wide-Band UWB signaling. The design of new multiple-antenna STC systems for tailored UWB communications. A. S. Hiwale, DR. A. A. Ghatol [19] in 2007 have been seen that the use of multiple antennas increases the data rate although significant improvement can be provide when examining the data rate and Bit Error Rate (BER) of different MIMO systems in Rayleigh fading channels. N. Yang [20] in 2008 proposed triple Quadrature Phase Shift Keying “triple QPSK” modulation has a memory of depth two symbols, where by employing a short memory of modulation scheme the results proved that the orthogonal STBCs from complex orthogonal designs can provide, full diversity and full rate for three and four transmit antennas. L. G. Ordonez [21] in 2009 found that Analytical studies of the SMMIMO systems have showed the implications of the tradeoff between 5 5102 Chapter One: General Introduction transmission rate and reliability means the tradeoff between spatial multiplexing and diversity gain. D. K. Sharma, A. Mishra and R. Saxena [22] in 2010 had showed that the selection of a digital modulation technique is only dependent by the type of application from an analysis of the digital modulation technique. N. Mobini, B. Sc. [13] in 2011 studied the message-passing algorithms also known as iterative decoding applied to LDPC codes. Popular iterative decoding algorithms used for LDPC and turbo codes are Belief Propagation (BP) algorithm, most notably Min-Sum (MS). P. Suthisopapan, etal [9] in 2012 proposed non-binary LDPC codes with large MIMO systems and low-complexity MMSE detector can provide low bit error rate close to MIMO capacity. I G. P. Astawa, etal [23] in 2013 improved the Performance testing by reducing errors in data transmission, the Orthogonal STBC- Orthogonal Frequency Division Multiplexing (OSTBC-OFDM) systems with rate ½ convolution codes have been done, where 4x4 antennas has better performance 7dB than 2x2 antennas. T. Deepa and R. Kumar [24] in 2013 presented a new LDPC-MIMO system with equalization such as maximum likelihood detectors (MLD) and minimum mean square error (MMSE), where in practical system which provides high error rate performance. A. Tripathi and K. Arora [25] in 2014 used various types of different channel Convolutional coding, Reed Solomon coding and Turbo coding techniques with MIMO system to improve the performance of MIMO system. A. Haroun, etal [26] in 2014 investigated the set of a LDPC decoder with a low-complexity MIMO based on belief propagation (MIMO-BP) detector. 6 5102 Chapter One: General Introduction Z. Lijun, etal [27] in 2015 showed the properties of perfect cyclic difference set ensure that the associated Tanner graph of the parity check matrix is free of 4-cycles and has a girth at least 6. Simulation results show that the cyclic difference set codes perform well over the Additive White Gaussian Noise (AWGN) channel with iterative decoding in comparison with several other popular LDPC codes. This research attempt to design low complexity scheme with reliable high data rate using SM combine with channel code. Two types of channel codes will be tested to choose the better one by trying many values of its parameters to optimize suitable scheme that enables us to approach our goals. 1.4 Aims of the Work The aims of this work can be summarized, as follows: 1. Evaluating the MIMO system performance in term of increasing reliability and in term of increasing the data rate by varying the number of antennas and using different modulation order. 2. Using three types of detection to compare its performance and complexity. 3. Apply Convolutional Codes with MIMO and use various values of its parameters to select optimum scheme. Also evaluate the complexity and information redundancy. 4. Propose LDPC code with suitable parameters that ensure acceptable complexity and less delay time to improve the MIMO performance. 1.5 contribution of this work The main contribution of this work is to use LDPC code instead of convolution code because the complexity of convolution code increases 7 5102 Chapter One: General Introduction with high constraint length and when reduce the constraint length the performance become poor. The results show that LDPC code outperforms convolution code by 10dB, 7dB and 3dB for 3, 5 and 7 constraint length respectively. 1.6 Thesis layout The thesis is organized in five chapters Chapter one: Presents a general introduction and literature survey for the present work. Chapter two: Illustrates the main concepts of MIMO system in Wireless communication system and describes the STBC and SM of a wireless communication system and introduces CC and LDPC codes. Chapter three: Presents the models and analysis of MIMO systems with and without CC and LDPC codes. Chapter four: Presents the simulation results obtained and discussions. Chapter five: Includes the main conclusions and suggestions for future work. 8 Chapter two: MIMO system and Channel Coding 2015 Chapter Two MIMO systems and Channel Coding 2.1 Introduction In this chapter a background theory is presented which includes all techniques that have been adopted in this research. The first one is the mother technique which is Multiple Input Multiple Output (MIMO) system and important types. The digital modulation technique with its multilevel order has been presented, for supporting such system. A channel code has been used to enhance the reliability data transferred by this system and more than one code has been experimented. They are begun with Convolutional Codes (CC); the theory of encoder and decoder has been presented in addition to puncturing technique. Finally the theory explanation of Low Density Parity Check (LDPC) codes, which is the core contribution of this research, is explained. 2.2 Multiple Input Multiple Output (MIMO) The wireless channel is an important part of communication systems which is limited by many parameters that governed by wireless channel environment. In recent years, the rapid growth of new services such as mobile communications emerged with various modern systems like broadband mobile internet access services lead to optimize the preferable wireless communication system that respond to the rapid growth of mobile communication services. In fact, the evolution of bandwidthefficient and high performance wireless communication technology is considered as the base of designing engineering [28]. One of the recent developments in wireless communication, multiple antenna elements at both transmitter and the receiver is used as shown in Figure (2-1), without increasing the transmission power and bandwidth it 9 Chapter two: MIMO system and Channel Coding 2015 is possible to substantially increase the data rate and the reliability in a wireless communication system. This system with multiple antenna elements at both terminal-ends is called the MIMO systems. Despite considerable research of MIMO systems being done, the design of factual diversity antennas for MIMO systems on mobile ends remains a challenging case [5] [29]. The design of MIMO systems has been conventionally posed on two different perspectives: either the increase of the capacity through SM or the enhancement of the system reliability through the increased diversity of antenna. In fact, the capacity and the reliability can be simultaneously got subject to a primal tradeoff between the two [20]. MIMO system can be used to 1. Decrease the probability of error (decrease the bit and packet error rate). 2. Increase the system capacity. 3. Increase the distance of transmission. 4. Decrease the required transmitted power [30]. 1 1 2 2 RX TX Figure (2-1): MIMO system [14] 01 Chapter two: MIMO system and Channel Coding 2015 2.2.1 Benefits of MIMO Channels MIMO has many benefits which can be exploited in different applications. In the following subsections the gains are described in briefly: 1. Array gain One of the advantages of MIMO system is an array gain, from coherent combining effect of multiple antennas at the receiver end or transmitter or both, which leads to the average increase in the SNR at the receiver. Consider, the average increase in SNR at the receiver terminal is proportional to the number of receive antennas. In channels with multiple antennas at the transmitter (Multiple Input Single Output (MISO) or MIMO channels), array gain exploitation requires channel knowledge at the transmitter [31, 32]. 2. Spatial Diversity Gain In a fading channel, this gives rise to high bit error rate (BER), which required high SNR, where the faded signal is obtained at the receiver end with huge amount of noise. This fading can be reduced by providing replicas of the transmitted signal over time, frequency, or space [5]. The diversity gain or diversity order is defined as the negative of the slope for the logarithm of the probability of error versus the logarithm of the SNR curve and given by ( ( ( where )) ) ( ) is the probability of error [20]. 3. Spatial Multiplexing Gain Spatial multiplexing gives a linear increase in the data rate for the same bandwidth and with no added power expenditure; this is only possible in MIMO channels. Spatial multiplexing increases the data rates proportionally with the number of transmit-receive antenna pairs [33]. 00 Chapter two: MIMO system and Channel Coding 2015 By sending independent data in parallel through spatial channels the data rate can be increased, which is termed spatial multiplexing. Let in bits/second/Hz be the rate of the code. A STC scheme is said to achieve SM gain if [20]: ( ( )) ( The maximum value of is ) ( ( ) ), which is the number of degrees of freedom [20]. Where, is the number of transmit antennas and is the number of receive antennas. 2.3 The Fading channel The main cause of fading is the multipath effect and may be due to reflection of transmitted signals from objects. The overall signal at the receiver end produce from summation of the variety of signals. The reflection, diffraction, scattering and Doppler shift are mainly the factors that cause fading [15]. In a narrowband system, all spectral components of the sent signal are influenced to the same fading attenuation wherein the sent signals usually occupy a bandwidth smaller than the channel’s coherence bandwidth; this type of fading is pointed to as frequency flat. On the other hand, if the coherence bandwidth of the channel is smaller than a frequency separation for spectral components of the sent signal, the result the transmit signal is independently faded. The received signal spectrum gets distorted; this phenomenon is known as frequency selective fading [14]. There are many models of fading channels such as Rayleigh fading; the basic idea of this model is to assume the received multipath signal consists of a large number of reflected waves, which is the received signal with envelope distribution and all components are Non-line of sight (Non-LOS). Another type of fading is Ricean model. which is 01 Chapter two: MIMO system and Channel Coding 2015 similar to Rayleigh fading, except that in Ricean fading a strong dominant line of sight (LOS) component is present where the Rayleigh distribution is a special case of the Ricean distribution with the absence of straight path [15,1]. The probability density function (pdf) of the Rayleigh distribution is shown in Figure (2-2). The pdf of the Rayleigh distribution ): is given by equation( ⁄ ( ) ( The variance of the scattered signal [14], denoted by , ) is the received noisy signal. 2.4 Channel Capacity The maximum mutual information between the received vectors ( ) and the transmitted vectors ( ) is the Shannon capacity of a MIMO channel [34]. The capacity is given by the celebrated Shannon formula [35] ( where, ) ( ) is the channel bandwidth. From the experiential arguments, it is found that the channel capacity increase linearly with the number of transmit and receive antennas. This lead to additional capacity with no increase in bandwidth [36] For a narrowband channel, at the transmitter is the complex transmission coefficient, and at the receiver the element . A matrix containing all channel coefficients can be shown as: 01 Chapter two: MIMO system and Channel Coding 2015 ( ( ) ) 0.7 0.6 0.5 p(a) 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 a(bit) 2 2.5 3 Figure (2-2): The probability density function of Rayleigh distribution where, H is the channel matrix. Hence, a system transmitting the signal vector th is the signal transmitted from the T element would result in the signal vector Note that by where means the matrix transpose. The . vector is being received element, and ( ) where n is the noise vector [5]. Conceptually, multiple data streams can be obtained from the MIMO systems to be transmitted simultaneously at the same frequency; hence the number of data streams employed increasing the bandwidth efficiency. The capacity, of MIMO system 01 , is shown to be [5] Chapter two: MIMO system and Channel Coding ( 2015 ( ( )) … ) where I is the identity matrix and det (.) is the determinant. The channel matrix H in the MIMO system's capacity of equation ( ) is the mathematical representation of the physical transmission path, which includes the physical environment of the multipath channel characteristics and the configurations of antenna [5]. Mathematically, by using the Singular Value Decomposition (SVD) of the channel coefficient matrix H can be estimated the number of independent sub channels [2]. ( Where, ) is a unitary matrix of dimension matrix of dimension the superscript and , is a is a unitary diagonal matrices, and denotes transpose conjugate. SVD is a group of techniques to solve sets of linear equations and matrices that are singular or very close to singular. This decomposition is shown below [2]. [ ( ] ) Where U and V are unitary row orthogonal matrices and so [2], ( ) The capacity of equivalent STBC channel with code rate R will then be given by [19]: [ ( )] ⁄ ⁄ ( ) 2.5 Diversity A powerful technique in wireless communications is Diversity employed to mitigate random fading at relatively low cost. By finding 01 Chapter two: MIMO system and Channel Coding 2015 independent signaling branches for communication the essential idea of diversity is exploiting the random nature of radio propagation. If independent branch have a strong signal, another channel branch may undergo severe attenuation. The main concept is the diversity order, defined by the number of independent channel branches. One of parameters used to evaluate system error performance in fading channel is the diversity order, the probability of losing the signal fades exponentially with the diversity order [37]. 1. Frequency diversity technique: This technique transmits the same information over several carrier frequencies induce different multipath structure and independent fading is exploited to provide frequency diversity [20, 38]. 2. Time diversity technique: In time diversity, over several time slots the same message signal is sent, in the form of redundancy in temporal domain the copies of the transmit signal are achieved to the receiver [20]. 3. Spatial diversity: also known as antenna diversity. Assuming that the coherence distance of the channel is smaller than the distance between the antennas, the different received signals may be considered as independent [3]. In this research it has been focused on spatial diversity. It can be noted that the trade-off between multiplexing and diversity gain as one of the added benefit of MIMO systems. By changing the way of coding information at the transmitter, it can either on different antennas transmit multiple copies of the same message to obtain diversity gain, on different antennas transmit different messages to obtain multiplexing gain, or find a balance between them. The paths is unreliable if all paths from the transmitter to receiver are faded, diversity can be employed to maximize the average SNR. If most paths are well, 01 Chapter two: MIMO system and Channel Coding 2015 that is, they exhibit a low probability of error, therefore using spatial multiplexing to maximize the average capacity [39]. 2.6 Space-Time Coding In multipath fading reliable wireless transmission is difficult, antenna diversity is an effective and practical in most scattering environments, hence, a widely technique of antenna diversity for reducing the effect of multipath fading is applied [40]. To obtain diversity over fading channels with multiple transmit antennas using Space-time coding (STC) which is a set of practical signal design techniques that gives an efficient means of diversity. The signals transmitted from various antennas in different time periods to introduce correlation between them, STC is performed in both the spatial and temporal domains. STC consisted of two main classes they are Space Time Trellis Codes (STTCs) and Space-Time Block Codes (STBCs) [36]. Alamouti’s scheme which was the first Space-Time block code (STBC), the STBC technique became famous thanks to its [40], Alamouti’s technique provide low-complexity decoding and full transmit diversity [18]. For more information see references [14, 41- 43]. 2.6.1 Space-Time block code (STBC) Suppose space time block code system with two transmit and two receive antennas. If the encoder takes two modulated symbols a time the transmit matrix and at at the encoder is given by [41]:- ( ) ( ) At the receiver side, the received signals are combined and then the transmitted signals are recovered at the detector, Using equations ( ) and ( ) the received matrix in a system can be written as [43] 01 Chapter two: MIMO system and Channel Coding [ , , Where, ][ and , ] 2015 [ ] ( ) are the received signals at the receive antennas[42] , , and ( ) ( ) ( ) ( ) noises in each received signal. Assume that the channel fading attenuations are known at the receiver side, and the combined signals are formed as follow [42]:̃ ( ) ̃ ( ) ), ( Substituting equations ( equations ( ) and ( ) ( ) and ( ), in ), the combined signals can be written [42]:̃ (| | | | | | | | ) ( ) ̃ (| | | | | | | | ) ( ) 2.7 Spatial Multiplexing (SM) Spatial multiplexing (SM) is a transmission technique in MIMO wireless communication system, in SM the space dimension is reused or multiplexed more than one time or SM is used to transmit independent and separately encoded data signals from each of the multiple transmit antennas, called as streams [6]. For the same bandwidth and with no additional power disbursal SM gives a linear (in the number of transmit-receive antenna pairs or min 01 Chapter two: MIMO system and Channel Coding ( , 2015 )) increase in the capacity. It is only likely in MIMO channels [33]. The basic principle of SM is illustrated by using system with two antennas at the transmitter and two antennas at the receiver as shown in Figure (2-3), the bit stream of data is de-multiplexed into two sub streams to be transmitted firstly, then modulated and transmitted simultaneously from each transmit antenna. These signals arrived at the receive antenna are separated, If the propagation channels are uncorrelated. It can differentiate between the co-channel signals and extract both signals, if the receiver has knowledge of the channel. The original sub-streams can be combined to yield the original bit stream of data after demodulating the received signals. Therefore, by using SM the channel capacity increases with the number of transmit-receiver antenna pairs. This concept can be extended to more general MIMO channels [5]. ( ) ( ) 110 Multipath Environment Transmitt er 101001 Receiver 001 101001 Figure (2-3): A 2x2MIMO system with a spatial multiplexing scheme [5]. 2.7.1 Signal Detection for SM There are many detection techniques available with combination of linear and non-linear detectors. The most common detection techniques are as the following which are used in this thesis: 09 Chapter two: MIMO system and Channel Coding 2015 1. Zero Forcing Detection (ZF) The ZF detection is one of linear detection types. It is similar to linear filter; ZF separates the data streams and then independently decodes each stream [33]. In ZF detection the weaker transmit signal is canceled then the estimation of strongest transmitted signal is got. For decoding the strong signal from the transmitted signal, the strongest signal has been subtracted from received signal. ZF equalizer neglects the extra noise and may amplify noise for channel significantly [6]. All transmitted signals except for the desired stream from the target transmit antenna, linear signal detection method treats it as interferences. Therefore, to detect the desired signal from the target transmit antenna interference signals from other transmit antennas are minimized or nullified. The (ZF) technique nullifies the interference by the following weight matrix [28] =( where ( ) ) ( ) denotes the Hermitian transpose operation. In other words, it inverts the effect of channel as [28] ̃ ̃ ( ̃ ) ( ) ( ) ̃ ( where ̃ ̃ ( ) ( 11 ) ) Chapter two: MIMO system and Channel Coding Where is the received signal, signal, ̃ 2015 is the transmitted signal; is the noise is the estimate of transmitted data vector for ZF and ̃ is the estimate of noise vector for ZF. 2. Minimum Mean Square Error (MMSE): MMSE is a stochastic gradient technique with low complexity. Which reduces the mean –square error between the output of the equalizer and the transmitted symbol, The MMSE equalization is given by [6]. ( ) ( ) ), to obtain the following Using the MMSE weight in Equation( relationship: ̃ ( ̃ ( ( ) Where Where ̃ ) ( ) ( ) ) ) ( ( ) ̃ ( ( ) ) is the variance of noise term with /2 spectral for impulse response of channel. 3. Maximum likelihood (ML) Signal Detection The ML is the non-linear detector, which minimizes the error probability; by finding the Euclidean distances (EDs) with the minimum distance the ML detector calculates the (EDs) between received signal and the product of all possible transmitted signal vectors with the given channel . The problem of the MIMO detection of an un-coded system can be considered as a so-called integer least squares problem, which can be solved optimally with a (ML) detector [29]. Then, ML detection determines the estimation of the transmitted signal vector as ̂ ‖ ‖ 10 ( ) Chapter two: MIMO system and Channel Coding Let and 2015 denote a set of signal constellation symbol points and a number of transmit antennas, respectively. The required number of ML metric calculation is| | , therefore its complexity increases exponentially as the number of transmit antennas modulation order and/or increases. ML will be useful for reducing the complexity when .The complexity of metric calculation exponentially increases with the number of antennas. However, its complexity is still too much for [28]. 2.8 Digital Modulation Normally to transmit message for a distance using a high-frequency sinusoidal waveform as carrier signal, modulation is the process of changing some parameters of a periodic waveform in order to use that signal to convey a message [22]. The digital information can be transmitted over the channel by using the process of modulation, which is of mapping it to analog form. By changing the amplitude, phase, and frequency of a sinusoidal carrier the process of modulation can be done. A modulator in digital communication system can perform this task. Similarly, digital communication system has a demodulator at the receiver that performs inverse of modulation [6]. 2.8.1 Phase Shift Keying (PSK) In mobile radio communications the mobile unit has a limited battery lifetime and an energy efficient power amplifier is necessary, this lead to use PSK modulation because PSK arranges all symbols on a circle with radius √ ⁄ resulting in identical symbol energies (where symbol energy and is is time period of symbol). In mobile radio communications the identical symbol energies are an important property. They are generally designed for a certain operating point so that an 11 Chapter two: MIMO system and Channel Coding 2015 energy-efficient transmission is get if the send signal has a constant complex envelope. Figure (2-4) show the types of PSK modulation [44]. BPSK QPSK Im √ Im ⁄ √ ⁄ Re Re 8–PSK 16 - PSK Im Im √ ⁄ √ Re ⁄ Re Figure (2-4): PSK modulation [44] 2.9 Convolutional Codes: Convolutional codes (CC) were first introduced by Elias in 1955 [45] Convolution encoder contains memory while block encoder are memory less, as an alternative to block codes [46]. Due to the fact that CC has regular trellis structures and hence can be decoded by Viterbi algorithm which is widely used for increasing the reliability of transmission in many digital communication systems. Using punctured convolution codes for applications which require high coding rates, which are obtained from puncturing some bits from mother codes 11 Chapter two: MIMO system and Channel Coding 2015 of low coding rates periodically, are usually considered. By Viterbi algorithm which is used the decoding trellis of its mother code a punctured convolutional code can be decoded [16]. As shown in Figure (2-5) through a linear finite state shift register in addition with a combinational logic of modulo-two addition message bits sequence is passed. This code is well-known as ( ) codes, where are encoder parameters [47]. Input 𝑚 𝑚 𝑚 Output Figure (2-5) Convolutional Encoder with code rate 1/3 [47] With input data, -output code word and input memory convolution code can be implemented. Typically achieve low error probability and must be kept larger to . The code rate is a measure of the bandwidth efficiency of the code which is the quantity Commonly range from 2 to 10 and the . parameters have range from 1 to 8, and the code rate for deep space applications as low as 1/100, but normally it have been employed from 1/8 to 7/8 [46, 47]. 2.9.1 Puncturing: Using of CC leads to occupy a large bandwidth. By using punctured convolutional codes are reduced the occupied bandwidth. For providing 11 Chapter two: MIMO system and Channel Coding 2015 system requirement the puncturing pattern adjust code rate. Puncturing is the trade-off between performance and code rate [46]. By the process of puncturing the code rate can be increased. According to a puncturing matrix puncturing involves deleting some of the bits generated by the mother code [48]. In practical applications usually design encoders for rate convolutional codes, i.e. with one input; a puncturing method constructs high-rate codes from rate codes. By using punctured codes the decoding of high-rate convolutional codes can be significantly simplified [44]. 2.9.2 Convolutional Representation Graphically there are several ways to represent the encoder to gain a better understanding of its operation these are: 1. Trellis Diagram Representation A trellis is a tree-like structure with remerging branches. Adopting the convention that the input bit is shown as thick lines to show code branches produced by a “zero” and the input bit is shown as thin to represent code branches produced by a “one”. Figure (2-6) shows the trellis diagram of (2, 1, 3) convolutional encoder [49]. a=00 (00) (11) (00) (11) (00) a (00) (11) a (00) (11) b=01 b b c c c=10 01 (10) d=11 d 01 (10) d 01 (10) Figure (2-6): Trellis-code representation for convolutional encoder (2, 1, 3) [49]. 11 Chapter two: MIMO system and Channel Coding 2015 2. State Diagram Representation A state diagram is another way to describe convolutional code. The number of states is for a binary CC where, is the number of shift register stages in the transmitter. In state diagram by the current input bit the transitions from a current state to a next state are determined, and an output of bits is produced from each transition [48]. Figure (2-7) shows the state diagram of a CC for the convolutional encoder of Figure (2-8). There are four states, labelled = 01 and = 00, = 10, = 11 [7]. 0/00 𝑆𝑎 =00 1/11 𝑆𝑏 =10 0/11 𝑆𝑐 =01 1/00 0/01 𝑆𝑑 =11 1/10 0/10 1/01 Figure (2-7) State diagram of a convolutional code [7] 2.9.3 Encoder By encoder‘s impulse response a convolutional encoder performs a convolution of the input stream, the constraint length is where indicates memory length of the encoder or the length of the shift register. The impulse responses are sequences of the form [7] ( ) ( ( ) ( ) ( ) ( ) ( ) ( ( ) ( ) ( ) ( ) 11 ) ) ( ) ( ) Chapter two: MIMO system and Channel Coding 2015 ( ) 𝑠 𝑠 ( ) Figure (2-8) Convolutional encoder of code rate = 1/2 [7] Impulse response analysis can be applied to the convolutional encoder, as shown in Figure (2-8), and express the encoded sequences as [7]. ( ) ( ) ( ( ) ( ) ( ) ) Where the operator ‘ ’ denotes discrete convolution modulo 2. This means that for an integer number [7] l ≥ 0, ( ) ( ) ∑ ( ) ( ) ( ) ( ) To form a code sequence or unique output both output sequences are concatenated [7]: ( ( ) ( ) ( ) ( ) ( ) ( ) ) ( ) 2.9.4 The constraint length and complexity The convolutional code's maximum-likelihood error rate decreases exponentially with constraint length of the code, it is sensibly accepted that by using a long-constraint-length convolutional code and its respective maximum-likelihood decoder a very good system performance can be attained [50]. 11 Chapter two: MIMO system and Channel Coding 2015 On the other hand, in practice the long-constraint-length convolutional codes make the computational complexity of maximum-likelihood decoders high, such as Viterbi algorithm, makes the idea unpractical [50]. Therefore it has been used short constraint length in this thesis to guarantee low complexity and accepted performance. The relationship that contains constraint length formula and code rate is the ( ) [25]. 2.9.5 Decoding of convolutional code 1. The Viterbi Algorithm The Viterbi algorithm (VA) was first described mathematically by A. J. Viterbi [49] in 1967, which is a remarkable method for performing maximum likelihood decoding of convolutional codes. VA is implemented to the trellis of a convolutional code whose properties are conveniently employed to apply this algorithm. As it is known, one of the key problems that faces maximum likelihood decoding is the complexity which causes from the number of calculations over all the possible code sequences that have to be done. By preventing having to take into calculate all the possible sequences the VA minimizes this complexity of calculation. By computing the cumulative distance between the received sequence at an instant at a given state of the trellis, and each of all the code sequences that attain at that state at that instant the decoding is done. For looking the sequence with the minimum cumulative distance this calculation is executed for all states of the trellis, and for successive time instants [7]. Hard or soft decisions are the types of VA. The type of quantization used on the received bits refers to type of VA either Hard decision or soft decision. Soft decision decoding employs multi bit quantization on the 11 Chapter two: MIMO system and Channel Coding 2015 received channel values while hard decision decoding employs one bit quantization on the received channel values [47]. The transmitted sequence of Euclidean distance closest to the received sequence finds by this algorithm. A state denotes the past history of the sequence over the constraint length the operation consists of finding the path of states, where. Figure (2-9) illustrates a Viterbi algorithm applied to a simple code with =2 or =4 states [48]. The figure illustrates how the survivor sequence for state 1 is chosen. For each state the same process is performed. For the ( ) transmitted symbols and ( ) the received signal over time , then [48] () ∑ () Where, | () ( )| | () ( )| ( ) ( ) ( ) is the symbol sequence related with the transition from state to state . The survivor sequence selected for state 1 at time is the one whose accumulated metric is [48]. () { () ( )} () ( () ( ) ) ( ) () () Figure (2-9): Viterbi algorithm applied to a simple convolutional code. According to the principles Hamming distance the result of decoding data is obtained by comparing the output data of the system with the bits of information that are sent to the unknown BER system [23]. 19 Chapter two: MIMO system and Channel Coding 2015 2.10 Low density parity check (LDPC) codes One of the methods to achieve reliable communications is associated MIMO techniques with Forward Error Correction (FEC) codes. It becomes very acceptable when the MIMO scheme is concatenated with a (LDPC) code [26]. Since LDPC codes enable to get as close as a fraction of a dB from the Shannon limit they are among the most powerful (FEC) codes [51]. LDPC codes are a class of linear block codes, because the characteristics of parity-check matrix of these codes which contains only a few non-zero elements in comparison to the number of zero elements, the name of LDPC codes comes from their parity-check matrix [27]. LDPC codes are called regular if its matrix contains fixed number of ones in the columns and fixed number of ones in the rows. LDPC codes are called irregular if the matrix does not contain the fixed number of ones in rows and columns. LDPC parameters defined the ( matrix as columns, number of ones in each row and ones in each column, ( .thus the code rate ) number of ) defines that the number of rows= [51]. LDPC codes attain a performance which is very close to the data rate for a lot of different channels and linear time complex algorithms for decoding. They were mostly ignored until about ten years ago because the effort of computational in implementing coder and encoder for such codes [52]. From sparse bipartite graphs LDPC codes can be obtained. left nodes (called message nodes) and 𝑓 right Suppose a graph with nodes (called check nodes). Figure (2-10) shows the graphical representation of LDPC. This representation is identical to a matrix representation of the same code: let Ȟ be a 𝑓 matrix in which if the 11 check node is connected Chapter two: MIMO system and Channel Coding to the message node this leads to the entry ( code is defined by (the graph) the set of vectors that 2015 ) is 1. Then the LDPC ( ) such . Ȟ this is the matrix representation of the graph in Figure (2-10) [17]. ( ) Figure (2-10): Low Density Parity Check Codes [17] 10 Chapter two: MIMO system and Channel Coding 2015 2.10.1 Encoding 1. The Encoding by generator matrix The generator matrix for a code with parity-check matrix Ȟ can be obtained by executing Gauss-Jordan elimination on Ȟ to find it in the form [53] [ Where ( ] is the bit data Ȃ is a ( ) )× matrix and is the size identity matrix. The generator matrix is then [53] [ ( ] ) ( ) At the encoder will have complexity in the order of operations. Where the encoder can become prohibitively complex as is large for LDPC codes from thousands to hundreds of thousands of bits,. A good approach is to avoid constructing using back substitution with at all and instead to encode as is demonstrated in the following. 2. Linear-time encoding for LDPC codes The ( 𝑓 ) parity-check matrix and code consists of the set of – tuples such that ( ) Given that the original parity-check matrix Ȟ is sparse, typically linear time encoding is indeed possible for codes which allow transmission at rates close to capacity. And for those codes the encoding complexity stays manageable up to very large block lengths because the encoding scheme still leads to quadratic encoding complexity such that term is typically very small. Note that solely by permutations this transformation was accomplished, therefore the matrix is still sparse. More precisely, assume that bringing the matrix in the form [54] [ ] 11 ( ) Chapter two: MIMO system and Channel Coding 2015 is sub matrix of dimension (𝑓 Where dimension (𝑓 ) dimension ( dimension (𝑓 ) , T of dimension (𝑓 ) 𝑓), D of dimension ), ( 𝑓), of (𝑓 ), of , and, finally, E of is the dimension of gap. Further, T is lowering triangular with ones along the diagonal and all these matrices are sparse. Multiplying this matrix from the left by [54] [ ] To give ̃ [ ] [ ̃ ̃ ] Where ̃ And ̃ Let ( ) where combination of and denotes the systematic part, the parity part is , has length ). The defining equation , and has length (𝑓 splits into two equations, and so [54] ( ) ( ) And ̃ The parity bits in ̃ depend only on the message bits because has been cleared, and so can independently be calculated of the parity bits in ), if ̃ is invertible [54]: Can be found from( ̃ ̃ ( 11 ) . Chapter two: MIMO system and Channel Coding 2015 If ̃ is not invertible by permutation the columns of ̃ it can be made invertible. The added complexity burden of the matrix multiplication is kept low by keeping as small as possible [54]. Once can be found from( is known ( ): ) ( ) To keep the complexity of this operation low the sparseness of and can be employed and, as is upper triangular, , can be found by using back substitution [54]. 2.10.2 Decoding of LDPC code There are various algorithms to decode LDPC code such as bit flipping decoding (BF), a posteriori probability (APP) decoding, weighted bit flipping decoding, majority logic decoding (MLG) and iterative decoding based on belief propagation. Among them the type which provides best error performance is iterative decoding based on belief propagation. Because the messages are passed from check nodes to variable nodes, and from variable nodes back to check nodes this decoding is named (iterative decoding). An important aspects that in iteration a node should pass only the extrinsic information that means the information that is sent from a variable node to a check node 𝑓 must not involve the information sent in the previous step from 𝑓 to , This is true for information passed from check nodes 𝑓 to variable node . By probabilities or beliefs can be represented the information from the variable node to check node and check node to variable node. The algorithm is also known as belief propagation and using of iterative belief propagation (BP) the LDPC codes can be decoded. Instead of using probabilities it is easy to do with likelihoods, or even log-likelihoods Ratios (LLRs) to represent messages. In BP, in the graph likelihood 11 Chapter two: MIMO system and Channel Coding 2015 functions are recursively computed by each node and along each edge a message containing this information is sent [55]. In this thesis it has been used Iterative decoding which is a good compromise between complexity and performance. The obtained decreasing in decoding complexity from using iterative decoding makes iterative algorithms an attractive alternative to optimal algorithms. 1. Hard-Decision Decoding The algorithm can be described in the following steps: A. First Step In the zeroth iteration or first step all variable-nodes send “information” to their check-nodes 𝑓 including the bit they think to be the errorless one for them. This stage has the only information variablenode , is the corresponding received bit of received information [55]. B. Second Step In this step every check node 𝑓 computes a reacting to every related variable node. The response message includes the bit that 𝑓 thinks to be the errorless one for this variable-node supposing that the other nodes connected to 𝑓 are correct [55]. C. Third Step The variable-nodes in third step receive the messages from the check nodes and decide if their originally received bit is OK by using this additional information [55]. D. Forth Step Go to second step. 2. Soft Decision Decoding Messages are expressed in probabilities, Log-Likelihood Ratios (LLRs) form in soft decision decoding, the iterative decoding with belief 11 Chapter two: MIMO system and Channel Coding 2015 propagation also known as Sum-Product Algorithm (SPA) is used for decoding LDPC iteratively. Equation ( )and ( )express the variable-node and check-node operations of SPA respectively, where the initial received at LLR variable node is represented by variable node to check node is represented by node to variable node is represented by current check node is denoted by variable node is denoted by , a LLR from check , the degree of the , and the degree of the current denotes [55]. ∑ ( (∏ ) ( ) ∑ By using equation ( , a LLR from ( ) ) )the outpacing LLR transmit from the existing variable node to every related check node , by using equation ( ) the outpacing LLR transmit from the current check node along the edge to every related variable node and the equation ( compute the result of the current decoding iteration is ) , the sum of the variable node computations' result [55]. The message passing decoding procedure can be described as the following steps. Step 1 Initialization: put the furthermost number of iterations. Step 2 Message update: from variable to check nodes the information are computed based upon the variable node's observed value and passed from 11 Chapter two: MIMO system and Channel Coding 2015 the neighboring check nodes to that variable nodes some of the information. Step 3 Check code update: from check to variable nodes the information are transmitted along the edge to each connected variable node with that check node [24]. Step 4 Decision: If agree with the constraint the decoding is successfully achieved, otherwise pass to the next iteration of Step 2 [55]. Or the information bits can be extracted if the maximum number of iterations is done [24]. 2.11 Spatial Multiplexing Supported by LDPC Inserting LDPC within SM system is the contribution of this thesis to assist its performance and by using short code blocks attempt to keep low complexity [56]. The general SM- LDPC system is shown in Figure (211). In order to minimize BER can be exploited a combination of outer iteration between SM detector and LDPC decoder and inner iteration within LDPC decoder. Note that the SM detector is separated from decoder of LDPC, but between the two components reliability information on the coded bits is interchanged in an iterative fashion. 2.11.1 The transmitter As discussed in subsection 2.10.1 by LDPC encoder the data stream with vector of k bits are first encoded to obtain c coded sequence with redundancy information added by the factor of the inverse of code rate of LDPC. By PSK complex vector the coded sequence is modulated and then by transmitted antennas is distributed and then transmitted over sub-channels. 11 Chapter two: MIMO system and Channel Coding 2015 Transmitter LDPC Encoder Info Bits Coded BPSK Coded Bits Soft Detector S/P Modulator Symbols LDPC Hard Decisions Decoder Receiver Figure (2-11) Spatial Multiplexing and LDPC 2.11.2 The receiver The decoder structure included Soft Input Soft Output LDPC decoder and Soft Input Soft Output detector for MIMO system in the receiver end. The soft output of the detector is to reduce the effect of MIMO channel. The soft output of MIMO detector is an earlier in the form of LogLikelihood Ratio (LLR) which called extrinsic LLRs. If ( ) is the LLR value for LDPC coded bits ( ) The LLR of the ( ) where ( which is defined as [57]: ) ( ( ) ) LDPC coded bit that calculated by the detector is: ( ) ( ) ( ) ( ) is a priori message from is the channel observation. Let the LDPC decoder got from earlier outward iterations. Using Bayes’s rule ( ) can be written as: ( ) ( ) ( ) ( ) ( ) ( ) ( ) And so on for next iteration. 11 Chapter three: The system Models 2015 Chapter Three The System Models 3.1 Introduction In this chapter a system model is presented which includes all modeling of MIMO communication systems that have been adopted in this research work. The first one is (MIMO) with STBC system model. A system model of MIMO communication system with SM has been presented. In addition, the proposed system model from the source of information at the transmitter to the receiver side is illustrated, the Phase Shift Keying (PSK) modulation, the Spatial Multiplexing, CC encoder, the Rayleigh fading channel affect the transmitted signal, the Spatial demultiplexing, CC decoder. Finally, the proposed system model from the source of information at the transmitter to the receiver side is illustrated LDPC encoder, the flat fading channel affect the transmitted signal, the Spatial de-multiplexing, LDPC decoder. 3.2 STBC System The system used for simulation STBC system is shown in Figure (3-1). PSK modulation Source of information STBC Encoder Sink Rayleigh Fading Channel STBC Combiner PSK demodulation Figure (3-1) STBC system block diagram 93 Chapter three: The system Models 2015 The block diagram in previous figure it can be described as follows: 3.2.1 Data Generation This block generates bit stream with probability of produce 0s and 1s with probability of 1- . The distribution is Bernoulli that generates randomly binary numbers with variable length of message. The data generated by this block is used as input sequence of PSK modulation to be ready to transmit and invers processes are applied to recover such data. In this simulation a BER is calculated by comparing the data generated with received data to evaluate the performance of simulation system. 3.2.2 Modulation The Modulator used the phase shift keying (PSK) type to modulate the transmitted data with various mode orders, the order used here is Binary PSK (BPSK), Quadrature PSK (QPSK), 8PSK and 16PSK). The output is a baseband representation of the modulated signal. QPSK and up to 16QPSK are used in order to increase the data rate in the same system. It is known that this will lead to increase the BER in the advanced modulator order, so that this research attempt to reduce the errors with low complexity to approach the aim represented by reliable high data rate. 3.2.3 STBC MIMO system This model shows a space-time block code (STBC) transceiver system over a (MIMO) channel. The system uses a variable number of transmit and receive antennas. The number of transmit and receive antennas used here are (2x2, 3x3 and 4x4). The increasing of the number of antennas will lead to increase the reliability as it was shown previously in 04 Chapter three: The system Models 2015 subsection (2.5), but without increasing the amount of information transferred by this system. The aim of this section is to investigate the amount of reliability that can achieve by using STBC technique to show the capability of MIMO system to support the reliability of received data. 3.2.4 Rayleigh Fading Channel Rayleigh fading is a suitable model of signal propagation which is subject to heavy attenuation by urban environments that assumes the line of sight is absent between transmitter and receiver. Rayleigh fading distribution is a sum of two uncorrelated Gaussian random variable. A transmitted message which sent from the base station through the Rayleigh fading channel, it will interact with the channel environments, this interaction will occur at the receiver by multiply the transmitted signal by the complex impulse response matrix of the channel. An additive white Gaussian noise added to the transmitted signal. 3.2.5 The STBC Combiner At the receiver the STBC Combiner block combines the received signals from the received antennas with the channel state information (CSI). In this work the CSI is assumed perfectly known at the receiver side. The PSK demodulator is recovered the digital message with some noise that may be flipping the pulses that represented of 1s binary to 0s or vice versa. This is used to obtain the BER of STBC-MIMO communication systems. Figure (3-2) shows the flow chart for STBC system. 04 Chapter three: The system Models 2015 Start Add Rayleigh fading effect. Eq. (2-13) Inputs 𝑛 𝑇 , 𝑛𝑅 , sample rate, maximum Doppler, number of Bits, BER=0, modulation order, SNR Decode received signal. Eq. (2-18) & (2-19) Demodulation 𝑛 Initialize𝑛 counter i=0 Compare transmitted and demodulated data and calculate BER Initialize counter j=0 Yes j ≤ SNR ? Generate data Yes No Modulate data i ≤ 500? No Encode modulated data using STBC Eq. (2-12) End Figure (3-2): STBC Algorithm 3.3 Spatial multiplexing system model Figure (3-3) shows the system model of SM that used to simulate such system. SM schemes is subdivided the data into independent sub-streams, one for each transmit antenna employed. The numbers of transmitted and received antennas used in such simulation are (2x2, 3x3 and 4x4). SM uses flat fading over independent sub-channels. Suppose perfect channel knowledge and no feedback to the transmitter, i.e. an open- loop SM system. In order to increase the data rate, multi- levels of modulation order are used in addition to multi- antennas. QPSK, 8QPSK and 16 QPSK are used in this system. This thesis concerned on treatment of the high level 04 Chapter three: The system Models 2015 of errors stem from high modulation order. This can be achieved by increasing the amount of antennas and or add another technique like channel codes. PSK modulation Source of information Spatial multiplexing Sink Rayleigh Fading Channel Spatial demultiplexing PSK demodulation Figure (3-3) MIMO Spatial multiplexing 3.3.1 Spatial multiplexing In SM the data stream is splitting into independent sub-streams among transmitters and after modulation each transmit antenna is employed for sending sub-stream to the MIMO channel. 3.3.2 Detection Techniques Three types of detection technique are used in this scheme; MMSE and ZF which are related to linear detection, in addition to ML detector which non- linear techniques. The purpose of using three detection techniques is to evaluate the performance of each one. The evaluation includes two sides, the amount of improvement that added to the system and the corresponding of complexity for each one. Take into account that the current work attempt to reduce the complexity with better BER. 09 Chapter three: The system Models 2015 Figure (3-4) shows the algorithm for SM system; which is used to obtain the BER of SM-MIMO communication systems. Start Inputs 𝑛 𝑇 ,𝑛𝑅 , (𝐸𝑏/𝑁0 ), Order of modulation, Number of symbols Collect errors (no. of errors ZF, no. of errors MMSE and no. of errors ML) & collect no. of Bits Initialize counter i=1 Initialize counter ((no. of errors ZF = 0) | (no. of errors MMSE = 0) | (no. of errors ml = 0) & (no. of Bits = 0)) ((no. of errors ZF ≤ 500) | (no. of errors MMSE ≤500)| (no. of errors ML ≤ 500)) & (no. of Bits ≤ 1e5)) Yes Create array of bits Modulate data No Compare transmitted and demodulated data and calculate BER Split source among 𝑛 𝑇 transmitters Yes i ≤ (𝐸𝑏/𝑁0 ) Add Rayleigh fading effect to the transmitted data. Eq. (2-3) No End Apply (ZF, MMSE, ML) detection. Eqs. (2-24), (2-29) & (2-33) Figure (3-4) Spatial Multiplexing algorithm 00 Chapter three: The system Models 2015 3.4 SM with Convolution Code (SM-CC) To support the performance of SM it has been proposed to add channel codes with SM in to reduce the BER that obtained the desired reliability associated with high data rate. One of the most popular for the channel codes is CC. It is easy to implement and can reduce the BER in various environments. System model of SM-CC is shown in Figure (3-5). Source of information Convolution code PSK modulation Rayleigh Spatial multiplexing Sink Fading Channel Spatial multiplexing detection PSK demodulation Convolution decode Figure (3-5) System model spatial multiplexing with convolution code The transmitted process is applied by the source, encoder and modulator. At the receiver end the inverse processing are executed to recover the information before send to sink block. 3.4.1 The Convolutional Encoder It receives the data of binary bits from Bernoulli binary generator. The length of message used in this simulation is 10000 bits multiplied by the number of transmitted antennas denoted by increased by factor of . So that data rate is . The code rate used here are two types; the first is fixed with ½, or the output data is doubled of input data length, the 04 Chapter three: The system Models 2015 second type is variable using puncturing technique, in this type the code rate of ⁄ is increased to ⁄ , which can reduce the redundancies information. The constraint length used in this block 3, 5 and 7 which means that 2, 4 and 6 registers respectively are present for each one. The generator polynomial used for 3 constraint length are 5 and 7, for 5 constraint length are 23 and 35 and for 7 constraint length, 133 and 171 generator polynomial. 3.4.2 The Viterbi Decoder The output of PSK demodulator is binary of bit stream because hard decision demodulator is used. Also the Viterbi decoder is hard decision which based on maximum likelihood to select the optimum value to recover the survivor path. The main feature of such decoder is that can process more than one symbol simultaneously to reduce the time required for decoding of message. Figure (3-6) illustrates the flow chart of Viterbi algorithm. Start No States end Yes Initializ e No Trellis stages end? Yes Calculate possible branch metric Yes Load the branch metric Trace back block Add Compare Select Decoded data block Store the path metric information End Figure (3-6): The Viterbi algorithm 04 Chapter three: The system Models 2015 The flow chart of overall SM-CC is illustrated in Figure (3-7). This is used to obtain the BER of SM-CC communication systems. Start Inputs 𝑛 𝑇 ,𝑛𝑅 , Order of modulation, (value of SNR), (𝐸𝑏/𝑁0 )in dB, number of symbols, number of bits Initialize counter i=1 Create array of bits Encode data by convolution code. Eq. (2-38) Initialize counter j = 1 Apply Viterbi decoding. Eq. (2-40), (2-41) & (2-42) Modulate data Compare transmitted and demodulated data and calculate BER Split source among 𝑛 𝑇 transmitters Add the Rayleigh fading effect to the transmitted data. Eq. (2-3) Yes i ≤ (𝐸𝑏/𝑁0 )? No Apply (ZF, MMSE, ML) detection. Eqs. (2-24), (2-29) & (2-33) End Yes j ≤ Number of bits ? No Figure (3-7): The SM with CC algorithm 04 Chapter three: The system Models 2015 3.5 The proposed SM- LDPC In this work it has been proposed to insert the LDPC code with SM to support its performance. Number of iterations in LDPC decoder play significant role to reduce the BER by increasing the reliable decision of iteration. This leads to more delay time that makes this system unsuitable for real time applications. To reduce the number of iterations of LDPC decoder, special parity check matrix size is designed with , three 1s in each row, six 1s in each column and 1/2 code rate is used. Binary Phase Shift Keying (BPSK) is used as better type of modulation that can reduce the noise. It is worth mentioning here that this system is special design in order of simulation to investigate SM with LDPC codes and show the results of this combination as a sample with only 2x2 antennas the other parameters that will be explained later in chapter four. The results achieve to evaluate the performance of proposed system. Building on such results it can be suggested designing the same system with higher number of antennas and higher modulation order. The system used for such simulation SM with LDPC system is shown in Figure (3-8). Source of information PSK modulation LDPC encoder Spatial multiplexing Flat Fading Channel LDPC decoder Sink Spatial multiplexing detection PSK demodulation Figure (3-8) system model spatial multiplexing with LDPC code 04 Chapter three: The system Models 2015 3.5.1 LDPC encoder The LDPC encoder adds the redundancy bits to the data by using some constraints according to the data. The parity check matrix of an LDPC code comprises bit nodes and check nodes. 3.5.2 LDPC decoder The decoding process of LDPC decoder is used the message passing algorithm. Iteration is applied between bit nodes and check nodes to compute the message by rounding each value of message passing from each bit node to all adjacent bit nodes. Another round of information passing from each check node to all adjacent bit nodes The iteration is included each demodulator in addition to decoder. So that soft decision demodulator is used in order to complete the demodulation within iteration. 3.5.3 Iterative decoding and demodulation In this research it has been used feedback between iterative decoding and detection to demodulate the received data from the channel as shown in Figure (3-9) For LDPC coded MIMO system with ZF detector, it has been computed the input of LDPC decoder according to the expression given. Two types of iterations in this scheme; the first one is between decoder and detector, and the second is within the decoder itself. As it is known that by increasing the number of iterations the performance of LDPC coded system can be enhanced. But, the computational complexity will increase largely for high numbers of antennas. LDPC Input data Encoder coded data Modulator coded symbols MIMO BP Decoded data Decoder Detection Receive data Channel Figure (3-9): LDPC code with iterative decoding and detection 03 Chapter three: The system Models 2015 Figure (3-10) shows the algorithm for SM with LDPC system; which is used to obtain the BER of SM with LDPC communication systems. Start Inputs 𝑛 𝑇 ,𝑛𝑅 , Order of modulation, (value of SNR), number of symbols, number of bits Initialize counter i=1 Apply (ZF, MMSE, ML) detection. Eqs. (224), (2-29) & (2-33) Create array of bits Encode data by LDPC code. Eq. (2-43), (2-44) & (2-45) Yes j ≤ Number of bits ? No Initialize counter j = 1 Apply LDPC decoding. Eq. (2-52), (2-53) & (2-54) Modulate data Compare transmitted and demodulated data and calculate BER Split source among 𝑛 𝑇 transmitters Yes Add flat fading effect to the transmitted data i ≤ SNR? No End Figure (3-10): SM with LDPC system algorithm 44 Chapter Four: Simulation Results 2015 Chapter Four Simulation Results 4.1 Introduction This chapter presents the results obtained from the simulations that applied on the systems. The first one is the evaluation of STBC capabilities. The second system is SM without any code and then using the convolution code with this system and finally evaluates the proposed system which consists of LDPC code inserted with SM. All simulations are carried out using Matlab package version R2013a. The results are represented by Bit Error Rate (BER) versus SNR. 4.2 Simulation of STBC The first simulation is applied on STBC to evaluate such system by varying the number of transmitted and received antenna also with various modulation orders. 4.2.1 STBC with various numbers of antennas The first one is used 2x2, 3x3 and 4x4 antennas with modulation order of BPSK. Figure (4-1) shows the results of STBC with the variation number of antennas (2x2, 3x3 and 4x4). It is noted from Figure (4-1) that the improvement in the Signal to Noise Ratio (SNR) is 3.5 dB between 2x2 and 3x3 based on BER of 10-4, while the difference between 2x2 and 4x4 is 7 dB. The level of modulation also affects the BER as will be seen in the next section. The BER is heightened when the level of modulation order is increased. It is also noted the BER is better as the number of antennas 15 Chapter Four: Simulation Results 2015 increased but the problem in the system complexity. Therefore, the 2x2 and 3x3 systems are investigated from simplicity point of view. 0 10 2x2 3x3 4x4 -1 10 -2 BER 10 -3 10 -4 10 1 2 3 4 5 6 7 8 9 10 11 12 SNR (dB) Figure (4-1): BPSK modulation for (2x2, 3x3, 4x4) MIMO communication systems. 4.2.2 STBC with various order of modulation From the results of previous subsection the 2x2, 3x3 give good results of BER and the complexity is acceptable so that it have been used for this subsection with various level of modulation order. Figure (4-2a) and (4-2b) show the performance of STBC with modulation order of (BPSK, QPSK, 8-PSK, 16-PSK and 32-PSK) for 2x2 and 3x3 number of antennas respectively. It is obvious from the Figures (4-2a&4-2b) that BPSK scheme give better result (Based on 10 -4). The BPSK with 2x2 get BER (10-4) at 10.5 dB of SNR, while the performance is degrade when the level of modulation order is increased, where the QPSK get the same BER at 13.5 dB, 8-PSK get 10-4 BER at 19.5 dB, 16PSK get 10-4 BER at 24 dB and 32-PSK at 28 dB caused the same BER. For (3x3) STBC the results are enhanced compared with 2x2 scheme. 15 Chapter Four: Simulation Results 2015 0 10 2x2 32-PSK 2x2 16-PSK 2x2 8-PSK 2x2 QPSK 2x2 BPSK -1 10 -2 BER 10 -3 10 -4 10 -5 10 5 10 15 20 25 30 SNR (dB) Figure (4-2a) (2x2) STBC with different modulation 0 10 3x3 32-PSK 3x3 16-PSK 3x3 8-PSK 3x3 QPSK 3x3 BPSK -1 10 -2 BER 10 -3 10 -4 10 -5 10 5 10 15 20 25 SNR (dB) Figure (4-2b) (3x3) STBC with different modulation It is known that increasing the modulation order lead to increasing the data rate of system, while this research motivates to present a system with high data and acceptable (BER) and complexity. 15 Chapter Four: Simulation Results 2015 From the above results it has been shown that the STBC gives good performance by increase the number of antennas which leads to increase the complexity with fixed data rate. Also when trying to increase the data rate by increasing the modulation order it is shown that the bit error rate is increased with high level of modulation. So that it has been attempted other schemes that response to high data rate with low complexity like SM. SM scheme become the primary tool to increase capacity significantly, multiple antennas is used to achieve spatial multiplexing gain and increase the capacity of wireless links. On comparing the capacity of the SISO, STBC and SM, the figure shows the SM give better results. From practical point of view (Based on 12 dB) the capacity of SM increase by (3 bits/sec./HZ) as compared with STBC system as shown in Figure (4-3). If the high values of SNR are considered, it remain that SM give better results, therefore it is planned to achieve low complexity at low SNR values. 35 2x2 MIMO 2x2 STBC SISO Capacity (Bits/second/HZ) 30 25 20 15 10 5 0 0 5 10 15 20 25 30 35 40 45 SNR(dB) Figure (4-3): Comparison between the capacity of STBC, SM and SISO 15 Chapter Four: Simulation Results 2015 It is clear that the data rate of MIMO is better than of data rate for STBC and SISO, but the side effect of SM is the high BER as compared with the BER of STBC as shown in Figure (4-4) 0 10 SM 2x2 BPSK STBC 2x2 BPSK -1 10 -2 BER 10 -3 10 -4 10 5 10 15 20 25 30 SNR (dB) Figure (4-4): Comparison between the BER of STBC and BER of SM From Figure (4-4) shows that the gain between SM and STBC 17 dB of SNR at 10-4 BER. 4.3 The simulation of SM system In this subsection the performance of SM will be evaluated with various detection schemes (ZF, MMSE and ML) without any additional code. Also the number of antenna is varied (2x2) and (4x4) in addition the modulation order also varied (BPSK, QPSK, 8-PSK, 16-PSK, 32-PSK) 4.3.1 SM with various number of antennas without code In this subsection the number of antennas is (2x2) and (4x4) while using three types of detection that mentioned above with BPSK. Figure (4-5) shows the relation of BER and SNR for different schemes. 11 Chapter Four: Simulation Results 2015 -1 10 ZF 2x2 MMSE 2x2 ZF 4x4 MMSE 4x4 ML 2x2 ML 4x4 -2 BER 10 -3 10 -4 10 5 10 15 20 25 SNR(dB) Figure (4-5): SM of 4x4 and 2x2 with BPSK The results show that the ML get better performance than the types of detections. It gets gain between 2x2 and 4x4 8 dB of SNR at 10-4 (BER). While ZF and MMSE get gains 9 dB of SNR and 1 dB of SNR at 10-4 (BER) respectively. Now the same parameters are applied for such system but increase the modulation order to (QPSK, 8-PSK, 16-PSK). Figures (4-6), (4-7), (4-8) illustrate the results. -1 10 ZF 2x2 MMSE 2x2 ZF 4x4 MMSE 4x4 ML 2x2 ML 4x4 -2 BER 10 -3 10 -4 10 5 10 15 20 25 SNR(dB) Figure (4-6): SM of 4x4 and 2x2 with QPSK 15 Chapter Four: Simulation Results 2015 0 10 ZF 2x2 MMSE 2x2 ZF 4x4 MMSE 4x4 ML 2x2 ML4x4 -1 10 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 35 SNR(dB) Figure (4-7): SM of 4x4 and 2x2 with 8-PSK Now the same parameters are applied for such system but increase the modulation order, Figure (4-8) shows the effect of increasing the modulation order to (16-PSK). 0 10 ZF 2x2 MMSE 2x2 ZF 4x4 MMSE 4x4 ML 2x2 ML 4x4 -1 10 -2 BER 10 -3 10 -4 10 5 10 15 20 25 30 SNR(dB) Figure (4-8): SM of 4x4 and 2x2 with 16-PSK 15 35 Chapter Four: Simulation Results 2015 It can be noted that the BER is increased by increasing the modulation order with all types of detections. The ML is still better one in this simulation but as it is known such type of detection increase the complexity exponentialy with number of antennas, the amount of complexity with ML is increased by [28] where and represent a set of signal constellation symbol points and a number of transmit antennas, respectively. So that the complexity will be unacceptable for modern communication. ZF is the simplest one with very low complexity but the performance is unacceptableas it is clear from all above results, therefore in this research it has been suggested to use this type of detection for acceptable complexity but decreasing the BER by using additional channel code. 4.3.2 The simulation of SM with convolution code In this subsction the channel code is inserted with (SM). For the above reasons it has been suggested in this research to adopt ZF detection for simplicity and without delay time. To support its performance, simple scheme of CC will be added to the system to treat the degradation in BER of ZF. The following simulation is applied to the proposed system model shown in Figure (3-5). 4.3.3. The simulation of ZF with CC compared with ML without CC Befor going ahead in details of analysing the results of such case study, it is necessary to compare the performance of ML without CC and ZF with CC. Figure (4-9), (4-10) and (4-11) illustrate such comparison. Figure (4-9) shows the performance of ML without CC and ZF with CC for 2x2 system. 15 Chapter Four: Simulation Results 2015 0 10 ML SM 2x2 ZF SM&CC 2x2 -1 BER 10 -2 10 -3 10 -4 10 0 2 4 6 8 10 12 14 16 18 20 22 24 26 SNR(dB) Figure (4-9): Comparison between ML without CC and ZF with CC for 2x2 schemes 16-PSK Figure (4-9) shows the BER of ZF with CC is lower than the BER of ML without CC this lead to depend ZF with Channel Code for simplicity. Figure (4-10) and Figure (4-11) show the effect of increasing the number of antennas. 0 10 ML SM 3x3 ZF SM&CC 3x3 -1 BER 10 -2 10 -3 10 -4 10 0 2 4 6 8 10 12 14 16 18 SNR(dB) Figure (4-10): Comparison of ZF with CC and ML without CC for 3x3 schemes 16-PSK 15 Chapter Four: Simulation Results 2015 0 10 ML SM 4x4 ZFSM&CC4x4 -1 BER 10 -2 10 -3 10 -4 10 0 2 4 6 8 10 12 14 16 18 SNR(dB) Figure (4-11): Comparison of ZF with CC and ML without CC for 4x4 scheme From Figures (4-9), (4-10) and (4-11) it found that increasing the number of antennas at transmitter and receiver will decrease the BER, where the ZF of SM with convolution code needs 11.8 dB to achieve 10-4 BER in Figure (4-11), while 15 dB to achieve 10-4 BER in Figure (4-9). It is noted that significant improvement in the performance of ZF with CC, but as it is known redundance information will added to the origin bits which caused degredation in the speed of data rate, so that the user must be tradeoff between complexity and data rate. However it can be reduce such degredation by increasing the code rate of CC as we will be shown later. 4.3.4. The simulation of ZF with and without CC Now the simulation is done for ZF with and without CC. Figure (4-12) shows the results of using ZF decoder. The mode order here is equal to 1 or BPSK modulation. 56 Chapter Four: Simulation Results 2015 0 10 ZF 2x2 SM ZF 3x3 SM ZF 4x4 SM ZF2x2 SM&CC ZF3x3 SM&CC ZF 4x4 SM&CC -1 10 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 SNR (dB) Figure (4-12): ZF decoder with BPSK and various antenna schemes In this case the 10-4 BER can be achieved at 4dB of SNR for the curve of (4x4) ZF with CC and the code gain between the red curves is exceed 15 dB which make such system is optimum for very low SNR. If the mode order is increase up to (2) mod order or QPSK is used as shown in Figure (4-13), the BER of 10-4 is increase to 6 dB 0 10 ZF ZF ZF ZF ZF ZF -1 10 SM 2x2 SM 3x3 SM 4x4 SM&CC 2x2 SM&CC 3x3 SM&CC 4x4 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 SNR(dB) Figure (4-13): ZF decoder with QPSK and various antenna schemes 55 Chapter Four: Simulation Results 2015 The following steps are repeated for the same system with mode order 3 and 4 or 8PSK and 16PSK respectively, which means increasing the data rate. As shown in Fig. (4-14) and (4-15) the system is still robust for high data rate. For 4x4 antennas scheme with CC the 10-4 BER can achieved at 9 and 11.7 dB of SNR for 3 and 4 mode orders respectively. Note that although the performance is improved using CC with ZF decoder, but the BER increases at low SNR, this phenomenon seems clear whenever the mode order is increase 0 10 ZF ZF ZF ZF ZF ZF -1 10 SM 2x2 SM 3x3 SM 4x4 SMCC 2X2 SMCC 3X3 SMCC 4X4 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 35 40 SNR (dB) Figure (4-14): ZF decoder with 8-PSK and various antenna schemes As shown in Figure (4-15) for 16-PSK, note that the BER becomes larger than the BER in the case of ZF witout code, this is the drawback of such system or the payment versus the profit of previous gain. 55 Chapter Four: Simulation Results 2015 0 10 2x2 3x3 4x4 2x2 3x3 4x4 -1 10 SM SM SM SM&CC SM&CC SM&CC -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 35 SNR (dB) Figure (4-15): ZF decoder with 16-PSK and various antenna schemes Table 4.1 shows the summary of the results of the proposed system. SNR for 10-4 BER 2x2 3x3 4x4 No. of antennas ZF without code ZF with code ZF without code ZF with code ZF without code ZF with code BPSK 28 dB 6 dB 26 dB 4 dB 20 dB 3 dB QPSK 29dB 8.5 dB 25 dB 7 dB 22 dB 6 dB 8-PSK 35dB 11.5dB 31dB 10.5dB 28.5dB 9 dB 16-PSK 35 dB 15 dB 32 dB 13.5 dB 29.6 dB 12 dB Mode order 4.3.5 Simulation of SM with CC at code rate 2/3 It must pointed out here that code rate of convolution code used in all previous simulations was 1/2, that means the information bits is doubled with redundancy which reduces the data speed to half but the gain reduce the SNR significantly. 55 Chapter Four: Simulation Results 2015 To reduce the redundancy information added by CC, it can increase the data rate of such code. It has been tested this idea for proposed system, Figure (4-16) shows the results which shows that the code gain is reduced significantly. In addition the previous phenomenon becomes worst because the error is more than previuos case. As it is obvious from Figure (4-16) befor 10 dB of SNR the error with CC is more than error without code which make such code constitute a burden on the system. But it can reduce the effect of such phenomenon by increasing the number of antennas, as shown in Figure (4-16) the effect is reduced significantly for 5x5 antennas. Hence the importance of the use of MIMO system to increase the data rate with suitable reliability so that this research adopts such technique because it is efficient without more spectrum and complexity. 0 10 ZF ZF ZF ZF ZF ZF ZF ZF -1 10 SM 2x2 SM 3x3 SM 4x4 SM 5x5 SMCC 2X2 SMCC 3X3 SMCC 4x4 SMCC 5x5 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 30 35 SNR (dB) Figure (4-16): SM with CC of 2/3 code rate compared with SM without CC 16-PSK The summarized of comparison between results of code rate 1/2 and code rate 2/3 is listed in table (4.2). 55 Chapter Four: Simulation Results 2015 Table (4.2): Summarized of comparison results SNR for 10-4 BER Number of antenna 2x2 3x3 4x4 Mod order 16-PSK ZF for SM&CC With code rate 1/2 ZF for SM & CC With code rate 2/3 ZF for SM&CC With code rate 1/2 ZF for SM &CC With code rate 2/3 ZF for SM&CC With code rate 1/2 ZF for SM & CC With code rate 2/3 15dB 19dB 13.5dB 18dB 12dB 16dB 4.3.6 The simulation of SM with CC for different constraint length In this subsection it is discussed the relationship between the capability's convolution code on reducing the probability of erroneous and his complexity with constraint length, where reducing the constraint length leads to increase the BER and fewer complexity [43]. Figure (417) shows the BER of SM with CC with constraint length equals 7, 5 and constraint length equals 3. 0 10 cl=3 cl=5 cl=7 -1 10 -2 BER 10 -3 10 -4 10 0 5 10 15 20 SNR(dB) Figure (4-17): Comparison between ZF of SMCC with constraint length =7, ZF of SMCC with constraint length =5 and ZF of SMCC with constraint length =3. 51 Chapter Four: Simulation Results 2015 Here the number of antennas and the order of modulation are 2x2 and BPSK respectively, with code rate 2/3. It is obvious that the gain between ZF of SMCC for constraint length = 7 ZF of SMCC for constraint length = 3 is 6 dB of SNR to achieve 10-4 (BER) 4.4 The simulation of LDPC code This simulation is applied on LDPC code only and LDPC code with MIMO system to evaluate such systems by varying the number of iteration also comparing the results of SM without code, SM with convolution code, LDPC code –only and LDPC - MIMO. 4.4.1 Simulation of LDPC code only The first one is used LDPC - only with BPSK. Figure (4-18) shows the results of LDPC – only with several iterations. 0 10 LDPC-only, iteration=1 -1 10 LDPC-only, ierationt=2 LDPC - only, iteration=3 LDPC-only, iteration=4 LDPC-only, iteration=5 -2 10 -3 BER 10 -4 10 -5 10 -6 10 -7 10 6 6.5 7 7.5 8 SNR(dB) 8.5 9 9.5 10 Figure (4-18): LDPC – only with different iteration It is obvious that from Figure (4-18) that the all curves coincides as the number of iteration increased (i.e. above 5) 55 Chapter Four: Simulation Results 2015 4.4.2 Simulation of LDPC code with MIMO systems The last simulation is applied on LDPC code with MIMO system and has been compared with LDPC code – only, SM without code, SM with CC (constraint length = 3), SM with CC (constraint length = 5) and SM with CC (constraint length = 7). Figure (4-19) shows the comparison between them. It is clear that the LDPC – MIMO has the best result, Figure (4-19) shows that the gain between LDPC – MIMO and LDPC – only is 2 dB of SNR at 10-4 BER, while LDPC – MIMO getting gain of 10 dB of SNR as compared with SM with convolution code (constraint length = 3) to achieve the same BER. It has gain 3dB of SNR as compared with SM with convolution code (constraint length = 7) to achieve 10-4 (BER), where at 7dB of SNR the LDPC – MIMO is achieved 10-4 (BER) while the SM with convolution code (constraint length = 7) is achieved 7x10-3 of BER. 0 10 ZF SM 2x2 ZF SMCC 2x2 cl=3 ZF SMCC 2x2 cl=5 ZF SMCC 2x2 cl=7 LDPC-only LDPC-MIMO 2x2 -1 10 -2 BER 10 -3 10 -4 10 0 5 10 15 20 25 SNR(dB) Figure (4-19): The LDPC – MIMO with LDPC – only, SM without code and SM with code 55 Chapter Four: Simulation Results 2015 The researchers in [24] have been used LDPC code with MMSE decoder; as compared with convolution code they achieved 3 dB gains over convolution code for 2x2 MIMO at 10-3 BER. In contrast with this thesis the results here confirm that 5 dB with 3 constraint length and 3 dB with 7 constraint length at same BER of [24], which confirms that such scheme gives good results as compared with research like this work. On the other hand, the expected complexity is better than previous work because the decoder ZF compared with MMSE used in research [24]. Table (4-3) shows the summarized of the simulation parameters of LDPC - MIMO systems. Parameters value Number of bits used for transmission MIMO Encoding LDPC Code word size Number of parity bits in a code word Total number of bits in a code word Number of 1s in each row per sub matrix Code rate Modulation BPSK Channel model AWGN + Flat Fading detection ZF Decoding iterative decoding with BP Maximum iteration 4.5 The discussion of results The results of all previous simulations show that there are multiple indications can be discussed in the field of MIMO systems as following: 55 Chapter Four: Simulation Results 2015 1. For STBC it can be achieved a significant gain using this technique, it is clear that by increasing the number of antennas lead to more gain can be obtained with fixed amount of data rate. Where the gain between (2x2) and (4x4) is 7 dB at 10-4 BER. To increase data rate with high modulation order the BER will increase. 2. For SM three techniques of detection (ZF, MMSE, ML) are used, the results show that ML gives better performance especially when increase modulation order and/or number of antenna, but the complexity become huge amount for high modulation order and high number of antennas. 3. One of important aims of this work is to reduce the complexity of proposed system; it has been choice the ZF as suitable techniques in the side of complexity. On the other hand, the performance of ZF is the worst. As compare MMSE and ML. to address this problem it has been proposed to use channel code in addition to ZF. The results show that convolution code with ZF as detection of SM gives significant gain as compare as ML of SM without code. The result clear that 10 dB gain can achieved using convolution code in the case of 2x2 antennas, but this gain is reduce by increasing the number of antennas. 4. by comparison such techniques with various number of antennas and multi-level of modulation order, the results show that the convolution code is still robust with various schemes but it is noted that this scheme very poor at low SNR especially with high level of modulation order. 5. The problem of high redundancy can be addressed by increasing the code rate of convolution code, in this work it has been used 2/3 instead of 1/2 code rate the results are still is better case. 55 Chapter Five: Conclusions and Suggestion for Future Work 2015 Chapter Five Conclusions and Suggestion for Future Work 5.1 Conclusions Based on the observation of the results, we conclude the following: 1- Using STBC, it can be achieved low BER with relatively low SNR by increasing number of transmitted and or received antennas. In this research the adopted BER is 10-4 (for practical applications), it can be achieved at 3.5 dB for 4x4 antennas, so by increasing more antennas, it can be reached very low SNR. 2- For STBC when trying to raise the data rate by increasing the order of modulation. This system is still relatively stable when modulation order goes up from BPSK to QPSK (i.e. doubled data rate) with slight increase in SNR (adding 2dB more). But more degradation with high modulation order. 3- The results clear out that SM can get two benefits, increasing data rate linearity with increased number of antennas, also significant improvements in BER. In this research about 9 dB gain between 2x2 and 4x4 for BPSK if ML is adopt, with reservations on the complexity associated with ML at high number of antennas. But in this research it has been adopted ZF decoder for less complexity. 4- ZF decoder with its low complexity can be supported by adding CC. in comparison with ML decoder which get better BER the ZF is outperform ML in all levels of modulation, but the payments is the redundancy information added by CC which reduced the data rate according to code rate. 07 Chapter Five: Conclusions and Suggestion for Future Work 2015 5- The performance of SM-CC can be improved by increasing the constraint length but additional payments will occur because the complexity of CC came from increasing the constraint length in the encoder and decoder in addition to delay time. 6- Better performance can be achieved for LDPC decoding by designing special and suitable parity check matrix which leads to low BER at only 5 iterations. 7- The proposed system SM-LDPC is outperformed SM-CC by 5 dB at 10-4 BER, in spite of using long constraint length of CC. Also the proposed structure contains ZF as a decoder which make it less complexity. An addition using only 5 iteration for LDPC decoding makes such scheme efficient and suitable for real time communication applications. 5.2 Suggestions for future works This research can be extended in future including the following suggestion: 1- Extend the LDPC decoder for up modulation order and high number of antennas, but this leads to special structure and more complex computations for very large matrices of simulations. 2- Implementation of proposed system of this research using Field Programing Gate Array (FPGA) for the purpose to approaching reality. 07 References 2015 References [1] M. Shahid "Modeling, Simulation and Performance analysis of (MIMO) systems with multicarrier time delay diversity modulation" M.Sc. Thesis. Naval Postgraduate School September 2005 [2] J. Fitzpatrick "Simulation of (MIMO) wireless system" Dublin City University School of Electronic Engineering, April 2004 [3] O. Roy "Optimal Estimator-Detector Receivers for Space-Time Block Coding" Master thesis, School of Computer and Communications Sciences (I&C). March 2004 [4] A. G. Wadday, S. A. Alseyab, A. S. Abdullah "Capacity Improvement of Space Time Block Code Spatial Modulation for Three Transmit Antennas" (IJIPM) Volume3, Number1. January 2012 [5] C. C. Chiau "Study of the Diversity Antenna Array for the MIMO Wireless Communication System" Ph.D. thesis, Department of Electronic Engineering Queen Mary, University of London, April 2006. [6] A. Vadhera and L. Kansal "BER analysis of 2X2 MIMO SM under AWGN and Rician channels for different modulations techniques" (IJWMN) Vol. 5, No. 5, pp 85-98, October 2013. [7] J. C. Moreira, P. G. Farrell "Essentials of error-control coding" The British Library, 2006 [8] B. Gupta and D. S. Saini "Performance of Concatenated Optimized Irregular LDPC Code with Alamouti Coded MIMOOFDM Systems" Wseas transaction Son Communications, Issue 5, Volume 12, pp 208-218, May 2013. [9] P. Suthisopapan, K. Kasai, V. Imtawil, and A. Meesomboon, " 27 References 2015 Approaching Capacity of Large MIMO Systems by Non-Binary LDPC Codes and MMSE Detection", IEEE International Symposium on Information Theory Proceedings, pp 17121716, 2012 (IVSL). [10] F. Chan and D. Haccoun "Adaptive Viterbi Decoding of Convolutional Codes over Memoryless Channels" IEEE Transactions on communications, Vol. 45, No. 11, pp 13891400, November 1997 [11] R. G. Gallager "Low-Density Parity-check codes" Number 21 in Research monograph series. MIT Press, Cambridge, Mass, 1963 [12] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,” Electronics Letters, vol. 32, no. 18, pp. 1645-1646, Aug. 1996. [13] N. Mobini " New Iterative Decoding Algorithms for LowDensity Parity-Check (LDPC) Codes" Ottawa-Carleton Institute for Electrical and Computer Engineering, M.Sc. Thesis, August, 2011 [14] B. Vucetic and J. Yuan "Space-Time Coding" John Wiley & Sons, British Library Cataloguing in Publication Data, TK5102.92.V82 2003. [15] J. Garg, K. Gupta and P. K. Ghosh "Performance Analysis of MIMO Wireless Communications over Fading Channels" International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering Vol. 2, Issue 4, pp 1272- 1302, April 2013 [16] H. H. Tang and M. C. Lin "On Convolutional Codes With Low Trellis Complexity" IEEE Transactions on 27 References 2015 communications, Vol. 50, No. 1, pp 37- 47, January 2002 [17] A. Shokrollahi "LDPC Codes: An Introduction" April 2, 2003 [18] F. Heliot " Design and Analysis of Space-time Block and Trellis Coding Communications Schemes Systems", for Ph.D. Single-Band Thesis, Centre UWB for Telecommunications Research, Department of Electronic Engineering, King’s College London, May 2006. [19] A. S. Hiwale and Dr. A. A. Ghatol "Capacity and Performance Analysis of Space-Time Block Codes in Rayleigh Fading Channels", wseas Transactions on Communications. Issue 12, Volume 6, pp 861- 866, December 2007. [20] N. Yang "A family of space-time blocks codes for wireless communications", Electrical Engineering Dissertations. IRIS Northeastern University, January 01, 2008. [21] L. G. Ordonez, "Performance Limits of Spatial Multiplexing MIMO Systems", Ph.D. Thesis, Technical University of Catalonia, 2009. [22] D. K. Sharma, A. Mishra & Rajiv Saxena "Analog & Digital Modulation Techniques" TECHNIA International Journal of Computing Science and Communication Technologies, ISSN 0974-3375, VOL. 3, NO. 1, pp 551- 561, July 2010. [23] I. G. P. Astawa, Y. Moegiharto, A. Zainudin, I. D. A. Salim and N. A. Anggraeni "Performance Analysis of MIMO-OFDM Using Convolution Codes with QAM Modulation" International Journal of Electrical, Computer, Electronics and Communication Engineering Vol.7, No.12, pp 1254- 1257, 2013 [24] T. Deepa and R. Kumar "Performance Evaluation of LDPC 27 References 2015 Coded MIMO Transceiver with Equalization" IEEE. International Conference on Recent Trends in Information Technology (ICRTIT), pp 147 -151, 2013. (IVSL) [25] A. Tripathi, K. Arora " Different Channel coding techniques in MIMO-OFDM" IOSR Journal of Electronics and Communication Engineering (IOSR-JECE), Volume 9, Issue 5, Ver. 1, PP 65-68, Sep - Oct. 2014. [26] A. Haroun, C. A. Nour , M. Arzel and C. Jego "Low- Complexity layered BP-based Detection and Decoding for a NB-LDPC Coded MIMO System" Wireless Communications Symposium, pp 5107- 5112, IEEE ICC 2014. (IVSL) [27] Z. Lijun, L. Bing and C. Leelung "Construction of Type-II QC LDPC Codes Based on Perfect Cyclic Difference Set" Chinese Journal of Electronics, Vol.24, No.1, pp 147- 151, Jan. 2015. [28] Y. S. Cho, J. Kim, W. Y. Yang, C. G. Kang " MIMO-OFDM wireless communications with MATLAB" Library of Congress Cataloging, 2010. [29] M. Myllyla "Detection Algorithms and architectures for wireless Spatial Multiplexing in MIMO-OFDM systems" University of Oulu, 2011. [30] N. Prabakaran, Dr. K. S. Shaji " Performance Analysis of downlink MIMO in 2X2 mobile WIMAX system" Indian Journal of Computer Science and Engineering, Vol. 3, No.6, pp 835- 838, Dec 2012-Jan 2013 [31] L. G. Ordonez, D. P. Palomar, and J. R. Fonollosa " On the Diversity, Multiplexing, and Array Gain Tradeoff in MIMO Channels" ISIT, Austin, Texas, U.S.A, pp 2183-2187, IEEE, 2010. 27 References 2015 [32] A. Paulraj, R. Nabar, D. Gore "Introduction to Space – Time Wireless Communications" Cambridge University Press, 2003. [33] M. Jankiraman "Space-Time Codes and MIMO Systems" Library of Congress Cataloging, 2004. [34] E. G. Larsson and P. Stoica "Space-Time Block Coding for Wireless Communications" Cambridge University Press 2003. [35] C. E. Shannon "A Mathematical Theory of Communication" The Bell System Technical Journal, Vol. 27, PP. 379.423, 623.656, July, October, 1948. [36] M. B. Abchuyeh "Multilevel Space-Time Trellis Codes for Rayleigh fading channels", M.Sc. Thesis, University of Canterbury Christchurch, New Zealan. [37] M. Tao "Space-Time Coding Schemes for Wireless Communications over Flat Fading Channels" Ph.D. Thesis, The Hong Kong University of Science and Technology, June 2003. [38] N. Morinaga, R. Kohno and S. Sampei "Wireless Communication Technologies: New Multimedia systems" Kluwer Academic Publishers New York, Boston, Dordrecht, London, Moscow, 2002. [39] N. Costa and S. Haykin " Multiple-Input, Multiple-Output channel models" Library of Congress Cataloging, IEEE, 2010. [40] S. M. Alamouti "A Simple Transmit Diversity Technique for Wireless Communications" IEEE Journal on select areas in communications, vol. 16, No. 8, pp 1451-1458, October 1998. [41] M. Drieberg, Y. Kuan and V. Jeoti, "A Simple Channel Estimation Method for MIMO-OFDM in IEEE 802.16a", IEEE, pp. 585-588, 2004 [IVSL]. [42] A. Hadi, “MIMO System over Wireless Mobile Radio Channel 27 References 2015 Using FPGA”, M. Sc. Thesis, Deptartment of Electrical Engineering, University of Technology, August, 2011. [43] I. Basturk, "Iterative Channel Estimation Technique For Multiple Input Multiple Output Orthogonal Frequency Division Multiplexing Systems", M. Sc. Thesis, Dept. of Electrical and Electronics Engineering, Izmir Institute of Technology, July, 2007. [44] A. Neubauer, J. Freudenberger and V. Kuhn "Coding Theory Algorithms, Architectures, and Applications" British Library Cataloguing, 2007. [45] P. Elias, "Coding for noisy channels," in 1055 IRE Nat Conv. Rec., Vol. 3, pt. 4, pp; 37-46,1955. [46] A. Kumar, P. Tripathi, Amrita "Performance Evolution of MIMO-OFDM System with Efficient Coding" International Journal Of Engineering Research & Management Technology IJERMT, Volume-1, Issue-2, pp 349 -352, March- 2014. [47] Neha, G. M. Rather "Convolution error control coding" Proceedings of 18th IRF International Conference, pp 57-60, 11th January 2015. [48] A. R. S. Bahai, B. R. Saltzberg and M. Ergen "Multi-Carrier Digital Communications Theory and Applications of OFDM" Springer Science + Business Media, Inc., 2004. [49] A. J. Viterbi "Convolutional Codes and ’Their Performance in Communication Systems" IEEE Transactions on Communications technology, Vol. Com-19, No. 5, pp 751-772, October 1971. [50] S. S. Wang "A State-Reduction Viterbi Decoder for Convolutional Codes with Large Constraint Lengths" MS.C. Thesis, Department of Communications Engineering, National 22 References 2015 Chiao Tung University, June, 2002. [51] G. Renuka "Error Performance of Decoding of LDPC over AWGN Channel" International Journal of Emerging Technology and Advanced Engineering, Vol. 2, Issue 6, pp 263 -271, June 2012. [52] B. M. J. Leiner "LDPC Codes – a brief Tutorial" April 8, 2005. [53] S. J. Johnson "Introducing Low-Density Parity-Check Codes" ACoRN Spring School version 1.1, University of Newcastle Australia, 2004. [54] T. J. Richardson and R. L. Urbanke "Efficient Encoding of Low-Density Parity-Check Codes" IEEE Transactions on information theory, Vol. 47, No. 2, pp 638-656, February 2001. [55] R. Singh, Aparna P "Study of LDPC Codes" International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 – 0882, Volume 3 Issue 1, pp 64-67, April 2014. [56] Ch. Studer, "Iterative MIMO Decoding: Algorithms and VLSI Implementation Aspects", PhD Thesis, ETH ZURICH, 2009. [57] J. Liu, "Novel LDPC coding and decoding strategies: design, analysis, and algorithms", PhD Thesis, University of York, 2012. 27 Appendix 1. The encoding of LDPC codes Ex1. Hopping to encode the length 10 rate-1/2 LDPC code: ( ( ) ) ( ) is put into form so that any column that contains a leading one has zeros everywhere else ( ) Lastly, put the parity-check matrix column permutations A into standard form by using ( ) A solution is to keep track of the column permutation used to create , which is [ ] and apply the inverse permutation to each codeword before it is transmitted. ( ) Finally, with parity-check matrices and a generator Ǧ for the code is given by: ( ) and by the following equation the codeword can be obtained: Ex2. Hopping to encode the message [ ] with the same Length 10 rate-1/2 LDPC code by using linear-time encoding for LDPC codes: By swap the 2-nd and 3-rd rows and 6-th and 10-th columns to obtain [ ] B = [ ] with a gap of two. Once in upper triangular format, for clear E, Gauss-Jordan elimination is applied, which is equivalent to multiplying [ by ] To give ̃ [ ] [ ̃ ] ̃ Where ̃ And ̃ Continue to have [ ] and [ ] [ C ] To give ̃ [ ] Finally, to encode using ̃ the codeword ( ), where [ [ ], ] is the -bit message, [ ] [ ( The codeword ( ̃ =[ ] ), must satisfy the parity-check equation ̃ ̃ ) and so ][ [ ] ] [ ] As is upper-triangular, then the bits in can be calculated by using back substitution. [ ] and the codeword is [ ] 2. The decoding of LDPC code A. Hard-decision Decoder For illustrating the hard-decision decoder, it used a (4, 8) linear block code. Figure 1 represented the code, its corresponding parity check matrix D is an error free codeword is receive [ ] . So [ ] . Suppose was error. [ ] Figure 1: Belief propagation example code The algorithm is as follow: 1. In the first step, For instance, message node receives a 1 ( it sends a message containing 1 to check nodes and illustrates this step. E . Table 1 =1), so Table1 Hard-decision decoder, the check nodes activities for code in Figure1 Check activities nodes →1 receive →1 0→ send 0→ →1 receive →1 0→ →1 1→ send 0→ →0 1→ →1 receive →1 1→ →1 0→ send 0→ →0 0→ →0 receive →1 1→ →1 0→ send →0 1→ →0 1→ →0 0→ 0→ 2. In the second step, from using the received messages from step1 every check nodes compute a response to their connected message nodes. In Table1, check node believes to receives from has ( , from , from thus it ) and sends that information back and so on. At this point, if all the equations at all check nodes are satisfied and the values they receive match the calculated values from the check nodes, the algorithm finishes. If not, passing on to step 3. 3. In step 3, by majority rule to decide if the bit at their position is , the message nodes use the information they get from the check nodes. The message nodes then send this hard-decision to their associated check nodes. Table 2 illustrates this step. To do it obvious, let look at message node . It receives Together with what it has from and check nodes. = , it decides that its real value is . It then transmits this data back to check nodes F and . 4. Repeat step until either exit at step or a maximum number of iterations has been executed. Table 2: Hard decision decoder, Message nodes Decisions for code of Figure 1 Message Messages from check nodes nodes decision 1 →0 →1 1 1 →0 →0 0 0 →1 →0 0 1 →0 →1 1 0 →1 →0 0 1 →0 →1 1 0 →0 →0 0 1 →1 →1 1 G % STBC program clc close all clear all % Define system parameters numTx = 3; numRx =3 ; Rs = 1e6; maxDopp = 20; ... numBits =1260; BER=0;M=32 ; snr=20; % Create modulator and encoder System objects % hModulator = comm.PSKModulator(16,'BitInput',true); hMod = comm.PSKModulator(M,... 'BitInput', true,... 'SymbolMapping', 'Gray'); hDemod = comm.PSKDemodulator(M,... 'SymbolMapping', 'Gray',... 'BitOutput', true); hOSTBCEnc = comm.OSTBCEncoder(... 'NumTransmitAntennas', numTx); hOSTBCComb = comm.OSTBCCombiner(... 'NumTransmitAntennas', numTx,... 'NumReceiveAntennas', numRx); % Create MIMO channel System object hChan = comm.MIMOChannel(... 'SampleRate', Rs,... 'MaximumDopplerShift', maxDopp,... 'NumTransmitAntennas', numTx,... 'NumReceiveAntennas', numRx,... 'TransmitCorrelationMatrix', eye(numTx),.... 'ReceiveCorrelationMatrix', eye(numRx),... 'PathGainsOutputPort', true); for mm=1:500 mm % Create AWGN channel System object for SNR=1:snr hAWGN = comm.AWGNChannel(... 'NoiseMethod', 'Signal (SNR)',... 'SNR',SNR,... 'SignalPower', 1); to % Generate data data = randi([0 1], numBits, 1); % Modulate data modData = step(hMod, data); % Encode modulated data using OSTBC encData = step(hOSTBCEnc, modData); % Transmit through Rayleigh and AWGN channels noise ratio [chanOut, pathGains] = step(hChan, encData); rxSignal = step(hAWGN, chanOut); % Decode and demodulate received signal decData = step(hOSTBCComb, rxSignal, squeeze(pathGains)); receivedData = step(hDemod, decData); % Compute number of bit errors in received data [ errors, rate] = biterr(data, receivedData); rate1(SNR)=rate; % fprintf(1, ['\nThere were %d errors in the received signal ' ... % 'out of %d bits transmitted\n'], errors, length(data)); end BER=BER+rate1; end BER=BER/mm; SNR=1:snr; semilogy(SNR,BER); axis([1, snr, 10^-5,1]) xlabel('SNR'); ylabel('BER'); % xlabel('SNR(dB)'); % ylabel('BER'); % This program is to simulate spatial multiplexing with Convolutional code clc clear all close all N = 2; % Number of Transmit antennas M = 2; % Number of Receive antennas nn=20; % value of snr EbNoVec = 0:nn; % Eb/No in dB modOrd = 1; % constellation size = 2^modOrd numSym = N; % number of symbols % Create a local random stream to be used by random number generators for % repeatability. hStr = RandStream('mt19937ar'); % Get all bit combinations for ML receiver bits = de2bi(0:2^(modOrd*N)-1, 'left-msb')'; % Split them per Transmit antenna b = zeros(N, modOrd, length(bits)); for i = 1:length(bits) b(:, :, i) = reshape(bits(:,i), modOrd, N)'; end % Preallocate variables for speed dist = zeros(length(bits), 1); % [BER_ZF, BER_MMSE, BER_ML] = deal(zeros(1, length(EbNoVec))); % t = poly2trellis(7,[171 133]);%(consrants length,generator polynomial) % t = poly2trellis(5,[23 35]);%(consrants length,generator polynomial) t = poly2trellis(3,[5 7]);%(consrants length,generator polynomial) tb = 30; % Traceback length % Create QPSK mod-demod objects hMod = modem.pskmod('M', 2^modOrd, 'SymbolOrder', 'gray', 'InputType', 'bit'); hDemod = modem.pskdemod(hMod); % Loop over selected EbNo points for idx = 1:length(EbNoVec) idx % nErrs_zf = 0; nErrs_mmse = 0; nErrs_ml = 0; % nBits = 0; % while ( ((nErrs_zf < 100) || (nErrs_mmse < 100) || (nErrs_ml < 100)) ... % && (nBits < 1e4)) % Create array of bits to modulate % source = modulate(hMod, msg); msg = randi([0 1],10000*N, 1); % mm1=convenc(msg,t,[1 1 0 1 1 1 0 1]); mm1=convenc(msg,t); mm=reshape(mm1,numel(mm1)/N,N); XDzf=[]; XDmmse=[]; XDml=[]; for kk=1:modOrd:length(mm) uu=mm(kk:kk+modOrd-1,:); % Modulate data source = modulate(hMod, uu); % Split source among N transmitters (symbol-wise) Tx = reshape(source, N, numel(source)/N); clear source; % Flat Rayleigh Fading - independent links RayleighMat = (randn(hStr, M, N) + 1i*randn(hStr, M, N))/sqrt(2); % Calculate SNR from EbNo snr = EbNoVec(idx) + 10*log10(modOrd); % Add channel noise power to faded data r = awgn(RayleighMat*Tx, snr, 0, hStr); clear Tx; r_store = r; % Assume perfect channel estimation H = RayleighMat; % Zero-Forcing SIC receiver E_zf = zeros(modOrd, numSym); k = zeros(N, 1); % Initialization G = pinv(H); [val, k0] = min(sum(abs(G).^2,2)); % Start Zero-Forcing Nulling Loop for n = 1:N % Find best transmitter signal using minimum norm k(n) = k0; % Select Weight vector for best transmitter signal w = G(k(n),:); % Calculate output for transmitter n and demodulate bitstream y = w * r; E_zf(:, k(n):N:end) = reshape(demodulate(hDemod, y), modOrd, numSym/N); XDzf(kk:kk+modOrd-1,:)=E_zf; XD1=reshape(XDzf,1,[]); % Subtract effect of the transmitter n from received signal z = modulate(hMod, demodulate(hDemod, y)); r = r - H(:, k(n))*z; % Adjust channel estimate matrix for next minimum norm search H(:, k(n)) = zeros(M, 1); G = pinv(H); for aa = 1:n G(k(aa), :) = inf; end [val, k0] = min(sum(abs(G).^2,2)); end % Restore variables for next receiver H = RayleighMat; r = r_store; % MMSE SIC receiver E_mmse = zeros(modOrd, numSym); k = zeros(N, 1); % Initialization G = (H'*H + N/(10^(0.1*snr))*eye(N)) \ H'; [val, k0] = min(sum(abs(G).^2,2)); % Start MMSE Nulling Loop for n = 1:N % Find best transmitter signal using Min Norm k(n) = k0; % Select Weight vector for best transmitter signal w = G(k(n),:); % Calculate output for transmitter n and demodulate bitstream y = w * r; E_mmse(:, k(n):N:end) = reshape(demodulate(hDemod, y), modOrd, numSym/N); XDmmse(kk:kk+modOrd-1,:)=E_mmse; XD2=reshape(XDmmse,1,[]); % Subtract effect of the transmitter n from received signal z = modulate(hMod, demodulate(hDemod, y)); r = r - H(:, k(n))*z; % Adjust channel estimate matrix for next min Norm search H(:, k(n)) = zeros(M, 1); G = (H'*H + N/(10^(0.1*snr))*eye(N)) \ H'; for aa = 1:n G(k(aa), :) = inf; end [val, k0] = min(sum(abs(G).^2,2)); end % Restore variables for next receiver H = RayleighMat; r = r_store; % ML receiver for i = 1:2^(modOrd*N) % Signal constellation for each bit combination sig = modulate(hMod, b(:, :, i)').'; % Distance metric for each constellation dist(i) = sum(abs(r - H*sig).^2); end % Get the minimum [notUsed, val] = min(dist); E_ml = b(:,:,val)'; % detected bits XDml(kk:kk+modOrd-1,:)=E_ml; end % XD3=reshape(XDml,1,[]); dd1 = vitdec(XD1,t,tb,'trunc','hard',[1 1 0 1 1 1 0 1]); % Decode. dd2 = vitdec(XD2,t,tb,'trunc','hard'); % Decode. dd3 = vitdec(XD3,t,tb,'trunc','hard'); % Decode. dd1 = vitdec(XD1,t,tb,'trunc','hard'); % Decode. dd2 = vitdec(XD2,t,tb,'trunc','hard'); % Decode. dd3 = vitdec(XD3,t,tb,'trunc','hard'); % Decode. [num1,rate1]=biterr(dd1,msg'); [num1,rate1]=biterr(dd1,msg'); num1(idx)=num1; rat1(idx)=rate1; [num2,rate2]=biterr(dd2,msg'); num2(idx)=num2; rat2(idx)=rate2; [num3,rate3]=biterr(dd3,msg'); num3(idx)=num3; rat3(idx)=rate3; end snr=0:nn; semilogy(snr,rat1,'-b*') axis([0, nn, 10^-7,1]) xlabel('SNR'); ylabel('BER'); % Draw the lines % semilogy(EbNoVec, rat1, 'r-', EbNoVec, rat2, 'b-', ... % EbNoVec, rat3, 'g-'); % hold off; الخالصة أهم نوع من انواع ال MIMOهو ال ( Spatial Multiplexing (SMالذي يستخدم لزيادة معدل البيانات اعتمادا على عدد الهوائيات في جهة االرسال واالستقبال. مشكلة ال SMهي وجود نسبة خطأ كبيرة عند قيم القدرة القليلة .ولتفادي المشكلة يجب زيادة قيمة القدرة ولكن هذا الحل ال يتالئم مع متطلبات انظمة االتصاالت الحديثة. في هذه الرسالة قد تم التحقق من اداء ال ) Space Time Block Code (STBCو ,SM وكما هو متوقع ان ال STBCيزيد وثوقية البيانات وال SMيزيد من معدل البيانات مع نسبة خطأ ملحوظة .ثالثة انواع للكشف قد جربت مع ال ,SMهي ML, MMSEو. ZF بينت النتائج ان اداء الكاشف MLيفوق كال من الكواشف . ZF,MMSEولكن كما هو معروف ان درجة التعقيد لكاشف MLتتناسب اسيا مع رتبة التضمين وعدد هوائيات االرسال. ومن النتائج ايضا استنتجنا بان الكاشف ZFهو االبسط وبإقل اداء. المقترح هو اضافة تشفير القناة الى نظام SMوضمان عمل النظام بدرجة تعقيد قليلة .بدأت التجارب مع مشفر االلتفاف لدعم اداء .SMوقد انجز تحسين كبير باستخدام الكود مع الكاشف . ZFو بينت النتائج ان هناك كسب بحدود .dB01وهذا على حساب كمية المعلومات المضافة, التي يمكن تقليلها باستخدام تقنية .puncturing ايضا درجة التعقيد ل Viterbi decoderتتناسب اسيا مع مع طول .constraint النوع الثاني المقترح للتشفير هو Low Density Parity Check (LDPC) codeبعوامل مناسبة لضمان جودة اداء النظام بدرجة تعقيد بسيطة .اذ ان النتائج بينت ان االخير المقترح يفوق مشفر االلتفاف ب dB3بدرجة تعقيد مقبولة وباقل عدد من التكرار. جمهورية العراق وزارة التعليم العالي والبحث العلمي الجامعة المستنصرية كلية الهندسة قسم الهندسة الكهربائية موثوقية نقل بيانات بمعدل عالي بإستخدام متعدد المداخل والمخارج لقناة متعددة المسارات رسالة مقدمة الى قسم الهندسة الكهربائية – الجامعة المستنصرية كجزء من متطلبات نيل درجة الماجستير في علوم الهندسة الكهربائية (الكترونيك واتصاالت) من قبل إيمان أحمد فرحان بإشراف االستاذ المساعد الدكتور رعد حمدان ظاهر االستاذ المساعد الدكتور محمود فرحان مصلح نيسان جمادى االخر 5102 0341