Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Sponsor

TI's Lowest Power DSPs: TMS320VC5505 and TMS320VC5504 Industry's best combination of standby and active power for longer battery life

Discussion Groups

Free Online Books

See Also

Embedded Systems

Discussion Groups | Comp.DSP | Euclidean algorithm used to decode Reed-Solomon codes?

There are 3 messages in this thread.

You are currently looking at messages 0 to 3.


Euclidean algorithm used to decode Reed-Solomon codes? - Jaco Versfeld - 07:21 17-07-03

Hi,

Two traditional ways to decode Reed-Solomon codes include the
Massey-Berlekamp and Euclidean decoding algorithms.

Can someone please explain the underlying theory on which the
Euclidean algorithm is based, or perhaps give some pointers in
literature where it is covered?

Does it have anything to do with the Euclidean algorithm used in
abstract algebra to compute the GCD?

Your time, effort and suggestions will be greatly appreciated
Jaco
______________________________
What are the most bookmarked web sites about "linux tutorial"? Find out here.

Re: Euclidean algorithm used to decode Reed-Solomon codes? - Dilip V. Sarwate - 14:41 24-07-03



j...@hotmail.com (Jaco Versfeld) writes:

>Two traditional ways to decode Reed-Solomon codes include the
>Massey-Berlekamp and Euclidean decoding algorithms.

>Can someone please explain the underlying theory on which the
>Euclidean algorithm is based, or perhaps give some pointers in
>literature where it is covered?

>Does it have anything to do with the Euclidean algorithm used in
>abstract algebra to compute the GCD?




Yes, it is the same algorithm or more precisely, the extended
Euclidean algorithm for finding the GCD of two polynomials
a(x) and b(x).  The extended version of the Euclidean algorithm
also finds two polynomials c(x) and d(x) such that

		c(x).a(x) + d(x).b(x) = g(x)

where g(x) is the GCD of a(x) and b(x).  The process is iterative
in that 3 sequences of polynomials are constructed step by step.
One sequence is the set of **remainder** polynomials that begins
a0(x) = a(x), a1(x) = b(x), a2(x), a3(x), ... , and ends in
an(x) = g(x).  The degrees of these polynomials decrease at
each step.  The other two sequences are
c0(x) = 1, c1(x) = 0, c2(x), ... , cn(x) and
d0(x) = 0, d1(x) = 1, d2(x), .... , dn(x).  These polynomials
increase in degree.  Then, the following result holds for
i = 0, 1, 2, ... , n:

		ci(x).a(x) + di(x).b(x) = ai(x).



In Reed-Solomon decoding, we wish to solve the congruence

		L(x).S(x) = W(x) mod x^{2t}

where the syndrome polynomial S(x) is of degree < 2t, while L(x)
has degree at most t, and deg(W(x)) < deg(L(x)).  Note that S(x)
is known while L(x) and W(x) are to be found.  The congruence to
be solved is equivalent to the equation

		M(x).x^{2t} + L(x).S(x) = W(x)

and is solved by applying the extended Euclidean algorithm to
a(x) = x^{2t} and b(x) = S(x).  Let ai(x) be the first remainder
on the remainder sequence whose degree is strictly less than t.
This ai(x) is essentially the W(x) we seek, and the corresponding
di(x) is esentially the L(x) we seek:  they both happen to have
have an extraneous scalar multiplicative factor.  This factor is
equal to di(0), the coefficient of x^0 in the polynomial di(x)
found by the above process.  In other words, W(x) = ai(x)/di(0)
and L(x) = di(x)/di(0) is the solution.  I also mention that it
is unnecessary to carry out this "normalization" in almost all
decoder implementations.  What the decoder needs are the roots
of L(x) and the values taken on by W(x)/L'(x) at the roots, and
these quantities are unaffected if both W(x) and L(x) are 
multiplied by the same scalar factor.


Hope this helps.


--
 .-.     .-.     .-.     .-.     .-.     .-.     .-.
/ D \ I / L \ I / P \   / S \ A / R \ W / A \ T / E \
     `-'     `-'     `-'     `-'     `-'     `-'
______________________________
Are you a member of DSPRelated.com? If you are, you can now access a powerful tool to discover new web sites. Details here.

Re: Euclidean algorithm used to decode Reed-Solomon codes? - Jaco Versfeld - 07:50 25-07-03

Thank you very much

Jaco



Dilip V. Sarwate <s...@uiuc.edu> wrote in message news:<sLVTa.3798$o...@vixen.cso.uiuc.edu>...
> j...@hotmail.com (Jaco Versfeld) writes:
> 
> >Two traditional ways to decode Reed-Solomon codes include the
> >Massey-Berlekamp and Euclidean decoding algorithms.
>  
> >Can someone please explain the underlying theory on which the
> >Euclidean algorithm is based, or perhaps give some pointers in
> >literature where it is covered?
>  
> >Does it have anything to do with the Euclidean algorithm used in
> >abstract algebra to compute the GCD?
> 
> 
> 
> 
> Yes, it is the same algorithm or more precisely, the extended
> Euclidean algorithm for finding the GCD of two polynomials
> a(x) and b(x).  The extended version of the Euclidean algorithm
> also finds two polynomials c(x) and d(x) such that
> 
> 		c(x).a(x) + d(x).b(x) = g(x)
> 
> where g(x) is the GCD of a(x) and b(x).  The process is iterative
> in that 3 sequences of polynomials are constructed step by step.
> One sequence is the set of **remainder** polynomials that begins
> a0(x) = a(x), a1(x) = b(x), a2(x), a3(x), ... , and ends in
> an(x) = g(x).  The degrees of these polynomials decrease at
> each step.  The other two sequences are
> c0(x) = 1, c1(x) = 0, c2(x), ... , cn(x) and
> d0(x) = 0, d1(x) = 1, d2(x), .... , dn(x).  These polynomials
> increase in degree.  Then, the following result holds for
> i = 0, 1, 2, ... , n:
> 
> 		ci(x).a(x) + di(x).b(x) = ai(x).
> 
> 
> 
> In Reed-Solomon decoding, we wish to solve the congruence
> 
> 		L(x).S(x) = W(x) mod x^{2t}
> 
> where the syndrome polynomial S(x) is of degree < 2t, while L(x)
> has degree at most t, and deg(W(x)) < deg(L(x)).  Note that S(x)
> is known while L(x) and W(x) are to be found.  The congruence to
> be solved is equivalent to the equation
> 
> 		M(x).x^{2t} + L(x).S(x) = W(x)
> 
> and is solved by applying the extended Euclidean algorithm to
> a(x) = x^{2t} and b(x) = S(x).  Let ai(x) be the first remainder
> on the remainder sequence whose degree is strictly less than t.
> This ai(x) is essentially the W(x) we seek, and the corresponding
> di(x) is esentially the L(x) we seek:  they both happen to have
> have an extraneous scalar multiplicative factor.  This factor is
> equal to di(0), the coefficient of x^0 in the polynomial di(x)
> found by the above process.  In other words, W(x) = ai(x)/di(0)
> and L(x) = di(x)/di(0) is the solution.  I also mention that it
> is unnecessary to carry out this "normalization" in almost all
> decoder implementations.  What the decoder needs are the roots
> of L(x) and the values taken on by W(x)/L'(x) at the roots, and
> these quantities are unaffected if both W(x) and L(x) are 
> multiplied by the same scalar factor.
> 
> 
> Hope this helps.
______________________________
What are the most bookmarked web sites about "linux tutorial"? Find out here.