KR0123088B1 - 메모리를 이용한 길쌈 디인터리버 - Google Patents

메모리를 이용한 길쌈 디인터리버

Info

Publication number
KR0123088B1
KR0123088B1 KR1019930030329A KR930030329A KR0123088B1 KR 0123088 B1 KR0123088 B1 KR 0123088B1 KR 1019930030329 A KR1019930030329 A KR 1019930030329A KR 930030329 A KR930030329 A KR 930030329A KR 0123088 B1 KR0123088 B1 KR 0123088B1
Authority
KR
South Korea
Prior art keywords
memory
address
output
convolutional
deinterleaver
Prior art date
Application number
KR1019930030329A
Other languages
English (en)
Other versions
KR950022333A (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 KR1019930030329A priority Critical patent/KR0123088B1/ko
Publication of KR950022333A publication Critical patent/KR950022333A/ko
Application granted granted Critical
Publication of KR0123088B1 publication Critical patent/KR0123088B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

본 발명은 길쌈 디인터리버에 관한 것으로, D플립플롭과 같은 쉬프트 레지스터 대신 SRAM과 같은 메모리를 이용하여 길쌈 디인터리버를 구현함으로써 하드웨어의 크기를 줄일 수 있을 뿐 아니라, 길쌈 디인터리버를 제어하는 로직회로를 단순화시킴으로써 제어의 정확도를 높일 수 있는 이점이 있다.

Description

메모리를 이용한 길쌈 디인터리버
제1도는 종래의 쉬프트 레지스터를 이용한 길쌈 디인터리버의 일실시예에 따른 블럭도이다.
제2도는 본 발명에 의한 메모리를 이용한 길쌈 디인터리버의 일실시예에 따른 블럭도이다.
제3도는 동기가 일치한 경우의 쓰기 및 읽기동작을 나타낸 도면이다.
제4도는 동기가 어긋난 경우의 쓰기 및 읽기동작을 나타낸 도면이다.
제5도는 제2도의 어드레스 발생부의 상세블럭도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 버퍼, 20 : 메모리,
30 : 어드레스 발생부, 31 : 기본어드레스 발생기,
32 : 오프셋 발생기, 33 : 동기상태 레지스터,
34 : 멀티플렉서, 40 : 래치.
본 발명은 길쌈 디인터리버(convolutional deinterleaver)에 관한 것으로, 특히, 메모리로 구현한 길쌈 디인터리버에 관한 것이다.
일반적으로, 채널을 통해 디지탈신호를 전송할때 기상의 급격한 변화 등에 의해 군집에러(burst error)가 발생하는 경우가 있다. 주로 리드-솔로몬(Reed Solomon : 이하 RS라 약함) 코드를 에러정정 코드로 사용하는 통신 시스템에서는 이러한 군집에러의 수가 RS코드의 정정 범위를 넘게 되면 정정능력을 상실하게 되므로 이 군집에러를 분산시킬 필요가 있다.
길쌈 인터리버와 길쌈 디인터리버는 길쌈 부호(convolutional code)를 이용하여 군집에러를 분산시키기 위한 것으로서, 제1도에는 종래의 쉬프트 레지스터(shift register)를 이용하여 구현한 길쌈 인터리버(1)와 길쌈 디인터리버(2)가 도시되어 있다.
제1도에 있어서, 변수 B와 M은 다음과 같이 결정된다.
B는 발생할 수 있는 군집 에러의 크기 또는 길이를 가정하여 그보다 큰 값으로 설정한다. 즉, b를 군집에러의 길이라고 할 경우 다음 제1식의 조건을 만족하는 값을 B로 정한다.
b≤B …………………………………………………… (1)
M은 부호기에 있는 길쌈부호기(convolutional encoder)의 구속길이(constraint length)와 관계있는 것으로서, 길쌈부호기 안의 메모리수(m)에 1을 더한 값이 구속길이(L)가 되고, 일발적으로 구속길이를 M으로 정한다. 즉, 다음 제2식과 같은 관계식이 성립한다.
M=L=m+1…………………………………………… (2)
여기서, 길쌈부호와 구속길이에 대하여 간략히 설명하면, 부호화는 일정길이의 블럭단위로 이루어지는데 각 블럭에서의 부호화가 그 블럭뿐만 아니라 그 이전의 블럭에도 의존하는 부호를 나무 부호(tree code)라고 하는데, 이와 같은 나무 부호중에서 부호화 절차가 어느 블럭에 대해서도 동일한 선형관계식을 사용하여 이루어지는 부호를 길쌈부호라 하고, 길쌈부호가 부호화된 계열에서 하나의 정보점의 영향을 미치는 길이를 구속길이라고 한다.
그러나, 종래의 쉬프트 레지스터로 구현한 길쌈 인터리버 및 디인터리버는 M과 B값이 커짐에 따라 회로가 상당히 커지게 되고, 또한 증가한 쉬프트 레지스터들을 제어하기 위한 로직(logic)이 매우 복잡해지는 문제점이 발생한다.
따라서, 본 발명의 목적은 상술한 문제점을 해결하기 위하여 길쌈 디인터리버를 메모리를 이용하여 구현함으로써 하드웨어의 크기를 줄일 수 있을 뿐 아니라 제어 로직을 단순화시킴으로써 정확도를 높이기 위한 길쌈 디인터리버를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 길쌈 코드에 의해 인터리빙되어 버스트 에러 채널을 통해 인가되는 데이타를 길쌈 코드에 의해 디인터리빙하기 위한 길쌈 디인터리버에 있어서, 상기 길쌈 인터리빙된 데이타를 저장하기 위한 메모리; 상기 길쌈 인터리버의 입력단과 상기 메모리 사이의 입출력을 제어하기 위한 제1제어부; 길쌈 디인터리빙을 위하여 상기 메모리의 쓰기 및 읽기 동작에 필요한 쓰기 어드레스 및 읽기 어드레스를 발생하기 위한 어드레스 발생부; 및 상기 길쌈 인터리버의 출력단과 상기 메모리 사이의 입출력을 제어하기 위한 제2제어부를 포함함을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.
제2도는 본 발명에 의한 메모리를 이용한 길쌈 디인터리버의 일실시예에 따른 블럭도로서, 제1제어부 예컨대 버퍼(10), 메모리(20), 어드레스 발생부(30)와, 제2제어부 예컨대 래치(40)로 구성된다.
제3도는 동기가 일치한 경우의 쓰기 및 읽기동작을 나타낸 것이고, 제4도는 동기가 어긋난 경우의 쓰기 및 읽기동작을 나타낸 것이다.
제5도는 제2도에 있어서, 어드레스 발생부(30)의 상세 블럭도로서, 기본 어드레스 발생기(31), 오프셋 발생기(32), 동기상태 레지스터(33)와 절환부 예컨데 멀티플렉서(34)로 구성된다.
그러면 본 발명의 바람직한 실시예에 대한 동작을 첨부된 도면을 참조하여 설명하기로 한다.
제2도에 있어서, 버퍼(10)는 길쌈 디인터리버의 입력단과 후술한 메모리(20) 사이에서 입출력을 제어하기 위한 것이다.
메모리(20)는 버퍼(10)를 통해 입력되는 데이타를 쓰거나, 메모리(20)에 쓰여진 데이타를 읽기 위한 것이다. 메모리(20)는 SRAM으로 구현할 수 있다.
어드레스 발생부(30)는 메모리(20)에서 입력데이타를 기입하기 위한 어드레스와 출력데이타를 독출하기 위한 어드레스를 발생하기 위한 것이다.
외부로부터 입력되는 동기신호는 어드레스 발생부(30)가 산출하는 어드레스값에 영향을 준다.
래치(40)는 길쌈 디인터리버의 출력단과 메모리(20)사이에서 입출력을 제어하기 위한 것이다.
제3도에서와 같이 동기가 일치한 경우, 메모리(20)에서의 쓰기 및 읽기 동작에 대하여 살펴보기로 한다.
먼저, 입력데이타는 항상 수직방향으로 메모리(20)에 기입되는데 이때 M만큼 차이를 두는 대각선 방향으로 독출하게 되면 출력 데이타는 다음과 같이 나타낼 수 있다.
Out[0]=In[0][t-(B-1)M]
Out[1]=In[1][t-(B-2)M]
·
·
Out[B-2]=In[B-2][t-M]
Out[B-1]=In[B-1][t]
여기서, Out[1,...,B]는 출력데이타이고, In[0,...,B-1][t-{0,...,(B-1)M}]은 메모리값이다. t는 현재 시간을 나타내고, {0,...,(B-1)M}은 오프셋(offset)값을 나타낸다.
한편, 제4도에서와 같이 동기가 하나 차이로 어긋난 경우, 메모리(20)에서의 쓰기 및 읽기 동작에 대하여 살펴보기로 한다.
이 경우에는 메모리(20)의 두번째 행부터 출력데이타로 나가야 하며 출력데이타는 다음과 같이 나타낼 수 있다.
Out[0]=In[1][t-(B-1)M]
Out[1]=In[2][t-(B-2)M]
·
·
Out[B-2]=In[B-2][t-M]
Out[B-1]=In[0][t]
또한, 동기가 두개 차이로 어긋난 경우에는 메모리(20)의 세번째 행부터 출력데이타가 나가야 한다.
동기가 언제 맞는지에 대해서는 위와같은 쉬프트과정을 B번 해본 결과에 대하여 에러 모니터링함으로써 알 수 있다. 이러한 동작을 수행하는 어드레스 발생부(30)에 대하여 상세히 설명하면 다음과 같다.
제5도에 있어서, 변수 AV는 수직어드레스, AH는 수평어드레스, WAH는 기입용 수평어드레스, RAH는 독출용 수평어드레스, 동기신호(sync)는 한번 더 쉬프트라고 요구하는 외부의 펄스신호를 각각 나타낸다.
기본 어드레스 발생기(31)는 읽고 쓸때의 주소를 순서대로 만들어 주기 위한 것이고, 동기상태 레지스터(33)는 몇번 동기가 어긋났는지를 표시해 주기 위한 것이다.
수직방향의 어드레스는 항상 첫번째 행부터 마지막 행까지 주기적으로 만들면 되므로 (A) 출력은 [0,1,2,...,B-1]값을 갖고 있으며 그 주기는 B가 된다. 한편 수평방향의 어드레스는 M만큼씩 차이가 나야 하므로 (B) 출력은 [0,M-1,2M-1,...,(B-1)M-1]값을 갖고 있으며 그 주기는 수직방향의 어드레스와 마찬가지로 B가 된다.
오프셋 발생기(32)는 동기가 어긋났다고 판단되면 읽기 어드레스를 변경해 주는 역할을 한다. 기본 어드레스 발생기(31)에서 생성된 기본어드레스값에서 동기가 몇 데이타 정도 어긋났는지를 알려주는 동기상태 레지스터(33)의 출력값을 뺀 후 mod B 연산을 한 결과가 오프셋값이 된다.
쓰기 모드일때의 수평방향의 어드레스(WAH)는 기본 어드레스 발생기(31)의 출력(B)와 같다. 그러나, 읽기 모드일때의 수평방향의 어드레스(RAH)는 오프셋 발생기(32)에서 산출된 오프셋값에 기본어드레스 발생기(31)의 출력(B)를 더한 값이 된다.
수직방향의 어드레스를 나타내는 AV값은 읽기/쓰기에 관계없이 항상 일정하다.
그러나, 수평방향의 어드레스는 그렇지 않으므로 읽을때의 어드레스값을 나타내는 RAH와, 쓸때의 어드레스값을 나타내는 WAH가 존재하게 된다.
즉, 멀티플렉서(34)는 읽기 모드 또는 쓰기 모드에 따라서 RAH 또는 WAH를 선택적으로 출력하게 된다.
상술한 바와같이 본 발명에 의한 메모리를 이용한 길쌈 디인터리버에서는 D플립플롭과 같은 쉬프트 레지스터 대신에 SRAM과 같은 메모리를 이용하여 길쌈 디인터리버를 구현함으로써 하드웨어의 크기를 줄일 수 있을 뿐 아니라, 길쌈 디인터리버를 제어하는 로직회로를 단순화시킴으로써 제어의 정확도를 높일 수 있는 이점이 있다.

Claims (6)

  1. 길쌈 코드에 의해 인터리빙되어 버스트 에러 채널을 통해 인가되는 데이타를 길쌈 코드에 의해 디인터리빙하기 위한 길쌈 디인터리버에 있어서, 상기 길쌈 인터리빙된 데이타를 저장하기 위한 메모리(20); 상기 길쌈 디인터리빙을 위하여 상기 메모리(20)에 상기 길쌈 인터리빙된 데이터의 쓰기에 필요한 쓰기 어드레스 및 상기 메모리(20)로부터 길쌈 인터리빙된 데이터의 읽기 동작에 필요한 읽기 어드레스를 발생하는 어드레스 발생부(30); 상기 디인터리버의 입력단과 상기 메모리(20)사이의 입출력을 제어하기 위한 제1제어부; 상기 디인터리버의 출력단과 상기 메모리(20)사이의 출력을 제어하기 위한 제2제어부를 포함함을 특징으로 하는 길쌈 디인터리버.
  2. 제1항에 있어서, 상기 어드레스 발생부(30)는 상기 메모리(20)의 쓰기 및 읽기 동작을 위하여 수직 및 수평방향의 쓰기 어드레스 및 읽기 어드레스를 순서대로 생성하기 위한 기본어드레스 발생기(31); 동기가 어긋난 경우 상기 메모리의 읽기 어드레스를 변경해 주기 위한 오프셋 발생기(32); 동기신호를 입력으로 하여 동기가 몇번 어긋났는지를 표시해 주기 위한 동기상태 레지스터(33); 상기 메모리(20)가 읽기 모드인 경우, 상기 기본어드레스 발생기(31)의 수평방향의 어드레스로 출력하고, 쓰기 모드인 경우, 상기 오프셋 발생기(32)에서 출력되는 오프셋값에 상기 기본어드레스 발생기(31)의 출력값을 더한 값을 수평방향의 어드레스로 출력하도록 절환하기 위한 절환부로 구성됨을 특징으로 하는 길쌈 디인터리버.
  3. 제2항에 있어서, 발생할 수 있는 군집에러의 길이보다 크거나 같은 값을 B, 구속길이를 M이라고 할때, 상기 기본 어드레스 발생기(31)에서 출력되는 수직방향의 어드레스는 주기 B를 가지고 [0,1,2,...,B-1]을 출력함을 특징으로 하는 길쌈 디인터리버.
  4. 제3항에 있어서, 상기 기본 어드레스 발생기(31)에서 출력되는 수평방향의 어드레스는 주기 B를 가지고 [0,M-1,2M-1,...,(B-1)M-1]을 출력함을 특징으로 하는 길쌈 디인터리버.
  5. 제2항에 있어서, 상기 오프셋값은 상기 기본어드레스 발생기(31)에서 출력되는 수직방향의 어드레스 값에 상기 동기상태 레지스터(33)의 출력값을 뺀 값임을 특징으로 하는 길쌈 디인터리버.
  6. 제2항에 있어서, 상기 절환부는 멀티플렉서(34)로 구성됨을 특징으로 하는 길쌈 디인터리버.
KR1019930030329A 1993-12-28 1993-12-28 메모리를 이용한 길쌈 디인터리버 KR0123088B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930030329A KR0123088B1 (ko) 1993-12-28 1993-12-28 메모리를 이용한 길쌈 디인터리버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930030329A KR0123088B1 (ko) 1993-12-28 1993-12-28 메모리를 이용한 길쌈 디인터리버

Publications (2)

Publication Number Publication Date
KR950022333A KR950022333A (ko) 1995-07-28
KR0123088B1 true KR0123088B1 (ko) 1997-12-05

Family

ID=19373335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930030329A KR0123088B1 (ko) 1993-12-28 1993-12-28 메모리를 이용한 길쌈 디인터리버

Country Status (1)

Country Link
KR (1) KR0123088B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185241B2 (en) 2003-03-14 2007-02-27 Samsung Electronics Co., Ltd. Deinterleaving apparatus and method for a digital communication system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69922732T2 (de) * 1998-04-27 2005-12-08 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185241B2 (en) 2003-03-14 2007-02-27 Samsung Electronics Co., Ltd. Deinterleaving apparatus and method for a digital communication system

Also Published As

Publication number Publication date
KR950022333A (ko) 1995-07-28

Similar Documents

Publication Publication Date Title
US6035427A (en) Convolutional interleaver and method for generating memory address therefor
EP0681373B1 (en) Convolutional interleaver with reduced memory requirements and address generator therefor
US6178530B1 (en) Addressing scheme for convolutional interleaver/de-interleaver
JP2001136079A (ja) 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
JP3796250B2 (ja) デジタル通信システムのデインターリービング装置およびそのデインターリービング方法
KR0123088B1 (ko) 메모리를 이용한 길쌈 디인터리버
JPH10255402A (ja) 磁気ディスク装置
JP3784896B2 (ja) ビタビデコーダの論理ブロック
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
JP3549756B2 (ja) ブロックインターリーブ回路
KR100215566B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
US6385258B1 (en) Viterbi decoder for use in a mobile communication system
KR100230912B1 (ko) 고화질 텔레비젼(hdtv)의 복호지연에 의한 오류 데이타 제거장치 및 방법
JP2001332980A (ja) インタリーブ装置及びインタリーブ方法
KR100243468B1 (ko) 듀얼 포트 메모리를 이용한 길쌈 인터리버 /디인터리버
JPH03242027A (ja) インターリーブを付加した並列誤り訂正方式
JPH08265177A (ja) インターリーブ・データ処理装置
JPH10163887A (ja) インターリーブ装置およびデインターリーブ装置
KR100215565B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
JPH09116444A (ja) インターリーブ装置、符号化装置、デインターリーブ装置、復号装置、及び伝送方法
KR0183171B1 (ko) 인터리버 및 디인터리버와 그 방법
KR0133508B1 (ko) 디지탈 데이타 입출력시 인터리브(Inter leave) 및 채널분할회로
JPH05183449A (ja) パンクチャド符号化回路
KR19990065357A (ko) 인터리브/디인터리브 장치
KR100212842B1 (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: 20110901

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20120903

Year of fee payment: 16

EXPY Expiration of term