34
PERFORMANCE ANALYSIS OF FREE SPACE OPTICAL (FSO) COMMUNICATION USING DIFFERENT CODING SCHEMES Performed by : Nidhi Gupta, 63/EC/07 Rupinder Singh, 83/EC/07 Siddi Jai Prakash, 101/EC/07 Electronics and Communication Division Netaji Subhas Institute of Technology, Delhi Mentored by: Prof. Subrat Kar Dept. of Electrical Engineering IIT Delhi Dr. S.P. Singh Electronics and Communication Division Netaji Subhas Institute of Technology, Delhi

PERFORMANCE ANALYSIS OF FREE SPACE OPTICAL (FSO) COMMUNICATION USING DIFFERENT CODING SCHEMES

  • Upload
    lexiss

  • View
    97

  • Download
    0

Embed Size (px)

DESCRIPTION

PERFORMANCE ANALYSIS OF FREE SPACE OPTICAL (FSO) COMMUNICATION USING DIFFERENT CODING SCHEMES. Performed by : Nidhi Gupta, 63/EC/07 Rupinder Singh, 83/EC/07 Siddi Jai Prakash , 101/EC/07 Electronics and Communication Division Netaji Subhas Institute of Technology , Delhi. - PowerPoint PPT Presentation

Citation preview

BTP_PPT

PERFORMANCE ANALYSIS OF FREE SPACE OPTICAL (FSO) COMMUNICATION USING DIFFERENT CODING SCHEMESPerformed by :

Nidhi Gupta, 63/EC/07Rupinder Singh, 83/EC/07Siddi Jai Prakash, 101/EC/07

Electronics and Communication DivisionNetaji Subhas Institute of Technology, DelhiMentored by:

Prof. Subrat KarDept. of Electrical Engineering IIT DelhiDr. S.P. SinghElectronics and Communication DivisionNetaji Subhas Institute of Technology, DelhiFree Space Optical Communication (FSO)Features High Data Bandwidth of 2000 THzLow BER, High SNRNarrow Beam SizePower Efficient and Data SecurityCheap Quick to deploy and redeploy In telecommunications,Free Space Optics(FSO) is an opticalcommunicationtechnology that uses light propagating in freespace to transmit data between two points. The technology is usefulwhere the physical connections by the means of fiber optic cablesareimpractical due to high costs or other considerations.

Terrestrial FSO Block Diagram

ERROR CORRECTING CODESError correcting codes are used to overcome the limitations of the FSO channel.In computer science and telecommunication, error detection and correction or error control are techniques that enable reliable delivery of digital data over unreliable communication channels.There are two types of error control codes namely block codes and convolution codes.

Here we use RS codes, Convolutional and Low Density Parity codes(LDPC) codes to determine the coding gain and hence the performance of the FSO communication channel.

Figure Convolutional Encoder

Convolutional codes are performed on bit to bit basis. m-bit information symbol (each m-bit string) to be encoded is transformed into an n-bit symbol, where m/n is the code rate (n m) transformation is a function of the last k information symbols, where k is the constraint length of the code, using the generator matrix.

CONVOLUTIONAL CODESFigure: Trellis Diagram

Viterbi decoder allows optimal decoding. It is a finite state machine. The memory devices values are encoded to a codeword using a generator matrix

Implementation in MATLAB Encoding using the function convenc using a trellis structure trellis[msg_enc_bi, stateEnc] = convenc(msg_orig, trellis, stateEnc)

Decoding using the function vitdec and hard decoding[msg_dec, metric, stateDec, in] = vitdec(msg_demod_bi(:), trellis, tblen, 'cont', 'hard', metric, stateDec, in)

Low-Density Parity-Check Code(LDPC Codes)Introduction

LDPC (Low Density Parity Check) codes are linear error-correcting codes characterized by sparse bipartite graphs.

In the adjacent figure, if G be a graph with n left nodes (message nodes) and k right nodes (check nodes), the graph gives rise to a linear code of block length n and dimension at least (n k) in the following way: The codewords are those vectors (c1;......; cn) such that for all check nodes the sum of the neighbouring positions among the message nodes is zero. n represents the total number of bits in a codeword. k represents the number of information bits in a codeword. (n-k) represents the number of parity bits in a codeword.

Sparse Matrix

Sparse Matrix is a matrix representation of the sparse bipartite graph.It is an (n-k) x n matrix:With binary values (0,1)That has the value 1 at (i,j) if there exists an edge between ith check node and jth message node, and 0 at othersThe last n-k columns in H must be an invertible matrix in GF(2)

Encoding in MATLABMATLAB has a fixed size of sparse matrix 32400 x 64800Hence, we generate our own custom sparse matrix.We then generate Parity Check bits using LU decomposition of sparse matrixFinally, we solve for c in L(Uc) = B.s, where H = [A|B], s = input vectorDecoding

The input to the LDPC decoder is the log-likelihood ratio (LLR), L(ci), which is defined by the following equation:

where ci is the ith bit of the transmitted codeword, c.

Quoted in Log Domain Decoding of LDPC code in GF (q) by Henk W.,the algorithm, called simple Log Domain decoding, express log-likelihood calculations in the form of sums and products.

Advantage: Computationally less expensive.Since were not calculating probability, simplified log-domain decoder does not need noise variance information.

The Optimized AlgorithmThere are three key variables in the algorithm: L(rji), L(qij), and L(Qi). L(qij) is initialized as L(qij) = L(ci). For each iteration, update L(rji), L(qij), and L(Qi) using the following equations:

At the end of each iteration, L(Qi) provides an updated estimate of the log-likelihood ratio for the transmitted bit ci.The soft-decision output for ci is L(Qi). The hard-decision output for ci is 1 if L(Qi) < 0 , and 0 otherwise.

They are non-binary cyclic codes.Denoted by R-S (n,k) on m-bit symbols. where, m is the no. of bit sequences in a symbol, k is the number of data symbols being encoded, and n is the total number of code symbols in encoded block.The condition to be satisfied by variables is -0 < k < n < 2m + 2For the most conventional R-S (n, k) code,(n, k) = (2m - 1, 2m - 1 - 2t)where, t is the error correcting capability of the coden - k = 2t is the number of parity symbols.

Reed Solomon Code(RS Codes)

Figure A pictorial representation of the transmitted bits after Reed Solomon Encoding.

For Reed- Solomon codes, the code minimum distance is given by dmin = n - k + 1The code is capable of correcting any combination of t or fewer errors, where t can be expressed as

In the simulation, we have used M = 5 is the no. of bit sequences in a symbol, K = 127 is the number of data symbols being encoded, andN = 255 is the total number of code symbols in encoded block.Therefore, Code Rate = 127/255 ~ 0.5

Modulation SchemesAdaptive OOK

PPM

Communication ChannelsLognormal:

Gamma-Gamma:

RESULTS4-PPM under Lognormal (var=0.1)

The plot above gives a comparison of the coding techniques with 4-PPM under lognormal channel. Till BER=10-1.4, all the coding techniques have a negative coding gain. Below 10^-1.4, convolutional codes have a positive coding gain and below 10^-1.9, coding gain for RS becomes positive as well. The coding gain for LDPC is negative throughout and hence its use is not recommended in this system.184-PPM under Lognormal (var=0.01)

The RS and Convolutional schemes have the highest coding gains, except for BER values above 10-0.95 where Convolutional codes have a negative coding gain. LDPC codes have a negative gain throughout the experimental range. Among RS & Convolutional codes, the former has a very high coding gain, except for the BER range 10-1.4 to 10-2 where the latter has an advantage.194-PPM under Lognormal (var=0.001)

The RS and Convolutional schemes have the highest coding gains, except for BER values above 10-0.95 where Convolutional codes have a negative coding gain. LDPC codes have a negative coding gain throughout the experimental range. Among RS & Convolutional codes, the former has a very high coding gain, except for the BER values above 10-1 where the latter has an advantage.20OOK under Lognormal (var=0.1)

The convolutional codes are at an outstanding advantage in this scenario, since for BER values below 10-0.95, they have an extremely high coding gain which increases at a significant rate. The BER value of RS codes increases with increasing SNR and hence their use is not recommended. The LDPC codes have a nominal positive coding gain throughout the experimental range.21OOK under Lognormal (var=0.01)

The LDPC codes have an increasing and highest coding gain throughout the observed values of BER. RS and Convolutional schemes have a negative coding rate until BER value=10-1.4, below which they, too, show a significant increase in coding gain.22OOK under Lognormal (var=0.001)

OOK modulation under lognormal channel with variance = 0.001, the RS codes are clearly the best coding scheme employed. They have a high and increasing coding gain for BER values below 0.1. The convolutional codes have a positive coding gain only for BER values below 10-1.2, which increases significantly thereafter, but is not more than that of RS. The LDPC coding scheme has a negative coding gain throughout the experimental range and hence its use should be avoided.234-PPM under Gamma-Gamma (var=0.1)

In this case, the RS and Convolutional schemes have the highest coding gains, except for BER values above 10-0.95 where Convolutional codes have a negative coding gain. LDPC codes have a negative gain throughout the experimental range. Among RS & Convolutional codes, the former has a very high coding gain, except for the BER range 10-1.1 to 10-2.95 where the latter has an advantage.244-PPM under Gamma-Gamma (var=0.01)

In this case, the RS and Convolutional schemes have the highest coding gains, except for BER values above 10-0.95 where Convolutional codes have a negative coding gain. LDPC codes have a negative gain through major part of the experimental range. Among RS & Convolutional codes, the former has a very high coding gain, except for the BER range 10-1.1 to 10-2.9 where the latter has an advantage.254-PPM under Gamma-Gamma (var=0.001)

The RS and Convolutional schemes have the highest coding gains, except for BER values above 10-0.95 where Convolutional codes have a negative coding gain. LDPC codes have a negative gain throughout the experimental range. Among RS & Convolutional codes, the former has a very high coding gain, except for the BER range 10-1 to 10-2.85 where the latter has an advantage.26OOK under Gamma-Gamma (var=0.1)

In this case, Reed Solomon (RS) codes seem to have an advantage over the other schemes, since they have the least BER throughout the experimental range of SNR. Also, their coding gain shows a significant increase after BER values beyond 10-2. Covolutional codes have a small negative coding gain until BER=10-1.5, beyond which their coding gain shows a high increase. LDPC codes exhibit a negative coding gain until BER=10-4.4, beyond which their coding gain is positive but nominal.27OOK under Gamma-Gamma (var=0.01)

For a variance of 0.01, the LDPC codes have the highest coding gain until BER=10-3.5. It is only after this value that RS code emerges as the technique with highest coding gain. As evident from the plot, convolutional coding is not the technique of choice in this scenario, confirmed by its negative coding gain for BER values higher than 10-1.6.28OOK under Gamma-Gamma (var=0.001)

Similar to the previous analysis, LDPC codes again have an edge over the other techniques, but this time for the entire experimental range. Also, RS codes have a coding gain quite close to LDPC. Here again, convolutional coding is not the technique of choice.29Effect of PPM index on curve (LDPC)

A comparison of PPM indexes; considered here is the LDPC coding scheme under a lognormal channel with variance 0.1, and code rate 0.5. A plot of BER vs. SNR for different indexes of PPM very clearly shows that the higher the PPM index, the lower the BER for a particular SNR. Though the advantage decreases with increase in SNR, but is still an advantage, hence a higher PPM index should be favoured for any value of SNR.30Effect of Coding Rate on Coding Gain

This plot provides quite an insight into the dependence of coding gain on code rate of RS codes. The coding gain increases steadily from 6.9 at a code rate 0.26 until it reaches its maximum value of 7.7 at 0.5. Any further increase in code rate is not recommended, since the coding gain decreases at a significant rate beyond this optimal value of 0.5. Also, the coding gain goes negative beyond a code rate of 0.75.31Effect of Coding Rate on Coding Gain

For a different outlook on the relation between coding gain and code rate, a lognormal channel with a variance of 0.01 is considered here, for RS codes. For BER values till 10-2.25, the code rate of 0.62, or higher values in general, seems optimal. Beyond this BER value, the lower code rates show a high increase in the coding gain, and thus should be favoured.32Recommendation for Future WorkOne can investigate the effects ofMedium turbulence channels, namely gamma-gamma using Accept Reject Method.High turbulence channels, namely exponential on the BER in the communication link. Implement more coding techniques like Turbo coding and Trellis coded modulation (TCM).References:M. Karimi, M. Nesiri-Kenari, BER Analysis of Cooperative Systems in Free-Space Optical Networks J. of Lightwave Technology, vol. 27, no. 24, pp. 5637-5649, Dec 15, 2009E. W. B. R. Strickland, M. J. Lavan, V. Chan, Effects of fog on the bit-error rate of a free space laser Communication system, Appl.Opt., vol. 38, no. 3, pp. 424431, 1999. M. Uysal, J. Li, and M. Yu, Error rate performance analysis of coded free-space optical links over gamma -gamma atmospheric turbulence channels, IEEE Trans . Wireless Communication, vol. 5, no. 6, pp.12291233, 2006.L. Andrews, R. Phillips, C. Hopen, Laser Beam Scintillation With Applications. New York: SPIE Press, 2001.Bernard Sklar, Reed Solomon Codes.Stephen B. Wicker, Vijay K. Bhargava, An introduction to Reed Solomon Codes. Ghassemlooy, Z. And Popoola, W.O Terrestrial Free Space optical Communication.Gallager, Robert G., Low-Density Parity-Check Codes, Cambridge, MA, MIT Press, 1963.Amin Shokrollahi, LDPC Codes: An introduction, Digital Fountain, Inc, April 2, 2003Henk Wymeersch, Heidi Steendam and Marc Moeneclaey, DIGCOM research group, TELIN Dept., Ghent University, Log-domain decoding of LDPC codes over GF(q).