KR100202945B1 - 리드 솔로몬 복호기의 비트 에러율 측정 장치 - Google Patents

리드 솔로몬 복호기의 비트 에러율 측정 장치 Download PDF

Info

Publication number
KR100202945B1
KR100202945B1 KR1019960035238A KR19960035238A KR100202945B1 KR 100202945 B1 KR100202945 B1 KR 100202945B1 KR 1019960035238 A KR1019960035238 A KR 1019960035238A KR 19960035238 A KR19960035238 A KR 19960035238A KR 100202945 B1 KR100202945 B1 KR 100202945B1
Authority
KR
South Korea
Prior art keywords
error
bit
bits
signal
output
Prior art date
Application number
KR1019960035238A
Other languages
English (en)
Other versions
KR19980015800A (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 KR1019960035238A priority Critical patent/KR100202945B1/ko
Publication of KR19980015800A publication Critical patent/KR19980015800A/ko
Application granted granted Critical
Publication of KR100202945B1 publication Critical patent/KR100202945B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 에러 정정 부호화(error correcting coding)되어 전송된 디지털 데이터를 에러 정정 복호화하는 리드 솔로몬 복호기에 관한 것으로, 특히 현재 채널 상태를 모니터할 수 있도록 수신 신호와 에러정정된 신호를 비트별로 비교하여 에러가 발생한 비트 수를 카운팅하므로써 간단한 하드웨어 구조를 갖는 리드 솔로몬 복호기의 비트 에러율 측정 장치에 관한 것으로서, 소정의 심벌단위로 비트를 검사하기 위한 비트 선택신호(sel_bit)를 출력하는 선택신호 발생부(31)와; 상기 비트 선택신호(sel_bit)에 따라 수신 비트 ri,k와 에러 정정된 비트 ci,k를 비교하여 두 비트가 동일하면 제 1 레벨값을 , 두 비트가 동일하지 않으면 제 2 레벨값을 출력하는 비트 비교부(33); 비트 비교부(33)의 제 2 레벨값출력을 카운팅하여 소정의 코드워드에서 발생한 에러 비트수(36)를 출력하는 에러 카운팅부(35); 상기 에러 카운팅부(35)의 에러 비트 수(36)와 피드백 입력된 수(38)를 덧셈하여 에러 비트 수(40)를 출력하는 가산부(37); 소정의 검사 주기동안 상기 가산부(37)로부터 출력된 에러 비트 수(40)를 입력받아 다시 상기 가산부(37)로 피드 백 입력시키는 에러 비트수 저장부(39);로 구성된 본 발명에 따르면, 수신 심벌과 에러정정된 심벌의 각 비트별로 비교하여 다른 비트일 때 카운터를 증가시켜서 에러 비트수를 측정하도록 하여 간단한 하드웨어 구조를 갖는 효과가 있다.

Description

리드 솔로몬 복호기의 비트 에러율 측정 장치(An apparatus for measuring bit error rate in a Reed-Solomon decoder)
본 발명은 에러 정정 부호화(error correcting coding, error control coding : 이하 ECC라 칭함)되어 전송된 디지털 데이터를 에러 정정 복호화하는 리드 솔로몬 복호기에 관한 것으로, 특히 현재 채널 상태를 모티터할 수 있도록 수신 신호와 에러정정된 신호를 비트별로 비교하여 에러가 발생한 비트 수를 카운팅하므로써 간단한 하드웨어 구조를 갖는 리드 솔로몬 복호기의 비트 에러율 측정 장치에 관한 것이다.
일반적으로, 에러 정정 부호화(ECC)는 디지털 데이터를 통신 채널을 통해 전송하거나 저장 매체에 저장시에 발생되는 에러를 검출·정정하기 위해 디지털 데이터를 부호화하는 것으로서, 에러를 검출하거나 정정하는데 사용되는 검사 데이터를 부가함으로써, 데이터의 신뢰도를 높이게 되는 것이다.
이러한 에러 정정 코드(ECC)의 역사는 1948년 Claude Shannon에서 부터 시작되었다. Claude Shannon은 아주 좋은 성능의 채널을 구현하는 것보다 다소 성능이 떨어지는 기존 채널을 사용하면서도 에러 정정 부호를 사용하는 것이 더 경제적이라는 것을 증명하였다.
그러나, Claude Shannon은 단지 에러 정정 코드가 존재한다는 것만을 증명하였을 뿐이며, 에러 정정 코드를 찾는 방법에 대해서는 언급하지 않았다. 이에 따라, 에러 정정 코드를 찾기 위한 노력이 현재까지 꾸준히 진행되고 있으며, 이러한 에러 정정 코드는 크게 블록 코드(block code)와 난블록 코드(nonblock code)로 나누어진다.
상기 블록 코드는 정보 시퀀스를 k개의 비트로 이루어진 블록으로 분리한 다음 블럭 단위로 에러 정정 부호화하며, 상기 난블록 코드는 정보 시퀀스의 입력순서에 따라 에러 정정 부호화를 수행한다. 블록 코드의 대표적인 예로는 BCH 코드(Bose and Ray-Chaudhuri and Hocquenghem code)와 리드 솔로몬 코드(RS code)가 있고, 난블록 코드의 대표적인 예로는 길쌈 부호(convolutional code)가 있다.
상기 BCH 코드는 사이클릭 코드(cyclic code)로서 2m개의 원소를 갖는 갈로아체 GF(2m) 상에서 동작된다. 사이클릭 코드란 선형 코드(liner code)의 어떤 선형 벡터를 사이클릭 시프트시키더라도 사이클릭 시프트된 선형 벡터가 상기 선형 코드의 선형 벡터에 속하는 선형 코드를 말한다.
따라서, BCH 코드는 하기 수학식 1 과 같이 코드 발생 다항식 g(x)이 정해지면 피드백 시프트 레지스터를 이용하여 코드를 부호화할 수 있다.
[수학식 1]
이때, 상기 BCH 코드는 코드 발생 다항식 g(x)이 연속하는 2t 개의 근을 가진다면 t 개 까지의 에러를 정정할 수 있는 능력을 가진다.
리드 솔로몬 코드는 상기 BCH 코드의 최적 코드로서, 코드 발생 다항식이 상기 수학식 1 과 같이 정해지면 t 개의 에러를 정정할 수 있기 때문에 통신 및 컴퓨터 기억 시스템 등에 폭 넓게 사용될 뿐만 아니라 재밍(jamming)에 대항하기 위한 방법으로서 비밀 통신 시스템에서 사용되기도 한다.
이와 같은 상기 리드 솔로몬 코드는 갈로아체 GF(2m) 상에서 동작되어 (상기 갈로아체 필드 GF(2m)는 2m개의 원소를 갖는 수체계(number system)로서, 이러한 수체계를 하드웨어로 구현하게 되면 각 원소들이 모두 m개의 바이너리 디지트(binary digit)로 표현되므로) 디지탈 구조에 효과적이며, 뿐만 아니라 오버 플로우(over flow)가 발생하지 않게 된다.
상기와 같이 갈로아체 필드 GF(2m) 상의 코드를 가지는 리드 솔로몬 코드는 정보와 패리티(parity)가 섞이지 않는 계통적 코드(systematic code)와 정보와 패리티(parity)가 섞이는 비계통적 코드(nonsystematic code)로 분류된다.
상기 계통적 코드는 정보와 패리티가 섞이지 않도록 우선 정보를 상위 바이트로 이동시킨 다음 에러 정정용 코드를 구하여 더한 것으로, 수학식 2로부터 구해진다.
[수학식 2]
상기 수학식 2에 있어서, 상기 c(x)는 코드워드 다항식이고, i(x)는 정보 다항식이며, t(x)는 에러 정정용 패리티의 다항식이다. 즉, 정보와 패리티를 섞이지 않게 정보 i(x)를차 만큼 상위 바이트로 이동시킨 다음,를 만족하는 패리티 t(x)를 구한다. 여기서,을 만족하는 패리티 t(x)는 수학식 3 으로부터 구할 수 있다.
[수학식 3]
상기에 있어서는 코드워드 다항식 c(x)를 코드 발생 다항식 g(x)로 나눈 나머지값을 의미한다. 즉, 상기 패리티 t(x)를 구하기 위해서는를 코드 발생 다항식 g(x)로 나누는 과정을 수행하여야 하며, 이러한 과정은 시프트 레지스터를 코드 발생 다항식 g(x)에 따라 연결하여 구현할 수 있다.
그리고, 상기 비계통적 코드는 수학식 4 와 같이 단순히 정보 i(x)에 코드 발생 다항식 g(x)을 곱해 주므로써 정보와 패리티가 섞여 코드화를 이룬다.
[수학식 4]
상기 수학식 4에서 c(x)는 n-1 차의 코드워드 다항식이고, i(x)는 k-1 차의 정보 다항식, g(x)는 n-k 차의 코드 발생 다항식이다.
상기 코드 발생 다항식 g(x)은 코드워드 다항식 c(x)를 만들어 내기 위해 정보 다항식 i(x)에 곱해지는 것으로, 이러한 코드 발생 다항식 g(x)을 수학식 5 와 같이 연속적인 2t개의 근을 가지도록 정하면 t개의 에러를 정정할 수 있다.
[ 수학식 5]
상기와 같은 방법으로 리드 솔로몬 부호화된 디지털 데이타를 리드 솔로몬 복호화하는 방법은 크게 주파수 영역 복호화와 시간 영역 복호화로 나누어지며, 상기 시간 영역에서 리드 솔로몬 복호화하는 과정은 다음과 같이 크게 3 단계로 이루어진다.
(1) 신드롬 계산
수신된 데이터 γ(x)는 수학식 6 과 같이 코드워드 다항식 c(x)과 전송중에 발생된 에러 다항식 e(x)를 더한 값으로 표현될 수 있다.
[수학식 6]
따라서, 하기 수학식 7a 과 같이 수신된 데이터 r(x)에 코드 발생 다항식 g(x)의 근 α0∼α2t-1을 차례대로 대입함으로써 전송중에 에러가 발생되었는지를 알 수 있는 것이다.
[수학식 7]
즉, 수신된 데이터 γ(x)에 코드 발생 다항식 g(x)의 근 αi을 대입하여 수신된 데이터 γ(x)가 0이면 전송중에 에러가 발생되지 않았다는 것을 의미하며, 수신 데이터 γ(x)가 0이 아니면 에러가 발생하였다는 것을 의미한다.
(2) 에러 위치 다항식 계산(finding error location)
Berlekamp-Massey 알고리즘 또는 Euclid 알고리즘으로부터 에러 위치 다항식의 계수를 계산한다. 상기 알고리즘에 의해 구해진 에러 위치 다항식을 σ(X)라 하면 에러 정정 능력이 t인 리드 솔로몬 코드에서는 수학식 8 과 같이 최고 t차 이하의 에러 위치 다항식이 얻어진다.
[수학식 8]
(3)에러값 계산 및 정정
(3-1) 에러 평가 다항식 Ω(X)의 계수를 하기 수학식 9 를 이용하여 계산한다.
[수학식 9]
상기 수학식 9에 있어서, σ(X)는 에러 위치 다항식이고, S(X)는 신드롬 다항식이다.
(3-2) 평가 진행(evaluation procedure)
GF(2m)의 원소인 α0, α1, …, α(N-1)의 역수를 취하여, 그 역수값을 에러 평가 다항식 Ω(X), 에러 위치 다항식 σ(X), 에러 위치 다항식 σ(X)을 미분한 에러 위치 미분 다항식 σ'(X)에 각각 대입하여 평가값을 구하며, 그 평가값들을 구하는 과정을 평가 진행이라 한다.
(3-3) 상기 (3-2)과정에서 얻어진 평가값들을 이용하여 하기 수학식 10 과 같이 에러값 ei(x)을 계산한다.
[수학식 10]
상기 수학식 10은 포니 알고리듬(Forney alogorithm)을 이용하여 얻어진 것이다.
(3-4) 에러 정정
상기와 같이 에러값 e(x)을 구한 다음 하기 수학식 11 을 이용하여 원래의 코드워드 다항식 c(x)를 구하는 것이다.
[수학식 11]
갈로아체 특성상 같은 값을 더하면 0이 되므로 e(x) + e(x) = 0 이 되는 것이다.
한편, 상기에 기술한 과정들이 진행되는 리드 솔로몬 복호화 방법은 하드웨어로 구현한 일반적인 리드 솔로몬 복호기에 대한 전체 블럭도를 도 1에 도시하였다.
도 1에 도시된 바와 같이, 리드 솔로몬 부호화된 수신 신호 r(x)를 일시 저장하였다가 출력하는 선입선출버퍼(1)와; 상기 리드 솔로몬 부호화된 수신 신호 r(x)로부터 신드롬 Si을 계산하여 출력하는 신드롬 계산부(3); 상기 신드롬 Si을 입력받아 에러 위치 다항식 |S(X)을 계산하여 출력하는 에러 위치 다항식 계산부(5); 상기 신드롬 Si및 에러 위치 다항식 |S(X)을 입력받아 에러 평가 다항식 |9(X)을 구하는 한편 상기 에러 평가 다항식 |9(X)으로부터 에러값 ei를 구하고, 상기 선입선출버퍼(1)에서 출력된 수신 신호 r(x)에 상기 에러값 ei을 더해 수신 신호 r(x)에 발생된 에러를 정정하는 에러 정정부(7) 및; 상기 신드롬 계산부(3)와 에러 위치 다항식 계산부(5) 및 상기 에러 정정부(7)를 각각 제어하는 제어부(9)를 포함하여 구성되어 있다.
상기 신드롬 계산부(3)는 수신 신호 r(x)를 입력받아 신드롬 Si을 계산하며, 이때 상기 신드롬 계산부(3)는 하나의 코드 워드 c(x)가 모두 입력되어야만 신드롬 계산이 완료된다.
그리고, 에러 위치 다항식 계산부(5)는 Berlekamp algorithm이나 Euclid algorithm 등을 통하여 에러의 위치를 찾아낼 수 있는 다항식, 즉 에러 위치 다항식 |S(X)을 계산하여 에러 정정부(7)로 출력한다.
그리고, 에러 정정부(7)는 상기 에러 위치 다항식 |S(X)과 상기 신드롬 계산부(3)에서 출력된 신드롬 Si으로부터 에러 평가 다항식 |9(X)을 구한 다음 상기 에러 평가 다항식 |9(X)으로부터 에러값 ei을 구하여 상기 선입선출버퍼(1)에서 출력된 수신 신호 r(x)에 더해줌으로써, 수신 신호 r(x)에 발생된 에러를 정정하여 에러 정정 복고화된 코드 워드 c(x)를 출력하는 것이다.
그러나, 만약, t개 까지의 에러 정정 능력을 갖는 리드 솔로몬 부호가 페이딩 통신 채널을 통해 전송되어 t+1개 이상의 에러가 발생하게 되면, 리드 솔로몬 복호기를 통해 에러 정정된 코드 워드 c(x)는 신뢰할 수 없는 데이터가 되는 것이다. 따라서, 현재 사용하는 페이딩 통신 채널하에서 얼마만큼의 에러가 발생할 것인지를 알수 있게 되면, 그 채널에 적합한 에러 정정 능력을 갖는 부호어와 적당한 송수신 전력을 를 채택하여 보다 정확한 데이터를 수신할 수 있게 될 것이다.
이와같이 통신 채널의 상태가 어떠한가를 알아볼 수 있는 평가 기준으로 비트 에러율(BER : bit error rate)을 정의하여 사용한다.
비트 에러율(BER)이란, 송신 비트 수와 잘못 수신된 비트 수의 비로서, N비트가 송신되고, 수신 비트 중 n개가 에러인 경우에 n/N(=에러가 발생한 비트/총 전송한 비트 수)으로 정의된다.
한편, 비트 에러율을 모니터하는 장치는 수신측의 복호기에 추가되어 복호기 자체의 성능에 어떤 영향을 주는 것은 아니지만, 채널의 페이딩 환경을 파악할 수 있고, 다음 연결된 시스템에서 동기를 맞추는 데 용이하게 이용될 것이라는 통상의 개념은 이미 제시된 바 있다.
그러나, 리드 솔로몬 복호기의 비트 에러율을 모니터하는 장치에 대한 실제 구체적으로 구현된 장치에 대해서는 공개되어 있지 않는 문제점이 있었다.
이에, 본 발명은 상기와 같은 문제점을 해소하기 위하여 안출된 것으로, 수신 신호와 에러정정된 신호의 심벌을 단위로 각각의 비트끼리 비교한 후, 동일하지 않는 비트의 개수를 카운터를 이용하여 측정하도록 하므로써, 간단한 하드웨어 구조를 갖는 리드 솔로몬 복호기의 비트 에러율 측정 장치를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 리드 솔로몬 복호기의 비트 에러율 측정 장치는 소정의 심벌단위로 비트를 검사하기 위한 비트 선택신호를 출력하는 선택신호 발생부와; 상기 비트 선택신호에 따라 수신 비트와 에러 정정된 비트를 비교하여 두 비트가 동일하면 제 1 레벨값을 , 두 비트가 동일하지 않으면 제 2 레벨값을 출력하는 비트 비교부; 상기 비트 비교부의 제 2 레벨값 출력신호를 카운팅하여 소정의 코드워드 단위동안 발생한 에러 비트 수를 출력하는 에러 카운팅부; 상기 에러 카운팅부의 에러 비트 수와 피드백 입력된 수를 덧셈하여 출력하는 가산부; 및 소정의 검사 주기까지 상기 가산부에서 출력된 에러 비트 수를 입력받아 다시 상기 가산부로 피드 백 입력시키는 에러 비트 수 저장부; 를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 구성을 통하여서 원래 수신된 심벌과 복호기를 통해 에러 정정된 심벌을 비교하여 동일하지 않는 비트의 개수를 카운팅하도록 하여 소정의 주기 동안 발생한 총 비트 에러율을 구할 수 있게 되므로써, 간단한 하드웨어로 리드 솔로몬 복호기의 비트 에러율 측정 장치를 설계할 수 있는 것이다.
도 1은 일반적인 리드 솔로몬 복호기의 전체 블럭도,
도 2는 본 발명에 따른 비트 에러율 측정 장치가 구비된 리드 솔로몬 복호기의 전체 블럭도,
도 3은 도 2의 비트 에러율 측정 장치에 대한 블럭도,
도 4는 도 2의 비트 에러율 측정 장치에 대한 1실시 회로도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
31 : 선택신호 발생부31-1 : 제 1 카운터
31-2 : 제 1 반전 게이트33 : 비트 비교부
33-1∼33-8 : 배타 논리합 게이트33-9 : 제 1 멀티플렉서
35 : 에러 카운팅부35-1 : 제 2 카운터
35-2 : 제 2 반전 게이트35-3 : 롬
35-4 : 제 1 논리곱 게이트35-5 : 제 2 멀티플렉서
37 : 가산부39 : 에러 비트 수 저장부
39-1 : 레지스터39-2 : 제 3 반전 게이트
39-3 : 제 2 논리곱 게이트
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
도 2는 본 발명에 따른 비트 에러율 측정 장치가 구비된 리드 솔로몬 복호기의 전체 블럭도로서, 도 1의 구성요소에 비트 에러율 측정부(10)가 추가되어 있다.
상기 비트 에러율 측정부(10)는 상기 선입선출버퍼(1)로부터 출력된 수신 심볼 ri과 에러 정정부(7)로 부터 출력된 에러 정정된 심볼 ci를 입력받아서, 상기 제어부(9)로부터 제공된 제어신호에 따라 몇개의 코드워드를 소정의 검사 주기로 하여 코드워드 단위시간마다 발생한 에러 비트 수(error_num)를 갱신하여 출력한다.
도 3은 도 2의 비트 에러율 측정 장치에 대한 블럭도로서, 본 발명의 비트 에러율 측정 장치는 선택신호 발생부(31)와, 비트 비교부(33), 에러 카운팅부(35), 가산부(37), 에러비트수 저장부(39)로 구성되어있다.
상기 선택신호 발생부(31)는 소정의 심벌단위로 비트를 검사하기 위한 비트 선택 신호(sel_bit)를 출력한다.
상기 비트 비교부(33)는 상기 비트 선택신호(sel_bit)에 따라 수신 비트 ri,k와 에러 정정된 비트 ci,k를 차례로 비교하여 두 비트가 동일하면 0을 , 두 비트가 동일하지 않으면 1을 출력한다.
상기 에러 카운팅부(35)는 상기 비트 비교부(33)의 1 출력신호를 카운팅하여 소정의 코드워드 단위동안 발생한 에러 비트 수(36)를 상기 가산부(37)로 출력한다.
상기 가산부(37)는 상기 에러 카운팅부(35)의 에러 비트 수(36)와 피드백 입력된 수(38)를 덧셈하여 에러 비트 수(40)를 출력한다.
상기 에러 비트 수 저장부(39)는 소정의 검사 주기동안 상기 가산부(37)로부터 출력된 에러 비트 수(40)를 입력받아 다시 상기 가산기(37)로 피드 백 입력(38)시킨다.
이어서, 상기와 같이 구성되는 본 발명의 세부 회로도를 통해 작용 및 효과를 자세히 설명하기로 한다.
도 4는 본 발명에 따른 비트 에러율 측정 장치의 1실시 회로도로서, 본 회로도는 (204, 188)리드 솔로몬 복호기에 적용한 것이다.
우선, (204, 188)리드 솔로몬 부호어는 8비트를 1심볼(symbol)로 188개의 정보 심볼과 16개의 검사 심볼로 구성되어 단위 코드워드 길이(code word length)가 204바이트인 블럭 코드로서, 에러 정정 능력이 8심벌(=t)이다.
따라서, 심볼 단위로 복호화를 실시하는 리드 솔로몬 복호기에서는 전송도중 발생한 에러 비트 수가 단위 코드워드 당 8심벌(즉,64개 비트)까지는 에러를 정정 할 수 있으나, 9심볼 이상에서 에러가 발생되었다면 에러를 정정할 수 없기 때문에 복원된 데이터는 신뢰할 수 없는 것이 된다.
이제, 도 4에 도시된 세부 회로도를 통해 각 구성요소의 역할을 살펴보면 다음과 같다.
상기 선택신호 발생부(31)는 외부에서 입력된 리셋신호(rst)에 의해 초기화되고, 외부에서 입력된 인에이블 신호(enable)에 의해 인에이블 상태가 되어서, 비트 클럭(bit_clk)에 동기되어 0∼7까지 카운팅하면서 카운팅값을 비트 선택신호(sel_bit)로서 출력하는 제 1 카운터(31-1)와; 심볼마다 발생되는 심볼 클럭신호(sym_clk)를 반전 시켜 상기 제 1 카운터(31-1)의 클리어신호(clr)로서 제공하는 제 1 반전 게이트(31-2);로 구성되어 있다.
그리고, 상기 비트 비교부(33)는 수신된 1심볼의 비트 ri,k와 에러 정정된 1심볼의 비트 ci,k를 각각 입력받아 배타논리합 연산(EXOR)하는 8개의 배타논리합 게이트(33-1∼33-8)와; 상기 제 1 카운터(31-1)로부터 출력된 비트 선택신호(sel_bit)에 따라 상기 8개의 배타논리합 게이트(33-1∼33-8)의 출력을 차례대로 선택하여 출력하는 제 1 멀티플렉서(33-9)로 구성되어 있다.
그리고, 상기 에러 카운팅부(35)는 외부에서 입력된 리셋신호(rst)에 의해 초기화 되며, 비트클럭(bit_clk)에 동기되어 동작되는 한편, 상기 제 1 멀티플렉서(33-9)의 출력신호에 의해 인에이블 상태가 되어서 카운팅하는 제 2 카운터(35-1)와; 외부로부터 입력된 코드워드 시작신호(cw_start)를 반전 시켜 상기 제 2 카운터(35-1)의 클리어 신호(clr)로서 제공하는 제 2 반전 게이트(35-2); 소정의 0x1B 값이 저장된 롬(35-3); 외부로부터 입력된 복원 실패 신호(unrcvr_flag)와 코드워드 시작신호(cw_start)를 논리곱(AND) 연산하는 제 1 논리곱 게이트(35-4); 상기 제 1 논리곱 게이트(35-4)의 출력신호가 1이면 상기 롬값을 선택하여 출력하고, 출력신호가 0이면 상기 제 2 카운터(35-1)의 값을 선택하여 출력하는 제 2 멀티플렉서(35-5)로 구성되어 있다.
이때, 코드워드 시작신호(cw_start)는 코드워드의 첫번째 심벌이 입력되는 동안 1이 되는 신호이며, 복원 실패 신호(unrcvr_flag)는 에러 정정이 실패했을 때 1이 되는 신호로서, 상기 도 2의 제어부(9)로부터 제공된다.
그리고, 상기 가산부(37)는 매 코드워드마다 상기 제 2 멀티플렉서(35-5)로부터 출력된 에러 비트 수(36)와 상기 에러 비트 수 저장부(39)로부터 피드백 입력된 값(38)을 덧셈하여 에러 비트 수(40:error_num)를 출력한다.
그리고, 상기 에러 비트 수 저장부(39)는 상기 가산부(37)로부터 출력된 에러비트 수(error_num)를 입력받아 다시 상기 가산부(37)로 피드 백 출력하는 레지스터(39-1)와; 검사 주기 신호(check_period)를 반전시키는 제 3 반전 게이트(39-2); 상기 제 3 반전 게이트(39-2)의 출력과 리셋신호(rst)를 논리곱(AND) 연산하여 상기 레지스터(39-1)의 리셋신호(rst)로서 제공하는 제 2 논리곱 게이트(39-3); 및 평가 시작 신호(eval_int)와 심볼 클럭 신호(sym_clk)를 논리곱(AND) 연산하여 상기 레지스터(39-1)의 인에이블 신호(ena)로서 제공하는 제 3 논리곱 게이트(39-4)로 구성되어 있다.
여기서, 검사 주기 신호(check_period)는 100번째 코드워드마다 1로 되는 신호로서, 100개의 코드워드에 한 번씩 상기 레지스터(39-1)를 클리어 시키는 역할을 하고, 상기 평가 시작 신호(eval_int)는 에러 평가 진행(evaluation procedure)을 시작할때 1이 되는 신호로서, 상기 레지스터(39-1)를 인에이블 시키는 역할을 하는 것으로, 상기 도 2의 제어부(9)로부터 제공된다.
이어서, 상기와 같은 회로로 구성된 비트 에러율 측정 장치의 구체적인 동작을 살펴보면 다음과 같다.
상기 8개의 배타논리합 게이트(33-1∼33-8)에서는 도 2의 선입선출버퍼(1)로부터 출력된 각각의 수신 심볼의 비트 ri,k와 에러 정정부(9)로부터 출력된 에러 정정된 심벌의 각각의 비트를 배타논리합 연산하여 두 비트가 동일하면 0을, 두 비트가 동일하지 않으면 1을 출력하여 상기 제 1 멀티플렉서(33-9)로 입력한다.
한편, 선택신호 발생부(31)의 제 1 카운터(31-1)는 3비트 카운터로서, 매 심벌마다 발생하는 심볼 클럭 신호(sym_clk)에 의해 클리어 되는 한편, 비트 클럭에 동기되어 0, 1, 2,…, 7, 0, 1,… 의 카운팅값을 비트 선택신호(sel_bit)로서 제공한다.
상기 제 1 멀티플렉서(33-9)는 상기 비트 선택신호(sel_bit)에 따라 상기 배타논리합 게이트(33-1∼33-8)의 출력을 차례대로 선택하여 출력한다.
상기 제 2 카운터(35-1)는 상기 제 1 멀티플렉서(33-9)의 출력신호가 1일 때 인에이블 상태가 되어서 비트 클럭에 의해 동기되어 카운팅한다. 즉, 수신비트 ri,k와 에러정정된 비트 ci,k가 서로 다를 때만 카운팅을 하여 에러 비트 수를 세는 것이다.
이때, 상기 제 2 카운터(35-1)는 0∼63까지 카운팅하는 6비트 카운터로서, 그 이유는 코드워드당 에러정정이 가능한 8개 심벌(=64비트)의 모든 비트에서 에러가 발생되었을 경우를 가정하여 64까지 셀 수 있도록 하였고, 매 코드워드마다 발생하는 코드워드 시작 신호에 의해 클리어(clr)되도록 한 것이다.
상기 제 1 논리곱 게이트(35-4)는 에러정정이 성공했을 경우 0이 되고, 에러정정이 실패했을 경우 1이 되는 복원 실패 신호(unrcvr_flag)와 매 코드워드의 첫번째 심벌에서 1이 되어 코드워드의 시작을 알리는 코드워드 시작신호(cw_start)를 논리곱(AND) 연산하여 제 2 멀티플렉서(35-5)의 선택신호(SEL)로서 제공한다.
이제, 상기 제 2 멀티플렉서(35-5)는 상기 제 1 논리곱 게이트(35-4)의 출력신호에 따라 과거에 복원된 1코드워드의 정정이 실패되었을 경우에는 매 코드 워드가 시작될 때 상기 롬(35-3)의 0x1B값을 선택하여 출력하고, 정정이 성공되었을 경우에는 제 2 카운터(35-1)의 값(코드워드에서 발생한 총 에러 비트 수)을 선택하여 출력한다.
여기서, 상기 롬(35-3)의 값 0x1B은 9개의 심벌에서 27개의 에러비트가 발생하였다는 가정하에 정해진 상수로서, 이 값은 상황에 따라 변경되어질 수 있다.
상기 가산기(37)는 상기 제 2 멀티플렉서(35-5)로부터 출력된 값과 상기 레지스터(39-1)로부터 출력된 값을 합하여 에러 비트 수(40:error_num)로서 출력한다.
여기서, 상기 레지스터(39-1)는 매 코드워드(code word)마다 상기 가산기(37)로부터 출력되는 상기 에러 비트 수(40:error_num)를 피드 백 입력받아 다시 상기 가산기(37)로 출력하는 한편, 100번째 코드워드마다 1이 되는 검사 주기 신호(check_period)에 의해 리셋되므로써, 검사 주기 동안에 에러 비트 수(error_bit)를 임시 저장하는 역할을 한다.
본 발명에 사용된 하드웨어(카운터, 멀티플렉서, 레지스터)의 용량은 고정적이지 않으며, 리드 솔로몬 부호의 에러 정정 능력에 따라 그 용량은 변할 수 있는 것이다.
상기와 같이 동작하는 본 발명은, 검사 주기 동안에 (100개의 코드워드가 전송되는 동안) 발생한 총 에러 비트 갯수를 코드워드 단위로 검사할 수 있도록 한 것으로, 매 코드워드가 시작될 때 마다 지금까지 발생한 에러 비트 수를 갱신하여 출력하도록 하였으며, 에러 정정을 실패한 코드워드에 대해서는 27비트를 에러 비트수로 가정하여 증가시켰다.
이상에서 설명한 바와 같이, 본 발명에 따르면 수신 심벌과 에러정정된 심벌의 각 비트별로 비교하여 서로 다른 비트일 때만 카운팅하는 카운터를 이용하여 매 코드워드마다 에러 비트수를 측정하도록하여 간단한 하드웨어 구조를 갖는 효과가 있다.

Claims (6)

  1. 소정의 심벌단위로 비트를 검사하기 위한 비트 선택신호(sel_bit)를 출력하는 선택신호 발생부(31)와;
    상기 비트 선택신호(sel_bit)에 따라 수신 비트 ri,k와 에러 정정된 비트 ci,k를 비교하여 두 비트가 동일하면 제 1 레벨값을 , 두 비트가 동일하지 않으면 제 2 레벨값을 출력하는 비트 비교부(33);
    상기 비트 비교부(33)의 제 2 레벨값 출력신호를 카운팅하여 소정의 코드워드에서 발생한 에러 비트 수(36)를 출력하는 에러 카운팅부(35);
    상기 에러 카운팅부(35)의 에러 비트 수(36)와 피드백 입력된 수(38)를 덧셈하여 에러 비트 수(40)를 출력하는 가산부(37);
    소정의 검사 주기동안 상기 가산부(37)로부터 출력된 에러 비트 수(40)를 입력받아 다시 상기 가산부(37)로 피드 백 입력시키는 에러 비트 수 저장부(39)를 포함하여 구성되는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
  2. 제 1 항에 있어서, 상기 선택신호 발생부(31)는 외부에서 입력된 리셋신호(rst)에 의해 초기화되고, 외부에서 입력된 인에이블 신호(enable)에 의해 인에이블 상태가 되어서, 비트 클럭(bit_clk)에 동기되어 카운팅값을 비트 선택신호(sel_bit)로서 출력하는 제 1 카운터(31-1)와; 심볼단위마다 발생되는 심볼 클럭신호(sym_clk)를 반전 시켜 상기 제 1 카운터(31-1)의 클리어신호(clr)로서 제공하는 제 1 반전 게이트(31-2)로 구성되는 것을 특징으로하는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
  3. 제 1 항에 있어서, 상기 비트 비교부(33)는 수신된 1심볼의 비트 ri,k와 에러 정정된 1심볼의 비트 ci,k를 각각 입력받아 배타논리합 연산(EXOR)하는 8개의 배타논리합 게이트(33-1∼33-8)와; 상기 제 1 카운터(31-1)로부터 출력된 비트 선택신호(sel_bit)에 따라 상기 8개의 배타논리합 게이트(33-1∼33-8)의 출력을 차례대로 선택하여 출력하는 제 1 멀티플렉서(33-9)로 구성되는 것을 특징으로하는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
  4. 제 1 항에 있어서, 상기 에러 카운팅부(35)는 외부로부터 입력된 리셋신호(rst)에 의해 초기화되고, 비트 클럭(bit_clk)으로 동기되어 동작됨과 더불어, 상기 제 1 멀티플렉서(33-9)의 출력신호가 제 2 레벨값일 때에 인에이블 상태가 되어서 소정의 코드워드에서 발생한 에러 비트 수를 카운팅하는 제 2 카운터(35-1)와; 코드 워드의 시작을 알리는 코드워드 시작신호(cw_start)를 반전 시켜 상기 제 2 카운터(35-1)의 클리어 신호(clr)로서 제공하는 제 2 반전 게이트(35-2); 에러 정정 능력의 범위를 넘어선 소정의 에러 비트수가 저장된 롬(35-3); 에러 정정이 실패 했음을 알리는 복원 실패 신호(unrcvr_flag)와 상기 코드워드 시작신호(cw_start)를 논리곱(AND) 연산하는 제 1 논리곱 게이트(35-4); 상기 제 1 논리곱 게이트(35-4)의 출력신호가 제 2 레벨값이면 상기 롬값을 선택하여 출력하고, 출력신호가 제 1레벨값이면 상기 제 2 카운터(35-1)의 값을 선택하여 출력하는 제 2 멀티플렉서(35-5)로 구성되는 것을 특징으로 하는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
  5. 제 1 항에 있어서, 상기 가산기(37)는 매 코드워드마다 상기 제 2 멀티플렉서(35-5)로부터 출력된 에러 비트 수(36)와 상기 에러 비트 수 저장부(39)로부터 피드백 입력된 값(38)을 합하여 에러 비트 수(40:error_num)를 출력하는 것을 특징으로 하는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
  6. 제 1 항에 있어서, 상기 에러 비트 수 저장부(39)는 상기 가산기(37)로부터 출력된 에러 비트 수(error_num)를 입력받아 다시 상기 가산기(37)로 피드백 출력하는 레지스터(39-1)와; 소정의 검사 주기 신호(check_period)를 반전시키는 제 3 반전 게이트(39-2); 상기 제 3 반전 게이트(39-2)의 출력과 리셋신호(rst)를 논리곱(AND) 연산하여 상기 레지스터(39-1)의 리셋신호(rst)로서 제공하는 제 2 논리곱 게이트(39-3) 및; 수신 심볼의 에러 평가의 시작을 알리는 평가 시작 신호(eval_int)와 심볼 클럭 신호(sym_clk)를 논리곱(AND) 연산하여 상기 레지스터(39-1)의 인에이블 신호(ena)로서 제공하는 제 3 논리곱 게이트(39-4)로 구성되는 것을 특징으로 하는 리드 솔로몬 복호기의 비트 에러율 측정 장치.
KR1019960035238A 1996-08-23 1996-08-23 리드 솔로몬 복호기의 비트 에러율 측정 장치 KR100202945B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960035238A KR100202945B1 (ko) 1996-08-23 1996-08-23 리드 솔로몬 복호기의 비트 에러율 측정 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960035238A KR100202945B1 (ko) 1996-08-23 1996-08-23 리드 솔로몬 복호기의 비트 에러율 측정 장치

Publications (2)

Publication Number Publication Date
KR19980015800A KR19980015800A (ko) 1998-05-25
KR100202945B1 true KR100202945B1 (ko) 1999-06-15

Family

ID=19470609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960035238A KR100202945B1 (ko) 1996-08-23 1996-08-23 리드 솔로몬 복호기의 비트 에러율 측정 장치

Country Status (1)

Country Link
KR (1) KR100202945B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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
KR100785610B1 (ko) * 2000-07-05 2007-12-12 주식회사 대우일렉트로닉스 리드솔로몬적부호기의 고속 부호화 장치
US6876746B2 (en) * 2001-05-15 2005-04-05 Sony Corporation Encryption/decryption engine for multiple isochronous data streams
KR100807056B1 (ko) * 2001-10-30 2008-02-25 주식회사 케이티 회선 품질 측정/분석 장치 및 그 방법

Also Published As

Publication number Publication date
KR19980015800A (ko) 1998-05-25

Similar Documents

Publication Publication Date Title
US4782490A (en) Method and a system for multiple error detection and correction
US7539927B2 (en) High speed hardware implementation of modified Reed-Solomon decoder
US10992416B2 (en) Forward error correction with compression coding
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
KR100659265B1 (ko) 패리티비트가 역순으로 부가된 씨.알.씨. 코드의에러검출장치 및 방법
JP3875274B2 (ja) 短縮ファイア符号エラートラッピング復号方法および装置
US7278086B2 (en) Identifying uncorrectable codewords in a Reed-Solomon decoder for errors and erasures
KR100192795B1 (ko) 리드 솔로몬 복호기의 에러 위치 다항식 계산 장치
US7458007B2 (en) Error correction structures and methods
KR100202945B1 (ko) 리드 솔로몬 복호기의 비트 에러율 측정 장치
US6735737B2 (en) Error correction structures and methods
Potey et al. Error Detection and Correction Capability for BCH Encoder using VHDL
KR100192801B1 (ko) 리드 솔로몬 디코더의 비트 에러율 측정 회로
KR100192793B1 (ko) 리드 솔로몬 복호기의 에러 정정기
KR100212830B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치
KR100195739B1 (ko) 리드솔로몬 복호기의 에러 위치 다항식 평가 장치
US7734991B1 (en) Method of encoding signals with binary codes
KR100192802B1 (ko) 리드 솔로몬 디코더의 에러값 계산 및 정정 장치
KR100212826B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치
KR100979366B1 (ko) 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기
KR0128847B1 (ko) 에이에이엘 타입5 (AA Type 5)서비스를 위한 순방향에러제어의 병렬처리장치
KR100212825B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치
KR100212829B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치
KR100215570B1 (ko) 고화질 텔레비젼용 리드 솔로몬 디코더
KR19980017787A (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: 20110302

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee