DatasheetsPDF.com 
SC140/SC1400 Cores. AN2407 Datasheet 
DatasheetsPDF.com 
SC140/SC1400 Cores. AN2407 Datasheet 

Part  AN2407 
Description  Reed Solomon Encoder/Decoder on the StarCore SC140/SC1400 Cores 
Feature 
www.DataSheet4U.com Freescale Semicondu ctor Application Note AN2407 Rev. 1, 1 2/2004 Reed Solomon Encoder/Decoder on the StarCoreâ„¢ SC140/SC1400 Cores, Wi th Extended Examples By Jasmin Oz and A ssaf Naor This application note describ es the implementation of the ReedSolomo n errorcontrol codes on the StarCoreâ„ ¢ SC140 DSP core. ReedSolomon codes ar e the preferred error. 
Manufacture  Freescale Semiconductor 
Datasheet 
AN2407; control coding procedures in a wide rang e of applications, such as ADSL, digita l cellular phones, storage devices, and deepspace communications. Their popul arity originates from their strong capa bility to correct both random and burst errors. The current trend for improvin g DSPprocessing speed is to place mult iple processor units on a single chip w ith an architectur. 
e that supports parallel execution. The StarCore SC140 family of DSPs exemplifi es this trend. It has four dataarithmet ic units (DALUs) and two addressgenera tion units (AGUs). Code implementation for these processors should capitalize on their capabilities. This document de scribes the implementation of the Reed Solomon encoder and decoder on the SC14 0 core. The docume. 
nt begins with a basic theoretical backg round on the ReedSolomon algorithm and then discusses the implementation of t he encoder and decoder. Little or no ba ckground on the subject is required. CO NTENTS 1 2 2.1 2.2 2.3 3 4 4.1 4.2 4.3 4.4 4.5 5 6 7 Basics of Forward Error C orrection (FEC) .............2 Theory . ....................................... ................... 
Part  AN2407 
Description  Reed Solomon Encoder/Decoder on the StarCore SC140/SC1400 Cores 
Feature 
www.DataSheet4U.com Freescale Semicondu ctor Application Note AN2407 Rev. 1, 1 2/2004 Reed Solomon Encoder/Decoder on the StarCoreâ„¢ SC140/SC1400 Cores, Wi th Extended Examples By Jasmin Oz and A ssaf Naor This application note describ es the implementation of the ReedSolomo n errorcontrol codes on the StarCoreâ„ ¢ SC140 DSP core. ReedSolomon codes ar e the preferred error. 
Manufacture  Freescale Semiconductor 
Datasheet 
www.DataSheet4U.com
Freescale Semiconductor
Application Note
AN2407
Rev. 1, 12/2004
Reed Solomon Encoder/Decoder on
the StarCoreâ„¢ SC140/SC1400 Cores,
With Extended Examples
By Jasmin Oz and Assaf Naor
This application note describes the implementation of the Reed
Solomon errorcontrol codes on the StarCoreâ„¢ SC140 DSP
core. ReedSolomon codes are the preferred errorcontrol
coding procedures in a wide range of applications, such as
ADSL, digital cellular phones, storage devices, and deepspace
communications. Their popularity originates from their strong
capability to correct both random and burst errors.
The current trend for improving DSPprocessing speed is to
place multiple processor units on a single chip with an
architecture that supports parallel execution. The StarCore
SC140 family of DSPs exemplifies this trend. It has four data
arithmetic units (DALUs) and two addressgeneration units
(AGUs). Code implementation for these processors should
capitalize on their capabilities. This document describes the
implementation of the ReedSolomon encoder and decoder on
the SC140 core. The document begins with a basic theoretical
background on the ReedSolomon algorithm and then discusses
the implementation of the encoder and decoder. Little or no
background on the subject is required.
CONTENTS
1 Basics of Forward Error Correction (FEC) .............2
2 Theory ..................................................................... 3
2.1 Galois Fields ........................................................... 3
2.2 ReedSolomon Codes ..............................................6
2.3 ErrorCorrecting Performance of
ReedSolomon Codes ..............................................9
3 SC140 Core Overview ..........................................10
4 Implementation on the SC140 Core.......................12
4.1 Polynomial Evaluation Over GF(256) .................. 13
4.2 MAC Instructions Over Galois Fields ..................14
4.3 Lookup Tables .....................................................14
4.4 Lowest Cycle Count Limit for Polynomial
Evaluation .............................................................15
4.5 Cycle Count of the ReedSolomon Routines ........16
5 Results................................................................... 17
6 Summary ............................................................... 19
7 References .............................................................19
Â© Freescale Semiconductor, Inc., 2003, 2004. All rights reserved.

Basics of Forward Error Correction (FEC)
1 Basics of Forward Error Correction (FEC)
In an ideal communication scheme, the information received is identical to the source transmission. However, in a
typical real communication scheme, the information passes through a noisy communication channel to the receiver.
The information received at the destination is likely to contain errors due to the channel noise. The acceptable level
of transmitted signal corruption (error level) depends on the application. Voice communication, for example, is
relatively error tolerant. However, the prospect of occasionally losing a digit in communications of financial data
highlights the need for errorcontrol mechanisms.
In 1948, C.E. Shannon proved in his classic paper [1] that a communications channel can be made arbitrarily
reliable by encoding the information so that a fixed fraction of the channel is used for redundant information. In the
years that followed, there was a rapid development in designing FEC schemes. Today, a variety of effective coding
algorithms are widely used. FEC offers a number of benefits:
â€¢ Data integrity is critical in the design of most digital communication systems and all storage devices.
Along with the design trend toward increasing bandwidths and data volumes, there is a drive to
decrease the allowed error rates. FEC enables a system to achieve high data reliability.
â€¢ FEC yields low error rates and performance gains for systems in which other options, such as
increasing the transmitted power or installing noiselimiting components, are too expensive or
impractical.
â€¢ System costs may be reduced by eliminating an expensive or sensitive component and compensating
for the lost performance by a suitable FEC scheme.
For an overview of FEC schemes, consult [2] and [3].
FEC adds carefully designed information to the transmitted data and uses this redundant information to reconstruct
the potentially corrupted data. Figure 1 depicts a typical communications scheme.
Input Source
Source Encoder FEC Encoder Modulation
Noise
Channel
Destination
Source Decoder FEC Decoder Demodulation
Figure 1. FEC Communications System
The two main type of errorcontrol codes used in communications systems are as follows:
â€¢ Convolutional codes. Each bit depends on the current bit as well as on a number of previous bits. In
this sense, the convolutional code has a memory. The most common scheme for decoding
convolutional codes is the Viterbi algorithm.
â€¢ Block codes. A bitstream is divided into message blocks of fixed length called frames. The valid code
word block is formed from the message bitstream by adding a proper redundant part. Each code word
is independent of the previous one, so the code is memoryless.
Reed Solomon Encoder/Decoder on the StarCoreâ„¢ SC140/SC1400 Cores, With Extended Examples, Rev. 1
2 Freescale Semiconductor

Theory
The ReedSolomon codes are block codes. Unlike convolutional codes, ReedSolomon codes operate on multibit
symbols rather than on individual bits. The question of whether to choose convolutional codes or block codes
depends on several variables. In lowspeed, lowintegrity applications, convolutional codes are the better choice,
and block codes are suitable for highspeed, highintegrity applications. An example of an application suited to
convolutional codes is a digitized voice communication in which a relatively high biterror rate (about 10â€“3) is
acceptable. For blocks of machineoriented data in which the desired biterror rate ranges from 10â€“10 to 10â€“14,
block codes are the natural choice. Some applications use both convolutional and block codes. In such applications,
concatenated codes result in strong performance by operating in two steps. The inner decoder, usually
convolutional, reduces the biterror rate to a mediumlow level, and the outer decoder, usually a block type,
reduces the biterror rate further, to a very low level.
The errors introduced by the communications channel are classified into two main categories:
â€¢ Random errors. The biterror probabilities are independent of each other. For example, thermal noise
in communication channels typically causes random errors.
â€¢ Burst errors. The bit errors occur sequentially in time. Burst errors can be caused by such conditions as
a fading communications channel or mechanical defects in a storage system.
When an FEC system is designed, the statistical nature of the noise environment must be considered, as well as the
acceptable output biterror rate. When the environment consists predominately of random errors, convolutional
codes provide a low biterror rate solution. However, when the environment has lower biterror rates, longlength
block codes often perform even better. In bursterror channels, ReedSolomon codes are among the best codes
because errors composed of many consecutive corrupted bits translate into only a few erroneous symbols.
2 Theory
The ReedSolomon code was developed in 1960 by I. Reed and G. Solomon [4]. This code is an error detection and
correction scheme based on the use of Galois field arithmetic. This section provides background information on
binary and extended Galois fields and summarizes the essence of the ReedSolomon codes. For details on Reed
Solomon codes, consult the literature, for example, [5] and [6].
2.1 Galois Fields
A number field has the following properties:
â€¢ Both an addition and a multiplication operation that satisfy the commutative, associative, and
distributive laws.
â€¢ Closure, so that adding or multiplying elements always yields field elements as results.
â€¢ Both zero and unity elements. The zero element leaves an element unchanged under addition. The
unity element leaves an element unchanged under multiplication.
â€¢ An additive/multiplicative inverse for each field element. The sole exception is the zero element,
which has no multiplicative inverse.
Division is defined as the inverse of multiplication such that if a Ã— b = c, it follows that c divided by a yields b. An
example of a number field is the set of real numbers together with the addition and multiplication operations.
Galois fields differ from real number fields in that they have only a finite number of elements. Otherwise, they
share all the properties common to number fields.
Reed Solomon Encoder/Decoder on the StarCoreâ„¢ SC140/SC1400 Cores, With Extended Examples, Rev. 1
Freescale Semiconductor
3

@ 2014 :: Datasheetspdf.com :: Semiconductors datasheet search & download site (Privacy Policy & Contact) 