SlideShare a Scribd company logo
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1607 | P a g e
Design and Implementation of FPGA System to Reduce Reed-
Solomon Errors
Md. Taj1
, P Srinivas2
, S. Nagaraju3
1
Dept.of ECE Nimra College of Engineering & Technology, Jupudi, Vijayawada-India.
2
Assistant Professor Dept.of ECE Nimra College of Engineering & Technology, Vijayawada, India.
3
Assistant Professor Dept.of ECE VLITS Vadlamdui Guntur, India.
ABSTRACT
The data reliability has become an
important issue in most communication and storage
systems for high speed operation and mass data
process. Various error correction code are provided
for improving data reliability. A Reed-Solomon code
is quite suitable for burst errors, but in case of
random errors, it has some difficulty. For MLC
NAND flash memories, Bose- Chaudhuri-
Hocquenghem (BCH) codes are frequently used.
BCH codes provide flexible code length and
variable range of error correcting capability.
However, NAND flash memory systems process with
the large size of data such as a page or a block unit.
Hence, BCH codes may not be appropriate for a
NAND flash controller.
We propose product Reed- Solomon (RS) code for
non-volatile NAND flash memory systems. Reed-
Solomon codes are the most diversely used in data
storage systems, but powerful for burst errors only.
In order to correct multiple random errors and
burst errors, another efficient decoding algorithm is
required. The product code composing of column-
wise Reed-Solomon codes and row-wise Reed-
Solomon codes may allow decoding multiple errors
beyond their error correction capability. The
proposed code consists of two shortened Reed-
Solomon codes and a conventional Reed- Solomon
code. We implement the proposed coding scheme on
a FPGA-based simulator with using an FPGA
device. The proposed code can correct 16 symbol
errors.
KEY WORDS: Bose-Chaudhuri-Hocquenghem
(BCH), Reed-Solomon codes, Berlekamp-Massey
Algorithm, flipped, Euclid's Algorithm, mass data
process, decoding, FPGA-based simulator, NAND
flash controller, and Altera.
I. INTRODUCTION
The data reliability has become an important
issue in most communication and storage systems for
high speed operation and mass data process. Various
error correction code are provided for improving data
reliability. A Reed-Solomon code is quite suitable for
burst errors, but in case of random errors, it has some
difficulty. For MLC NAND flash memories, Bose-
Chaudhuri-Hocquenghem (BCH) codes are
frequently used. BCH codes provide flexible code
length and variable range of error correcting
capability. However, NAND flash memory systems
process with the large size of data such as a page or a
block unit. Hence, BCH codes may not be
appropriate for a NAND flash controller.
The Reed- Solomon (RS) code for non-
volatile NAND flash memory systems. Reed-
Solomon codes are the most diversely used in data
storage systems, but powerful for burst errors only. In
order to correct multiple random errors and burst
errors, another efficient decoding algorithm is
required. The product code composing of column-
wise Reed-Solomon codes and row-wise Reed-
Solomon codes may allow to decoding multiple
errors beyond their error correction capability. The
proposed code consists of two shortened Reed-
Solomon codes and a conventional Reed- Solomon
code. We implement the proposed coding scheme on
a FPGA-based simulator with using an FPGA device.
The proposed code can correct 16 symbol errors.
Fig.1 Concept of forward error correction
II. Reed Solomon Encoder
The encoder is the easy bit. Since the code is
systematic, the whole of the block can be read into the
encoder, and then output the other side without
alteration. Once the kith data symbol has been read in,
the parity symbol calculation is finished, and the
parity symbols can be output to give the full n
symbols. Gross simplification coming up. The idea of
the parity words is to create a long polynomial (n
coefficients long it contains the message and the
parity) which can be divided exactly by the RS
generator polynomial. That way, at the decoder the
received message block can be divided by the RS
generator polynomial. If the remainder of the division
is zero, then no errors are detected.
If there is a remainder, then there are errors.
Dividing a polynomial by another is not conceptually
easy, but if you follow the maths in some of the
references its not too hard to understand. The encoder
acts to divide the polynomial represented by the k
message symbols d(x) by the RS generator
polynomial g(x). This generator polynomial is not the
same as the Galois Field generator polynomial, but is
derived from it
x(n-k).d(x)/g(x) = q(x) + r(x)/g(x) (1)
The term x(n-k) is a constant power of x,
which is simply a shift upwards n-k places of all the
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1608 | P a g e
polynomial coefficients in d(x). It happens as part of
the shifting process in the architecture below. The
remainder after the division r(x) becomes the parity.
By concatenating the parity symbols on to the end of
the k message symbols, an n coefficient polynomial is
created which is exactly divisible by g(x).
The encoder is a 2t tap shift register, where
each register is m bits wide. The multiplier
coefficients g0 to g (2t-1) are coefficients of the RS
generator polynomial. The coefficients are fixed,
which can be used to simplify the multipliers if
required. The only hard bit is working out the
coefficients, and for hardware implementations the
values can often be hard coded.
At the beginning of a block all the registers
are set to zero. From then on, at each clock cycle the
symbol in each register is added to the product of the
feedback symbol and the fixed coefficient for that tap,
and passed on to the next register. The symbol in the
last register becomes the feedback value on the next
cycle. When all n input symbols have been read in,
the parity symbols are sitting in the register, and it just
remains to shift them out one by one.
Equation(2),expresses the most conventional
form of Reed-Solomon (R-S) codes in terms of the
parameters n, k, t, and any positive integer m > 2.
(n, k) = (2m
- 1, 2m
- 1 - 2t) (2)
where n - k = 2t is the number of parity symbols, and
t is the symbol-error correcting capability of the code.
The generating polynomial for an R-S code takes the
following form
g(X ) = g0 + g1 X + g2 X2
+ … + g2t - 1 X2t - 1
+ X2t
(3)
The degree of the generator polynomial is
equal to the number of parity symbols. R-S codes are
a subset of the Bose, Chaudhuri, and Hocquenghem
(BCH) codes; hence, it should be no surprise that this
relationship between the degree of the generator
polynomial and the number of parity symbols holds,
just as for BCH codes.
Since the generator polynomial is of degree
2t, there must be precisely 2t successive powers of α
that are roots of the polynomial. We designate the
roots of g(X) as α, α2
, …, α2t
. It is not necessary to
start with the root α; starting with any power of α is
possible. Consider as an example the (7, 3) double-
symbol-error correcting R-S code. We describe the
generator polynomial in terms of its 2t = n - k = 4
roots, as follows
g(X) = ( X – α ) ( X – α2
) ( X – α3
)( X – α4
)
= ( X2
- ( α + α2
) X + α3
) ( X2
- ( α3
+ α4
) X + α7
)
= ( X2
– α4
X + α3
) ( X2
- α6
X + α0
)
= X4
- ( α4
+ α6
) X3
+ ( α3
+ α10
+ α0
) X2
- ( α4
+
α9
) X + α3
= X4
– α3
X3
+ α0
X2
– α1
X + α3
Following the low order to high order
format, and changing negative signs to positive, since
in the binary field +1 = –1, g(X ) can be expressed as
follows:
g(X ) = α3
+ α1
X + α0
X2
+ α3 X3
+ X4
(4)
III. Encoding in Systematic Form
Since R-S codes are cyclic codes, encoding
in systematic form is analogous to the binary
encoding procedure. We can think of shifting a
message polynomial, m(X ), into the rightmost k
stages of a codeword register and then appending a
parity polynomial, p(X ), by placing it in the leftmost
n - k stages. Therefore we multiply m(X ) by Xn-k
,
thereby manipulating the message polynomial
algebraically so that it is right-shifted n - k positions.
Next, we divide Xn-k
m(X ) by the generator
polynomial g(X ), which is written in the following
form
Xn-k
m(X ) = q(X ) g(X ) + p(X ) (5)
where q(X ) and p(X ) are quotient and remainder
polynomials, respectively. As in the binary case, the
remainder is the parity. Equation (23) can also be
expressed as follows
p(X ) = Xn-k
m(X ) modulo g(X ) (6)
The resulting codeword polynomial, U(X ) can be
written as
U(X ) = p(X ) + Xn-k
m(X ) (7)
We demonstrate the steps implied by Equations (5)
and (6) by encoding the following three-symbol
message:
with the (7, 3) R-S code whose generator polynomial
is given in Equation (5). We first multiply (upshift)
the message polynomial α1
+ α3
X + α5
X2
by X n - k
= X4
, yielding α1
X4
+ α3
X5
+ α5
X6
. We next divide
this upshifted message polynomial by the generator
polynomial in Equation (5), α3
+ α1
X + α0
X2
+ α3
X3
+ X4
. Polynomial division with nonbinary
coefficients is more tedious than its binary
counterpart, because the required operations of
addition (subtraction) and multiplication (division). It
is left as an exercise for the reader to verify that this
polynomial division results in the following
remainder (parity) polynomial.
p(X ) = α0
+ α2
X + α4
X2
+ α6
X3
(8)
Then, from Equation (7), the codeword polynomial
can be written as follows
U(X ) = α0
+ α2
X + α4
X2
+ α6
X3
+ α1
X4
+ α3
X5
+
α5
X6
(9)
Systematic Encoding with an (n - k)–Stage
Shift Register Using circuitry to encode a three-
symbol sequence in systematic form with the (7, 3)
R-S code described by g(X ) in Equation (4) requires
the implementation of a linear feedback shift register
(LFSR) circuit, as shown in Figure 6. It can easily be
verified that the multiplier terms in Figure 6, taken
from left to right, correspond to the coefficients of
the polynomial in Equation (4) (low order to high
order). This encoding process is the nonbinary
equivalent of cyclic encoding. Here,the (7, 3) R-S
nonzero codewords are made up of 2m - 1 = 7
symbols, and each symbol is made up of m = 3 bits.
IV. Reed Solomon Decoder
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1609 | P a g e
Earlier, a test message encoded in
systematic form using a (7, 3) R-S code resulted in a
codeword polynomial described by Equation (7).
Now, assume that during transmission this codeword
becomes corrupted so that two symbols are received
in error. (This number of errors corresponds to the
maximum error-correcting capability of the code.)
For this seven-symbol codeword example, the error
pattern, e(X), can be described in polynomial form as
follows
Fig2. Encoder with LFSR
e( X ) = ∑ en Xn
, (10) Where n = 0, 1, 2, 3, 4, 5, 6
For this example, let the double-symbol error be such
that
e ( X ) = 0 + 0X + 0X2
+ α2
X3
+ α5
X4
+ 0X5
+ 0X6
= (0 0 0)+(0 0 0)X+(0 0 0)X2
+(0 0 1)X3
+(1 1
1)X4
+(0 0 0)X5
+(0 0 0)X6
(11)
In other words, one parity symbol has been corrupted
with a 1-bit error (seen as α2
), and one data symbol
has been corrupted with a 3-bit error (seen as α5
). The
received corrupted-codeword polynomial, r(X), is
then represented by the sum of the transmitted-
codeword polynomial and the error-pattern
polynomial as follows
r(X) = U(X) + e(X) (12)
Following Equation (12), we add U(X ) from
Equation (11) to e(X ) and r(X ), as follows
r(X) = (100) + (001)X + (011)X2
+ (100)X3
+
(101)X4
+ (110)X5
+ (111)X6
α α2
Xα4
X2
α0
X3
α6
X4
α3
X5
α5
X6
(13)
In this example, there are four unknowns—two error
locations and two error values. Notice an important
difference between the non binary decoding of r(X )
that we are faced with in Equation (13) and binary
decoding; in binary decoding, the decoder only needs
to find the error locations. Knowledge that there is an
error at a particular location dictates that the bit must
be “flipped” from 1 to 0 or vice versa. But here, the
nonbinary symbols require that we not only learn the
error locations, but also determine the correct symbol
values at those locations. Since there are four
unknowns in this example, four equations are
required for their solution.
Decoding is a far harder task than encoding. Typically
about ten times more resources (be it logic, memory
or processor cycles) are required to decode and
correct the corrupted data The decode operation takes
several stages. There are plenty of sources available
for software implementations of the various
algorithms required. Hardware implementations
(FPGA or ASIC) are a little harder to come by,
especially those with parameterised specifications.
Texas Instruments give their software decoder away
for free, whilst by comparison FPGA manufacturers
such as Xilinx or Altera can charge many thousands
of dollars for their hardware implementation.
V. Berlekamp-Massey
The second step is to find the error
polynomial lambda. This requires solving 2t
simultaneous equations, one for each syndrome. The
2t syndromes form a simultaneous equation with t
unknowns. The unknowns are the locations of the
errors. In general there are many possible solutions to
the set of equations, but we assume that the one with
the least number of errors is the correct one.
This assumption is the reason that more than t errors
can actually cause the decoder to corrupt the received
signal further (if allowed to). If more than t errors
occur, then there will exist a possible solution to the
equations with less than t errors. Unfortunately this
solution is unlikely to correct the right symbols. The
process of solving the simultaneous equations is
usually split into two stages. First, an error location
polynomial is found.
This Polynomial has roots which give the
error locations. Then the roots of the error polynomial
are found. There are several methods of finding the
error polynomial lambda, the two most popular are
Euclid's Algorithm (easier to implement) and the
Berlekamp-Massey Algorithm (more efficient use of
hardware resources). The algorithm iteratively solves
the error locator polynomial by solving one equation
after another and updating the error locator
polynomial. If it turns out that it cannot solve the
equation at some step, then it computes the error and
weights it, increases the size of the error polynomial,
and does another iteration.
Fig3.Flow chart for Reed Solomon Decoder
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1610 | P a g e
A maximum of 2t iterations are required.
For n symbol errors, the algorithm gives a
polynomial with n coefficients. At this point the
decoder fails if there are more than t errors, and no
corrections can be made. Doing so might actually
introduce more errors than there were originally
Suppose there are ν errors in the codeword
at location X j1 , X j2 , ... , X j. Then, the error
polynomial e(X ) shown in Equations (10) and (11)
can be written as follows
e(X) = ej1Xj1
+ ej2Xj2
+ … + ejvXjv
(14)
The indices 1, 2, … ν refer to the first, second, …, νth
errors, and the index j refers to the error location. To
correct the corrupted codeword, each error value ejl
and its location Xjl
, where l = 1, 2, ..., ν, must be
determined. We define an error locator number as jl l.
Next, we obtain the n - k = 2t syndrome symbols by
substituting αi into the received polynomial for i = 1,
2, … 2t.
S1 = r(α) = ej1β1 + ej2β2 + … + ejvβv
S2 = r(α2
) = ej1β1
2
+ ej2β2
2
+ … + ejvβv
2
S2t = r(α2t
) = ej1β1
2t
+ ej2β2
2t
+ … + ejvβv
2t
(15)
There are 2t unknowns (t error values
and t locations), and 2t simultaneous equations.
However, these 2t simultaneous equations cannot be
solved in the usual way because they are nonlinear
(as some of the unknowns have exponents). Next, it
is necessary to learn the location of the error or
errors. An error-locator polynomial, σ(X ), can be
defined as follows
σ(X) = ( 1 + β1X ) ( 1 + β2X ) . . . ( 1 + βvX)
= 1 + σ1X + σ2X2
+ . . . + σvXv
(16)
The roots of σ(X ) are 1/β1, 1/β2, … ,1/βν.
The reciprocal of the roots of σ(X) are the error-
location numbers of the error pattern e(X). Then,
using autoregressive modeling techniques, we form a
matrix from the syndromes, where the first t
syndromes are used to predict the next syndrome.
That is,
(17)
We apply the autoregressive model of Equation (17)
by using the largest dimensioned matrix that has a
nonzero determinant. For the (7, 3) double-symbol
error correcting R-S code, the matrix size is 2 × 2,
and the model is written as follows
(18)
To solve for the coefficients σ1 and σ2 and
of the error-locator polynomial, σ(X ), we first take
the inverse of the matrix in Equation (18). The
inverse of a matrix [A] is found as follows
Fig4. Berlekamp-Massey Algorithm
Therefore
Cofactor (19)
(20)
VI. Design Summery Report
Number of errors: 0
Number of warnings: 257
1. Number of Slice
Registers
4,737 out of
28,800 16%
2. Number of Slice
LUTs
6,302 out of
28,800 21%
3. Number used as
logic
6,261 out of
28,800 21%
4. Number of route-
thrus
53 out of 57,600
1%
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1611 | P a g e
Table 5.2 Logic Utilization
1. Number of occupied
Slices
2,502 out of 7,200
34%
2. Number with an unused
Flip Flop
2,949 out of 7,686
38%
3. Number with an unused
LUT
1,384 out of 7,686
18%
4. Number of fully used
LUT-FF pairs
3,353 out of 7,686
43%
Table5.3 Logic Distribution
VII. 6. RESULTS
Fig5. Generation Of code words
Fig6. Generation Of Parity Bits
Fig 7. Adding Noise
Fig8. Detection of Error Values
Fig8.Decoded Symbols
VIII. Conclusion
This paper proposes a product Reed-
Solomon code for multiple random errors and burst
errors. The proposed code takes two dimensional
array data consisted of two shortened Reed-Solomon
codes in a column-wise and a conventional Reed-
Solomon code in a row-wise. The proposed code
becomes powerful against multiple random errors
and burst errors. The proposed code can corrects 16
symbol errors. The code has the coding gain of 1.8
dB and the bandwidth of 1.07 Gbps when operated at
290 MHz with the power consumption of 26.4 mW.
Future Scope of the project is to provide effective
code for detecting 20 error symbols in 255 code
words. Code can implement with low area and low
power
References
[1] Polynomial Codes Over Certain Finite
Fields by Reed, I. S. and Solomon, G.
SIAM Journal of Applied Math.
[2] Information Theory and Reliable
Communication by Gallager, R. G.
[3] Digital Communications: Fundamentals and
Applications, Second Edition by Sklar, B.
[4] The Application of Error Control to
Communications by Berlekamp, E. R., Peile,
R. E., and Pope, S. P.
[5] Forward Error Correction Coding for Fading
Compensation in Mobile Satellite Channels
by Hagenauer, J., and Lutz, E.
Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612
1612 | P a g e
[6] Theory and Practice of Error Control Codes
by Blahut, R. E.
[7] Reed-Solomon Codes and Their
Applications by Wicker, S. B. and
Bhargava, V. K.
[8] ASIC Implementation of Reed-Solomon
Error Correction Circuits for Low Area
Overhead on Memory System by S. P.
Kang, C. G. Kim, S. W. Rhee, and Y. Jee.
[9] X., Yang, “Industrial Data Communication
and Control Networks”, Beijing: TUP,
2003.6[9] B. Zeidman, “Designing with
FPGAs & CPLDs”, CMP Books, 2002
[10] C. E. Cummings, “Simulation and Synthesis
Techniques for Asynchronous FIFO Design
with Asynchronous Pointer Comparisons”,
SNUG San Jose 2002

More Related Content

What's hot

Error-Correcting codes: Application of convolutional codes to Video Streaming
Error-Correcting codes: Application of convolutional codes to Video StreamingError-Correcting codes: Application of convolutional codes to Video Streaming
Error-Correcting codes: Application of convolutional codes to Video Streaming
Facultad de Informática UCM
 
Technical aptitude questions_e_book1
Technical aptitude questions_e_book1Technical aptitude questions_e_book1
Technical aptitude questions_e_book1
Sateesh Allu
 
Hamming codes
Hamming codesHamming codes
Hamming codes
GIGI JOSEPH
 
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
IJRES Journal
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoder
ijsrd.com
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
Chapter 06 rsa cryptosystem
Chapter 06   rsa cryptosystemChapter 06   rsa cryptosystem
Chapter 06 rsa cryptosystem
Ankur Choudhary
 
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
ijceronline
 
Coding
CodingCoding
Coding
Dayal Sati
 
Online quesion deldunit-1-to_unit-4
Online quesion deldunit-1-to_unit-4Online quesion deldunit-1-to_unit-4
Online quesion deldunit-1-to_unit-4
shivnarayan34
 
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
Seokhwan Kim
 
A method to determine partial weight enumerator for linear block codes
A method to determine partial weight enumerator for linear block codesA method to determine partial weight enumerator for linear block codes
A method to determine partial weight enumerator for linear block codes
Alexander Decker
 
Convolutional codes
Convolutional codesConvolutional codes
Convolutional codes
Abdullaziz Tagawy
 
BCH Codes
BCH CodesBCH Codes
BCH Codes
AakankshaR
 
Bt0064, logic design
Bt0064, logic designBt0064, logic design
Bt0064, logic design
smumbahelp
 
Convolutional Codes And Their Decoding
Convolutional Codes And Their DecodingConvolutional Codes And Their Decoding
Convolutional Codes And Their Decoding
Kakali Saharia
 

What's hot (16)

Error-Correcting codes: Application of convolutional codes to Video Streaming
Error-Correcting codes: Application of convolutional codes to Video StreamingError-Correcting codes: Application of convolutional codes to Video Streaming
Error-Correcting codes: Application of convolutional codes to Video Streaming
 
Technical aptitude questions_e_book1
Technical aptitude questions_e_book1Technical aptitude questions_e_book1
Technical aptitude questions_e_book1
 
Hamming codes
Hamming codesHamming codes
Hamming codes
 
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
Direct Design of Reversible Combinational and Sequential Circuits Using PSDRM...
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoder
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Chapter 06 rsa cryptosystem
Chapter 06   rsa cryptosystemChapter 06   rsa cryptosystem
Chapter 06 rsa cryptosystem
 
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
Implementation of Elliptic Curve Digital Signature Algorithm Using Variable T...
 
Coding
CodingCoding
Coding
 
Online quesion deldunit-1-to_unit-4
Online quesion deldunit-1-to_unit-4Online quesion deldunit-1-to_unit-4
Online quesion deldunit-1-to_unit-4
 
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punc...
 
A method to determine partial weight enumerator for linear block codes
A method to determine partial weight enumerator for linear block codesA method to determine partial weight enumerator for linear block codes
A method to determine partial weight enumerator for linear block codes
 
Convolutional codes
Convolutional codesConvolutional codes
Convolutional codes
 
BCH Codes
BCH CodesBCH Codes
BCH Codes
 
Bt0064, logic design
Bt0064, logic designBt0064, logic design
Bt0064, logic design
 
Convolutional Codes And Their Decoding
Convolutional Codes And Their DecodingConvolutional Codes And Their Decoding
Convolutional Codes And Their Decoding
 

Viewers also liked

Is3416041606
Is3416041606Is3416041606
Is3416041606
IJERA Editor
 
Im3415711578
Im3415711578Im3415711578
Im3415711578
IJERA Editor
 
Ii3415521555
Ii3415521555Ii3415521555
Ii3415521555
IJERA Editor
 
Im3314481452
Im3314481452Im3314481452
Im3314481452
IJERA Editor
 
Go3411961201
Go3411961201Go3411961201
Go3411961201
IJERA Editor
 
Fy3410901095
Fy3410901095Fy3410901095
Fy3410901095
IJERA Editor
 
Gn3411911195
Gn3411911195Gn3411911195
Gn3411911195
IJERA Editor
 
Gc3411211125
Gc3411211125Gc3411211125
Gc3411211125
IJERA Editor
 
Gj3411701173
Gj3411701173Gj3411701173
Gj3411701173
IJERA Editor
 
Gq3412071214
Gq3412071214Gq3412071214
Gq3412071214
IJERA Editor
 
Ga3411031110
Ga3411031110Ga3411031110
Ga3411031110
IJERA Editor
 
Z32178181
Z32178181Z32178181
Z32178181
IJERA Editor
 
Dd32653661
Dd32653661Dd32653661
Dd32653661
IJERA Editor
 
Rodolfo
RodolfoRodolfo
Rodolfo
YENKATHE
 
Divisió egípcia 2 (adaptada)
Divisió egípcia 2 (adaptada)Divisió egípcia 2 (adaptada)
Divisió egípcia 2 (adaptada)calaix2ie
 
Alternativa viable en la solucion del problema del
Alternativa viable en la solucion del problema delAlternativa viable en la solucion del problema del
Alternativa viable en la solucion del problema del
Sairiel Sazchariel Ibarra
 
Erdi Mailako zikloak MAI Bergara
Erdi Mailako zikloak MAI BergaraErdi Mailako zikloak MAI Bergara
Erdi Mailako zikloak MAI Bergara
MAIBERGARA
 
João ubaldo educação
João ubaldo    educaçãoJoão ubaldo    educação
João ubaldo educação
G. Gomes
 
Dance and dense denso
Dance and dense densoDance and dense denso
Dance and dense denso
Pathetic_punk
 
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
Arab Muslim
 

Viewers also liked (20)

Is3416041606
Is3416041606Is3416041606
Is3416041606
 
Im3415711578
Im3415711578Im3415711578
Im3415711578
 
Ii3415521555
Ii3415521555Ii3415521555
Ii3415521555
 
Im3314481452
Im3314481452Im3314481452
Im3314481452
 
Go3411961201
Go3411961201Go3411961201
Go3411961201
 
Fy3410901095
Fy3410901095Fy3410901095
Fy3410901095
 
Gn3411911195
Gn3411911195Gn3411911195
Gn3411911195
 
Gc3411211125
Gc3411211125Gc3411211125
Gc3411211125
 
Gj3411701173
Gj3411701173Gj3411701173
Gj3411701173
 
Gq3412071214
Gq3412071214Gq3412071214
Gq3412071214
 
Ga3411031110
Ga3411031110Ga3411031110
Ga3411031110
 
Z32178181
Z32178181Z32178181
Z32178181
 
Dd32653661
Dd32653661Dd32653661
Dd32653661
 
Rodolfo
RodolfoRodolfo
Rodolfo
 
Divisió egípcia 2 (adaptada)
Divisió egípcia 2 (adaptada)Divisió egípcia 2 (adaptada)
Divisió egípcia 2 (adaptada)
 
Alternativa viable en la solucion del problema del
Alternativa viable en la solucion del problema delAlternativa viable en la solucion del problema del
Alternativa viable en la solucion del problema del
 
Erdi Mailako zikloak MAI Bergara
Erdi Mailako zikloak MAI BergaraErdi Mailako zikloak MAI Bergara
Erdi Mailako zikloak MAI Bergara
 
João ubaldo educação
João ubaldo    educaçãoJoão ubaldo    educação
João ubaldo educação
 
Dance and dense denso
Dance and dense densoDance and dense denso
Dance and dense denso
 
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
أعمال تنجي من النيران بإذن الله - كيف أنجو من النار؟
 

Similar to It3416071612

art_sklar7_reed-solomon
art_sklar7_reed-solomonart_sklar7_reed-solomon
art_sklar7_reed-solomon
aniruddh Tyagi
 
art_sklar7_reed-solomon
art_sklar7_reed-solomonart_sklar7_reed-solomon
art_sklar7_reed-solomon
Aniruddh Tyagi
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
theijes
 
Reed solomon Encoder and Decoder
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and Decoder
Ameer H Ali
 
Reed Solomon Coding For Error Detection and Correction
Reed Solomon Coding For Error Detection and CorrectionReed Solomon Coding For Error Detection and Correction
Reed Solomon Coding For Error Detection and Correction
inventionjournals
 
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding AlgorithmFixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
CSCJournals
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
A High Throughput CFA AES S-Box with Error Correction Capability
A High Throughput CFA AES S-Box with Error Correction CapabilityA High Throughput CFA AES S-Box with Error Correction Capability
A High Throughput CFA AES S-Box with Error Correction Capability
IOSR Journals
 
40120130406011 2-3
40120130406011 2-340120130406011 2-3
40120130406011 2-3
IAEME Publication
 
A HIGH THROUGHPUT AES DESIGN
A HIGH THROUGHPUT AES DESIGNA HIGH THROUGHPUT AES DESIGN
A HIGH THROUGHPUT AES DESIGN
Giritharan Ravichandran
 
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
IJERA Editor
 
Design and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding AlgorithmDesign and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding Algorithm
csandit
 
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
RSIS International
 
An Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH DecoderAn Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH Decoder
ijsrd.com
 
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
IOSR Journals
 
LDPC_CODES.ppt
LDPC_CODES.pptLDPC_CODES.ppt
LDPC_CODES.ppt
hsomashekar987
 
rs_1.pptx
rs_1.pptxrs_1.pptx
rs_1.pptx
MaddulaCharishma
 
widely-linear-minimum (1)
widely-linear-minimum (1)widely-linear-minimum (1)
widely-linear-minimum (1)
Vamshi Krishna Muga
 
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
IRJET Journal
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 

Similar to It3416071612 (20)

art_sklar7_reed-solomon
art_sklar7_reed-solomonart_sklar7_reed-solomon
art_sklar7_reed-solomon
 
art_sklar7_reed-solomon
art_sklar7_reed-solomonart_sklar7_reed-solomon
art_sklar7_reed-solomon
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Reed solomon Encoder and Decoder
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and Decoder
 
Reed Solomon Coding For Error Detection and Correction
Reed Solomon Coding For Error Detection and CorrectionReed Solomon Coding For Error Detection and Correction
Reed Solomon Coding For Error Detection and Correction
 
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding AlgorithmFixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
A High Throughput CFA AES S-Box with Error Correction Capability
A High Throughput CFA AES S-Box with Error Correction CapabilityA High Throughput CFA AES S-Box with Error Correction Capability
A High Throughput CFA AES S-Box with Error Correction Capability
 
40120130406011 2-3
40120130406011 2-340120130406011 2-3
40120130406011 2-3
 
A HIGH THROUGHPUT AES DESIGN
A HIGH THROUGHPUT AES DESIGNA HIGH THROUGHPUT AES DESIGN
A HIGH THROUGHPUT AES DESIGN
 
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
Performance Study of RS (255, 239) and RS (255.233) Used Respectively in DVB-...
 
Design and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding AlgorithmDesign and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding Algorithm
 
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
 
An Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH DecoderAn Efficient Interpolation-Based Chase BCH Decoder
An Efficient Interpolation-Based Chase BCH Decoder
 
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL a...
 
LDPC_CODES.ppt
LDPC_CODES.pptLDPC_CODES.ppt
LDPC_CODES.ppt
 
rs_1.pptx
rs_1.pptxrs_1.pptx
rs_1.pptx
 
widely-linear-minimum (1)
widely-linear-minimum (1)widely-linear-minimum (1)
widely-linear-minimum (1)
 
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
Review paper on Reed Solomon (204,188) Decoder for Digital Video Broadcasting...
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 

Recently uploaded

How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 

Recently uploaded (20)

How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 

It3416071612

  • 1. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1607 | P a g e Design and Implementation of FPGA System to Reduce Reed- Solomon Errors Md. Taj1 , P Srinivas2 , S. Nagaraju3 1 Dept.of ECE Nimra College of Engineering & Technology, Jupudi, Vijayawada-India. 2 Assistant Professor Dept.of ECE Nimra College of Engineering & Technology, Vijayawada, India. 3 Assistant Professor Dept.of ECE VLITS Vadlamdui Guntur, India. ABSTRACT The data reliability has become an important issue in most communication and storage systems for high speed operation and mass data process. Various error correction code are provided for improving data reliability. A Reed-Solomon code is quite suitable for burst errors, but in case of random errors, it has some difficulty. For MLC NAND flash memories, Bose- Chaudhuri- Hocquenghem (BCH) codes are frequently used. BCH codes provide flexible code length and variable range of error correcting capability. However, NAND flash memory systems process with the large size of data such as a page or a block unit. Hence, BCH codes may not be appropriate for a NAND flash controller. We propose product Reed- Solomon (RS) code for non-volatile NAND flash memory systems. Reed- Solomon codes are the most diversely used in data storage systems, but powerful for burst errors only. In order to correct multiple random errors and burst errors, another efficient decoding algorithm is required. The product code composing of column- wise Reed-Solomon codes and row-wise Reed- Solomon codes may allow decoding multiple errors beyond their error correction capability. The proposed code consists of two shortened Reed- Solomon codes and a conventional Reed- Solomon code. We implement the proposed coding scheme on a FPGA-based simulator with using an FPGA device. The proposed code can correct 16 symbol errors. KEY WORDS: Bose-Chaudhuri-Hocquenghem (BCH), Reed-Solomon codes, Berlekamp-Massey Algorithm, flipped, Euclid's Algorithm, mass data process, decoding, FPGA-based simulator, NAND flash controller, and Altera. I. INTRODUCTION The data reliability has become an important issue in most communication and storage systems for high speed operation and mass data process. Various error correction code are provided for improving data reliability. A Reed-Solomon code is quite suitable for burst errors, but in case of random errors, it has some difficulty. For MLC NAND flash memories, Bose- Chaudhuri-Hocquenghem (BCH) codes are frequently used. BCH codes provide flexible code length and variable range of error correcting capability. However, NAND flash memory systems process with the large size of data such as a page or a block unit. Hence, BCH codes may not be appropriate for a NAND flash controller. The Reed- Solomon (RS) code for non- volatile NAND flash memory systems. Reed- Solomon codes are the most diversely used in data storage systems, but powerful for burst errors only. In order to correct multiple random errors and burst errors, another efficient decoding algorithm is required. The product code composing of column- wise Reed-Solomon codes and row-wise Reed- Solomon codes may allow to decoding multiple errors beyond their error correction capability. The proposed code consists of two shortened Reed- Solomon codes and a conventional Reed- Solomon code. We implement the proposed coding scheme on a FPGA-based simulator with using an FPGA device. The proposed code can correct 16 symbol errors. Fig.1 Concept of forward error correction II. Reed Solomon Encoder The encoder is the easy bit. Since the code is systematic, the whole of the block can be read into the encoder, and then output the other side without alteration. Once the kith data symbol has been read in, the parity symbol calculation is finished, and the parity symbols can be output to give the full n symbols. Gross simplification coming up. The idea of the parity words is to create a long polynomial (n coefficients long it contains the message and the parity) which can be divided exactly by the RS generator polynomial. That way, at the decoder the received message block can be divided by the RS generator polynomial. If the remainder of the division is zero, then no errors are detected. If there is a remainder, then there are errors. Dividing a polynomial by another is not conceptually easy, but if you follow the maths in some of the references its not too hard to understand. The encoder acts to divide the polynomial represented by the k message symbols d(x) by the RS generator polynomial g(x). This generator polynomial is not the same as the Galois Field generator polynomial, but is derived from it x(n-k).d(x)/g(x) = q(x) + r(x)/g(x) (1) The term x(n-k) is a constant power of x, which is simply a shift upwards n-k places of all the
  • 2. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1608 | P a g e polynomial coefficients in d(x). It happens as part of the shifting process in the architecture below. The remainder after the division r(x) becomes the parity. By concatenating the parity symbols on to the end of the k message symbols, an n coefficient polynomial is created which is exactly divisible by g(x). The encoder is a 2t tap shift register, where each register is m bits wide. The multiplier coefficients g0 to g (2t-1) are coefficients of the RS generator polynomial. The coefficients are fixed, which can be used to simplify the multipliers if required. The only hard bit is working out the coefficients, and for hardware implementations the values can often be hard coded. At the beginning of a block all the registers are set to zero. From then on, at each clock cycle the symbol in each register is added to the product of the feedback symbol and the fixed coefficient for that tap, and passed on to the next register. The symbol in the last register becomes the feedback value on the next cycle. When all n input symbols have been read in, the parity symbols are sitting in the register, and it just remains to shift them out one by one. Equation(2),expresses the most conventional form of Reed-Solomon (R-S) codes in terms of the parameters n, k, t, and any positive integer m > 2. (n, k) = (2m - 1, 2m - 1 - 2t) (2) where n - k = 2t is the number of parity symbols, and t is the symbol-error correcting capability of the code. The generating polynomial for an R-S code takes the following form g(X ) = g0 + g1 X + g2 X2 + … + g2t - 1 X2t - 1 + X2t (3) The degree of the generator polynomial is equal to the number of parity symbols. R-S codes are a subset of the Bose, Chaudhuri, and Hocquenghem (BCH) codes; hence, it should be no surprise that this relationship between the degree of the generator polynomial and the number of parity symbols holds, just as for BCH codes. Since the generator polynomial is of degree 2t, there must be precisely 2t successive powers of α that are roots of the polynomial. We designate the roots of g(X) as α, α2 , …, α2t . It is not necessary to start with the root α; starting with any power of α is possible. Consider as an example the (7, 3) double- symbol-error correcting R-S code. We describe the generator polynomial in terms of its 2t = n - k = 4 roots, as follows g(X) = ( X – α ) ( X – α2 ) ( X – α3 )( X – α4 ) = ( X2 - ( α + α2 ) X + α3 ) ( X2 - ( α3 + α4 ) X + α7 ) = ( X2 – α4 X + α3 ) ( X2 - α6 X + α0 ) = X4 - ( α4 + α6 ) X3 + ( α3 + α10 + α0 ) X2 - ( α4 + α9 ) X + α3 = X4 – α3 X3 + α0 X2 – α1 X + α3 Following the low order to high order format, and changing negative signs to positive, since in the binary field +1 = –1, g(X ) can be expressed as follows: g(X ) = α3 + α1 X + α0 X2 + α3 X3 + X4 (4) III. Encoding in Systematic Form Since R-S codes are cyclic codes, encoding in systematic form is analogous to the binary encoding procedure. We can think of shifting a message polynomial, m(X ), into the rightmost k stages of a codeword register and then appending a parity polynomial, p(X ), by placing it in the leftmost n - k stages. Therefore we multiply m(X ) by Xn-k , thereby manipulating the message polynomial algebraically so that it is right-shifted n - k positions. Next, we divide Xn-k m(X ) by the generator polynomial g(X ), which is written in the following form Xn-k m(X ) = q(X ) g(X ) + p(X ) (5) where q(X ) and p(X ) are quotient and remainder polynomials, respectively. As in the binary case, the remainder is the parity. Equation (23) can also be expressed as follows p(X ) = Xn-k m(X ) modulo g(X ) (6) The resulting codeword polynomial, U(X ) can be written as U(X ) = p(X ) + Xn-k m(X ) (7) We demonstrate the steps implied by Equations (5) and (6) by encoding the following three-symbol message: with the (7, 3) R-S code whose generator polynomial is given in Equation (5). We first multiply (upshift) the message polynomial α1 + α3 X + α5 X2 by X n - k = X4 , yielding α1 X4 + α3 X5 + α5 X6 . We next divide this upshifted message polynomial by the generator polynomial in Equation (5), α3 + α1 X + α0 X2 + α3 X3 + X4 . Polynomial division with nonbinary coefficients is more tedious than its binary counterpart, because the required operations of addition (subtraction) and multiplication (division). It is left as an exercise for the reader to verify that this polynomial division results in the following remainder (parity) polynomial. p(X ) = α0 + α2 X + α4 X2 + α6 X3 (8) Then, from Equation (7), the codeword polynomial can be written as follows U(X ) = α0 + α2 X + α4 X2 + α6 X3 + α1 X4 + α3 X5 + α5 X6 (9) Systematic Encoding with an (n - k)–Stage Shift Register Using circuitry to encode a three- symbol sequence in systematic form with the (7, 3) R-S code described by g(X ) in Equation (4) requires the implementation of a linear feedback shift register (LFSR) circuit, as shown in Figure 6. It can easily be verified that the multiplier terms in Figure 6, taken from left to right, correspond to the coefficients of the polynomial in Equation (4) (low order to high order). This encoding process is the nonbinary equivalent of cyclic encoding. Here,the (7, 3) R-S nonzero codewords are made up of 2m - 1 = 7 symbols, and each symbol is made up of m = 3 bits. IV. Reed Solomon Decoder
  • 3. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1609 | P a g e Earlier, a test message encoded in systematic form using a (7, 3) R-S code resulted in a codeword polynomial described by Equation (7). Now, assume that during transmission this codeword becomes corrupted so that two symbols are received in error. (This number of errors corresponds to the maximum error-correcting capability of the code.) For this seven-symbol codeword example, the error pattern, e(X), can be described in polynomial form as follows Fig2. Encoder with LFSR e( X ) = ∑ en Xn , (10) Where n = 0, 1, 2, 3, 4, 5, 6 For this example, let the double-symbol error be such that e ( X ) = 0 + 0X + 0X2 + α2 X3 + α5 X4 + 0X5 + 0X6 = (0 0 0)+(0 0 0)X+(0 0 0)X2 +(0 0 1)X3 +(1 1 1)X4 +(0 0 0)X5 +(0 0 0)X6 (11) In other words, one parity symbol has been corrupted with a 1-bit error (seen as α2 ), and one data symbol has been corrupted with a 3-bit error (seen as α5 ). The received corrupted-codeword polynomial, r(X), is then represented by the sum of the transmitted- codeword polynomial and the error-pattern polynomial as follows r(X) = U(X) + e(X) (12) Following Equation (12), we add U(X ) from Equation (11) to e(X ) and r(X ), as follows r(X) = (100) + (001)X + (011)X2 + (100)X3 + (101)X4 + (110)X5 + (111)X6 α α2 Xα4 X2 α0 X3 α6 X4 α3 X5 α5 X6 (13) In this example, there are four unknowns—two error locations and two error values. Notice an important difference between the non binary decoding of r(X ) that we are faced with in Equation (13) and binary decoding; in binary decoding, the decoder only needs to find the error locations. Knowledge that there is an error at a particular location dictates that the bit must be “flipped” from 1 to 0 or vice versa. But here, the nonbinary symbols require that we not only learn the error locations, but also determine the correct symbol values at those locations. Since there are four unknowns in this example, four equations are required for their solution. Decoding is a far harder task than encoding. Typically about ten times more resources (be it logic, memory or processor cycles) are required to decode and correct the corrupted data The decode operation takes several stages. There are plenty of sources available for software implementations of the various algorithms required. Hardware implementations (FPGA or ASIC) are a little harder to come by, especially those with parameterised specifications. Texas Instruments give their software decoder away for free, whilst by comparison FPGA manufacturers such as Xilinx or Altera can charge many thousands of dollars for their hardware implementation. V. Berlekamp-Massey The second step is to find the error polynomial lambda. This requires solving 2t simultaneous equations, one for each syndrome. The 2t syndromes form a simultaneous equation with t unknowns. The unknowns are the locations of the errors. In general there are many possible solutions to the set of equations, but we assume that the one with the least number of errors is the correct one. This assumption is the reason that more than t errors can actually cause the decoder to corrupt the received signal further (if allowed to). If more than t errors occur, then there will exist a possible solution to the equations with less than t errors. Unfortunately this solution is unlikely to correct the right symbols. The process of solving the simultaneous equations is usually split into two stages. First, an error location polynomial is found. This Polynomial has roots which give the error locations. Then the roots of the error polynomial are found. There are several methods of finding the error polynomial lambda, the two most popular are Euclid's Algorithm (easier to implement) and the Berlekamp-Massey Algorithm (more efficient use of hardware resources). The algorithm iteratively solves the error locator polynomial by solving one equation after another and updating the error locator polynomial. If it turns out that it cannot solve the equation at some step, then it computes the error and weights it, increases the size of the error polynomial, and does another iteration. Fig3.Flow chart for Reed Solomon Decoder
  • 4. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1610 | P a g e A maximum of 2t iterations are required. For n symbol errors, the algorithm gives a polynomial with n coefficients. At this point the decoder fails if there are more than t errors, and no corrections can be made. Doing so might actually introduce more errors than there were originally Suppose there are ν errors in the codeword at location X j1 , X j2 , ... , X j. Then, the error polynomial e(X ) shown in Equations (10) and (11) can be written as follows e(X) = ej1Xj1 + ej2Xj2 + … + ejvXjv (14) The indices 1, 2, … ν refer to the first, second, …, νth errors, and the index j refers to the error location. To correct the corrupted codeword, each error value ejl and its location Xjl , where l = 1, 2, ..., ν, must be determined. We define an error locator number as jl l. Next, we obtain the n - k = 2t syndrome symbols by substituting αi into the received polynomial for i = 1, 2, … 2t. S1 = r(α) = ej1β1 + ej2β2 + … + ejvβv S2 = r(α2 ) = ej1β1 2 + ej2β2 2 + … + ejvβv 2 S2t = r(α2t ) = ej1β1 2t + ej2β2 2t + … + ejvβv 2t (15) There are 2t unknowns (t error values and t locations), and 2t simultaneous equations. However, these 2t simultaneous equations cannot be solved in the usual way because they are nonlinear (as some of the unknowns have exponents). Next, it is necessary to learn the location of the error or errors. An error-locator polynomial, σ(X ), can be defined as follows σ(X) = ( 1 + β1X ) ( 1 + β2X ) . . . ( 1 + βvX) = 1 + σ1X + σ2X2 + . . . + σvXv (16) The roots of σ(X ) are 1/β1, 1/β2, … ,1/βν. The reciprocal of the roots of σ(X) are the error- location numbers of the error pattern e(X). Then, using autoregressive modeling techniques, we form a matrix from the syndromes, where the first t syndromes are used to predict the next syndrome. That is, (17) We apply the autoregressive model of Equation (17) by using the largest dimensioned matrix that has a nonzero determinant. For the (7, 3) double-symbol error correcting R-S code, the matrix size is 2 × 2, and the model is written as follows (18) To solve for the coefficients σ1 and σ2 and of the error-locator polynomial, σ(X ), we first take the inverse of the matrix in Equation (18). The inverse of a matrix [A] is found as follows Fig4. Berlekamp-Massey Algorithm Therefore Cofactor (19) (20) VI. Design Summery Report Number of errors: 0 Number of warnings: 257 1. Number of Slice Registers 4,737 out of 28,800 16% 2. Number of Slice LUTs 6,302 out of 28,800 21% 3. Number used as logic 6,261 out of 28,800 21% 4. Number of route- thrus 53 out of 57,600 1%
  • 5. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1611 | P a g e Table 5.2 Logic Utilization 1. Number of occupied Slices 2,502 out of 7,200 34% 2. Number with an unused Flip Flop 2,949 out of 7,686 38% 3. Number with an unused LUT 1,384 out of 7,686 18% 4. Number of fully used LUT-FF pairs 3,353 out of 7,686 43% Table5.3 Logic Distribution VII. 6. RESULTS Fig5. Generation Of code words Fig6. Generation Of Parity Bits Fig 7. Adding Noise Fig8. Detection of Error Values Fig8.Decoded Symbols VIII. Conclusion This paper proposes a product Reed- Solomon code for multiple random errors and burst errors. The proposed code takes two dimensional array data consisted of two shortened Reed-Solomon codes in a column-wise and a conventional Reed- Solomon code in a row-wise. The proposed code becomes powerful against multiple random errors and burst errors. The proposed code can corrects 16 symbol errors. The code has the coding gain of 1.8 dB and the bandwidth of 1.07 Gbps when operated at 290 MHz with the power consumption of 26.4 mW. Future Scope of the project is to provide effective code for detecting 20 error symbols in 255 code words. Code can implement with low area and low power References [1] Polynomial Codes Over Certain Finite Fields by Reed, I. S. and Solomon, G. SIAM Journal of Applied Math. [2] Information Theory and Reliable Communication by Gallager, R. G. [3] Digital Communications: Fundamentals and Applications, Second Edition by Sklar, B. [4] The Application of Error Control to Communications by Berlekamp, E. R., Peile, R. E., and Pope, S. P. [5] Forward Error Correction Coding for Fading Compensation in Mobile Satellite Channels by Hagenauer, J., and Lutz, E.
  • 6. Md. Taj, P Srinivas, S. Nagaraju / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 4, Jul-Aug 2013, pp.1607-1612 1612 | P a g e [6] Theory and Practice of Error Control Codes by Blahut, R. E. [7] Reed-Solomon Codes and Their Applications by Wicker, S. B. and Bhargava, V. K. [8] ASIC Implementation of Reed-Solomon Error Correction Circuits for Low Area Overhead on Memory System by S. P. Kang, C. G. Kim, S. W. Rhee, and Y. Jee. [9] X., Yang, “Industrial Data Communication and Control Networks”, Beijing: TUP, 2003.6[9] B. Zeidman, “Designing with FPGAs & CPLDs”, CMP Books, 2002 [10] C. E. Cummings, “Simulation and Synthesis Techniques for Asynchronous FIFO Design with Asynchronous Pointer Comparisons”, SNUG San Jose 2002