KR19990081470A - 터보복호기의 반복복호 종료 방법 및 그 복호기 - Google Patents
터보복호기의 반복복호 종료 방법 및 그 복호기 Download PDFInfo
- Publication number
- KR19990081470A KR19990081470A KR1019980015423A KR19980015423A KR19990081470A KR 19990081470 A KR19990081470 A KR 19990081470A KR 1019980015423 A KR1019980015423 A KR 1019980015423A KR 19980015423 A KR19980015423 A KR 19980015423A KR 19990081470 A KR19990081470 A KR 19990081470A
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- data
- decoder
- repeated
- turbo code
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
본 발명은 터보부호(turbo codes)의 복호기에 관한 것으로, 특히, 복호시간을 단축할 수 있는 터보부호의 복호기에 관한 것이다. 터보부호를 복호하기 위해서 반복 복호를 하는데, 반복 복호를 많이하면 할수록 데이터 지연이 커지기 때문에 이러한 지연을 줄이는 것이 본 발명의 목적이다. 반복복호를 수행하는 터보코드를 복호화하는 장치에서 최대 복호 횟수까지 진행하지 않고 중간에 반복복호를 종료하여 복호데이타를 출력하는 방법은, 먼저, 이전 복호데이타를 저장한다. 다음으로, 현재 복호데이타와 이전복호데이타를 비교하여 기설정된 조건을 만족하면 반복복호를 종료한다. 무조건 최대로 반복할 수 있는 횟수까지 반복 복호를 하는 것이 아니라 적당한 시기에 복호를 끝냄으로써 복호시간을 단축시켜서 데이터 지연을 줄일 수 있다.
Description
본 발명은 터보부호(turbo codes)의 복호기에 관한 것으로, 특히 복호시간을 단축할 수 있는 터보부호의 복호기에 관한 것이다.
현재 터보부호가 차세대 이동통신의 오류정정부호(error correction codes)로 많은 연구가 되고 있다 이 터보부호의 성능은 현재 이동통신 환경에서 많이 사용되고 있는 길쌈부호(convolutional codes)의 성능보다 더 우수한 것으로 알려져 있다.
이하, 도1의 터보부호기를 참조하여 일반적인 터보부호의 부호화 과정을 설명한다
터보부호의 부호화를 용약하면, N 정보비트의 프레임(frames)으로 이루어진 입력을 이용하여 패리티(parity) 심벌을 만드는 두 개의 간단한 RSC (recursive systematic convolutional) 부호를 병렬로 연결한 구조로 되어있다. 도1에서처럼 터보부호기는 정보비트(101)를 하나의 출력 χ(101)로 하고, 이 정보신호(101)를 제1 RSC 부호기(100)를 통과하여 Y1 (102)를 얻고, 정보신호(101)를 N 정보비트의 프레임과 동일한 크기를 갖는 인터리버(interleaver)(11O)를 통과시켜 얻은 신호(103)를 또 다른 RSC 부호기로서 제2 RSC부호기(120)를 통과하여 Y2 (104)를 얻은 후 송신하게 된다. 따라서 터보부호의 출력은 제1RSC 부호기의 출력뿐만 아니라 인터리버를 통해 변형된 출력으로 인해 이중의 패리티정보를 지니게 된다. 그러나 터보부호기에서 원하는 부호율을 얻기 위해 Y1 (102)와 Y2 (104)를 천공기를 통해 출력신호를 천공한다. 예를 들어 부호율을 1/2로하기 위해서는 Y1 와 Y2 를 번갈아 한번씩 출력되도록 천공하면 된다. 이렇게 천공하여 최종적으로 얻은 패리티 비트 Y(105)를 χ와 함께 전송한다.
이러한 터보부호로 부호화된 부호어(codewords)를 복호화(decoding)하는데는 도2와 같은 구조로써 복호기(decoder) 두 개를 직렬로 연결하여 복호한다.
이러한 각각의 복호기는 소프트(soft) 입력에 소프트 출력을 가져야 한다 일반적으로 이러한 복호기는 MAP (maχimum a posteriori)과 SOVA (soft output Viterbialgorithms) 복호기를 사용한다. 그러나 성능은 MAP 복호기가 더 우수한 것으로 알려져 있다. 터보부호의 복호기는 기존의 연접부호(concatenated codes)등과 같은 다단계 부호기의 복호기와는 달리 두 복호기 사이에 부가정보(eχtrinsic information)의 교환이 이루어져 복호를 반복적으로 수행할 수 있다. 그리고 반복 횟수의 증가에 따라 성능도 향상된다.
도2에 도시된 바와 같이, 터보부호로 부호화된 부호어의 복호화는 다음과 같다.
먼저, χ(201)와 y(202)를 도1과 같은 터보부호기의 부호어가 채널(channel)을 통과한 신호라 했을 때, χ는 정보비트가 채널을 통과한 신호이고 y는 패리티 비트가 채널을 통과한 신호가 된다. 먼저 수신된 패리티 신호 y(202)를 디펑쳐링(depuncturing)하여(도면에 도시안됨) 도1의 제1 RSC부호기(100)에 해당되는 패리티 비트(203)는 제1복호기(DEC1)(210)으로, 제2 RSC부호기2(120)에 해당되는 패리티 비트(204)는 제2복호기(DEC2)(230)로 보낸다.
제1복호기(DEC1)(210)에서는 χ(201)와 y1 (203)을 이용하여 복호한 다음, 제1복호기(DEC1)의 출력 (205)을 다시 인터리빙(interleaving)한 신호(206)와 y2 (204)를 이용하여 제2복호기(DEC2)(230)으로 복호한다. 이때 반복복호를 원하지 않을 경우에는 제2복호기(DEC2)의 출력신호(207)를 디인터리빙(deinter leaving)한 다음 경판정기(250)를 통해 경판정한 신호(208)를 복호 신호로 내 놓는다. 그러나 반복복호를 하기 위해서는 제2복호기(DEC2)의 출력신호(208)를 디인터리빙 한 신호(209)와 수신신호 χ(201)와 y1 (203)을 이용하여 제1복호기(DEC1)(210)으로 다시 복호한다. 이러한 반복복호는 원하는 성능을 얻을 수 있을 때까지 할 수 있다.
이러한 터보부호의 성능을 결정하는 요소들은 RSC 부호의 구조, 인티리버구조 및 크기 그리고 복호방법 및 복호 횟수 등이 있다. 가장 좋은 성능을 나타내는 RSC 부호의 구조를 얻기 위해서는 모의실험을 통해 시행착오를 겪으며 구할 수 있다. 그리고 복호기는 MAP 복호기의 성능이 가장 좋은 것으로 알려져 있다. 또한 인터리버는 랜덤 인터리버를 사용할수록 크기가 클수록 더 좋은 성능을 보인다. 그리고 복호 횟수가 커질수록 성능이 좋아진다. 하지만, 일반적인 통신 시스템에서는 데이터 전송의 지연(delay)이 제한되어 있고, 터보부호복호기에서는 복호 횟수가 증가되더라도 성능이 증가되지 않는 복호 횟수가 있기 때문에 복호 횟수를 무한히 할 수 없다. 따라서, 이러한 기술은 복호 횟수가증가되더라도 성능이 증가되지 않는 복호 횟수가 있기 때문에 비 효율적일 뿐만아니라 데이터 전송의 지연(delay)되는 문제점이 있었다.
따라서, 본 발명에서는 적당한 복호 횟수에 복호를 중단할 수 있는 개선된 터보코드 복호기를 제공하는 것을 목적으로 한다.
도1은 일반적인 터보코드 부호기의 블록도,
도2 종래 터보코드 복호기의 블록도,
도3 본 발명에 따른 터보코드 복호기의 블록도이다.
본 발명에 따른 코드부호 복호기의 특징은 항상 어떤 정해놓은 최대 반복복호 횟수까지 복호를 하는 것이 아니라 복호 탈출 조건에 맞는 상황이 되면 더이상 반복복호를 시행하지 않고 복호가 끝나는 것이다. 여기서 탈출 조건은 현 복호 단계보다 1단계 앞 단계의 복호데이타와 현 복호 단계의 복호 데이터가 같을 경우로 고려한다. 즉 현재 복호단계가 끝나면 복호데이타를 메모리에 저장을 한 후 바로 앞 단계의 데이터와 비교를 한다. 이 때 이 두 데이터가 같으면 더 이상 복호를 계속해도 성능향상을 꾀할 수 없는 상태이거나 이미 데이터 오류를 완전히 정정했다고 가정하고, 더 이상 복호를 진행시키지 않고 복호 데이터를 출력으로 내 보낸다.
이하, 도3을 참조하여 본 발명의 일실시예를 상세히 설명한다
도3은 기설정된 복호 횟수에 복호를 중단할 수 있는 기능을 수행하는 스위치(360) 및 데이터 저장 및 비교기(370)을 제외한 다른 구성요소는 도2와 동일하다. 따라서, 새롭게 추가된 부분을 설명하고 나머지는 생략한다.
본 발명에 따르면, 복호 탈출 조건에 맞는 상황이 되면 더 이상 반복복호를 시행하지 않고 복호가 끝나도록 하고, 이 탈출 조건을, 본 실시예에서는, 현 복호단계보다 1단계 앞 단계의 복호데이타와 현 복호 단계의 복호 데이터가 같을 경우로 고려했다. 즉 현재 복호단계가 끝나면 데이터 저장 및 비교기(370)에서 복호 데이타(309)를 메모리에 저장을 한 후 바로 앞 단계의 데이터와 비교를 한다. 이때 이 두 데이터가 같으면 더 이상 복호를 계속해도 성능향상을 꾀할 수 없는 상태이거나 이미 데이터 오류를 완전히 정정했다고 가정하고, 더 이상 복호를 진행시키지 않고 복호 데이터를 출력(311)으로 내 보낸다. 그러나 이 두 데이터가 같지 않다면, 전 단계의 복호 데이터를 버리고 스위치(360)에 복호 실패신호를 보내 계속 복호가 진행되도록 한다. 이러한 데이터 저장 및 비교기(370)은 프레임 길이의 두배되는 메모리로 구성될 수 있으며, 한 비트의 데이터의 비교는 한 개의 시스템 클럭으로 동작시킬수 있기 때문에 하드웨어로 구성하는데 복잡하지도 않고 데이터를 비교하는데 많은 시간도 소요되지 않기 때문에 하드웨어 구성도 쉽다.
한편, 데이터 자장 및 비교기(370)를 도면부호 (305) 위치에 둘 수 있으며, 데이터를 저장하고 비교하는데 전 복호단계의 출력과 현 단계의 첫 번째 복호기의 출력(305) 그리고 현 복호 단계의 출력의 세 데이터를 비교할 수도 있다.
본 발명은 무조건 최대로 반복할 수 있는 횟수까지 반복 복호를 하는 것이아니라 적당한 시기에 복호를 끝냄으로써 복호시간을 단축시켜서 데이터 지연을 줄일 수 있다.
Claims (4)
- 반북복호를 수행하는 터보코드를 복호화하는 장치에서 최대 복호 횟수까지 진행하지 않고 중간에 반복복호를 종료하여 복호데이타를 발생하는 것으로서,이전 복호데이타를 저장하는 단계; 및현재 복호데이타와 이전복호데이타를 비교하여 반복복호를 종료한는 단계를 포함하는 터보복호기의 반복복호 종료 방법.
- 제1항에 있어서,상기 반복복호의 종료는 상기 현재 복호데이타와 상기 이전복호데이타가 같은 것을 특징으로하는 터보복호기의 반복복호 종료 방법.
- 상기 터보복호기에서 경판정된 복호 데이터를 저장하고, 현재의 복호 데이터와 이전의 복호데이타를 비교하여 반복복호의 종료를 결정하고, 반복복호를 종료할 경우, 현재의 복호데이타를 최종 복호데이타로서 발생하는 반복복호 종료 결정 수단; 및상기 반복복호 종료 결정 수단으로부터 결정된 신호에 응답하여 상기 디인터리버로부터 제공되는 신호를 상기 제1복호기로 제공하거나 또는 제공하지 않는 스위칭 수단을 포함하는 터보복호기.
- 제3항에 있어서,상기 반복복호의 종료 결정수단에서 반복복호의 종료는 상기 현재 복호데이타와 상기 이전복호데이타가 같을 때로 하는 터보복호기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980015423A KR19990081470A (ko) | 1998-04-30 | 1998-04-30 | 터보복호기의 반복복호 종료 방법 및 그 복호기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980015423A KR19990081470A (ko) | 1998-04-30 | 1998-04-30 | 터보복호기의 반복복호 종료 방법 및 그 복호기 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990081470A true KR19990081470A (ko) | 1999-11-15 |
Family
ID=65891010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980015423A KR19990081470A (ko) | 1998-04-30 | 1998-04-30 | 터보복호기의 반복복호 종료 방법 및 그 복호기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990081470A (ko) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020031721A (ko) * | 2000-10-23 | 2002-05-03 | 이계철 | 채널정보를 이용한 터보코드 복호화 장치 및 그 방법 |
KR100344605B1 (ko) * | 1998-11-24 | 2002-07-20 | 모토로라 인코포레이티드 | 배드 프레임 검출기 및 터보 디코더 |
KR20020066556A (ko) * | 2001-02-12 | 2002-08-19 | 주식회사 소프트디에스피 | 터보 코드 복호화 장치 및 방법 |
KR100353859B1 (ko) * | 1999-10-18 | 2002-09-26 | 주식회사 케이티 | 터보 복호화 장치의 반복복호 제어기 및 그 방법 |
KR100424460B1 (ko) * | 2000-10-05 | 2004-03-26 | 삼성전자주식회사 | 터보 복호기의 전송률 검출 장치 및 방법 |
KR100472678B1 (ko) * | 2001-06-29 | 2005-03-09 | 주식회사 엔터보 | 터보코드 병렬형 복호화 과정에서의 반복 복호 조기정지 방법 |
KR100499469B1 (ko) * | 2000-03-13 | 2005-07-07 | 엘지전자 주식회사 | 터보 디코딩 방법 및 그를 위한 장치 |
KR100517977B1 (ko) * | 2002-10-28 | 2005-10-04 | 엘지전자 주식회사 | 터보 디코더의 디코딩 반복 제한 방법 |
KR100662076B1 (ko) * | 2004-07-14 | 2007-01-02 | 원광대학교산학협력단 | 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법 |
KR100791228B1 (ko) * | 2006-11-14 | 2008-01-03 | 한국전자통신연구원 | Bip를 이용한 반복복호 중단 장치 및 그 방법과, 그를이용한 터보 디코더 |
KR100848779B1 (ko) * | 2001-08-27 | 2008-07-28 | 엘지전자 주식회사 | 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법 |
KR100897954B1 (ko) * | 2001-07-06 | 2009-05-18 | 가부시키가이샤 히타치세이사쿠쇼 | 오류 정정 터보 부호의 복호기 및 그를 이용한 이동 통신 시스템의 휴대 단말 및 기지국 |
-
1998
- 1998-04-30 KR KR1019980015423A patent/KR19990081470A/ko not_active Application Discontinuation
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100344605B1 (ko) * | 1998-11-24 | 2002-07-20 | 모토로라 인코포레이티드 | 배드 프레임 검출기 및 터보 디코더 |
KR100353859B1 (ko) * | 1999-10-18 | 2002-09-26 | 주식회사 케이티 | 터보 복호화 장치의 반복복호 제어기 및 그 방법 |
KR100499469B1 (ko) * | 2000-03-13 | 2005-07-07 | 엘지전자 주식회사 | 터보 디코딩 방법 및 그를 위한 장치 |
KR100424460B1 (ko) * | 2000-10-05 | 2004-03-26 | 삼성전자주식회사 | 터보 복호기의 전송률 검출 장치 및 방법 |
KR20020031721A (ko) * | 2000-10-23 | 2002-05-03 | 이계철 | 채널정보를 이용한 터보코드 복호화 장치 및 그 방법 |
KR20020066556A (ko) * | 2001-02-12 | 2002-08-19 | 주식회사 소프트디에스피 | 터보 코드 복호화 장치 및 방법 |
KR100472678B1 (ko) * | 2001-06-29 | 2005-03-09 | 주식회사 엔터보 | 터보코드 병렬형 복호화 과정에서의 반복 복호 조기정지 방법 |
KR100897954B1 (ko) * | 2001-07-06 | 2009-05-18 | 가부시키가이샤 히타치세이사쿠쇼 | 오류 정정 터보 부호의 복호기 및 그를 이용한 이동 통신 시스템의 휴대 단말 및 기지국 |
KR100848779B1 (ko) * | 2001-08-27 | 2008-07-28 | 엘지전자 주식회사 | 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법 |
KR100517977B1 (ko) * | 2002-10-28 | 2005-10-04 | 엘지전자 주식회사 | 터보 디코더의 디코딩 반복 제한 방법 |
KR100662076B1 (ko) * | 2004-07-14 | 2007-01-02 | 원광대학교산학협력단 | 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법 |
KR100791228B1 (ko) * | 2006-11-14 | 2008-01-03 | 한국전자통신연구원 | Bip를 이용한 반복복호 중단 장치 및 그 방법과, 그를이용한 터보 디코더 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100761306B1 (ko) | 디코딩 방법 및 장치 | |
JP3492632B2 (ja) | 適用形チャネル符号化方法及び装置 | |
JP3857320B2 (ja) | 並列連結のテイルバイティング・コンボルーション・コード及びその復号器 | |
KR100876735B1 (ko) | 이동통신 시스템에서 반복 복호 정지 장치 및 방법 | |
US8443265B2 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
KR100803957B1 (ko) | 고도의 병렬식 맵 디코더 | |
KR19990081470A (ko) | 터보복호기의 반복복호 종료 방법 및 그 복호기 | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
JP3741616B2 (ja) | 畳込み符号用のソフト判定出力デコーダ | |
JP2001257601A (ja) | 誤り訂正符号化タイプのデジタル送信方法 | |
US7236591B2 (en) | Method for performing turbo decoding in mobile communication system | |
JP2004349901A (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
US6801588B1 (en) | Combined channel and entropy decoding | |
JP3823731B2 (ja) | 誤り訂正復号器 | |
US9130728B2 (en) | Reduced contention storage for channel coding | |
US7096410B2 (en) | Turbo-code decoding using variably set learning interval and sliding window | |
KR100738250B1 (ko) | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 | |
CN108880569B (zh) | 一种基于反馈分组马尔科夫叠加编码的速率兼容编码方法 | |
US7584407B2 (en) | Decoder and method for performing decoding operation using map algorithm in mobile communication system | |
US20060048035A1 (en) | Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code | |
KR100251087B1 (ko) | 터보부호기의 복호기 | |
Ljunger | Turbo decoder with early stopping criteria | |
JP3514213B2 (ja) | 直接連接畳込み符号器、及び、直接連接畳込み符号化方法 | |
JP2006528849A (ja) | 符号ブロックセグメントを個々に符号化する方法、符号化器および通信装置 | |
KR100317377B1 (ko) | 변복조 시스템의 부호화 및 복호화 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |