KR100255304B1 - 디지탈 통신기기의 컨벌루셔널 디인터리버 - Google Patents

디지탈 통신기기의 컨벌루셔널 디인터리버 Download PDF

Info

Publication number
KR100255304B1
KR100255304B1 KR1019970012869A KR19970012869A KR100255304B1 KR 100255304 B1 KR100255304 B1 KR 100255304B1 KR 1019970012869 A KR1019970012869 A KR 1019970012869A KR 19970012869 A KR19970012869 A KR 19970012869A KR 100255304 B1 KR100255304 B1 KR 100255304B1
Authority
KR
South Korea
Prior art keywords
modulo
output
deinterleaver
address
memory
Prior art date
Application number
KR1019970012869A
Other languages
English (en)
Other versions
KR19980076240A (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 KR1019970012869A priority Critical patent/KR100255304B1/ko
Priority to JP10067445A priority patent/JPH10308677A/ja
Priority to FR9803593A priority patent/FR2762943B1/fr
Priority to CA002233858A priority patent/CA2233858A1/en
Priority to NL1008835A priority patent/NL1008835C2/nl
Publication of KR19980076240A publication Critical patent/KR19980076240A/ko
Application granted granted Critical
Publication of KR100255304B1 publication Critical patent/KR100255304B1/ko

Links

Images

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Abstract

본 발명은 최소한의 메모리 공간과 간단한 번지 지정회로로 디인터리버를 구현할 수 있도록 하는 디지탈 통신기기의 컨벌루셔널 디인터리버에 관한 것이다.
본 발명은 인터리빙의 깊이가 B이고, 스팬이 N=B인 디인터리버 M개를 병렬로 구현한 것으로, 클럭 입력에 따라 1씩 다운 카운팅하는 모듈로-B 다운 카운터(21), 바로 전 주소로부터 상기 모듈로-B 다운 카운터(21)의 출력을 감하는 뺄셈기(22), 상기 뺄셈기(22)의 출력을 모듈로((B-1)N/2+1) 연산하는 모듈로-((B-1)N/2+1) 연산자(23), 상기 모듈로-((B-1)N/2+1) 연산자(23)의 출력이 래치되는 래치(24), 상기 래치(24)의 출력에 따라 입력되는 인터리브된 데이터에 해당하는 디인터리브된 데이터를 출력하는(B-1)N/2+1 메모리(25)로 구성된다.

Description

디지탈 통신기기의 컨벌루셔널 디인터리버
본 발명은 디지탈 통신기기에 관한 것으로, 특히 최소한의 메모리 공간과 간단한 번지 지정회로로 디인터리버를 구현할 수 있도록 하는 디지탈 통신기기의 컨벌루셔널 디인터리버(Convolutional Deinterleaver)에 관한 것이다.
일반적으로 인터리빙(Interleaving)은 전송된 데이터의 연속적인 에러(Burst Error)를 방지하기 위해 전송단에서 데이터 바이트들의 순서를 흩어 놓은 것이며, 수신단에서는 적절한 복호를 위해 뒤섞인 데이터의 순서를 바로 잡아주어야 하는데, 이를 수행하는 것이 디인터리버이며, 이러한 디인터리버는 인터리버와 역의 구조를 갖는다.
제1도는 종래 GA(Grand Alliance)에 의해 미국 HDTV 전송 방식으로 제안되어진 8VSB(Vestigial Sideband) 규격의 컨벌루셔널 디인터리버를 도시한 것으로, 첫 번째 열에 입력되는 데이터는(B-1)×M 클럭의 지연후에 출력되고, 두 번째 열의 데이터는(B-2)×M 클럭의 지연후에 출력되며, B번째 열의 데이터는 지연없이 출력된다.
여기서, B는 인터리빙 깊이(Interleaving Depth)이고 M은 인터리빙 깊이를 구성하는 메모리단중 가장 적은 메모리수(최소 단위 메모리수)이며 B,M은 양의 정수로써 인터리빙 정도를 결정하는 인자(Factor)이다.
컨벌루셔널 디인터리버는 쉬프트 레지스터를 사용하여 쉽게 구현할 수 있으나 하드웨어의 낭비를 초래하므로 통상 램을 사용하게 되는데 컨벌루셔널 디인터리버의 설계는 램의 크기와 주소 생성 방식의 중요한 척도가 된다.
컨벌루셔널 디인터리버의 각 지연단은 그 기능상 FIFO(First-In First-Out)의 구조이므로, 메모리를 이용하여 이를 구현하려면 리드(Read)포인터와 라이트(Write)포인터가 필요하며 이들은 요구되는 지연만큼 서로 떨어져 있어야 한다.
이러한 리드 포인트와 라이트 포인트의 관계는 제2도와 같이 리드 포인터가 라이트 포인터를 뒤따르는 형태를 취하며 다음번 데이터가 들어오면 이 포인터의 값들은 1씩 증가하게 되어 결국 필요한 지연 만큼의 데이터가 들어오면 리드 포인터는 맨 처음 저장된 데이터를 가르키게 된다.
FIFO는 원형 버퍼(Circular Buffer)로 동작하며, 메모리상에 구현될때는 리드 포인더가 하나의 기억공간을 차지하기 때문에 각 원형 버퍼는 필요한 지연보다 최소한 하나의 기억공간이 더 필요하게 된다.
제3도와 같이 각 FIFO를 각각 하나씩의 원형 버퍼상에 구현함으로써 컨벌루셔널 디인터리브를 구현할 수 있다.
예를들어 B=4, M=2인 경우에, 원형 버퍼는 4개가 사용되며, 각 버퍼마다 필요한 지연보다 하나씩의 기억 공간이 더 필요하므로 16(=(B-1)N/2+B)의 메모리 셀이 사용된다.
또한, 원형 버퍼를 구현하기 위해 모듈로 연산이 필요한데 이를 위해 카운터가 4개 사용되며, 각 데이터가 들어올 때마다 멀티플렉서가 필요하므로 종래의 이러한 방법은 큰 메모리 공간과 많은 수의 카운터, 멀티플렉서등이 필요하여 바람직하지 못하다.
메모리 기억공간을 절약하기 위해서는 각 FIFO들을 하나의 원형 버퍼에 구현하여야 하며, 이렇게 될 경우 모듈로 연산을 위한 카운터가 하나만 필요하게 되고 멀티플렉서는 필요하지 않게 되는 이점이 생기게 된다.
예를들어, B=4, M=2인 경우를 생각해 보면, 각 리드와 라이트 포인터들은 첫 번째 데이터의 경우 6(=(B-1)×M)메모리 공간 만큼, 두 번째 데이터의 경우 4(=(B-2)×M) 메모리 공간 만큼, 세 번째 데이터의 경우 2(=(B-3)×M) 메모리 공간 만큼, 네번째 데이터의 경우 0(=(B-4)×M) 메모리 공간 만큼 각각 떨어져 있어야 한다.
예를들어, 첫 번째 데이터를 10번지에 썼다면 이를 위한 리드 포인터는 4(=10-6)번지를 가르켜야 한다.
다음 데이터의 경우 그 전 데이터를 읽은 번지에 쓸 수 있으므로 4번지에 쓰고, 리드 포인터는 0(=4-4) 번지를 가르키면 된다.
이렇게 앞 데이터를 읽은 번지에 그 다음 데이터를 바로 쓰게 되면 메모리의 낭비없이 하나의 윈형 버퍼에 모든 FIFO를 구현할 수 있으므로 13(=(B-1)N/2+1)개의 메모리 공간만으로 디인터리버를 구현할 수 있다.
제4도는 이러한 디인터리버에서의 리드/라이트 주소의 한 예를 보인 것으로, 먼저 0번지에 첫 데이터를 쓰고 7(=(0-6)모듈로 13)번지를 읽는다.
다음 데이터는 앞의 읽기 주소에 그대로 쓸 수 있으므로 7번지에 쓰고 3(=7-4)번지를 읽는다.
이와 같은 식으로 0 → 7 → 3 → 1번지의 순서로 리드/라이트를 실행한다. 다음 4개의 주소는 각각 1이 증가한 1 → 8 → 4 → 2의 순이 되며, 계속되는 리드/라이트 주소의 순서는 제11도의 기존 주소 순서와 같다.
제5도는 주소 생성 방식의 구현예를 나타낸 것으로, 곱셈기(2)는 모듈로-B 다운 카운터(1)의 출력(3,2,1,0)에 2(=M)를 곱하여 6,4,2,0의 수를 만든다.
그리고 뺄셈기(3)는 래치(5)에 저장되어 있는 주소에서 곱셈기(2)의 출력을 감하며, 상기 뺄셈기(3)의 출력은 모듈로((B-1)N/2+1) 연산자(4)에서 모듈로((B-1)N/2+1) 연산된다.
이 방식은 리드/라이트 주소를 생성할 때마다 그 전의 주소에서 i×M(i=0,1,2,3) 만큼의 값을 빼주어야 하기 때문에 곱셈기(2)와 뺄셈기(3)를 필요로 하게 된다.
제6도는 종래 롬 테이블을 이용한 구현예를 보인 것으로, 기준이 되는 처음 4개의 주소 데이터를 롬(13)에 저장해 두고, 모듈로-B 카운터(11)의 출력을 롬(13)의 리드 주소로 사용하며, 모듈로-B 카운터(11)의 출력에 의해 모듈로-(B-1)N/2+1) 카운터(12)의 값이 1씩 증가한다.
모듈로-((13-1)N/2+1) 카운터(12) 출력과 롬(13)의 출력이 덧셈기(14)에서 현재 리드/라이트 주소로 생성된다.
이 방식은 첫 4(=B)개의 데이터가 들어오고나면 1씩 주소를 더해주어야 하기 때문에 모듈로-((B-1)N/2+1) 카운터(12)와 덧셈기(14)를 필요로 한다.
즉, 이와같은 종래의 실시예에 있어서는, 디인터리버가 곱셈기 또는 롬 테이블을 필요로 하게 되는 결점이 있다.
본 발명은 이러한 종래의 결점을 감안한 것으로, 최소한의 메모리 기억 공간과 주소 생성 회로로 디인터리버를 구현함으로써 종래 사용되던 곱셈기 또는 롬 테이블이 필요치 않도록 한 디지탈 통신기기의 컨벌루셔널 디인터리버를 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명은 클럭 입력에 따라 1씩 다운카운팅하는 모듈로-B 다운 카운터(21)와, 바로 전 주소로부터 상기 모듈로-B 다운 카운터(21)의 출력을 감하는 뺄셈기(22)와, 뺄셈기(22)의 출력을 모듈로((B-1)N/2+1)연산 하는 모듈로-((B-1)N/2+1) 연산자(23)와, 상기 모듈로-((B-1)N/2+1) 연산자(23)의 출력을 전송하는 래치(24)와, 상기 래치(24)의 출력에 따라 입력되는 인터리브된 데이터에 해당하는 디인터리브된 데이터를 출력하는 (B-1)N/2+1 메모리(25)로 구성된다. 상기 (B-1)N/2+1 메모리(25)는 다수개(M)로 구성된다.
제1도는 종래 GA 8VSB 규격의 디인터리버의 구성도.
제2도는 제1도의 디인터리버에서 램상의 FIFO 구현예시도.
제3도는 종래의 번지 지정의 램상에서의 구현예시도.
제4도는 종래의 번지 지정의 메모리상에서의 구현예시도.
제5도 및 제6도는 종래의 디인터리버의 구성도.
제7도는 본 발명에 따른 디인터리버의 개념 구성도.
제8도는 본 발명에 따른 번지 지정의 메모리상에서의 구현예시도.
제9도는 본 발명에 다른 디인터리버의 블록 구성도.
제10도는 본 발명에서 제안한 번지 지정예시도.
제11도는 본 발명에 따른 디인터리빙 결과를 종래와 비교하여 나타낸 표.
* 도면의 주요부분에 대한 부호의 설명
21 : 모듈로-B 다운 카운터 22 : 뺄셈기
23 : 모듈로-((B-1)N/2+1) 연산자 24 : 래치
25 : (B-1)N/2+1 메모리
이하, 본 발명의 실시예를 첨부된 도면을 참고로 하여 상세히 설명하면 다음과 같다.
제7도는 본 발명에 따른 디인터리버의 개념적인 구성도를 도시한 것으로, 도면상 좌측의 종래 인터리빙의 깊이가 B이고, 스팬이 N=BM인 디인터리버에서, 도면상 우측의 본 발명 인터리빙의 깊이가 B이고, 스팬(Span)이 N=B(M=1인 경우)인 디인터리버 M개를 병렬로 사용한 것이다.
즉, B=4, M=2인 디인터리버의 경우 B=4, M=1인 2개의 디인터리버로 구현할 수 있음을 나타낸다.
그리고 각 디인터리버는 B열로 구성되며, 각 열의 지연은 B-1, B-2‥‥‥,1, 0이므로 본 발명은 모듈로-B 다운 카운터의 사용으로 필요한 주소를 생성할 수 있게 된다.
제8도는 메모리상의 주소지정 예로써, 소요되는 메모리 공간의 수는(M×(B-1)B/2)+1)이 된다.
제9도는 본 발명에 따른 디인터리버의 구성도를 도시한 것으로, 클럭 입력에 따라 1씩 다운카운팅하는 모듈로-B 다운 카운터(21), 바로 전 주소로부터 상기 모듈로-B 다운 카운터(21)의 출력을 감하는 뺄셈기(22), 상기 뺄셈기(22)의 출력을 모듈로((B-1)N/2+1) 연산하는 모듈로-((B-1)N/2+1) 연산자(23), 상기 모듈로-((B-1)N/2+1) 연산자(23)의 출력을 전송하는 래치(24), 상기 래치(24)의 출력에 따라 입력되는 인터리브된 데이터에 해당하는 디인터리브된 데이터를 출력하는 (B-1)N/2+1 메모리(25)로 구성된다.
이하, 본 발명의 작용, 효과를 설명하면 다음과 같다.
본 발명에서 모듈로-B 다운 카운터(21)는 입력되는 클럭에 따라 설정되어있는 값에서 1씩 다운카운팅하며, 뺄셈기(22)는 래치(24)의 출력에서 상기 모듈로-B 다운 카운터(21)의 출력을 감하여 모듈로-((B-1)N/2+1) 연산자(23)에 전달한다.
따라서, 상기 모듈로-((B-1)N/2+1) 연산자(23)는 상기 뺄셈기(22)의 출력을 모듈로((B-1)N/2+1) 연산하여 래치(24)에 전달한다.
상기 래치(24)의 출력은(B-1)N/2+1 메모리(25)주소로 입력되며, 이에 따라(B-1)N/2+1 메모리(25)에서 입력되는 인터리브된 데이터에 해당하는 디인터리브된 데이터가 출력된다.
이러한 본 발명의 동작 원리를 B=4, M=2인 디인터리버의 예를 들어 설명하면 다음과 같다.
상기 모듈로-B 다운 카운터(21)와 래치(24)의 초기값은 각각 0이다.
다음 클럭에서 모듈로-B 다운 카운터(21)의 값은 B-1=3이므로, 뺄셈기(22)의 출력은 -3이 되며, 모듈로-((B-1)N/2+1) 연산자(23)의 출력은 10이 되어 래치(24)에는 10이 저장된다.
상기와 동일한 방식으로 계속해서 8(=10-2), 7(=8-1), 7(=7-0), 4(7-3)의 순으로 주소가 생성되며, 계속되는 주소 생성 출력은 제10도와 같다.
제11도는 본 발명을 이용하여 B=4, M=2로 인터리브된 데이터를 디인터리브하는 예를 나타낸 표이다.
이상에서 살펴본 바와 같이 본 발명은 종래에 사용되던 곱셈기 또는 롬 테이블을 사용하지 않으면서 기존의 방식과 동일하게 최소한의 메모리 공간을 사용할 수 있어 종래의 방식에 비해 최소한의 하드웨어 비용으로 디인터리버를 구현할 수 있는 효과가 있다.

Claims (2)

  1. 클럭 입력에 따라 다운카운팅하는 모듈로-B 다운 카운터(21)와, 바로 전 주소로부터 상기 모듈로-B 다운 카운터(21)의 출력을 감하는 뺄셈기(22)와, 상기 뺄셈기(22)의 출력을 모듈로((B-1)N/2+1) 연산하는 모듈로-((B-1)N/2+1) 연산자(23)와, 상기 모듈로-((B-1)N/2+1) 연산자(23)의 출력을 전송하는 래치(24)와, 상기 래치(24)의 출력에 따라 입력되는 인터리브된 데이터에 해당하는 디인터리브된 데이터를 출력하는 (B-1)N/2+1 메모리(25)로 구성됨을 특징으로 하는 디지탈 통신기기의 컨벌루셔널 디인터리버.
  2. 제1항에 있어서, 상기 (B-1)N/2+1 메모리(25)는 다수개(M)로 구성되는 것을 특징으로 하는 디지털 통신기기의 컨벌루셔널 디인터리버.
KR1019970012869A 1997-04-08 1997-04-08 디지탈 통신기기의 컨벌루셔널 디인터리버 KR100255304B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019970012869A KR100255304B1 (ko) 1997-04-08 1997-04-08 디지탈 통신기기의 컨벌루셔널 디인터리버
JP10067445A JPH10308677A (ja) 1997-04-08 1998-03-17 ディジタル通信機器のコンバルーシャナルディインターリーバー
FR9803593A FR2762943B1 (fr) 1997-04-08 1998-03-24 Dispositif de desentrelacement convolutionnel pour appareil de communication numerique
CA002233858A CA2233858A1 (en) 1997-04-08 1998-04-02 Convolutional deinterleaver for digital communication instrument
NL1008835A NL1008835C2 (nl) 1997-04-08 1998-04-07 Convolutie-ödeinterleaverö voor een digitale communicatieinrichting.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970012869A KR100255304B1 (ko) 1997-04-08 1997-04-08 디지탈 통신기기의 컨벌루셔널 디인터리버

Publications (2)

Publication Number Publication Date
KR19980076240A KR19980076240A (ko) 1998-11-16
KR100255304B1 true KR100255304B1 (ko) 2000-05-01

Family

ID=19502176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012869A KR100255304B1 (ko) 1997-04-08 1997-04-08 디지탈 통신기기의 컨벌루셔널 디인터리버

Country Status (5)

Country Link
JP (1) JPH10308677A (ko)
KR (1) KR100255304B1 (ko)
CA (1) CA2233858A1 (ko)
FR (1) FR2762943B1 (ko)
NL (1) NL1008835C2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100330238B1 (ko) * 1999-04-02 2002-03-25 윤종용 통신시스템의 인터리빙/디인터리빙 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
JP2917853B2 (ja) * 1995-04-07 1999-07-12 日本電気株式会社 コンボリューショナル・インターリーブ回路

Also Published As

Publication number Publication date
NL1008835C2 (nl) 2000-05-31
JPH10308677A (ja) 1998-11-17
CA2233858A1 (en) 1998-10-08
NL1008835A1 (nl) 1998-10-09
KR19980076240A (ko) 1998-11-16
FR2762943B1 (fr) 2001-02-02
FR2762943A1 (fr) 1998-11-06

Similar Documents

Publication Publication Date Title
KR100192797B1 (ko) 정적 램을 이용한 길쌈인터리버의 구조
US6178530B1 (en) Addressing scheme for convolutional interleaver/de-interleaver
KR20000038953A (ko) 통신시스템의인터리빙/디인터리빙장치및방법
JP2003152551A (ja) インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
US7594160B2 (en) Apparatus and method for receiving signal in a communication system
US6638318B1 (en) Method and device for coding sequences of data, and associated decoding method and device
KR101133907B1 (ko) 디인터리브 장치와 방법 및 인터리빙 인덱스 산출장치 및방법과 그 기록매체
KR100255304B1 (ko) 디지탈 통신기기의 컨벌루셔널 디인터리버
KR20040081271A (ko) 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
Dasalukunte et al. Hardware implementation of mapper for faster-than-Nyquist signaling transmitter
US7774573B2 (en) Single memory with multiple shift register functionality
KR100230912B1 (ko) 고화질 텔레비젼(hdtv)의 복호지연에 의한 오류 데이타 제거장치 및 방법
TWI565253B (zh) 時間解交錯電路與執行時間解交錯處理之方法
KR100416569B1 (ko) 터보 치환기 및 이를 이용한 터보 복호기
KR20000040826A (ko) 콘벌루셔널 디인터리버
KR100189539B1 (ko) 인터리빙 및 디인터리빙 어드레스 생성기
JPH1013253A (ja) コンボリューショナル・インターリーバ
KR100601624B1 (ko) 인터리버빙과 디인터리빙 장치 및 방법
KR100350683B1 (ko) 데이터 디인터리버 및 어드레스 발생방법
KR20030022602A (ko) 메모리 어드레스 생성기
US20030065697A1 (en) Fast, iterative system and method for evaluating a modulo operation without using division
JPH10209884A (ja) インターリーブ回路、及びデインターリーブ回路
KR20000043178A (ko) 콘볼루셔널 인터리버
SU1483648A1 (ru) Устройство дл кодировани информационного сигнала и передачи его в первичную цифровую систему св зи
JPH0962585A (ja) インターリーブ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20050120

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee