Anda di halaman 1dari 5

JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 13 ISSUE 1, MAY 2012 16

Error Coding for Wireless Communication


Trushita Chaware, Nileema Pathak
Abstract802.16 wireless communication system uses one of different types of Channel Coding methods (Forward Error Correcting methods), but the mandatory channel coding scheme is based on Convolutional Turbo Coding (CTC). Concatenated Reed Solomon codes and Convolution Codes also can be used. Drawback of this implementation is requirement of complex interleaver at the encoder and a complex decoding algorithm. The Turbo Product Code (TPC) is a relatively new code that offers a wide range of flexibility in terms of performance, complexity, and code rate. In TPC the use of interleaver can be avoided and also the decoding process can be simplified. The use of extended Bose-Chaudhuri-Hocquenghem (eBCH) as a constituent code of TPC is proposed to achieve multiple error correction at a higher code rate and data rate. An eBCH code has more powerful random error correcting capability over the AWGN channel compared to other codes. Implementation of TPC (eBCH) with QPSK modulation, AWGN channel type and 1/3 or higher code rate in 802.16 systems is proposed in this paper.

Index Terms CTC, eBCH, TPC, Wimax.

1 INTRODUCTION
802.16 or commonly called Worldwide Interoperability for Microwave access (WiMAX) provides specifications for both fixed Line of sight (LOS) communication in the range of 10-66GHz (802.16c), and fixed, portable, NonLOS communication in the range of 2-11GHz (802.16a, 802.16d). This system supports a high data rate communication (typically 75Mbps). At a high rate, error coding methods can be used to reduce the Bit Error Rate (BER).

2 ERROR CODING METHODS


Turbo product codes (TPC) and Convolutional Turbo codes (CTC) are by their nature very different coding systems one is built by the combination of simple Hamming or BCH codes in a 2, 3 or n dimensional array. The other is built by iterating between two Convolutional decoders with an interleave process between the codes to spread out the error bursts. This inherent difference in the nature of the codes results in differences in the error correction characteristics. A general comparison for parameters of CTC and TPC can be done based on following parameters [1]: Code Rate: CTCs perform best for low code rate applications where as TPCs perform best for high code rate applications Data Rate: CTCs will have difficulty achieving high data rates where as TPCs can operate at high data rates Error Floor: CTCs exhibit error floor at BERs below 10-5 where as TPCs error floor (flare) is less pronounced and at lower BER values 2.2 Convolutional Turbo Codes The encoder of Convolutional Turbo Code (CTC) consists of two concatenated recursive convolutional encoders fed by interleaved versions of the information bits. This class of Convolutional Turbo Codes is called

The limit on data rate given by Shannons limit is as follows R<W log2 (1 + S/N) [Bits/sec] Efficient communication systems are systems that permit a high rate of information to be communicated with the lowest possible power and least BER. This can be achieved by using error coding techniques before modulating the data at the transmitter. These codes make it possible to detect and correct errors by adding redundant bits to the message. Commonly used error correcting methods for a wireless medium are Convolutional Turbo Codes (CTC). Turbo Product Codes (TPC) can be used instead of CTC and the performance of the wireless communication system can be analysed. TPC with eBCH as a constituent code provides further benefits because e BCH codes can be decoded easily using the syndrome method and it can be used for multiple random error correction.

17

a parallel concatenated Convolutional Code. Figure. 1 illustrates the structure of the CTC encoder in 802.16 specifications. The encoder is fed by each block (encoder packet) consisting of N bits and the block is divided into two subblocks (A, B) consisting of N/2 bits. The encoder generates the subblocks (A, B) encoded systematically, the subblocks (Y1, W1) encoded by A and B, and the subblocks (Y2, W2) encoded by the interleaved versions of A and B [2]. The decoding algorithm for CTC employs two softin, soft out (SISO) decoding modules to iteratively improve the confidence metric for each transmitted information bit. The SISO, in its full form, requires a forward and reverse traversal of a trellis which increases the complexity of decoding.

codes can be built with large minimum Hamming distance. Figure. 2 shows the procedure for construction of a 2D product code using two block codes C1 and C2. All the rows of matrix P are the code words of C1 and all the columns of matrix P are code words of C2.

Fig.2 An example of a 2D product code constructed using two component codes

Fig. 1 CTC Encoder for 802.16 System

2.3 Turbo Product Codes Another iterative decoding algorithm, known as Turbo Product Codes (TPCs), has been shown to provide performance equivalent to the CTC, but with a much lower level of complexity, suitable for hardware applications. TPCs are constructed from simple linear block codes (typically simple parity or Hamming codes). A Turbo Product Code is a concatenation of two block codes on which the principle of turbo or iterative soft-input/soft-output (SISO) decoding can be applied in a phased manner. The decoding process is iterated several times feeding the output of second component decoder back to the input of the first decoder. A product code may be viewed as a relatively large code built from smaller block codes. [3] 2.4 Encoding of TPC A two-dimensional product code is built from two component codes with parameters C 1 (n 1, k1, d1) and C2 (n 2, k2, d2), where n i, ki, di stand for code word length, number of information bits, and minimum hamming distance respectively [3].The product code P = C1 X C2 is obtained by placing (K1 X K2) information bits in an array of K1 rows and K2 columns. The parameters of product code P are n =n1 X n2, K=K1 X K2, d=d1 X d2 and code rate is R = R1XR2, where Ri is the code rate of Ci, Thus very long block

2.5 Other benefits of using TPC The benefits of using TPC are as follows: Longer battery life - Less transmit power required from the battery operated device using TPC. IP free encoder - No IP license required for encoding. Cores and inexpensive decoding IC's available Standard ICs are available providing the required functionality thus, the TPC implementation price increase is minimal. Lowest cost solution - A very low cost encoder, smaller batteries, smaller packages; it all adds up to reduced cost and improved performance [4].

3 DECODING OF TPC
3.1 Soft Decoding of Linear Block Codes In Hard decision decoding, received pulses are sampled and the resulting voltages are compared with a single threshold. If a voltage is greater than the threshold it is considered to be definitely a 'one' say regardless of how close it is to the threshold. If it is less, it is definitely zero. In soft decision decoding we get not only the 1 or 0 decision but also an indication of how certain we are that the decision is correct.

18

One way of implementing this would be to make the threshold detector generate instead of 0 or 1, say: 000 (definitely 0), 001(probably 0), 010 (maybe 0), 011 (guess 0), 100 (guess 1), 101 (maybe 1), 110 (probably 1), 111(definitely 1). We may call the last two bits 'confidence' bits. This is easy to do with eight voltage thresholds rather than one. Turbo Product codes can be decoded by sequentially decoding the rows and columns of P in order to reduce decoding complexity. However, to achieve optimum performance, one must use Maximum Likelihood Decoding (soft decoding) of the component codes. Thus, we need softinput/ soft-output decoders to maintain optimum performance when decoding the rows and columns of P. 3.2 Chase Algorithm The Trellis based Maximum A posteriori Probability( MAP) decoding (soft decoding), used for CTC decoding, provides a good BER performance but it is very much computationally intensive. Instead of using trellis based MAP algorithm, the Chase algorithm is repeatedly applied along rows/columns for TPC in order to obtain extrinsic information for each bit position. Chase algorithm is used to obtain soft output. Chase initially used a method of finding the Euclidean distance between code words (2k) for filtering them for decoding. Each codeword is surrounded by a sphere of radius (d - 1)/2. Thus, a unique codeword, or equivalently a unique error pattern, is obtained by a binary decoder if the received sequence is within one of these spheres. In our case there is a unique error pattern Z = Y EXORXa within the sphere of radius (d - 1)/2 which surrounds Y as shown in Figure 3. [5]

Fig.3 Geometric sketch for decoding with channel measurement information

3.3 Chase Pyndiah Algorithm This algorithm generates Test patterns using least reliable bits p (p least reliable bits are found using a reliability sequence obtained by soft decoding of received signal). Test patterns for p=2 are shown in Figure 4.

Fig.4 Test Pattern generated by Chase Algorithm, p=2

3.4 Steps for Chase Pyndiah Algorithm Generate a reliability sequence rabs = (|r1|, |r2|, . . .|rn+1|) and a binary received sequence y = (y1, . . . , yl . . , yn). Determine the p least reliable bit positions of sequence y using rabs. Form 2p test pattern sequences tj, j = 1, ... 2p which consist of all combinations of binary sequences containing the p least reliable bits of y.

19

Determine the 2p perturbed sequences zj = y tj, j = 1, 2, . . . , 2p Decode perturbed sequences zj and obtain valid codeword set cj , where j = 1, 2, . . . , 2p Calculate analog weight of valid codeword set Estimate the maximum likelihood (ML) codeword d from valid codeword set Compute extrinsic information for receivedsignal and is used to arrive at a solution i.e the decoded message.[3]

The BER Verses Eb/N0 is plotted for a TPC(eBCH) (64, 51, 6) with code rate of 0.635 and 6 iterations as shown in Figure 6.

4 ITERATIVE DECODING
The decoding procedure described below is generalized by cascading elementary decoders illustrated in Figure 5. Let us consider the decoding of the rows and columns of a product code P described above and transmitted on a Gaussian channel using BPSK signalling. On receiving matrix [R] corresponding to a transmitted codeword [E], the first decoder performs the soft decoding of the rows (or columns) of P using as input matrix [R]. Soft-input decoding is performed using the Chase algorithm (as given in above Section) and the soft output is computed.[6]

Fig. 6 BER versus Eb/N0 of product code [BCH(64, 51) on a AWGN channel using QPSK

TPCs are the most efficient known codes for high code rate applications. For code rates greater than 0.95, digital transmission systems can transmit data on a Gaussian channel at more than 98% of channel capacity R/C > 0.98 by guarantee of a minimum distance of 16, 36 (or more), while the minimum distance of a CTC can be relatively small. Because of high dmin (typically 16 or higher) there is no error floor for TPC. Another attractive application for TPC concerns highdata-rate systems. Indeed, the decoding speed of a TPC can be increased by using several elementary decoders for the parallel decoding of the rows (or columns) of a product code since they are independent. [3] 4.2 TPC in 802.16 Systems

Fig.5 Iterative Decoding of TPC

4.1 TPC with Iterations TPC code (Hamming code as constituent code) with number of iteration has been tested in an AWGN channel. The iterative decoding of product codes is also known as Block Turbo Code (BTC) because the concept is quite similar to turbo codes based on iterative decoding of concatenated recursive convolutional codes. Performance on the Gaussian channel indicates that data transmission at 0.8 dB of Shannons limit or more than 98% (R=C > 0.98) of channel capacity can be achieved with high-code rate BTC using only four iterations.[3]

IEEE 802.16 standard for Broadband Wireless Access and its associated industry consortium, Worldwide Interoperability for Microwave Access (WiMAX) forum promise to offer high data rate over large areas to a large number of users where broadband is unavailable. Taking the advantage of Orthogonal Frequency Division Multipleing (OFDM) technique the PHY layer is able to provide robust broadband service. The basic principle of OFDM, is to divide a high-rate data stream into N lower rate streams and to transmit them at the same time over a number of subcarriers. In OFDM high bit rate data is divided into N low bit rate parallel data streams and then transmitted simultaneously with deferent frequencies

20

OFDM systems are implemented using a combination of fast Fourier Transform (FFT) and inverse fast Fourier Transform (IFFT) blocks. The effect of ISI on an OFDM signal can be further improved by the addition of a guard period to the start of each symbol. This guard period is a cyclic copy that extends the length of the symbol waveform. The block diagram of a general Wimax system is as follows:

TPCs have an inherent flexibility in code rate (0.2 to 0.98) and large block sizes to meet all most any requirement whether it be a single carrier or multiple carrier (OFDM) system.

REFERENCES
1] http://www.aha.com. Improving Bandwidth Utilization with Turbo Product Codes [2] Sung-Joon Park, Member, IEEE, and Jun-Ho Jeon Interleaver Optimization of Convolutional Turbo Code for 802.16 Systems IEEE Communication Letters, Vol. 13, No. 5, May 2009 [3] R. Pyndiah, Near-Optimum Decoding of Product Codes: Block Turbo Codes IEEE Trans. Comm., vol. 46, pp.1003-1010 [4] Brian A. Banister, Ph.D Using Turbo Product Codes in Client Station Uplink for Reduced Power Consumption Comtech AHA Corporation.

Fig.7 OFDM

4.3 Results of Implementing TPC in 802.16 Systems TPC is used as the Forward Error Correction (FEC) method at the transmitter. TPC block is created using eBCH (64,39) code. Chase algorithm is applied for 5 iterations for decoding the TPC at the receiver. TPC when implemented in a 128 point FFT OFDM system, with QPSK modulation, for 5 iterations at the receiver, provides the following total number of errors for given Eb/N0. The block size is fixed at 1024 bytes.

[5] D. Chase A class of algorithms for decoding block codes with channel measurement information IEEE Transactions on Information Theory, IT-18 No.1, 1972. [6] Yejun He, Francis C.M. Lau *, Chi K. Tse, Study of bifurcation behaviour of two-dimensional turbo product code decoders [7] Digital Communications Fundamentals and Applications 2ND Edition by Bernard Sklar. [8] Richard E. Blahut Theory and Practice of Error Control Codes Addison-Wesley, 1983.

Eb/N0( dB) 1 0.5 0 -0.5 -1

Iteration 1 43 144 184 294 533

Iteratio n 2 25 73 160 268 541

Itertion 3 1 25 56 215 482

Iteration 4 0 0 13 73 380

Itertion 5 0 0 0 24 242

Table 1. Eb/N0 & Number of Error

CONCLUSION

With the above results, TPC can be implemented in 802.16 systems for high code rate and data rate applications. The Chase Algorithm used in iterations, to decode TPC, helps to improve the Bit error rate to a large extent. The number of errors has been observed to drop down to zero in less than 4 iterations for Eb/N0 being 1 db and above.

Anda mungkin juga menyukai