KR950010339B1 - 에러 정정 장치 - Google Patents
에러 정정 장치 Download PDFInfo
- Publication number
- KR950010339B1 KR950010339B1 KR1019930013835A KR930013835A KR950010339B1 KR 950010339 B1 KR950010339 B1 KR 950010339B1 KR 1019930013835 A KR1019930013835 A KR 1019930013835A KR 930013835 A KR930013835 A KR 930013835A KR 950010339 B1 KR950010339 B1 KR 950010339B1
- Authority
- KR
- South Korea
- Prior art keywords
- decoder
- error
- error correction
- auxiliary memory
- errors
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
내용 없음.
Description
제1도는 종래의 콤팩트 디스크의 에러정정 장치를 나타낸 블럭도.
제2도는 제1도의 에러 정정 범위 한계에서 에러가 발생하였을 경우의 C1,C2코드의 디코딩 과정을 나타낸 실시예도.
제3도는 제1도의 에러정정 범위를 넘어서는 에러가 발생하였을 경우의 C1,C2코드의 디코딩 과정을 나타낸 실시예도.
제4도는 본 발명의 실시예에 따른 에러 정정 장치를 나타낸 블럭도.
제5도는 상기 제4도에서 에러가 발생하였을 경우의 처리 과정을 나타낸 실시예도.
* 도면의 주요부분에 대한 부호의 설명
1 : 제어부 100 : C1 디코더
200 : 지연부 300: 제1스위칭부
400; 제1보조메모리 500 : 제2스위칭부
600 : C2 디코더 700 : 제3스위칭부
800 : 제2보조메모리 900 : 제4스위칭부
본 발명은 R-S(Reed-Solomon) 코드의 디코더를 이용한 디지탈 데이타의 에러 정정 장치에 관한 것으로서, 더욱 상세하게는 정해진 길이내의 정정 범위내로 연집 에러의 갯수를 줄여 에러 정정 능력을 향상하는 에러 정정 장치에 관한 것이다.
일반적으로 R-S 코드는 디지탈 음향 기기(DAT,CD,DCD 등)의 디스크나 테이프 등의 매질에서 생길수 있는 흠으로 인해서 데이타 손상이 생겼을 때 데이타 에러를 정정(data error correction)하는데 유용하며, 플로피 디스크, 하드 디스크, CD-롬 등의 컴퓨터 보조기억장치 및 위성통신에서도 동일한 목적으로 폭넓게 이용되고 있다. 또한, R-S 코드는 디지탈 신호의 재생시 데이타를 보호할 목적으로 수개의 패리티(parity)를 발생시켜 데이타들과 상기 패리티를 포함시킨 1개의 코드워드를 발생하는 엔코더(encoder)와, 상기 엔코더로부터 전송되어 수신된 코드워드를 잡음으로부터 보호한 후 복화화하는 디코더(decoder)를 구비한 정보 채널 보호 장치의 계통에서 여러가지의 부호 방식으로 사용되어 왔다.
이중 R-S 코드는 순회 코드(cycle code)의 일종인 BCH(Bose-Chaudhuri-Hocquenghem; BCH) 코드중 중요한 위치를 차지하고 있는 비 2원 BCH 코드로서 다중 에러를 정정하는 가장 강력한 코드로 알려져 왔다.
제1도는 R-S 코드를 사용한 종래 콤팩트 디스크 플레이어의 에러 정정 장치를 나타낸 블럭도로서, 아날로그/디지탈 컨버터(ADC)를 통해 출력되는 데이타는 (32,28) 방식의 C1 디코더(10)로 입력된다. C1 디코더(10)에서는 에러가 하나인 경우는 에러 정정을 수행하지만 에러가 2개 이상인 경우는 28바이트 모두를 이레이져(erasure:에러 위치는 알고 에러값은 모르는 에러)로 플래그(flag) 처리해서 소정시간 지연시키는 디인터리빙(deinterleving)부(20)를 통해 (28,24)방식의 C2 디코더(30)로 출력한다. C2 디코더(30)는 상기 디인터리빙부(20)에서 출력되는 데이타(D1-D28)를 제공받아 에러의 갯수가 4개 이하이면 에러값을 구하는 공식에 따라 에러를 정정한다. 그러나, 에러의 갯수가 4개를 넘어서면 4개까지만 정정하고 나머지는 후단에 연결된 보간부(40)로 전달한다.
제2a도는 상기 제1도의 ADC를 통해 입력된 데이타에서 연속되는 4개의 연집 에러(burst error)가 발생한 경우의 C1 디코더(10)의 출력을 나타내는 것으로서, 에러가 하나 이상 발생했으므로 28바이트를 모두 이레이져로 처리해서 디인터리빙부(20)로 입력시킨다.
제2b도는 전술한 제2a도와 같이 4개의 연집 에러가 발생하였을 경우에, 디인터리빙부(20)로부터 입력되는 데이타(D1-D28)를 C2 디코더(30)에서 C2 디코더의 에러 정정 범위 한계인 4개 이하로 에러를 분산하는 과정을 나타낸 것이다.
제3a도는 상기 제1도의 ADC를 통해 입력된 데이타에서 연속되는 5개의 연집 에러가 발생한 경우의 C1 디코더(10)의 출력을 나타낸 것으로서, 에러가 하나 이상 발생했으므로 28바이트를 모두 이레이져로 처리해서 디인터리빙부(20)를 통해 C2 디코더(30)로 입력시킨다. 이때, 정해진 길이(constraintlength: CL)내에 C2디코더(30)의 정정 범위는 정해져 있다.
제3b도는 상기 제3a도에서와 같이 5개의 연집 에러가 발생하고 정해진 길이가 27×4바이트일 경우, 디인터리빙부(20)로부터 입력되는 데이타(D1-D28)를 C2 디코더(30)에서 디코딩하는 과정을 나타낸 것으로서, 정해진 길이내에 C2 디코더(30)의 정정 범위를 넘어서는 연집 에러가 존재하므로 C2 디코더(30)는 에러 정정을 할 수 없게 된다.
이상에서와 같이 정해진 길이내에 C2 디코더(30)의 정정 범위를 넘어서는 소정 갯수의 연집 에러가 발생하면 C2 디코더(30)는 정정할 수 있는데까지만 에러를 정정하고, 나머지는 다음 단계의 보간부(40)로 넘긴다.
따라서, 정해진 길이내에 C2 디코더의 정정 범위를 넘어서는 연집 에러가 발생하면 C2 디코더에서 완전한 에러 정정을 수행하지 못하는 문제점을 초래하게 된다.
본 발명은 상기 문제점을 해결하기 위해 안출한 것으로서, 본 발명의 목적은 보조 메모리와 플래그의 사용을 제어하는 제어기를 더 구비하여 정해진 길이내에 C2 디코더의 정정 범위 안으로 연집 에러의 갯수를 줄이도록 함으로써 에러 정정 능력을 향상하는 에러 정정 장치를 제공하는데 있다.
본 발명은 상기 문제점을 해결하기 위해 안출한 것으로서, 본 발명의 목적은 보조 메모리와 플래그의 사용을 제어하는 제어기를 더 구비하여 정해진 길이내에 C2 디코더의 정정 범위 안으로 연집 에러의 갯수를 줄이도록 함으로써 에러 정정 능력을 향상하는 에러 정정 장치를 제공하는데 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 에러 정정 장치는 에러가 하나이면 에러 정정을 수행하고 2개 이상이면 이레이져로 플래그 처리해서 소정시간 지연시켜 출력하는 C1 디코더와, 상기 C1 디코더에서 검출된 에러의 갯수가 에러 정정 범위를 넘어서면 에러 정정 범위 한계까지만 에러 정정을 수행하는 C2 디코더를 포함하는 에러 정정 장치에 있어서, 상기 C1 디코더에서 검출된 에러의 갯수가 에러 정정 범위를 넘어서면 에러 정정 범위를 넘어서는 코드워드를 임시 저장했다가 다음 프레임으로 넘기는 제1보조 메모리와, 상기 C2 디코더에서 에러가 정정된 후 상기 제1보조 메모리에 저장되었던 코드워드를 원래 위치로 복귀하기 위해 상기 제1보조 메모리에 저장되었던 코드워드 자리를 대신 차지했던 에러없는 코드워드를 임시 저장하는 제2보조 메모리와, 상기 제1 및 제2보조 메모리에 데이타를 임시 저장하기 위해 스위칭 작용을 하는 제1 내지 제4스위칭 수단과, 발생된 에러의 수에 따라 상기 제1 내지 제4스위칭 수단에 제어 신호를 제공하는 제어 수단을 더 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 에러 정정 장치의 일실시예에 대하여 첨부한 도면을 참조하여 상세히 설명한다.
제4도는 본 발명에 따른 에러 정정 장치의 블럭도이다.
동 도면에 도시된 바와 같이 엔코더(도시되지 않음)에서 전송되어 수신된 아날로그 데이타를 디지탈 데이타로 변환하는 ADC의 출력단에는 하나의 연집 에러가 발생했을때만 에러 정정을 수행하는 CI 디코더(100)가 연결되고, CI 디코더(100)의 출력단에는 CI 디코더(100)의 출력을 소정기간 지연시키는 지연부(200)가 연결되며, 상기 지연부(200)의 출력단에는 제어 신호에 따라 제1출력단(01) 또는 제2출력단(02)을 선택적으로 스위칭하는 제1스위칭부(300)가 연결된다.
또한, 상기 제1스위칭부(300)의 제1출력단(01)에는 에러가 발생했을 경우 상기 지연부(200)에서 출력되는 코드워드를 저장하는 제1보조 메모리(400)가 연결되고, 상기 제1스위칭부(300)의 제2출력단(02)에는 제2스위칭부(500)의 제1입력단(i1)이 연결되며, 상기 제1보조 메모리(400)의 출력단에는 상기 제2스위칭부(500)의 제2입력단(i2)이 연결된다. 그리고, 상기 제2스위칭부(500)의 출력단(01)에는 C2 디코더(600)가 연결된다.
한편, 상기 C2 디코더(600)의 출력단에는 제3스위칭부(700)의 입력단(i1)이 연결되고, 제3스위칭부(700)의 제1출력단(01)에는 C2 디코더(600)에서 에러가 정정된 후 제1보조 메모리(400)에 저장되었던 코드워드를 원래의 위치로 복귀하기 위해 에러없는 코드워드를 임시 저장하는 제2보조 메모리(800)가 연결된다. 그리고, 상기 제3스위칭부(700)의 제2출력단(02)에는 제4스위칭부(900)의 제1입력단(i1)이 연결되고, 상기 제2보조 메모리(800)의 출력단에는 상기 제4스위칭부(900)의 제2입력단(i2)이 연결된다.
또한, 상기 제4스위칭부(900)의 출력단(01)에는 DAC를 통해 에러 정정된 신호를 출력하는 보간부(950)가 연결된다. 상기 제1 내지 제4스위칭부(300,500,700,900)는 3상태 아날로그 스위치이며, 제어부(1)에서 출력되는 제어 신호에 따라 스위칭된다. 즉, 제어부(10)에서 제1 내지 제4스위칭부(300,500,700,900)의 제어를 위해 필요한 변수를 하기와 같이 설정한다.
CL(Constraint Length):연질 에러가 최대치를 넘지 말아야 하는 정해진 길이, 본 발명에서는 프레임(frame)이라고 한다.
max_burst:상기 CL 안에서 에러 정정이 가능한 연집 에러의 최고치.
burst_count:상기 CL 안에 연집 에러가 몇개 있는지를 나타낸다.
length_count: C2 디코더(600)로 몇개의 코드워드가 들어갔는지를 나타낸다(0≤length_count≤CL).
M1_count≤max burst).
이때, 상기 변수들은 제어부(1)에서 적절히 조합되어 상기 제1 내지 제4스위칭부의 스위칭을 제어한다.
이와같이 구성된 본 발명은 ADC를 통해 입력되는 데이타는(32,38) 방식의 C1 디코더(100)로 입력된다. C1 디코더(100)에서는 에러가 하나인 경우는 에러 정정을 수행하지만 에러가 2개 이상인 경우는 28바이트 모두를 이레이져로 플래그 처리해서 지연부(200)로 출력하고, 지연부(200)에서는 상기 C1 디코더(100)의 출력을 소정시간 지연시킨 후 제1스위칭부(300)의 입력단(i1)으로 출력한다.
이때, 상기 C1 디코더(100)와 지연부(200)를 통과한 코드워드에 에러가 없다고 판별되면 상기 제어부(1)는 제1스위칭부(300)의 입력단(i1)을 제2출력단(02)과 접속시키고 제2스위칭부(500)의 제1입력단(i1)을 출력단(02)과 접속시킨다. 따라서, 상기 지연부(200)에서 출력되는 코드워드는 제1 및 제2스위칭부(300) 및 (500)를 통해 (28,24)방식의 C2 디코더(600)로 입력된다.
한편, 에러가 있다고 판별되면 에러의 숫자에 따라 제1보조 메모리(400) 또는 C2 디코더(600)에 입력된다.
즉, burst_count<max_burst이면 상기 지연부(200)에서 출력되는 코드워드는 제1, 제2스위칭부(300,500)를 통해 C2 디코더(600)로 입력되고, burst_count≥max_burst이면 상기 지연부(200)에서 출력되는 코드워드는 제1스위칭부(300)의 제1출력단(01)을 통해 제1보조 메모리(400)로 입력된다.
이때, 제1보조 메모리(400)에 코드워드가 저장될 때는 length_count가 증가하지 않는다. 한편, 다음 프레임이 시작될 때(즉, lenght_count=0 일때), 제어부(1)의 제어 신호에 의해 제1보조 메모리(400)에 있는 코드워드는 제2입력단(i2)을 통해 C2 디코더(600)로 입력된다. 그런 후, C1 디코더(100)의 출력이 제1보조 메모리(400)로 입력되도록 한다.
또한, 상기 C2 디코더(600)에서 에러가 정정된 후에는 제1보조 메모리(400)에 저장되었던 코드워드는 원래 위치로 되돌려 놓아야 한다. 따라서, 제1보조 메모리(400)에 들어갔던 코드워드 자리를 대신 차지했던 에러없는 코드워드을 제어부(1)의 제어신호에 의해 제3스위칭부(700)이 제1출력단(01)을 통해 제2보조 메모리(800)에 임시로 저장해둔다. 그리고 다음 프레임에서 에러 정정된 제1보조 메모리(400)의 코드워드를 원래 위치로 놓는다. 이와같은 방법을 통해서 원래 순서로 코드워드를 배열하여 보간부(950)로 입력한다.
즉, 제5a도와 같이 ADC를 통해 입력된 데이타에서 연속되는 3개의 연집 에러가 발생한 경우, 종래에는 에러 정정이 불가능했으나 본 발명에서는 제5b도와 같이 max_burst를 넘는 코드워드를 제1보조 메모리(400)에 임시 저장했다가 다음 프레임 2로 넘김으로써 에러 정정이 가능해진다.
이상에서와 같이 본 발명에 따른 에러 정정 장치에 의하면, 정해진 길이내에서 C2 디코더의 에러 정정 범위을 넘는 코드워드는 보조 메모리에 임시 저장했다가 다음 프레임으로 넘겨 C2 디코더의 정정 범위 내로 연집 에러의 갯수를 줄여 에러 정정 능력을 향상하는 커다란 효과가 있다.
Claims (1)
- 에러가 하나이면 에러 정정을 수행하고 2개 이상이면 이레이져로 플래그 처리해서 소정시간 지연시켜 출력하는 C1 디코더(100)와, 상기 C1 디코더(100)에서 검출된 에러의 갯수가 에러 정정 범위를 넘어서면 에러 정정 범위 한계까지만 에러 정정을 수행하는 C2 디코더(600)를 포함하는 에러 정정 장치에 있어서, 상기 C1 디코더(100)에서 검출된 에러의 갯수가 에러 정정 범위를 넘어서면 에러 정정 범위를 넘어서는 코드워드를 임시 저장했다가 다음 프레임의 에러 정정시 상기 C2 디코더(600)에 제공하는 제1보조 메모리(400)와, 상기 C2 디코더(600)에서 에러가 정정된 후 상기 제1보조 메모리에 저장되었던 코드워드를 원래 위치로 복귀하기 위해 상기 제1보조 메모리(400)에 저장되었던 코드워드 자리를 대신 차지했던 에러없는 코드워드를 임시 저장하는 제2보조 메모리(800)와, 상기 제1, 제2보조 메모리에 데이타를 임시 저장하기 위해 스위칭 작용을 하는 제1 내지 제4 스위칭수단(300,500,700,900)과, 발생된 에러의 수에 따라 상기 제1 내지 제4스위칭수단(300,500,700,900)에 제어 신호를 제공하는 제어 수단(1)을 더 포함하는 것을 특징으로하는 에러 정정 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930013835A KR950010339B1 (ko) | 1993-07-21 | 1993-07-21 | 에러 정정 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930013835A KR950010339B1 (ko) | 1993-07-21 | 1993-07-21 | 에러 정정 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950004241A KR950004241A (ko) | 1995-02-17 |
KR950010339B1 true KR950010339B1 (ko) | 1995-09-14 |
Family
ID=19359740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930013835A KR950010339B1 (ko) | 1993-07-21 | 1993-07-21 | 에러 정정 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950010339B1 (ko) |
-
1993
- 1993-07-21 KR KR1019930013835A patent/KR950010339B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950004241A (ko) | 1995-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5428630A (en) | System and method for verifying the integrity of data written to a memory | |
US6639865B2 (en) | Memory device, method of accessing the memory device, and reed-solomon decoder including the memory device | |
EP0229698B1 (en) | Decoder for product codes and method of decoding such codes | |
JPH084233B2 (ja) | 誤り訂正符号の復号装置 | |
US6041431A (en) | Method and apparatus for performing error correction code operations | |
KR20000046034A (ko) | 통신시스템에서반복복호장치및방법 | |
JP2000307435A (ja) | 符号化回路、回路、パリティ生成方法及び記憶媒体 | |
US5748652A (en) | Apparatus for detecting and correcting cyclic redundancy check errors | |
US6832042B1 (en) | Encoding and decoding system in an optical disk storage device | |
US5615221A (en) | Method and system which selectively uses different levels of error correction to achieve high data throughput | |
JP2000195193A (ja) | 誤り訂正復号装置 | |
JPS628056B2 (ko) | ||
US5268908A (en) | Low data delay triple coverage code apparatus for on-the-fly error correction | |
US7120850B2 (en) | Low-cost methods and devices for the decoding of product cases | |
KR950010339B1 (ko) | 에러 정정 장치 | |
KR20020065788A (ko) | 엠 또는 이엠 비트 데이터 처리 겸용 리드 솔로몬 복호기및 그 복호 방법 | |
US20040030985A1 (en) | Cross interleave reed-solomon code correction | |
JPH08293802A (ja) | インターリーブ式誤り訂正方法 | |
US6718505B1 (en) | Method and apparatus for error correction in a process of decoding cross-interleaved Reed-Solomon code (CIRC) | |
US4453249A (en) | System for binary data transmission | |
US6453439B1 (en) | Pseudo product code encoding and decoding apparatus and method | |
KR0141826B1 (ko) | 압축 데이타의 에러 정정 방법 | |
EP1111799B1 (en) | Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM | |
JPS5856547A (ja) | 符号誤り訂正方式 | |
US6694473B1 (en) | Parallel signal decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120903 Year of fee payment: 18 |
|
EXPY | Expiration of term |