International Journal of Pure and Applied Mathematics Volume 114 No. 11 2017, 221-230 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu BER Analysis of BPSK for Block Codes and Convolution Codes Over AWGN Channel 1 V. Pushpa, 2 H. Ranganathan and 3 M. Palanivelan 1 Sakthi Mariamman Engineering College, Chennai. pushpa.paulvictor@gmail.com 2 Gojan School of business and Technology, Chennai. ranlal@yahoo.com 3 Rajalakshmi Engineering College, Chennai. velan.research@gmail.com Abstract This paper presents the Bit Error Rate (BER) Comparison of BPSK in AWGN by considering block codes and convolution codes. Hamming codes, cyclic codes, BCH codes, RS codes, convolutional codes are designed and the BER performance was measured for an AWGN channel. All the codes have been compared in terms of BER and energy per bit to noise ratio. All the simulation was done using MATLAB R2013b software. In general convolutional codes demonstrate better performance. Key Words: Bit error rate (BER), additive white gaussian noise (AWGN), Bose chaudhuri hocquenghen (BCH) code, reed-solomon code Energy per Bit to noise power (Eb/No), codeword length (n), message length (k), constraint length (L). 221
International Journal of Pure and Applied Mathematics 1. Introduction Digital communication is a rather unique field in engineering in which theoretical ideas had an extraordinary impact on the design of actual systems. Information Source Encoder Modulator Channel Output Decoder Demodulator Figure 1: Basic elements of a digital communication system Fig1 illustrates the basic elements of a digital communication system. The source may be either an analog signal such as audio or video signal or a digital signal, such as the output of a computer. The sequence of binary digits from the source are encoded and modulated for transmission over a channel. During the transmission the signal get corrupted by noise, distorted and attenuated channel noise can be added at the transmitter along the path and in the receiver This noise may be additive Gaussian white noise, various forms of multiplicative noise channels can also introduce systematic and random distortions, fading and variation in propagation delay, possibly even leading to transposition noise where some portion of the signal arrive out of sequence. At the receiver end the data are extracted by demodulation, decoding and then sent to sink. 2. Digital Communication Model Implementation Communication models implemented using MATLABR 2013, There are different types of modulation like BPSK, QPSK, 16 PSK, 32 PSK etc. Each modulation has its own error function. A. Binary Phase Shift Keying (BPSK) Binary PSK is the simplest form of PSK. In BPSK, the pair of signals S 1 (t) and S 2 (t) are used to represent binary symbols 1 and 0 respectively, is defined by S 1 (t ) = (2Eb\No)/Tb cos(2πfct) S 2 (t)= 2Eb\No)/Tb cos(2πfct+π) = - (2Eb\No)/Tb cos(2πfct) Where 0 t Tb and Eb is the energy transmitted signal energy per bit. 222
International Journal of Pure and Applied Mathematics The bit error rate for coherent BPSK is Pe=1/2 erfc ( Eb/No). B. AWGN Channel Additive White Gaussian noise channel is the most common type of noise added over the channel. It is white because it has a constant power spectral density. It is Gaussian because its probability density function can be accurately modeled to behave like a Gaussian distribution [6] 3. Different Error Correcting Code Models In coding theory forward error correction or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. FEC is accomplished by adding redundancy or parity data to the transmitted information using algorithm. It can be recovered by a receiver even when a number of errors were introduced either during the transmission or on storage. Since the receiver does not have retransmission of the data a back channel is not required in forward error correction and it is suitable for simplex communication such as broadcasting. Communication system can be improved by coding the signals to service channel impairments (channel coding) and reduce their redundancy (source coding). There are mainly two types of channel encoding namely block coding and convolution coding. Block codes are processed on a block by block basis (M=2 K ). In block coding, a block of k information bits are encoded into a block of n bits known as codeword (n>k).totally 2 K code words are possible. Code rate is given by R c =k/n. Block coding schemes are memory less.[3] Convolutional codes are processed on a bit by bit basis. In convolutional coding each k bits information symbol to be encoded and transformed in to n bit called as codeword such that n>k and transformation is a function of the last L information symbols where L is the constraint length of the code. Code rate is defined be same as that of the block codes [4]. BER=Total number of errors / Total number of bits transmitted. A. Without Code Model In without coding model no coding has been used. The digital data is modulated by using BPSK over AWGN channel. By using randn function10,000 bits are generated and modulated with BPSK modulation and transmitted over AWGN channel. At the receiver the signal gets demodulated and compared with original transmitted data bits, the bit error rate is calculated. 223
BER BER International Journal of Pure and Applied Mathematics BER for BPSK in AWGN chanel Figure 2: BER for BPSK in AWGN channel without code B. Hamming codes In the late 1940 s Claude Shannon was developing information theory and coding as a mathematical model for communication. At the same time, Richard Hamming, a colleague of Shannon s at Bell Laboratories found a need for error correction in his work on computers. Parity checking was already being used to detect errors in the calculations of the relay based computer of the day, and Hamming realized that a more sophisticated pattern of parity checking allowed the correction of single errors along with the detection of double errors. Thus reliable communication is possible when the Hamming distance between the transmitted and received bit patterns is less than or equal to one. Hamming codes are the earliest and simple example of linear block codes. The parameters of Hamming code are (n, k) block code[4] Code length= n Number of information bits=k Number of parity check bits m=n-k To calculate number of check bits the equation used by 2 m (m+k+1) BER for BPSK in AWGN channel With Hamming code(7,4) With Hamming code(7,4) Figure 3: BER for BPSK in AWGN channel with Hamming code 224
BER International Journal of Pure and Applied Mathematics In hamming coding technique as number of data bits increases, more number of error control bits is required to generate encoded bits as per Hamming code. In hamming coding M=2 3 is taken 10,000 bits are transmitted through a frame at Eb/No=2 db the Bit Error Rate is 0.0110. Bit error rate is reduced after implementing hamming code (7, 4) technique. Comparison of BER Hamming code (7, 4) and without coding is shown in Fig3. Error probability at different Eb\No is shown in table1. C. Cyclic Codes Cyclic codes were first studied by Prange in 1957. Cyclic codes form an important subclass of linear codes. These codes are attractive for two reasons. Encoding and syndrome computation can be implemented easily by employing shift registers with feedback connections (or sequential circuits). They have considerable inherent algebraic structure; it is possible to find various practical methods for decoding them.[4] BER for BPSK in AWGN channel With Cyclic code(7,4) With Cyclic code(7,4) Figure 4: BER for BPSK in AWGN channel with cyclic code (7.4) A (n, k) linear code C is called a cyclic code if every cyclic shift of a code vector in c is also a code vector in C. This does not mean every code vector have the same weight. There are groups of code vectors with the same weight. Simulation with cyclic code (7, 4) and without code is shown in Fig4. the Bit Error Rate is 0.0107. at Eb\No=2 db D. Bose Chaudhuri Hocquengham (BCH) Codes In coding theory the BCH codes form a large class of powerful random error correcting cyclic codes which have been the subject of much academic attenuation in the last fifty years. BCH were invented in 1959 by Hocquengham, and independently in 1960 by Bose and Ray-Chaudhuri. The acronym BCH comprises the initials of these inventor s names. [4] For any positive integer s m (m 3) and t (t<2 m -1), there exists a binary BCH code with the following parameters: 225
BER International Journal of Pure and Applied Mathematics BER for BPSK in AWGN channel With BCH(7,4) With BCH(7,4) Figure 5: BER for BPSK in AWGN channel with BCH code (7, 4) Block length n=2 m -1 Number of parity check bits: n-k mt Minimum distance d min 2t+1 Clearly, this code is capable of correcting any combination of t or fewer errors in a block of n=2 m -1 digits and named as a t error correcting BCH code.[4] The simulation of BPSK with BCH code (7, 4) is shown in Fig5. BER 0.0103 at EbNo=2 db is E. Reed- Solomon Codes In coding theory, Reed Solomon (RS) codes are non binary cyclic error correcting codes invented by Irving S.Reed and Gustave Solomon. They described a systematic way of building codes that could detect and correct multiple random symbol errors. By adding t check symbols to the data. An RS code can detect any combination of up to t erroneous symbols, or correct up to (t/2) symbols. A t error correcting Reed Solomon codes, with symbols from GF (q) has the following parameters [3] Block length n=2 m -1 Message size=k Number of parity check digits: n-k=2t Minimum distance d min =2t+1 Number of correctable symbol in error t= (n-k)/2 226
BER BER International Journal of Pure and Applied Mathematics Comparative analysis of RS coding is with and without coding shown in graph The simulation of BPSK with RS code (7, 5) is shown in Fig6. BER is 0.0347 at EbNo=2 db BER for BPSK in AWGN channel With RS(7,5) With RS(7,5) Figure 6: BER for BPSK in AWGN Channel with RS Code. (7, 5) F. Convolutional Codes A convolutional code is a type of error correcting code was first mentioned by Elias in 1955. In convolutional code, each k bit information symbol to be encoded is transformed into an n- bit symbol, where k/n is the code rate (n k) and the transformation is a function of the last L information symbols, where L is the constraint length of the code. Constraint length is the number of bits that the encoder uses to encode n bits.[3] BER for BPSK in AWGN channel With Convolutional Code With Convolutional Code Figure 7: BER for BPSK in AWGN channel with convolutional Code. Convolutional codes are often characterized by the base code rate and the depth (memory) of the encoder (n, k). The base code rate is typically given as n/k, where n is the input data rate and k is the output symbol rate. The depth is also 227
BER International Journal of Pure and Applied Mathematics as constraint length K. Convolutional code that generates parity symbols via the sliding application of a Boolean polynomial function to a data stream. The sliding application represents the convolution of the encoder over the data, which gives rise to the term convolution coding. The simulation of BPSK with convolutional code (7, [171 133]) is shown in Fig7. BER is 0 at Eb/No=2 db Simulation of BPSK with Hamming code(7,4).cyclic code(7,4),bch code(7,4),rs code(7,5) and convolutional code(7, [171 133]) are shown in Fig8, The various Eb/No values and bit error rate values are summarized in Table 1. BER for BPSK with Various codes in AWGN channel AWGN Theory Withou code Hamming code Cyclic code BCH code RS code Convolutional code Figure 8: BER for BPSK in AWGN channel with block codes and convolutional codes Table 1: BER for BPSK Modulation with Various Codes Transmitting of 10,000 Bits Eb\No (db) Hamming code Cyclic code BCH code RS code Convolutional code 0 0.0798 0.0509 0.0460 0.0453 0.0840 0.0101 1 0.0540 0.0291 0.0257 0.0220 0.0457 0.0006 2 0.0415 0.01.0107 0.0103 0.0347 0.0000 3 0.0219 0.0036 0.0051 0.0046 0.0097 0.0000 4 0.0131 0.0015 0.0013 0.0014 0.0048 0.0000 5 0.0074 0.0002 0.0003 0.0003 0.0009 0 6 0.0028 0.0000 0.0001 0.0000 0.0001 0 7 0.0007 0.0000 0.0000 0.0000 0.0000 0 8 0.0003 0.0000 0.0000 0.0000 0.0000 0 9 0.0000 0 0 0 0 0.0000 0 0 0 0 0 4. Conclusion We concluded that from the simulation of transmitting 10000 bits using BPSK modulation with different error control methods convolutional coding performs better than the linear block codes. The Bit Error Rate for the Hamming code and cyclic codes are almost performed same, At 2 db Convolutional code BER become zero. In Liner Block codes BCH codes provides the better performance and convolutional codes performs better than the block codes. 228
International Journal of Pure and Applied Mathematics Acknowledgement The authors are thankful to ICSIE journal for the support to develop this paper, References [1] Sarnin, Suzi Seroja, Norasimah Kadri, Aiza Mahyuni Mozi, Norfishah Ab Wahab., Nani Fadzlina Naim, Performance Analysis of BPSK and QPSK using error correcting code through AWGN, International Conference on Networking and Information Technology (ICNIT) (2010), 178-182. [2] Madankar, Minal M., Ashtankar P.S, Performance analysis of BPSK modulation scheme for different channel conditions, In IEEE Students' Conference on Electrical, Electronics and Computer Science (SCEECS) (2016), 1-5. [3] Pandey, Manika, Vimal Kant Pandey, Comparative Performance Analysis of Block and Convolution Codes, International Journal of Computer Applications 119(24) (2015). [4] Nandaniya, Jayshree S., Nilesh B. Kalani., Kulkarni G.R, Comparative analysis of different channel coding techniques, Int. J. Comput. Netw. Wirel. Commun 4 (2014), 84-89. [5] Simon Haykin, Communication Systems, 4th Edition, John Willey & sons, Inc. [6] Proakis., John G. Companders. John Wiley & Sons, Inc. (2001). 229
230