VHDL Design and FPGA Implementation of R
VHDL Design and FPGA Implementation of R
II. RS BASICS
I. INTRODUCTION The RS code is represented as RS (n,k) where n is code size in
In practical communication system data or information symbols, k is message size in symbols and 2t is number of
may get corrupted by noise during transmission. Now a day parity symbols (n-k).
as demand is continuously increasing for development of
reliable telecommunication and wireless systems, it is
important to detect and correct errors in the information
received over communication channels. Therefore error
control coding is important in communication system design
for various applications.
Reed Solomon codes [1] are systematic linear block error Figure 1: Structure of RS code word [2]
correcting codes and these are sub class of non binary BCH The relation between symbol size m, and code size n is given
error correcting codes. RS codes operate on the information by
by dividing the message stream into blocks of data. Then
redundancy can be added as per block depending only on the (1)
current inputs. The symbols are elements of a finite field or
Galois Field (GF). Galois field is used for encoding and For RS(7,3) symbol size is m=3 and maximum correcting
decoding of Reed Solomon codes. GF multipliers are capability is t=2, given by
563
ISSN: 2278 – 7798
All Rights Reserved © 2014 IJSETR
International Journal of Science, Engineering and Technology Research (IJSETR), Volume 3, Issue 3, March 2014
(9)
[8]
For t=2, g(X) has 2t=n-k=4 roots. Table 1: Contents of shift register
[8] Msg R3 R2 R1 R0
By solving we get, Symbol
Initially 0 0 0 0
(3)
The message polynomial is α α4 α α2 α4
(4) α3 α4 α0 α5 α2
Transmitted codeword is α5 α α4 α4 α3
[5] (5)
Transmitted symbol:
IV. RS DECODER
In communication system while transmitting input message
codeword through channel noise may get added to it. Thus
RS decoding [4], [5] includes detection and correction of
errors at the receiver. Received codeword after being
corrupted can be represented as
(10)
Figure 2: Architecture of RS Encoder
where, e(x) is error polynomial with same degree as c(x) and
r(x). The transmitted message c(x) is then recovered by
The encoder reads three message symbols, computes the adding received message, r(x) to error polynomial, e(x) as
parity symbols as 7-3=4 for total n symbols. The RS encoder shown in equation 11
consists of 2t linear feedback shift register [3] where each
register is of 3 bits size. Generator polynomial coefficients
are given to the multiplier coefficient. The coefficients (11)
produced will be symbols such that polynomials will exactly
divide the parity polynomial. The process continues till all RS decoding technique involves following steps:
the 3 symbols of m(x) are given as input to the encoder. Thus 1. Calculating the syndromes from the received
during this time, the input switch is enabled while keeping codeword.
the output i.e. parity switch disabled. For each clock cycle 2. Computing the error locator polynomial.
parity symbols are generated. After the last message symbol 3. Finding the error locations.
is given as input to the encoder and parity symbols are 4. Computing error values.
obtained, the output switch is enabled. In this way we obtain
the parity symbols at the last clock cycle. Hence a new block
can be started at the (n+1)th clock pulse.
564
All Rights Reserved © 2013 IJSETR
International Journal of Science, Engineering and Technology Research (IJSETR), Volume 3, Issue 3, March 2014
V. SYNTHESIS RESULTS
(12)
(13)
3) Forney algorithm:
Forney algorithm calculates error values ei by using error
locator polynomial σ(x) and error magnitude polynomial Figure 6: Gate level schematic of RS Encoder
Ω(x).
565
ISSN: 2278 – 7798
All Rights Reserved © 2014 IJSETR
International Journal of Science, Engineering and Technology Research (IJSETR), Volume 3, Issue 3, March 2014
board [9]. [8] Petrus Mursanto, ―Generic Reed Solomon Encoder”, Makara, Sains,
Vol. 10, No.2, pp. 58-62, November 2006.
[9] ― Microsemi ProASICs flash family FPGAs datasheet‖, Revision 13.
Author’s Photo
Mayura Bhujade was born in Pune, India on 10th
December 1992. She is currently pursuing the
under graduate course Bachelors of Engineering
in Electronics and telecommunication at
Figure 7: ProASIC3 FPGA kit Rajarshi Shahu College of Engineering.
ACKNOWLEDGMENT
At the first we would like to thank our guide Prof.S.C.Wagaj
for giving us opportunity and support to work on this project.
We express sincere thanks to our friends who helped us
directly and indirectly for this work.
.
REFERENCES
[1] I. S. Reed and G.Solomon, ―Polynomial Codes Over Certain Finite
Fields”, Journal of the Society of Industrial and Applied Mathematics,
pp.300-304, 1960 printed in U.S.A.
[2] Aqib Al Azad and Md Imam Shahed, ―A Compact and Fast FPGA Based
Implementation of Encoding and Decoding Algorithm Using Reed
Solomon Codes‖, International Journal of Future Computer and
Communication, vol.2, no. 6, pp.- 31-35, February 2014.
[3] Mustapha Elharoussi, Asmaa Hamyani and Mostafa Belkasmi, ―VHDL
Design and FPGA Implementation of a Parallel Reed-Solomon(15,K,D)
Encoder/Decoder‖, International Journal of Advanced Computer
Science and Applications(IJACSA), Vol. 4, No. 1, 2013.
[4] Bhawna Tiwari and Rajesh Mehera, ―Design and Implementation of
Reed Solomon Decoder for 802.16 Network using FPGA‖, IEEE Signal
Processing, Computing and Control (ISPCC) , Date of Conference:
15-17 March 2012, Conference Location :Waknaghat Solan.
[5] Kenny Chung Chung Wai & Dr. Shanchieh Jay Yang, ―Field
Programmable Gate Array Implementation of Reed-Solomon Code,
RS(255,239)‖ , Date of Conference: 2010, Conference Location:
Chicago.
[6] I.S. Reed, M.T. Shih, T, K. Truong, ―VLSI design of inverse free
Berlekamp-Massey algorithm‖, Proceeding of Computers and Digital
Techniques, Vol. 138, pp.295-298, 1991.
[7] Aqib Al Azad, Minhazul Huq, Iqbalur. Rahman Rokon, ―Efficient
Hardware Implementation of Reed Solomon Encoder and Decoder in
FPGA using Verilog‖, International Journal of Advancements in
Electronics And Power Engineering(ICAEPE’2011), Bangkok,
Dec.2011.
566
All Rights Reserved © 2013 IJSETR