KR20040073642A - 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기 - Google Patents

다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기 Download PDF

Info

Publication number
KR20040073642A
KR20040073642A KR1020030009295A KR20030009295A KR20040073642A KR 20040073642 A KR20040073642 A KR 20040073642A KR 1020030009295 A KR1020030009295 A KR 1020030009295A KR 20030009295 A KR20030009295 A KR 20030009295A KR 20040073642 A KR20040073642 A KR 20040073642A
Authority
KR
South Korea
Prior art keywords
error
polynomial
syndrome
value
control signal
Prior art date
Application number
KR1020030009295A
Other languages
English (en)
Other versions
KR100979366B1 (ko
Inventor
정인택
최상태
강명진
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020030009295A priority Critical patent/KR100979366B1/ko
Publication of KR20040073642A publication Critical patent/KR20040073642A/ko
Application granted granted Critical
Publication of KR100979366B1 publication Critical patent/KR100979366B1/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G9/00Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
    • A01G9/02Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
    • A01G9/029Receptacles for seedlings
    • A01G9/0293Seed or shoot receptacles
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G9/00Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
    • A01G9/02Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
    • A01G9/028Multi-compartmented pots
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G9/00Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
    • A01G9/02Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
    • A01G9/029Receptacles for seedlings
    • A01G9/0295Units comprising two or more connected receptacles

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은, 리드-솔로몬 부호의 복호기에 있어서, 수신부호어의 코드워드의 차수에 따른 선택제어신호와, 신드롬값과 오류위치 및 오류평가 다항식의 계수값을 초기화하는 제어신호를 발생시키는 제어신호 발생부; 데이터 복호기로부터 수신부호어를 입력받아, 상기 수신부호어의 제n차 생성다항식에 의한 신드롬값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 신드롬값을 선택하여 출력하는 신드롬 계산부; 상기 신드롬 계산부로부터 신드롬값을 입력받아, 상기 제n차 생성다항식의 오류위치 다항식 및 오류평가 다항식의 각각의 계수값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 오류위치 다항식 및 오류평가 다항식의 계수값을 선택하여 출력하는 오류위치 및 오류평가 다항식 생성부; 상기 신드롬 계산부, 상기 오류위치 및 오류평가 다항식 생성부를 통과하면서 소요되는 시간지연을 보상하기 위해 상기 수신부호어를 입력받아 일정시간 지연시키는 버퍼; 및 상기 오류위치 및 오류평가 다항식 생성부로부터 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 입력받아 저장한 뒤, 상기 선택제어신호의 인가값에 따라 상기 저장된 계수값을 선택하고, 상기 선택된 계수값들을 이용하여 오류의 위치와 크기를 결정하고, 상기 시간지연된 수신부호어와 상기 결정된 오류의 위치에서의 오류크기값을 가산하여 오류를 정정하는 오류크기 계산 및 정정부를 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기를 제공한다.

Description

다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기{Decoder of Reed-Solomon code with variable error correcting capability}
본 발명은 리드-솔로몬 부호의 복호기(Reed-Solomon Decoder)에 관한 것으로서, 보다 상세하게는, 하나의 제어신호만으로 오류 정정 능력을 변경할 수 있는 한 조의 리드-솔로몬 부호의 복호기에 관한 것이다.
디지털 부호의 전송에는 외부로부터의 영향(전송로상의 잡음, 드롭아웃, 페이딩 등)에 의해 전송 데이터에 오류가 발생할 수 있다. 전송계에서는 오류가 발생한 경우에 데이터의 재전송을 요구할 수 없기 때문에 수신측에서는 수신 정보의 오류검출, 정정이 가능하지 않으면 안된다. 이와 같이, 수신측에서 수신 정보를 정정하는 것을 FEC(Forward Error Correction)방식이라고 한다.
상기 오류정정을 수행하기 위해 Cyclic 부호, BCH(Both-Chaudhuri- Hocquenghem) 부호, 리드-솔로몬(Reed-Solomon) 부호 등이 사용되는데, 특히, 리드-솔로몬 부호가 연집오류(burst error)를 정정하는데 가장 우수한 것으로 알려져 있다.
리드-솔로몬 부호는 다른 블럭 부호들에 비해 상대적으로 우수한 거리 특성을 지니고 있으며, 또한 부호화 기법이 요구되는 실제 응용 시스템에서 상대적으로 매우 긴 길이의 부호화를 구현하기 위해 경판정(hard-decision) 복호 알고리즘을 효율적으로 사용할 수 있는 장점이 있다.
상기 리드-솔로몬 부호의 복호 순서는 다음과 같다.
먼저, 수신된 신호를 이용하여 신드롬값을 구한 뒤, 상기 신드롬값을 이용하여 오류위치 다항식과 오류평가 다항식을 계산한다. 상기 오류위치 다항식의 근의 역수를 구하여 오류의 위치를 결정하고, 상기 오류위치 다항식과 오류평가 다항식을 이용하여 오류크기를 계산한다. 마지막으로 상기 오류위치와 오류크기를 이용하여 수신신호의 오류를 정정한다.
상기 오류위치 다항식과 오류평가 다항식은 수정된 유클리드 알고리즘(MEA : Modified Euclid's Algorithm) 등을 이용하여 계산할 수 있다.
상기 수정된 유클리드 알고리즘을 이용하여 오류위치 및 오류평가 다항식을 계산하는 방법 및 상기 수정된 유클리드 알고리즘을 이용하여 계산한 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 이용하여 오류의 위치와 크기를 구하는 방법이 대한민국 등록특허 제225032호의 이레이져 정정 능력을 갖는 리드-솔로몬 부호의 복호 장치에 개시되어 있다.
한편, ITU-T의 권고안에 따르면, ADSL 및 VDSL 시스템은 전송률과 서비스의 종류에 따라 표 1과 같이 다양한 오류정정 능력(t=R/2)을 갖는다.
파라미터 ADSL DMT-VDSL
패리티 바이트(R) R=0, 2, 4, 6, 8, 10, 12, 14, 16 R: ADSL과 동일
DMT 심벌/코드워드(S) S=1, 2, 4, 8, 16 코드워드(N): 255바이트까지
상기 표 1에서, ADSL 및 VDSL 시스템에서의 코드워드와 패리티 바이트는 가변 구조 혹은 프로그램어블한 구조를 가져야함을 알 수 있다. 상기 ADSL 및 VDSL 시스템에서 사용되는 리드-솔로몬 부호의 심벌은 각각 8비트로 구성되고, 원시다항식 p(x)=x8+x4+x3+x2+1에 의해 생성된 GF(28)원소들이다.
도 1은 일반적인 전송계에서의 리드-솔로몬 부호의 복호기에 의한 오류정정 기능을 도시한 구성도이다.
도 1에서, 송신측의 부호기(10, Encoder)는 데이터(d(x))에 CRC(Cyclic Redundancy Check) 정보가 첨가된 코드워드(c(x))를 생성한다. 상기 코드워드는 전송채널(전화선로)을 통해 수신측으로 전송되는데, 이 때, 다양한 형태의 잡음으로부터 영향을 받게된다. 수신측의 복호기(12)는 전송채널을 통해 수신 데이터(v(x))를 입력받아 전송채널 등에서 발생한 오류(e(x))를 제거하여 원래의 전송 데이터()를 복원한다.
상기 송신측의 부호기에서는 입력되는 데이터를 부호화하기 위해서 생성다항식(Generator Polynomial)을 사용하는데, 생성다항식 g(x)의 차수에 따라 수신측의 리드-솔로몬 부호의 복호기의 오류정정 능력이 결정된다. 즉, g(x)의 차수가 2t라면, 리드-솔로몬 부호의 복호기는 코드워드 중에서 t개의 오류를 정정할 수 있다.
di로 표현하는 정보 데이터를 다항식으로 표현하면 수학식 1과 같다.
그리고, 코드워드를 이루는 ci의 코드워드 다항식 c(x)는 수학식 2와 같이g(x)의 나눗셈 회로에 의해서 생성된다.
수학식 2에서, r(x)는 정보 데이터 d(x)에 x2t을 곱한 후, 이를 생성다항식 g(x)로 나눈 나머지값이다. 따라서, c(x)는 g(x)로 나누어 떨어지고, 코드워드 다항식 c(x)는 생성다항식 g(x)의 근을 대입하면 항상 '0'이 된다. 즉, 수신부호에 오류가 없다면 c(x)는 반드시 g(x)로 나뉘어지고, 나뉘어지지 않으면 오류가 있었다고 판단할 수 있으며, 상기 g(x)의 선택방법에 따라 상당한 확률로 오류검출이 가능하다. 이러한 생성다항식은 리드-솔로몬 부호의 복호기에서 오류를 정정하는데 중요한 정보가 된다.
상기 생성다항식 g(x)는 일반적으로 수학식 3과 같이 정의된다.
수학식 3에서, α는 원시다항식 p(x)의 원소이며, 생성다항식 g(x)는 근 αi를 갖는다.
리드-솔로몬 부호화 기법에서는 메시지를 부호화하기 위해 생성다항식 g(x)를 사용하며, 그의 차수는 오류정정 능력(t)의 2배인 2t와 같다. 따라서, DSL 시스템에서와 같이, 여러 종류의 t에 대해 리드-솔로몬 부호를 응용하려면 각 t에 따른g(x)가 필요하게 된다. 각 t에 대한 g(x)는 상기 수학식 3으로부터 구할 수 있다.
t에 따른 생성다항식의 파라미터는 표 2와 같다.
t\α#에서의 # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 o o
2 o o o o
3 o o o o o o
4 o o o o o o o o
5 o o o o o o o o o o
6 o o o o o o o o o o o o
7 o o o o o o o o o o o o o o
8 o o o o o o o o o o o o o o o o
상기 수학식 3의 소괄호 안의 α0, α1, α2, …, α14, α15등의 파라미터는 복호기의 복호과정에서 필요하다. 상기의 파라미터들은 표 2에서와 같이, t가 증가함에 따라 반복해서 사용됨을 알 수 있다. 그러므로, 표 2의 생성다항식의 파라미터들을 적절하게 공유하면 여러 조의 리드-솔로몬 부호의 복호기를 한 조의 리드-솔로몬 부호의 복호기로 대신할 수 있다.
예를 들어, t가 8인 생성다항식(g2t(x)= g16(x))은 α0에서 α15의 파라미터를 사용하고 있기 때문에, t가 1∼7인 생성다항식(g2(x)∼g14(x))은 t가 8인 생성다항식의 파라미터들을 공유하여 사용하면 된다.
부호기에서는, 상기 각각의 αn을 곱하는 부분만 다를 뿐 전체적인 회로의 구조는 어느 생성다항식을 사용하나 모두 같기 때문에 각각의 αn을 곱하는 부분만을 전부 설계하고, 이 중에서 t에 따라 필요한 파라미터값만을 취하여 공유하도록설계할 수 있다.
상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 각각의 생성다항식에 의해 생성된 코드워드를 복호하기 위해 여러 조의 리드-솔로몬 부호의 복호기를 구비하지 않고, 하나의 선택제어신호만을 이용하여, 각각의 생성다항식의 파라미터들을 공유하고 생성다항식의 차수에 따른 신드롬값, 오류위치 및 오류크기를 선택, 결정함으로써, 생성다항식의 차수에 관계없이 다양한 오류정정을 수행하는 한 조의 리드-솔로몬 부호의 복호기를 제공하는데 있다.
도 1은 일반적인 전송계에서의 리드-솔로몬 부호의 복호기에 의한 오류정정 기능을 도시한 구성도,
도 2는 본 발명에 따른 리드-솔로몬 부호의 복호기의 블럭 구성도,
도 3은 도 2의 신드롬 계산부의 회로도,
도 4는 도 2의 오류위치 및 오류평가 다항식 생성부의 회로도,
도 5는 도 2의 오류크기 계산 및 정정부의 회로도,
도 6은 도 5의 오류위치 및 오류평가 다항식 계산블럭과 오류크기 계산블럭의 세부 회로도.
※ 도면의 주요부분에 대한 부호의 설명 ※
300; 신드롬 계산부
400; 오류위치 및 오류평가 다항식 생성부
500; 오류크기 계산 및 정정부
600; 버퍼
상기한 목적을 달성하기 위하여 본 발명은, 리드-솔로몬 부호의 복호기에 있어서, 수신부호어의 코드워드의 차수에 따른 선택제어신호와, 신드롬값과 오류위치 및 오류평가 다항식의 계수값을 초기화하는 제어신호를 발생시키는 제어신호 발생부; 데이터 복호기로부터 수신부호어를 입력받아, 상기 수신부호어의 제n차 생성다항식에 의한 신드롬값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 신드롬값을 선택하여 출력하는 신드롬 계산부; 상기 신드롬 계산부로부터 신드롬값을 입력받아, 상기 제n차 생성다항식의 오류위치 다항식 및 오류평가 다항식의 각각의 계수값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 오류위치 다항식 및 오류평가 다항식의 계수값을 선택하여 출력하는 오류위치 및 오류평가 다항식 생성부; 상기 신드롬 계산부, 상기 오류위치 및 오류평가 다항식 생성부를 통과하면서 소요되는 시간지연을 보상하기 위해 상기 수신부호어를 입력받아 일정시간 지연시키는 버퍼; 및 상기 오류위치 및 오류평가 다항식 생성부로부터 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 입력받아 저장한 뒤, 상기 선택제어신호의 인가값에 따라 상기 저장된 계수값을 선택하고, 상기 선택된 계수값들을 이용하여 오류의 위치와 크기를 결정하고, 상기 시간지연된 수신부호어와 상기 결정된 오류의 위치에서의 오류크기값을 가산하여 오류를 정정하는 오류크기 계산 및 정정부를 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기를 제공한다.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 리드-솔로몬 부호의 복호기를 보다 상세하게 설명하기로 한다.
도 2는 본 발명에 따른 리드-솔로몬 부호의 복호기의 블럭 구성도이다.
수신부호어의 코드워드의 차수에 따른 선택제어신호(SEL)와 각 구성부에서 계산한 결과값들을 초기화시키고 각 구성부의 동작수행을 제어하는 스타트 제어신호(Start)를 발생시키는 제어신호 발생부(200)와 수신부호어를 입력받아 신드롬값을 계산하는 신드롬 계산부(300), 상기 신드롬 계산부에서 계산된 신드롬값을 이용하여 오류위치 다항식 및 오류평가 다항식을 생성하는 오류위치 및 오류평가 다항식 생성부(400), 상기 오류위치 다항식과 오류평가 다항식의 계수값들을 이용하여 오류의 위치와 크기를 결정하고 상기 수신부호어의 오류를 정정하는 오류크기 계산 및 정정부(500) 및 상기 신드롬 계산부, 상기 오류위치 및 오류평가 다항식 생성부를 통과하면서 소요되는 시간지연을 보상하기 위해 상기 수신부호어를 입력받아 일정시간 지연시키는 버퍼(600)를 포함한다.
상기 제어신호 발생부는 상기 신드롬 계산부, 오류위치 및 오류평가 다항식 생성부, 오류크기 계산 및 정정부에 수신부호어의 코드워드의 차수에 따른 선택제어신호(SEL)를 인가한다. 이러한 선택제어신호에 따라, 상기 신드롬 계산부는 n차 생성다항식에 대해 계산한 모든 신드롬값 중에서 필요한 신드롬값만을 선택적으로 출력한다. 한편, 상기 오류위치 및 오류평가 다항식 생성부도 상기 신드롬 계산부에서 계산한 모든 신드롬값에 대한 오류위치 다항식 및 오류평가 다항식을 구한 뒤, 상기 선택제어신호에 따라 필요한 오류위치 다항식과 오류평가 다항식만을 선택적으로 출력한다. 한편, 상기 오류크기 계산 및 정정부도 상기 오류위치 및 오류평가 다항식 생성부에서 구한 오류위치 및 오류평가 다항식의 계수값들을 저장한 뒤, 상기 선택제어신호에 따라 필요한 계수값만을 추출하여 오류위치의 크기를 구하고 수신부호어의 오류를 정정한다.
그리고, 상기 신드롬 계산부와 오류위치 및 오류평가 다항식 생성부는 제어신호 발생부로부터 스타트제어신호를 인가받는데, 상기 스타트제어신호는 상기 신드롬 계산부에서 계산한 신드롬값과 오류위치 및 오류평가 다항식 생성부에서 계산한 다항식들의 계수값을 리셋한다.
이하, 도 3 내지 6을 참조하여 상기 리드-솔로몬 부호의 복호기를 보다 상세히 설명한다.
도 3은 상기 도 2의 신드롬 계산부의 회로도이다.
신드롬값 생성블럭(30)에서 생성다항식 g16(x)에 의해 생성된 코드워드의 오류를 정정하기 위한 S0부터 S15까지의 모든 신드롬값을 계산한 뒤, 상기 모든 신드롬값들을 시프트 레지스터(32)에 입력한다. 상기 시프트 레지스터에 입력된 신드롬값들은 먹스(34)의 각 입력선으로 입력되고 생성다항식의 차수에 따른 선택제어신호(SEL)가 상기 먹스의 선택선으로 입력된다.
상기 선택제어신호의 인가값에 따라 각각의 생성다항식 g2(x), g4(x), g6(x), g8(x), g10(x), g12(x), g14(x), g16(x)에 대한 신드롬값을 선택적으로 추출하여 필요한 신드롬값만을 출력한 뒤, 오류위치 및 오류평가 다항식 생성부로 상기 신드롬값을 전달한다.
아래의 수학식 4는 코드워드에 따른 신드롬값을 계산하는 수식이다.
신드롬 계산부는 각각의 신드롬값 생성블럭의 끝과 다음 블럭의 시작을 알리는 스타트(start) 제어신호를 각 블럭에 인가하여 t=8부터 t=1까지의 모든 경우의 생성다항식에 대한 신드롬값을 계산하는데, 상기 스타트 제어신호는 입력되는 부호어의 첫 번째 바이트에서 하이(high) 신호를 갖으며, 신드롬값을 리셋(reset)시키는 역할을 한다.
시프트 레지스터의 신드롬값 S0, S1은 먹스(34)의 제2입력선에, S0 ∼ S3는 먹스의 제2입력선에, S0 ∼ S5는 먹스의 제3입력선에, S0 ∼ S7은 먹스의 제4입력선에, S0 ∼ S9은 먹스의 제5입력선에, S0 ∼ S11은 먹스의 제6입력선에, S0 ∼ S13은 먹스의 제7입력선에, S0 ∼ S15은 먹스의 제8입력선에 입력시킨다.
상기 먹스의 선택선으로 인가되는 선택제어신호 SEL은 아래의 표 3과 같다. 표 3은 생성다항식에 따른 선택제어신호(SEL)을 나타낸 것이다.
g#(x)에서의 # 2 4 6 8 10 12 14 16
제어신호(SEL) 000 001 010 011 100 101 110 111
예를 들어, 수신된 부호어의 생성다항식이 g4(x)인 경우에는 선택제어신호 "001"이 먹스의 선택선으로 인가되고, 신드롬값은 S3, S2,S1, S0가 선택되어 출력된다.
도 4는 상기 도 2의 오류위치 및 오류평가 다항식 생성부의 회로도로서, 시스톨릭 어레이(systolic array) 구조를 갖는다.
상기 신드롬 계산부에서 생성한 신드롬 다항식으로부터 오류의 위치를 찾는 과정이 필요한데, 오류위치 및 오류평가 다항식 생성부에서는 오류위치 다항식(Λ(x))과 오류평가 다항식(Ω(x))을 생성하기 위한 알고리즘으로 널리 알려진 수정 유클리드 알고리즘(MEA; Modified Euclid's Algorithm)을 사용한다.
상기 수정된 유클리드 알고리즘은 다음과 같은 수학식 5를 만족한다.
상기 수학식 5에서, s(x)는 신드롬 다항식, Λ(x)는 오류위치 다항식, Q(x)는 몫의 다항식, Ω(x)는 오류크기 다항식을 나타낸다.
MEA 블럭(40)의 초기화를 위해, 상기 수학식 5의 x2t는 R(x)로 설정하고, 몫의 다항식의 초기 다항식 Q(x)에는 상기 신드롬 계산부에서 생성한 신드롬 S(x)로 설정하고, 오류 위치 다항식의 초기 다항식 λ는 0으로 초기화하며, 매개 다항식의 초기값 μ는 1로 설정한다. 그리고, Λ(x)와 Ω(x)는 MEA블럭의 출력신호로 각각 오류위치 다항식과 오류평가 다항식을 나타낸다.
신드롬 계산부와 마찬가지로, 오류위치 및 오류평가 다항식 생성부의 MEA 블럭을 생성다항식 g16(x)에 맞추어 2t(t=8)개인 16개로 설계한 후, 선택제어신호에 의해 g16(x)부터 g2(x)까지 적용할 수 있도록 한다.
만약, t가 8이면 16개의 MEA 블럭을 거친 후에 오류위치 다항식과 오류평가 다항식의 계수 값이 구하여지고, t가 7이면 14개 그리고 t가 1이면 2개의 MEA 블럭을 거친 뒤, 값이 구해진다.
상기 신드롬 계산부와 마찬가지로, 각 MEA 블럭에 스타트 제어신호를 인가하여 입력되는 부호어의 첫 번째 바이트에서 하이신호를 갖도록 하며, MEA 블럭을 통해 계산된 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 리셋한다.
그리고, 각각의 MEA 블럭을 통해 계산된 각각의 오류평가 다항식의 계수값과상기 스타트 제어신호를 논리곱하여 그 결과값을 제1 먹스(42)의 입력선으로 입력하고, 각각의 오류위치 다항식의 계수값과 상기 스타트 제어신호를 논리곱하여 그 결과값을 제2 먹스(44)의 입력선으로 입력하여, 상기 선택제어신호의 인가값에 따라, 각각의 먹스의 출력값이 결정된다.
도 5는 상기 도 2의 오류크기 계산 및 정정부의 회로도이다.
도 5에서, 상기 오류위치 및 오류평가 다항식 생성부에서 계산한 오류위치 다항식과 오류평가 다항식을 이용하여 오류의 위치와 크기를 구할 수 있고, 이를 수신한 코드워드와 가산함으로서 수신부호어의 오류를 정정한다.
오류위치 및 오류평가 다항식 계산블럭(50)은 상기 오류위치 및 오류평가 다항식 생성부에서 구한 오류위치 다항식(Λ(x))과 오류평가 다항식(Ω(x))을 입력받고, 오류정정 능력에 따른 선택제어신호(SEL)를 인가받는다.
상기 오류위치 및 오류평가 다항식 계산블럭은 입력된 오류위치 다항식의 근을 계산하고, 이 근의 역수값(Λ(α-i))을 오류위치로 결정하여 출력한다. 그리고, 상기 오류위치 다항식의 근의 역수값(Λ(α-i))을 미분한 (Λ´(α-i))값을 출력한다. 또한, 오류위치 및 오류평가 다항식 계산블럭은 입력된 오류평가 다항식의 근을 계산하여 이 근의 역수값(Ω(α-i))을 출력한다.
상기 오류위치 다항식 및 오류평가 다항식의 근을 계산하는 방법으로는 첸탐색(chien search)이 사용되는데, 이는 오류위치 다항식에 1, α, α2, α3, …의 순서로 값을 대입하여 근을 구하는 것이다.
그리고, 오류크기 계산블럭(52)은 상기 오류위치 다항식으로부터 계산한 Λ´(α-i)값과 오류평가 다항식으로부터 계산한 Ω(α-i)값을 입력받아 오류의 크기값을 게산한다.
상기 오류위치 및 오류평가 다항식 계산블럭에서 구한 Λ(α-i)값을 논리부정게이트(NOT gate)에 통과시킨 값과 상기 오류크기 계산블럭에서 구한 오류의 크기값을 논리곱게이트(520)의 입력선에 입력하여 오류의 위치에서의 오류크기값 e(x)를 구한다.
마지막으로, 수신 부호어(v(x))와 상기 오류의 위치에서의 오류크기값(e(x))을 가산하여 오류가 정정된 신호()를 구한다.
도 6은 상기 도 5의 오류위치 및 오류평가 다항식 계산블럭과 오류크기 계산블럭의 세부 회로도이다.
오류위치 및 오류평가 다항식 계산블럭은 오류위치 및 오류평가 다항식 생성부에서 계산한 오류위치 다항식(Λ(x))의 계수( Λ8∼ Λ0)와 오류평가 다항식(Ω(x))의 계수(Ω15∼ Ω0)를 입력받아 저장한다. 그리고, 수신되는 부호어의 생성다항식의 차수에 따라 선택제어신호(SEL)도 오류위치 및 오류평가 다항식계산블럭에 인가된다.
이 때, 상기 선택제어신호의 인가값에 따라 각각의 논리곱게이트가 활성화 되어, 오류정정에 필요한 오류위치 다항식의 계수값과 오류평가 다항식의 계수값만이 선택된다.
예를 들어, 오류정정 능력 t가 1이면 선택제어신호(SEL) "000"값이 인가되고 어떠한 논리곱게이트도 활성화되지 않아, Λ1, Λ0, Ω1, Ω0이 선택된다. t가 2이면 선택제어신호 "001"값이 인가되고 논리곱게이트1이 활성화되어, Λ2, Λ1, Λ0, Ω3, Ω2, Ω1, Ω0이 선택된다. t가 8이면 선택제어신호 "111"값이 인가되고 모든 논리곱게이트가 활성화되어, Λ8, Λ7, …, Λ0, Ω15, Ω14, …, Ω0이 선택된다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, DSL 시스템에서의 8조의 리드-솔로몬 부호의복호기의 기능을 하나의 선택제어신호를 인가받는 한 조의 리드-솔로몬 부호의 복호기로 대신함으로써, 하드웨어의 복잡도를 줄일 수 있을뿐만 아니라, 리드-솔로몬 부호의 변수에 따른 초기화 과정이 필요 없어 복호기의 동작을 단순화 할 수 있는 효과가 있다.

Claims (4)

  1. 리드-솔로몬 부호의 복호기에 있어서,
    수신부호어의 코드워드의 차수에 따른 선택제어신호와, 신드롬값과 오류위치 및 오류평가 다항식의 계수값을 초기화하는 스타트 제어신호를 발생시키는 제어신호 발생부;
    데이터 복호기로부터 수신부호어를 입력받아, 상기 수신부호어의 제n차 생성다항식에 의한 신드롬값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 신드롬값을 선택하여 출력하는 신드롬 계산부;
    상기 신드롬 계산부로부터 신드롬값을 입력받아, 상기 제n차 생성다항식의 오류위치 다항식 및 오류평가 다항식의 각각의 계수값을 계산한 뒤, 상기 선택제어신호의 인가값에 따라 상기 오류위치 다항식 및 오류평가 다항식의 계수값을 선택하여 출력하는 오류위치 및 오류평가 다항식 생성부;
    상기 신드롬 계산부, 상기 오류위치 및 오류평가 다항식 생성부를 통과하면서 소요되는 시간지연을 보상하기 위해 상기 수신부호어를 입력받아 일정시간 지연시키는 버퍼; 및
    상기 오류위치 및 오류평가 다항식 생성부로부터 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 입력받아 저장한 뒤, 상기 선택제어신호의 인가값에 따라 상기 저장된 계수값을 선택하고, 상기 선택된 계수값들을 이용하여 오류의 위치와 크기를 결정하고, 상기 시간지연된 수신부호어와 상기 결정된 오류의 위치에서의 오류크기값을 가산하여 오류를 정정하는 오류크기 계산 및 정정부를 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기.
  2. 제 1 항에 있어서,
    상기 신드롬 계산부는,
    상기 스타트 제어신호에 의해 신드롬값을 초기화하고, 입력되는 수신부호어의 제n차 생성다항식의 모든 신드롬값을 계산하는 수단,
    상기 계산된 신드롬값 중에서 가장 큰 차수의 신드롬값을 저장하고, 순차적으로 좌측바이트에 작은 차수의 신드롬값을 저장하는 수단,
    제1 입력단 내지 제n 입력단에 상기 신드롬값 저장수단에 저장된 가장 작은 차수의 신드롬값부터 가장 큰 차수의 신드롬값이 순차적으로 각각 연결되어, 상기 선택제어신호에 의해 상기 제1 내지 제n 입력단의 신호들 중 하나를 선택 출력하는 선택수단을 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기.
  3. 제 1 항에 있어서,
    상기 오류위치 및 오류평가 다항식 생성부는,
    상기 스타트 제어신호에 의해 오류위치 및 오류평가 다항식의 계수값을 초기화하고, 상기 신드롬 계산부로부터 신드롬값을 입력받아, 오류위치 다항식의 계수값과 오류평가 다항식의 계수값을 계산하는 수정 유클리드 알고리즘 계산수단,
    상기 각각의 수정 유클리드 알고리즘 계산수단에서 계산한 오류위치 다항식의 계수값과 상기 스타트 제어신호를 각각 논리곱하는 제1 논리곱수단,
    상기 각각의 수정 유클리드 알고리즘 계산수단에서 계산한 오류평가 다항식의 계수값과 상기 스타트 제어신호를 각각 논리곱하는 제2 논리곱수단,
    제1 입력단 내지 제n 입력단에 상기 제1 논리곱수단의 출력값이 순차적으로 각각 연결되어, 상기 선택제어신호에 의해 상기 제1 내지 제n 입력단의 신호들 중 하나를 선택 출력하는 제1 선택수단,
    제1 입력단 내지 제n 입력단에 상기 제2 논리곱수단의 출력값이 순차적으로 각각 연결되어, 상기 선택제어신호에 의해 상기 제1 내지 제n 입력단의 신호들 중 하나를 선택 출력하는 제2 선택수단을 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기.
  4. 제 1 항에 있어서,
    상기 오류크기 계산 및 정정부는,
    상기 오류위치 및 오류평가 다항식 생성부로부터 오류위치 및 오류평가 다항식의 계수값을 입력받아 저장하는 수단,
    상기 각각의 저장된 계수값과 상기 선택제어신호를 각각 논리곱하는 수단을 포함하는 것을 특징으로 하는 리드-솔로몬 부호의 복호기.
KR1020030009295A 2003-02-14 2003-02-14 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기 KR100979366B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030009295A KR100979366B1 (ko) 2003-02-14 2003-02-14 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030009295A KR100979366B1 (ko) 2003-02-14 2003-02-14 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기

Publications (2)

Publication Number Publication Date
KR20040073642A true KR20040073642A (ko) 2004-08-21
KR100979366B1 KR100979366B1 (ko) 2010-08-31

Family

ID=37360629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030009295A KR100979366B1 (ko) 2003-02-14 2003-02-14 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기

Country Status (1)

Country Link
KR (1) KR100979366B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757156B2 (en) 2005-11-09 2010-07-13 Electronics And Telecommunications Research Institute Reed-Solomon decoding apparatus and method having high error correction capability
US7949927B2 (en) 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
KR101146563B1 (ko) * 2010-07-28 2012-05-25 국방과학연구소 부호 추정 장치 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100195749B1 (ko) * 1996-08-31 1999-06-15 전주범 리드 솔로몬 복호기
KR100258952B1 (ko) * 1997-10-14 2000-06-15 윤종용 새로운 다항식 배열 구조를 채용한 리드-솔로몬(rs) 복호기와그 복호방법
KR100301518B1 (ko) * 1999-07-28 2001-11-01 구자홍 리드 솔로몬 복호기에서의 정정 불가능 에러 검출 방법
KR100358357B1 (ko) * 1999-12-27 2002-10-25 한국전자통신연구원 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757156B2 (en) 2005-11-09 2010-07-13 Electronics And Telecommunications Research Institute Reed-Solomon decoding apparatus and method having high error correction capability
US7949927B2 (en) 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
KR101146563B1 (ko) * 2010-07-28 2012-05-25 국방과학연구소 부호 추정 장치 및 그 방법

Also Published As

Publication number Publication date
KR100979366B1 (ko) 2010-08-31

Similar Documents

Publication Publication Date Title
US7237183B2 (en) Parallel decoding of a BCH encoded signal
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US8386894B2 (en) Parallel forward error correction with syndrome recalculation
JP4152887B2 (ja) リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ
US20060236212A1 (en) High speed hardware implementation of modified reed-solomon decoder
US20200195377A1 (en) Forward error correction with compression coding
JP2003516018A (ja) 加速式リード−ソロモン誤り訂正
MXPA04007077A (es) Bloques dobles de busqueda chien para un decodificador de correccion de error.
US5936978A (en) Shortened fire code error-trapping decoding method and apparatus
US7058876B1 (en) Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
KR100192795B1 (ko) 리드 솔로몬 복호기의 에러 위치 다항식 계산 장치
JPH07202723A (ja) デコーダ、これに使用するエラー探知シーケンス・ジェネレータおよびデコーディング方法
US20020002693A1 (en) Error correction structures and methods
CN111277830B (zh) 一种编码方法、解码方法及装置
US6986097B1 (en) Method and apparatus for generating parity bits in a forward error correction (FEC) system
US6735737B2 (en) Error correction structures and methods
KR20040073642A (ko) 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기
US6081920A (en) Method and apparatus for fast decoding of a Reed-Solomon code
KR101149110B1 (ko) 디지털 통신 시스템의 rs 복호기
JPH08293802A (ja) インターリーブ式誤り訂正方法
RU2295198C1 (ru) Способ кодовой цикловой синхронизации
KR100202945B1 (ko) 리드 솔로몬 복호기의 비트 에러율 측정 장치
KR100192802B1 (ko) 리드 솔로몬 디코더의 에러값 계산 및 정정 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130805

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140804

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150804

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160809

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170803

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 10