베를레캄프-웰치-베를캄프 알고리즘으로도 알려진 웰치 알고리즘은 엘윈 R의 이름을 따서 명명되었다. 베를레캄프와 로이드 R. Welch. This is a decoder algorithm that efficiently corrects errors in Reed–Solomon codes for an RS(n, k), code based on the Reed Solomon original view where a message
is used as coefficients of a polynomial
or used with Lagrange interpOlation, 입력에 k1, ⋯, k{\displaystyle a_{1},\cdots ,a_{k}} 다음 F(는 나는){F(a_{나는})\displaystyle}는 k+1, ⋯, 오빠{\displaystyle a_{k+1},\cdots ,a_{n}}인코딩을 실시한 부호 워드를 창출하기 위한 적용된다 정도의 다항식 F(는 나는){F(a_{나는})\displaystyle}으로 생성됩니다. ,, 
The goal of the decoder is to recover the original encoding polynomial
, using the known inputs
and received codeword
with possible errors.또한 수신된 코드 워드의 오류에 해당하는
다항식 ) 를
계산한다
주요 방정식
e = 오차 수 정의, n 방정식의 키 집합은

여기서i E(ai) = bi ≠ F(ai)일 경우 0, n - e 비 에러일 경우 b = F(ai)일 경우 E(ai) 0 0. 이러한 방정식은 직접 해결할 수 없지만 Q()를 E()와 F()의 산물로 정의하면 다음과 같다.

그리고 E(ai) = ee = 1의 가장 유의미한 계수가 있다는 제약조건을 더하면 결과는 선형대수로 풀 수 있는 일련의 방정식으로 이어질 것이다.



여기서 q = n - e - 1. e는e 1로 제한되므로 방정식은 다음과 같이 된다.

그 결과 시간 복잡성 O(n^3)와 함께 선형 대수학을 사용하여 해결할 수 있는 일련의 방정식을 도출한다.
알고리즘은 최대 오차수 e = - (n-k)/2 ⌋을 가정하기 시작한다. 방정식을 풀 수 없을 때(중복성으로 인해) e를 1로 줄이고 공정을 반복한다. 방정식을 풀 수 있을 때까지 e를 0으로 줄여서 오류가 없음을 나타낸다.Q()/E()의 잔량이 0이면 E(ai) = 0인 위치에 대해 F() = Q()/E()와 코드 워드 값 F(ai)를 계산하여 원래 코드 워드를 복구한다.나머지 값이 0이면 수정할 수 없는 오류가 감지된 것이다.
예
GF(7)에 정의된 RS(7,3) (n = 7, k = 3)를 α = 3으로 하고 입력 값: ai = i-1 : {0,1,2,3,4,5,6}을(를) 고려하십시오.체계적으로 인코딩할 메시지는 {1,6,3}이다.라그랑주 보간, F(ai) = 3 x + 22 x + 1을 사용하고, a4 = 3에 대해 F(ai)를 a = 6에7 적용하면 코드 워드가 {1,6,3,6,1,2,2}이(가) 된다.c와2 c에서5 오류가 발생하여 수신된 코드 워드가 {1,5,3,6,3,2,2}인 경우를 가정하십시오. e = 2로 시작하고 선형 방정식을 해결하십시오.



오른쪽 행렬의 하단에서 시작하여 e2 = 1:
( )= ( i)/ ( )= + 2+ + 1 나머지는
0.
E2(ai) = a = 1 및 a = 4에서5 0 F(a2 = 1) = 6 및 F(a5 = 4) = 1을 계산하여 수정된 코드 워드 {1,6,3,6,1,2,2}을(를) 생성하십시오.
참고 항목
외부 링크