KR19980030310A - 리드 솔로몬 디코더의 비트 에러율 측정회로 - Google Patents
리드 솔로몬 디코더의 비트 에러율 측정회로 Download PDFInfo
- Publication number
- KR19980030310A KR19980030310A KR1019960049690A KR19960049690A KR19980030310A KR 19980030310 A KR19980030310 A KR 19980030310A KR 1019960049690 A KR1019960049690 A KR 1019960049690A KR 19960049690 A KR19960049690 A KR 19960049690A KR 19980030310 A KR19980030310 A KR 19980030310A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- bit
- signal
- bits
- symbol
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
본 발명은 에러 정정 부호화되어 전송된 디지털 데이터를 에러 정정 복호화하는 리드 솔로몬 디코더에 관한 것으로, 특히 현재 채널 상태를 모니터할 수 있도록 에러가 발생한 비트 수를 측정하는 리드 솔로몬 디코더의 비트 에러율 측정 회로에 관한 것으로서, 소정의 심벌단위로 수신 비트와 에러 정정된 비트를 비교하여 비트가 동일하면 제 1 레벨 신호를, 두 비트가 동일하지 않으면 제 2 레벨 신호를 출력하는 에러 비트 검사부(31)와; 상기 에러 비트 검사부(31)의 제 2 레벨 출력신호를 카운팅하여 소정의 코드 워드 단위동안 발생한 제 1 에러 비트수(ERR_NUM1)를 출력하는 에러 비트 카운팅부(32); 및 상기 에러 비트 카운팅부(32)의 상기 제 1 에러 비트수(ERR_NUM1)를 입력받아 소정의 검사 주기동안 발생된 제 2 에러 비트수(ERR_NUM2)를 계산하여 출력하는 상기 에러 비트수 계산부(33)로 구성된 본 발명에 따르면, 수신 심벌과 에러정정된 심벌의 각 비트별로 비교하여 다른 비트일 때 카운터를 증가시켜서 에러 비트수를 측정하도록 하여 간단한 하드웨어 구조로 제작하는 효과가 있다.
Description
본 발명은 에러 정정 부호화(error correcting coding, error control coding : 이하 ECC라 칭함)되어 전송된 디지털 데이터를 에러 정정 복호화하는 리드 솔로몬 디코더에 관한 것으로, 특히 현재 채널 상태를 모니터할 수 있도록 수신 신호와 에러정정된 신호를 비트별로 비교하여 에러가 발생한 비트 수를 카운팅하므로써 간단한 하드웨어 구조를 갖는 리드 솔로몬 복호기의 비트 에러율 측정 장치에 관한 것이다.
일반적으로, 디지털 데이터를 통신 채널을 통해 전송하거나 저장 매체에 저장 시에 발생되는 에러를 검출·정정하기 위해 검사 데이터를 부가하여 부호화하게 된다.
이것을 에러 정정 부호화(ECC)라 하며, 그 종류로는 정보 시퀀스를 몇개의 심볼로 이루어진 블록으로 구분한 다음 블록 단위로 부호화하는 블록 코드(block code)와, 정보 시퀀스의 입력순서에 따라 부호화하는 난블록 코드(nonblock code)로 나누어진다.
블록 코드의 대표적인 예로는 BCH 코드(Bose and Ray-Chaudhuri and Hocquenghem code)를 들수 있으며, 지금 까지 알려진 가장 유효한 랜덤 에러 정정 코드로서 간주된 BCH 최적 코드로서 리드 솔로몬 코드(Reed Solomon code)를 들 수 있다.
리드 솔로몬 코드는 K개의 정보 심볼 및 N-K(=2t)개의 검사 심볼로 구성된 코드로서, 여기서, N개의 심볼들은 갈로아체 필드(Galois field) GF(2m)라 불리는 유한계의 2m개 원소들이다.
여기서, 갈로아체 필드 GF(2m)는 2m개의 원소를 갖는 수체계(number system)로서, 이러한 수체계를 하드웨어로 구현하게 되면 각 원소들이 모두 m개의 바이너리 디지트(binary digit)로 표현될 수 있기 때문에 디지탈 구조에 효과적일 뿐만 아니라 오버 플로워도 발생하지 않는 장점을 가지고 있다.
리드 솔로몬 코드의 갈로아체 필드 상의 코드 발생 다항식 g(x)이 연속하는 2t 개의 근을 가진다면 t 개 까지의 에러를 정정할 수 있는 능력을 가진다. 그리고,코드 발생 다항식은 일반적으로 하기 수학식 1a 또는 수학식 1b 와 같이 나타낸다.
상기 수학식 1 에서, α는 갈로아체 필드 GF(2m)의 원소이며, 코드 발생다항식이 정해지면 피드백 시프트 레지스터를 이용하여 코드를 부호화하고, 그 부호어는 t개까지의 에러를 정정할수 있게 된다.
따라서, 리드 솔로몬 코드는 통신 및 컴퓨터 기억 시스템 등에 폭 넓게 사용될 뿐만 아니라 재밍(jamming)에 대항하기 위한 방법으로서 비밀 통신 시스템에서 사용되기도 한다.
상기와 같이 갈로아체 필드 GF(2m) 상의 코드를 가지는 리드 솔로몬 코드는 정보와 패리티(parity)가 섞이지 않는 계통적 코드(systematic code)와 정보와 패리티(parity)가 섞이는 비계통적 코드(nonsystematic code)로 분류된다.
상기 계통적 코드는 정보와 패리티가 섞이지 않도록 우선 정보를 상위 바이트로 이동시킨 다음 에러 정정용 코드를 구하여 더한 것으로, 수학식 2로부터 구해진다.
상기 수학식 2에 있어서, 상기 c(x)는 송신 코드워드 다항식이고, i(x)는 정보 다항식이며, t(x)는 에러 정정용 패리티의 다항식이다. 즉, 정보와 패리티를 섞이지 않게 정보 신호i(x)를차만큼 상위 바이트로 이동시킨 다음,를 만족하는 패리티 t(x)를 구한다.
여기서,을 만족하는 패리티 t(x)는 수학식 3 으로부터 구할 수 있다.
상기에 있어서는 코드워드 다항식 c(x)를 코드 발생 다항식 g(x)로 나눈 나머지 값을 의미한다.
즉, 상기 패리티 t(x)를 구하기 위해서는를 코드 발생 다항식 g(x)로 나누는 과정을 수행하여야 하며, 이러한 과정은 시프트레지스터를 코드 발생 다항식 g(x)에 따라 연결하여 구현할 수 있다.
그리고, 상기 비계통적 코드는 수학식 4 와 같이 단순히 정보 i(x)에 코드 발생 다항식 g(x)을 곱해 주므로써 정보와 패리티가 섞여 코드화를 이룬다.
상기 수학식 4에서 c(x)는 N-1 차의 코드워드 다항식이고, i(x)는 K-1 차의 정보 다항식, g(x)는 N-K 차의 코드 발생 다항식이다.
상기 코드 발생 다항식 g(x)은 코드워드 다항식 c(x)를 만들어 내기 위해 정보 다 항식 i(x)에 곱해지는 것으로, 이러한 코드 발생 다항식 g(x)을 수학식 5 와 같이 연속적인 2t개의 근을 가지도록 정하면 t개의 에러를 정정할 수 있다.
상기와 같은 방법으로 리드 솔로몬 부호화된 디지털 데이터를 리드 솔로몬 복호화하는 방법은 크게 주파수 영역 복호화와 시간 영역 복호화로 나누어지며, 상기 시간 영역에서 리드 솔로몬 복호화하는 과정은 다음과 같이 크게 3 단계로 이루어진다.
(1) 신드롬 계산
수신 코드워드 다항식 r(x)는 수학식 6 과 같이 코드워드 다항식 c(x)과 전송 중에 발생된 에러 다항식 e(x)를 더한 값으로 표현될 수 있다.
따라서, 하기 수학식 7a 과 같이 수신 코드워드 다항식 r(x)에 코드 발생 다항식 g(x)의 근 α0∼α2t-1을 차례대로 대입함으로써 전송 중에 에러가 발생되었는지를 알 수 있는 것이다.
또한, 상기 수학식 7a의 신드롬 계산식은 하기 수학식 7b와 같이 리커시브한 형태로 표현될 수 있다.
상기 수학식 7에서 수신 코드워드 r(x)에 코드 발생 다항식 g(x)의 근 αi을 대입하여 구한 신드롬은, 에러가 발생되지 않았다면, 나머지가 남지 않게 되고, 에러가 발생되었다면, e(αi)값에서 나머지가 존재하게 된다.
즉, 신드롬을 이용하여 에러 위치 및 에러값을 구할 수 있게 되는 것이다.
(2) 에러 위치 다항식 계산(finding error location)
Berlekamp-Massey 알고리즘 또는 Euclid 알고리즘으로부터 에러 위치 다항식의 계수를 계산한다. 상기 알고리즘에 의해 구해진 에러 위치 다항식을 σ(X)라 하면 에러 정정 능력이 t인 리드 솔로몬 코드에서는 수학식 8 과 같이 최고 t차 이하의 다항식을 얻게 된다.
상기 수학식 8의 에러 위치 다항식의 최고차 는 에러가 발생한 심볼의 개수를 의미하는 것으로서, 만약 최고차가 5라면 5개의 심볼에서 에러가 발생했다는 것을 의미한다.
(3)에러값 계산 및 정정
(3-1) 에러 평가 다항식 Ω(X)의 계수를 하기 수학식 9a 를 이용하여 계산한다.
상기 수학식 9a에 있어서, σ(X)는 에러 위치 다항식이고, S(X)는 신드롬 다항식이다.
상기 수학식 9a를 통해 구해진 계수를 갖는 에러 평가 다항식은 하기 수학식 9b와 같이 최고차 t차 이하의 다항식이 얻어진다.
(3-2) 평가 진행(evaluation procedure)
GF(2m)의 원소를 α0, α1, …, α(N-1)을 에러 평가 다항식 Ω(X), 에러 위치 다항식 σ(X), 에러 위치 다항식을 미분한 에러 위치 미분 다항식 σ'(X)에 각각 대입하여 그 평가값을 구하며, 그 평가값들을 구하는 과정을 평가 진행 이라 한다.
(3-3) 상기 (3-2)과정에서 얻어진 평가값들을 이용하여 하기 수학식 10 과 같이 에러값 ei(x)을 계산한다.
상기 수학식 10은 포니 알고리듬(Forney algorithm)을 이용하여 얻어진 것이다.
(3-4) 에러 정정
상기와 같이 에러값 e(x)을 구한 다음 하기 수학식 11 을 이용하여 원래의 송신 코드워드 다항식 c(x)를 구하는 것이다.
갈로아체 특성상 같은 값을 더하면 e(x) + e(x) = 0 이 되는 것이다.
한편, 상기에 기술한 과정들이 진행되는 리드 솔로몬 복호화 방법은 하드웨어로 구현한 일반적인 리드 솔로몬 디코더에 대한 전체 블럭도를 도 1에 도시하였다.
도 1에 도시된 바와 같이, 리드 솔로몬 디코더는 선입선출버퍼부(1)와, 신드롬 계산부(3), 에러 위치 다항식 계산부(5), 에러 정정부(7), 및 제어부(9)로 구성되어 있다.
상기 선입선출버퍼부(1)는 리드 솔로몬 부호화된 수신 신호 r(x)를 일시 저장하였다가 출력하고, 상기 신드롬 계산부(3)는 상기 수신 신호 r(x)로부터 신드롬 Si을 계산하여 출력한다.
상기 에러 위치 다항식 계산부(5)는 상기 신드롬 Si을 입력받아 에러 위치 다항식 σ(X)을 계산하여 출력한다.
상기 에러 정정부(7)는 상기 신드롬 Si와 에러 위치 다항식 σ(X)의 계수σ_COEF, 및 수신 신호 r(X)를 입력받아 에러값 ei를 구하고, 발생된 에러를 정정하여 에러 정정된 신호 c(X)를 출력한다.
상기 제어부(9)는 상기 신드롬 계산부(3)와, 에러 위치 다항식 계산부(5), 및 상기 에러 정정부(7)를 각각 제어하는 제어부(9)를 포함하여 구성되어 있다.
대한 민국 특허 출원 제 96-5445호, 제 96-5446호에 기재된 바와 같이,상기 신드롬 계산부(3)에서는 수신 신호 r(x)를 입력받아 신드롬 Si을 계산하며, 이때 상기 신드롬 계산부(3)는 하나의 코드 워드 r(x)가 모두 입력되어야만 신드롬 계산이 완료된다.
대한 민국 특허 출원 제 96-16009 호에 기재된 바와 같이, 상기 위치 다항식 계산부(5)는 Berlekamp algorithm이나 Euclid algorithm 등을 통하여 에러의 위치를 찾아낼 수 있는 다항식, 즉 에러 위치 다항식 σ(X)을 계산하고, 다항식의 최고차수 L 값을 에러 정정부(7)로 출력한다.
대한 민국 특허 출원 제 96-15269호에 기재된 바와같이, 상기 에러 정정부(7)는 상기 에러 위치 다항식 σ(X)과 상기 신드롬 계산부(3)에서 출력된 신드롬 Si으로부터 에러 평가 다항식 Ω(X)을 구한 다음 상기 에러 평가 다항식 Ω(X)으로부터 에러값 ei을 구하여 상기 선입선출버퍼부(1)에서 출력된 수신 신호 r(x)에 더해줌으로써, 수신 신호 r(x)에 발생된 에러를 정정하여 에러 정정 복호화된 코드 워드 c(x)를 출력하는 것이다. 또한, 상기 에러 위치 다항식의 최고차수 L 값을 이용하여 에러 정정이 성공했는지 실패했는지를 알리는 복원 실패 신호(UNRCVR_FLAG)를 출력한다.
그러나, 만약, t개 까지의 에러 정정 능력을 갖는 리드 솔로몬 부호가 페이딩 통신 채널을 통해 전송되어 t+1개 이상의 에러가 발생하게 되면, 리드 솔로몬 디코더를 통해 에러 정정된 코드 워드 c(x)는 신뢰할 수 없는 데이터가 되는 것이다. 따라서, 현재 사용하는 페이딩 통신 채널하에서 얼마만큼의 에러가 발생할 것인지를 알수 있게 되면, 그 채널에 적합한 에러 정정 능력을 갖는 부호어와 적당한 송수신 전력을 채택하여 보다 정확한 데이터를 수신할 수 있게 될 것이다.
이와같이 통신 채널의 상태가 어떠한가를 알아볼 수 있는 평가 기준으로 비트 에러율(BER : bit error rate)을 정의하여 사용한다. 비트 에러율(BER)이란, 송신 비트 수와 잘못 수신된 비트 수의 비로서, 예를 들어, N 비트가 송신된 후 수신된 비트 중 n개의 에러가 발생된 경우에(=에러가 발생한 비트/총 전송한 비트 수)으로 정의된다.
이러한 비트 에러율을 모니터하는 장치는 수신측의 복호기에 추가되어 복호하는 자체의 성능에 어떤 영향을 주는 것은 아니지만, 채널의 페이딩 환경을 파악할 수 있고, 다음 연결된 시스템에서 동기를 맞추는 데 용이하게 이용될 것이라는 통상의 개념은 이미 제시된 바 있다.
도 2는 비트 에러율 측정 장치가 구비된 리드 솔로몬 복호기의 전체 블럭도로서, 도 1의 구성요소에 비트 에러율 측정부(10)가 추가되어 있다.
상기 비트 에러율 측정부(10)는 상기 선입선출버퍼(1)로부터 출력된 수신 심볼과 에러 정정부(7)로 부터 출력된 에러 정정된 심볼을 입력받아 두 심볼을 비교하여 발생한 에러 비트 수(ERR_NUM)를 계산하여 출력한다.
그러나, 리드 솔로몬 복호기의 비트 에러율을 모니터하는 장치에 대한 구체적인 하드웨어에 대해서는 공개되어 있지 않은 문제점이 있었다.
이에, 본 발명은 상기와 같은 문제점을 해소하기 위하여 안출된 것으로, 수신 신호와 에러정정된 신호의 심벌 단위로 각각의 비트끼리 비교한 후, 동일하지 않는 비트의 개수를 카운터를 이용하여 측정하도록 하므로써, 간단한 하드웨어 구조를 갖는 리드 솔로몬 디코더의 비트 에러율 측정 회로를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 리드 솔로몬 디코더의 비트 에러율 측정 회로는 소정의 심벌단위로 수신 비트와 에러 정정된 비트를 비교하여 비트가 동일하면 제 1 레벨값을, 두 비트가 동일하지 않으면 제 2 레벨값을 출력하는 에러 비트 검사부; 상기 에러 비트 검사부의 제 2 레벨값 출력신호를 카운팅하여 소정의 코드 워드 단위동안 발생한 에러 비트 수를 출력하는 에러 비트 카운팅부; 상기 에러 비트 카운팅부의 출력값을 입력받아 소정의 검사 주기동안 발생된 에러비트수를 계산하여 출력하는 에러 비트수 계산부를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 구성을 통하여서 원래 수신된 심벌과 디코더를 통해 에러 정정된 심벌을 비교하여 동일하지 않는 비트의 개수를 카운팅하도록 하여 소정의 주기 동안 발생한 총 비트 에러율을 구할 수 있게 되므로써, 간단한 하드웨어로 리드 솔로몬 복호기의 비트 에러율 측정 회로를 구현할 수 있는 것이다.
도 1은 일반적인 리드 솔로몬 디코더의 전체 구성도,
도 2는 본 발명에 따른 비트 에러율 측정 회로를 구비한 리드 솔로몬 디코더의 전체 구성도,
도 3은 도 2의 비트 에러율 측정 회로에 대한 구성도,
도 4는 도 3의 비트 에러율 측정 회로에 대한 1실시예이다.
* 도면의 주요부분에 대한 부호의 설명 *
31 : 에러 비트 검사부 31-1 : 제 1 카운터
31-2 : 제 1 반전 게이트 31a∼31h : 배타 논리합 게이트
31-3 : 제 1 멀티플렉서 32 : 에러 비트 카운팅부
32-1 : 제 2 카운터 32-2 : 제 2 반전 게이트
32-3 : 롬 32-4 : 제 1 논리곱 게이트
32-5 : 제 2 멀티플렉서 33 : 에러 비트수 계산부
33-1 : 가산기 33-2 : 레지스터
33-3 : 제 3 반전 게이트 33-4 : 제 2 논리곱 게이트
33-5 : 제 3 논리곱 게이트
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
도 3은 본 발명에 따른 비트 에러율 측정 회로에 대한 구성도로서, 본 발명의 비트 에러율 측정 회로는 에러 비트 검사부(31)와, 에러 비트 카운팅부(32), 및 에러 비트수 계산부(33)로 구성되어있다.
상기 에러 비트 검사부(31)는 소정의 심벌단위로 수신 비트와 에러 정정된 비트를 비교하여 비트가 동일하면 제 1 레벨 신호를, 두 비트가 동일하지 않으면 제 2 레벨 신호를 출력한다.
상기 에러 비트 카운팅부(32)는 상기 에러 비트 검사부(31)의 제 2 레벨 출력신호를 카운팅하여 소정의 코드 워드 단위동안 발생한 제 1 에러 비트수(ERR_NUM1)를 출력한다.
상기 에러 비트수 계산부(33)는 상기 에러 비트 카운팅부(32)의 상기 제 1 에러 비트수(ERR_NUM1)를 입력받아 소정의 검사 주기동안 발생된 제 2 에러 비트수(ERR_NUM2)를 계산하여 출력한다.
이어서, 상기와 같이 구성되는 본 발명의 세부 회로도를 통해 작용 및 효과를 자세히 설명하기로 한다.
도 4는 본 발명에 따른 비트 에러율 측정 장치의 1실시 회로도로서, 본 회로도는 고화질 텔레비젼(Advanced TeleVision : 이하, ATV라 함)용 리드 솔로몬 디코더에 적용한 것이다.
ATV에서 채택하고 있는 리드 솔로몬 부호어는 1심볼(symbol)크기가 8비트로 구성되어 있으면서, 187개의 정보 심볼에 20개의 검사 심볼을 첨가하여 단위 코드워드 길이(codeword length)가 207바이트인 블럭 코드로서, 에러 정정 능력이 10(=t)이다.
따라서, 심볼 단위로 복호화를 실시하는 리드 솔로몬 디코더에서는 전송도중 발생한 에러 비트수가 단위 코드워드 당 10심벌(즉, 80개 비트)까지는 에러를 정정 할 수 있으나, 11심볼 이상에서 에러가 발생되었다면 에러를 정정할 수 없기 때문에 복원된 데이터는 신뢰할 수 없게 됨을 알수 있다.
이제, 도 4에 도시된 세부 회로도를 통해 각 구성요소를 살펴보면 다음과 같다.
상기 에러 비트 검사부(31)는 제 1 카운터(31-1)와, 제 1 반전 게이트(31-2), 배타 논리합 게이트(31a∼31h), 및 제 1 멀티플렉서(31-3)로 구성되어 있다.
상기 제 1 카운터(31-1)는 외부에서 입력된 리셋신호(RST)에 의해 리세트되고, 인에이블 신호(ENA)에 의해 인에이블 상태가 되며, RS클럭(RS_CLK)에 동기되어 카운팅한다.
상기 제 1 반전 게이트(31-2)는 심볼 인에이블 신호(SCLK_ENA)를 반전 시켜 상기 제 1 카운터(31-1)의 클리어 단자로 제공한다.
상기 배타 논리합 게이트(31a∼31h)는 수신된 1심볼의 비트 R_SYM(i)와 에러 정정된 1심볼의 비트 C_SYM(i)를 각각 입력받아 배타 논리합 연산한다.
상기 제 1 멀티플렉서(31-3)는 상기 제 1 카운터(31-1)의 출력을 선택신호로 하여 상기 배타 논리합 게이트(31a∼31h)의 출력을 차례대로 선택한다.
여기서, 상기 심볼 인에이블 신호(SCLK_ENA)는 심볼이 입력되는 기간동안 '온'되는 신호이고, 상기 RS클럭(RS_CLK)은 상기 심볼 인에이블 신호(SCLK_ENA)의 온 사이클을 10분주한 클럭 신호이다.
따라서, 상기 제 1 카운터(31-1)는 상기 RS클럭에 따라 0∼9까지 카운팅하고 다시 0부터 카운팅하게 되므로, 상기 제 1 멀티플렉서(31-3)의 8번과 9번 입력단자는 그라운드시켜주어서, 상기 제 1 카운터(31-1)의 출력이 8이나 9인 경우 0을 출력하도록 한다.
상기 에러 비트 카운팅부(32)는 제 2 카운터(32-1)와, 제 2 반전 게이트(32-2), 롬(32-3), 제 1 논리곱 게이트(32-4), 및 제 2 멀티플렉서(32-5)로 구성되어 있다.
상기 제 2 카운터(32-1)는 외부에서 입력된 리셋신호(RST)에 의해 리세트되며, 상기 RS클럭(RS_CLK)에 동기되어 동작됨과 동시에, 상기 제 1 멀티플렉서(31-3)의 출력신호에 의해 인에이블 상태가 되어서 카운팅한다.
상기 제 2 반전 게이트(32-2)는 외부로부터 입력된 코드워드 시작신호(CW_START)를 반전 시켜 상기 제 2 카운터(32-1)의 클리어 단자(clr)로 제공한다.
상기 롬(32-3)은 소정의 0x21 값이 저장되어 있으며, 이 값이 의미하는 것은 발생한 에러의 개수가 에러 정정 개수 t=10을 초과한 경우를 나타내주는 값으로, 11개의 심볼에서 에러가 발생했고, 각각 3 비트씩 에러가 발생했다고 가정한 값 33을 16진법으로 표기한 것이다.
상기 제 1 논리곱 게이트(32-4)는 외부로부터 입력된 복원 실패 신호(UNRCVR_FLAG)와 코드워드 시작신호(CW_START)를 논리곱 연산한다.
상기 제 2 멀티플렉서(32-5)는 상기 제 1 논리곱 게이트(32-4)의 출력신호에 따라 상기 롬(32-3)의 값 또는 상기 제 2 카운터(32-1)의 값을 선택하여 출력한다.
여기서, 코드워드 시작신호(CW_START)는 코드 워드의 첫번째 심벌이 입력되는 동안 '하이'되는 신호이며, 복원 실패 신호(UNRCVR_FLAG)는 에러 정정이 실패했을 때 '하이'되는 신호이다.
따라서, 상기 제 2 멀티플렉서(32-5)는 에러 정정이 성공했을 경우에는 제 2 카운터(32-1)의 1코드 워드에서 실제 발생한 에러 비트수를 선택하고, 에러 정정이 실패했을 경우에는 상기 롬(32-3)의 미리 정한 수를 선택하여 제 1 에러 비트수(ERR_NUM1)로 출력한다.
상기 에러 비트수 계산부(33-5)는 가산기(33-1)와, 레지스터(33-2), 제 3 반전 게이트(33-3), 및 제 3 논리곱 게이트(33-5)로 구성되어 있다.
상기 가산기(33-1)는 매 코드워드마다 상기 제 2 멀티플렉서(32-5)로부터 출력된 제 1 에러 비트수(ERR_NUM1)와 상기 레지스터(33-2)로부터 출력된 값을 덧셈하여 출력한다.
상기 레지스터(33-2)는 RS클럭(RS_CLK)에 동기되어 상기 가산기(33-1)의 출력값을 입력받아 다시 상기 가산기(33-1)로 피드 백 출력한다.
상기 제 3 반전 게이트(33-3)는 검사 주기 신호(CHK_PERIOD)를 반전시키고, 상기 제 2 논리곱 게이트(33-4)는 상기 제 3 반전 게이트(33-3)의 출력과 외부의 리셋신호(RST)를 논리곱연산한다. 상기 제 2 논리곱 게이트(33-4)의 출력은 상기 레지스터의 리셋단자(rst)로 입력되어 소정의 검사 주기마다 레지스터(33-2)를 리세트시킨다.
상기 제 3 논리곱 게이트(33-5)는 평가 시작 신호(EVAL_INIT_FLAG)와 심볼 인에이블 신호(SCLK_ENA)를 논리곱연산하여 상기 레지스터(39-1)의 인에이블 단자(ena)로 제공한다.
여기서, 상기 평가 시작 신호(EVAL_INIT_FLAG)는 에러 평가 진행(evaluation procedure)을 시작을 알리는 신호로서, 상기 레지스터(33-2)를 인에이블 시키는 역할을 하는 것이다.
따라서, 소정의 검사 주기 동안 상기 가산기(33-1)는 매 코드워드에서 발생한 제 1 에러 비트수(ERR_NUM1)와 상기 레지스터(33-2)에 누적된 제2에러 비트수(ERR_NUM2)를 더하여 코드 워드 주기마다 제 2 에러 비트수(ERR_NUM2)를 출력하는 것이다.
이어서, 상기와 같은 회로로 구성된 (207, 187)리드 솔로몬 디코더의 비트 에러율 측정 장치의 구체적인 동작을 살펴보면 다음과 같다.
상기 제 1 카운터(31-1)는 4비트 카운터로서, 매 심볼단위마다 클리어되고, 1심볼이 입력되는 타임을 10분주한 RS클럭(RS_CLK)에 동기되어 0, 1, 2,…, 7, 8, 9, 0, 1,… 의 카운팅값을 상기 제 1 멀티플렉서(31-3)의 비트선택신호(SEL_BIT)로 제공한다.
상기 8개의 배타논리합 게이트(31a∼31h)에서는 도 2의 선입선출버퍼부(1)로부터 출력된 수신 심볼의 비트 R_SYM[0]∼R_SYM[7]와 에러 정정부(9)로부터 출력된 에러 정정된 심벌의 비트 C_SYM[0]∼C_SYM[7]를 각각 배타논리합 연산하여 두 비트가 동일하면 0을, 두 비트가 동일하지 않으면 1을 출력하여 상기 제 1 멀티플렉서(33-9)로 입력한다.
상기 제 1 멀티플렉서(31-3)는 상기 8개의 배타논리합 게이트의 출력을 1번∼7번 단자로 입력받고, 8번, 9번 단자는 그라운드되어 있으며, 상기 비트선택신호(SEL_BIT)에 따라 차례대로 선택하여 출력한다.
그러면, 상기 제 2 카운터(32-1)는 상기 제 1 멀티플렉서(31-3)의 출력신호가 1일 때 인에이블 상태가 되어서 RS 클럭(RS_CLK)에 의해 동기되어 카운팅한다.
즉, 수신비트 R_SYM[i]와 에러정정된 비트 C_SYM[i]가 서로 다를 때만 카운팅을 하여 발생된 에러 비트수를 측정하는 것이다.
이때, 상기 제 2 카운터(32-1)는 7비트 카운터로, 코드 워드당 에러 정정 가능한 10개심볼의 모든 비트에서 발생가능한 80비트까지 카운팅할 수 있으며, 매 코드워드마다 발생하는 코드워드 시작 신호(CW_START)에 의해 클리어(clr)된다.
상기 제 1 논리곱 게이트(32-4)는 에러정정이 성공했을 경우 '로우'이고, 에러정정이 실패했을 경우 '하이'되는 복원 실패 신호(UNRCVR_FLAG)와 매 코드워드의 첫번째 심볼이 입력되는 동안에만 '하이'되는 코드워드 시작신호(CW_START)를 논리곱연산하여 제 2 멀티플렉서(32-5)의 선택신호로 제공한다.
상기 제 2 멀티플렉서(32-5)는 상기 제 1 논리곱 게이트(32-4)의 출력에 따라 복원된 1코드워드의 정정이 실패되었을 경우에는 상기 롬(35-3)의 0x21을 선택하여 출력하고, 에러 정정이 성공되었을 경우에는 제 2 카운터(35-1)의 값인 1코드워드에서 발생한 제 1 에러 비트수(ERR_NUM1)을 선택하여 출력한다.
상기 가산기(33-1)는 상기 제 1 에러 비트수(ERR_SUM1)와 상기 레지스터(33-2)로부터 출력된 값을 더해서 출력하고, 상기 가산기(33-1)의 출력은 다시 상기 레지스터(33-2)로 피드백 입력된다.
여기서, 상기 레지스터(33-2)는 평가 시작신호(EVAL_INIT_FLAG)와 심볼 인에이블신호(SCLK_ENA)를 논리곱연산한 신호에 의해 코드워드 시작에서만 인에이블 상태가 되어서 상기 RS클럭(RS_CLK)에 동기되어 동작하고, 소정의 검사주기 신호(예를 들어, 100번째 코드워드마다 1이 되는)에 의해 리세트된다.
따라서, 코드워드 주기마다 상기 가산기(33-1)는 현재 코드워드까지 발생한 총 에러 비트수(ERR_NUM2)를 소정의 검사 주기동안 출력하는 것이다.
상기와 같이 동작을 요약하면, 수신 심볼과 에러 정정된 심볼의 각 비트 별로 비교하여 동일하지 않는 비트를 에러 비트로 카운팅하여 코드워드단위로 에러 비트수(ERR_NUM1)를 측정하고, 에러 정정을 실패한 코드워드에 대해서는 33비트 에러가 발생한것으로 가정하고, 에러 정정이 성공한 코드워드에 대해서는 실제로 발생한 에러 비트수를 소정의 검사 주기동안 누적하여, 매 코드워드가 시작될 때 마다 지금까지 발생한 에러 비트수를 갱신하여 출력하는 것이다.
지금까지의 실시예는 에러 정정 능력이 10인 리드 솔로몬 코드를 복원하는 디코더의 적용한 비트 에러율 측정 회로에 관한 것이었고, 본 실시예에 사용된 각종 제어 신호의 주기(RS클럭신호, 검사 주기신호등)나 하드웨어(롬, 카운터, 멀티플렉서, 레지스터등)의 용량은 고정적이지 않으며, 리드 솔로몬 부호의 에러 정정 능력 t 에 따라 변할 수 있는 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 비트 에러율을 모니터하는 장치는 비트별로 비교한 뒤, 에러 비트를 카운팅하여 매 코드워드마다 발생한 에러 비트수를 카운터를 이용하여 측정하는 간단한 하드웨어 구조를 갖는 효과가 있는 것이다.
Claims (11)
- 에러 정정 능력이 t 인 리드 솔로몬 코드를 에러 정정 복원하는 리드 솔로몬 디코더에 설치되어, 전송도중 발생한 에러 비트수를 모니터하는 데 있어서, 소정의 심벌단위로 수신 비트와 에러 정정된 비트를 비교하여 비트가 동일하면 제 1 레벨 신호를, 두 비트가 동일하지 않으면 제 2 레벨 신호를 출력하는 에러 비트 검사부(31)와; 상기 에러 비트 검사부(31)의 제 2 레벨 신호를 카운팅하여 소정의 코드 워드 단위동안 발생한 제 1 에러 비트수(ERR_NUM1)를 출력하는 에러 비트 카운팅부(33); 상기 에러 비트 카운팅부(33)의 상기 제 1 에러 비트수(ERR_NUM1)를 입력받아 소정의 검사 주기동안 발생된 제 2 에러 비트수(ERR_NUM2)를 계산하여 출력하는 상기 에러 비트수 계산부(35)를 포함하여 구성되는 것을 특징으로 하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 1 항에 있어서, 상기 에러 비트 검사부(31)는 심볼 인에이블 신호(SCLK_ENA)를 반전 시키는 제 1 반전 게이트(31-2)와; RS클럭(RS_CLK)에 동기되어 카운팅하면서, 상기 제 1 반전 게이트(31-2)의 출력에 의해 클리어 되는 제 1 카운터(31-1); 수신된 1심볼의 비트 R_SYM[i]와 에러 정정된 1심볼의 비트 C_SYM[i]를 각각 입력받아 배타논리합 연산하여 두 비트를 비교하여 동일하면 제 1 레벨값을, 동일하지 않으면 제 2 레벨값을 출력하는 배타 논리합 게이트(31a∼31h); 및 상기 배타논리합 게이트(31a∼31h)의 출력과 연결되고, 나머지 입력은 그라운드로 연결되어 있으면서, 상기 제 1 카운터(31-1)의 출력을 선택신호로 하여 입력을 순서대로 출력하는 제 1 멀티플렉서(31-3)를 포함하여 구성되는 것을 특징으로 하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 2 항에 있어서, 상기 심볼 인에이블 신호(SCLK_ENA)는 소정 심볼이 입력되는 기간과 입력되지 않는 기간을 구분하여 일정한 주기로 발생하는 신호인 것을 특징으로 하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 1 항에 있어서, 상기 에러 비트 카운팅부(32)는 상기 제 2 레벨값을 카운팅하는 제 2 카운터(32-1)와; 외부로부터 입력된 코드워드 시작신호(CW_START)를 반전 시켜 상기 제 2 카운터(32-1)의 클리어 단자(clr)로 제공하는 제 2 반전 게이트(32-2); 발생한 에러의 개수가 에러 정정 개수 t 을 초과한 경우를 나타내는 값을 저장하는 롬(32-3); 외부로부터 입력된 복원 실패 신호(UNRCVR_FLAG)와 코드워드 시작신호(CW_START)를 논리곱 연산하는 제 1 논리곱 게이트(32-4); 및 상기 제 1 논리곱 게이트(32-4)의 출력신호에 따라 상기 롬(32-3)의 값 또는 상기 제 2 카운터(32-1)의 값을 선택하여 출력하는 제 2 멀티플렉서(32-5)를 포함하여 구성되는 것을 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 4 항에 있어서, 상기 제 2 카운터(32-1)는 외부에서 입력된 리셋신호(RST)에 의해 리세트되며, 상기 RS클럭(RS_CLK)에 동기되어 동작됨과 동시에, 상기 제 1 멀티플렉서(31-3)의 출력신호에 의해 인에이블 상태가 되어서 제 2 레벨값을 카운팅하는 것을 특징으로 하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 4 항에 있어서, 상기 코드워드 시작신호(CW_START)는 매 코드 워드의 시작을 알리는 첫번째 심볼 기간과 나머지 기간을 구분하여 발생하는 신호인 것을 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 4 항에 있어서, 상기 복원 실패 신호(UNRCVR_FLAG)는 에러 정정이 실패했을 때 와 에러 정정이 성공했을 때를 구분하여 발생하는 신호인 것을 특징으로 하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 1 항에 있어서, 상기 에러 비트수 계산부(33-5)는 상기 제 1 에러 비트수(ERR_NUM1)와 피드백 입력된 값을 덧셈하여 출력하는 가산기(33-1)와; RS클럭(RS_CLK)에 동기되어 상기 가산기(33-1)의 출력값을 입력받아 다시 상기 가산기(33-1)로 피드백 출력하는 레지스터(33-2); 소정의 검사 주기 신호(CHK_PERIOD)를 반전시키는 제 3 반전 게이트(33-3); 상기 제 3 반전 게이트(33-3)의 출력과 외부의 리셋신호(RST)를 논리곱연산 하는 제 2 논리곱 게이트(33-4); 및 평가 시작 신호(EVAL_INIT_FLAG)와 심볼 인에이블 신호(SCLK_ENA)를 논리곱연산하여 상기 레지스터(33-2)의 인에이블 단자(ena)로 제공하는 제 3 논리곱 게이트(33-5)를 포함하여 구성되는 것을 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 2 항 또는 제 4 항에 있어서, 상기 RS 클럭(RS_CLK)은 소정 심볼이 입력되는 기간을 에러 정정 능력 t 로 분주한 클럭 신호인 것을 특징으로 하는 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 4 항 또는 제 8 항에 있어서, 상기 RS 클럭(RS_CLK)은 소정 심볼이 입력되는 기간을 에러 정정 능력 t 로 분주한 클럭 신호인 것을 특징으로 하는 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
- 제 8 항에 있어서, 상기 평가 시작 신호(EVAL_INIT_FLAG)는 에러 평가 진행(evaluation procedure)을 시작을 알리는 신호인 것을 특징으로하는 리드 솔로몬 디코더의 비트 에러율 측정 회로.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960049690A KR100192801B1 (ko) | 1996-10-29 | 1996-10-29 | 리드 솔로몬 디코더의 비트 에러율 측정 회로 |
GB9722792A GB2318954B (en) | 1996-10-29 | 1997-10-28 | Reed-solomon decoder for use in advanced television |
JP29757897A JP4012997B2 (ja) | 1996-10-29 | 1997-10-29 | 高画質テレビにおけるリードソロモンデコーダ |
IT002426 IT1295890B1 (it) | 1996-10-29 | 1997-10-29 | Decodificatore di reed-solomon per uso nella televisione avanzata |
CNB971259739A CN1222169C (zh) | 1996-10-29 | 1997-10-29 | 在高级电视中使用的里德-所罗门解码器 |
DE1997147774 DE19747774B4 (de) | 1996-10-29 | 1997-10-29 | Reed-Solomon-Decoder zur Verwendung beim verbesserten Fernsehen (ATV) |
FR9713577A FR2756991B1 (fr) | 1996-10-29 | 1997-10-29 | Decodeur reed - solomon destine a etre utilise en television avancee |
US08/960,232 US6031875A (en) | 1996-10-29 | 1997-10-29 | Reed-Solomon decoder for use in advanced television |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960049690A KR100192801B1 (ko) | 1996-10-29 | 1996-10-29 | 리드 솔로몬 디코더의 비트 에러율 측정 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980030310A true KR19980030310A (ko) | 1998-07-25 |
KR100192801B1 KR100192801B1 (ko) | 1999-06-15 |
Family
ID=19479532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960049690A KR100192801B1 (ko) | 1996-10-29 | 1996-10-29 | 리드 솔로몬 디코더의 비트 에러율 측정 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100192801B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553537B1 (en) | 1998-12-11 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Reed-Solomon decoding apparatus and control method therefor |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI19992002A (fi) | 1999-09-20 | 2001-03-20 | Nokia Networks Oy | Solukkoradioverkossa piirikytkentäisen palvelun laadun mittaus |
-
1996
- 1996-10-29 KR KR1019960049690A patent/KR100192801B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553537B1 (en) | 1998-12-11 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Reed-Solomon decoding apparatus and control method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR100192801B1 (ko) | 1999-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
US5936978A (en) | Shortened fire code error-trapping decoding method and apparatus | |
US4592054A (en) | Decoder with code error correcting function | |
CN106506011B (zh) | 电力线工频通信编码纠错方法 | |
US6735737B2 (en) | Error correction structures and methods | |
KR100202945B1 (ko) | 리드 솔로몬 복호기의 비트 에러율 측정 장치 | |
KR100192801B1 (ko) | 리드 솔로몬 디코더의 비트 에러율 측정 회로 | |
US6360349B1 (en) | Syndrome computing apparatus | |
JP2004215240A (ja) | 誤り訂正装置および誤り訂正方法 | |
KR100192802B1 (ko) | 리드 솔로몬 디코더의 에러값 계산 및 정정 장치 | |
KR100195739B1 (ko) | 리드솔로몬 복호기의 에러 위치 다항식 평가 장치 | |
KR100195749B1 (ko) | 리드 솔로몬 복호기 | |
KR100212830B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 | |
KR100192793B1 (ko) | 리드 솔로몬 복호기의 에러 정정기 | |
KR100979366B1 (ko) | 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기 | |
KR100407131B1 (ko) | 조합회로를 이용한 리드-솔로몬 디코더 | |
KR100212825B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 | |
JP3099890B2 (ja) | Bch符号の誤り訂正装置 | |
KR100212829B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 | |
KR100192788B1 (ko) | 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수계산장치 | |
KR0128847B1 (ko) | 에이에이엘 타입5 (AA Type 5)서비스를 위한 순방향에러제어의 병렬처리장치 | |
KR0166268B1 (ko) | 리드 솔로몬 복호기용 블록 동기신호 생성장치 | |
KR100212082B1 (ko) | 리드솔로몬 디코더에서 멀티플라이어 에러정정방법 및 시스템 | |
KR100212826B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 | |
KR100192800B1 (ko) | 리드 솔로몬 디코더의 다항식 평가 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130107 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 16 |
|
LAPS | Lapse due to unpaid annual fee |