KR100828243B1 - 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법 - Google Patents

단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법 Download PDF

Info

Publication number
KR100828243B1
KR100828243B1 KR1020050013102A KR20050013102A KR100828243B1 KR 100828243 B1 KR100828243 B1 KR 100828243B1 KR 1020050013102 A KR1020050013102 A KR 1020050013102A KR 20050013102 A KR20050013102 A KR 20050013102A KR 100828243 B1 KR100828243 B1 KR 100828243B1
Authority
KR
South Korea
Prior art keywords
memory
turbo
address
interleaver
address generator
Prior art date
Application number
KR1020050013102A
Other languages
English (en)
Other versions
KR20060092378A (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 KR1020050013102A priority Critical patent/KR100828243B1/ko
Publication of KR20060092378A publication Critical patent/KR20060092378A/ko
Application granted granted Critical
Publication of KR100828243B1 publication Critical patent/KR100828243B1/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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/276Interleaving address generation
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 하나의 터보 인터리버 어드레스 생성기로 터보 인터리버 메모리와 터보 디인터리버 메모리를 동시에 어드레싱 할 수 있는 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법에 관한 것이다.
본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더는, 터보 인터리버 메모리와 터보 디인터리버 메모리의 독출 또는 기록을 위한 메모리 영역을 지정하기 위한 메모리 어드레스를 생성하는 터보 인터리버 어드레스 생성기와, 상기 터보 인터리버 어드레스 생성기에서 생성된 어드레스를 저장한 후 일정 클럭 신호에 따라서, 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나 이상의 메모리에 어드레싱 신호를 출력시키는 터보 인터리버 어드레스 메모리가 더 포함되어 구성되는 것을 특징으로 한다.
이와 같은 본 발명의 구성에 의하면 터보 인터리버 어드레스 생성기를 하나 줄임으로써 로직을 최적화하고 그에 따라 칩의 단가를 감소할 수 있게 된다.
터보 디코더, 단일 어드레스 생성기, 터보 인터리버 어드레스 메모리

Description

단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법{Turbo decoder using single address generator and Method for assigning memory address using the same}
도 1은 종래의 이중 메모리 어드레스 생성기가 구비된 터보 디코더의 구성을 나타낸 도면
도 2는 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더의 구성을 나타낸 도면
도 3은 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법의 일 실시 예를 설명하기 위한 도면
도 4는 메모리의 독출 또는 기록 동작을 위해 터보 인터리버 어드레스가 사용되는 모습을 나타낸 타이밍도
도 5는 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법의 다른 실시 예를 설명하기 위한 도면
<도면의 주요 부분에 대한 부호의 설명>
110: 입력 버퍼 120: 상태 메트릭 계산기
130: 이중 맥시마 140: 제1 선택부
151: 터보 인터리버 메모리 152: 터보 디인터리버 메모리
260: 터보 인터리버 어드레스 생성기
280: 터보 인터리버 어드레스 메모리
본 발명은 단일 어드레스 생성기를 사용하는 터보 디코더 및 메모리 어드레스 할당 방법에 관한 것이다.
일반적으로 무선 디지털 통신에서는 채널 상의 에러를 보정하기 위해 송신단에서 에러정정 코드를 가하고 디코더에서 에러를 보정하는 방법을 사용한다. 이러한 에러보정 가능한 코딩 방식 중 하나로 사용되는 것이 터보코드(Turbo Code)이다. 터보코드는 높은 데이터율을 필요로 하는 채널에 채택되고 있다.
상기 터보코드의 복호방법에는 SOVA(Soft-Output Viterbi Algorithm) 방식과 MAP(Maximum A Posteriori) 방식이 있는데, MAP방식이 SOVA방식보다 채널환경이 좋은 AWGN(Additive White Gaussian Noise)환경에서 0.3㏈ 정도, 그리고 채널환경이 좋지 않은 레일라이 페이딩(Rayleigh Fading)환경에서 3㏈정도 더 높은 코딩이득(coding gain)을 갖는 것으로 알려져 있다.
도 1은 종래의 이중 메모리 어드레스 생성기가 구비된 터보 디코더의 구성을 나타낸 도면이다.
도 1에 도시된 바와 같이, 종래의 이중 메모리 어드레스 생성기가 구비된 터보 디코더는, 입력 버퍼(110)와, 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122) 및 제2 역방향 상태 메트릭 계산기(123) 등이 구비된 상태 메트릭 계산부(120)와, 이중 맥시마(130)와, 제1 선택부(140)와, 터보 인터리버 메모리(151)와 터보 디인터리버 메모리(152)로 이루어진 메모리부(150)와, 제1 터보 인터리버 어드레스 생성기(161)와, 제2 터보 인터리버 어드레스 생성기(162) 및 제2 선택부(170)를 포함하여 구성된다.
상기와 같이 구성되는 종래의 이중 메모리 어드레스 생성기가 구비된 터보 디코더의 동작 및 터보 디코더에서의 연산 동작을 수행할 때의 메모리 어드레스 할당 방법을 설명하면 다음과 같다.
터보 디코더는 여러 번의 반복 연산(iteration)을 수행하여 디코딩 비트(decoding bit)를 생성하게 된다.
터보 디코더가 동작하는 과정을 살펴보면, 첫 번째 반복 연산(iteration)에서는, 입력 버퍼(110)에 저장되는 수신 데이터를 읽어서 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)의 연산을 거친 후, 이중 맥시마(130)를 통하여 터보 인터리버 메모리(151)에 저장하게 된다.
두 번째 반복 연산(iteration)에서는, 상기 터보 인터리버 메모리(151)에 저장되어 있는 외부 출력(extrinsic output)을 읽어들인 후, 다시 순방향 상태 메트 릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)의 연산을 거친 후, 이중 맥시마(130)를 통하여 터보 디인터리버 메모리(152)에 저장하게 된다.
또한, 세 번째 반복 연산(iteration)에서는 상기 터보 디인터리버 메모리(152)에 저장되어 있는 외부 출력(extrinsic output)을 읽어서 다시 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)의 연산을 거친 후, 이중 맥시마(130)를 통하여 터보 인터리버 메모리(151)에 저장하게 된다.
이후, 상기 과정을 반복함으로써 최종 반복 연산(Final iteration)(보통 7번)을 수행하고 나서 최종 디코딩 비트를 생성하게 된다.
상기의 반복 연산 과정 중에서 상기 터보 인터리버 메모리(151)에 저장되어 있는 외부 정보를 읽어 들일 때에는 제1 터보 인터리버 어드레스 생성기(161)에서 생성된 어드레스를 사용하여 상기 터보 인터리버 메모리(151)의 해당 어드레스를 할당하고, 상기 터보 디인터리버 메모리(152)에 저장할 때에는 제2 터보 인터리버 어드레스 생성기(162)에서 생성된 어드레스를 사용하여 상기 터보 디인터리버 메모리(152)의 어드레스를 할당하게 된다.
한편, 상기 제1 터보 인터리버 어드레스 생성기(161)와 상기 제2 터보 인터리버 어드레스 생성기(162)에서 생성되는 어드레스는 동일한 값을 갖게 된다. 단지 일정 시간의 차이를 두고 동시에 사용하기 때문에 상기 제1 터보 인터리버 어드레스 생성기(161) 및 상기 제2 터보 인터리버 어드레스 생성기(162)와 같이 2개의 터 보 인터리버 어드레스 생성기가 필요로 하게 되는 것이다.
따라서, 상기와 같은 종래 기술에 따르는 경우, 터보 디코더의 연산 동작 수행을 위해서 터보 인터리버 어드레스 생성기가 2개 구비되게 됨으로써 불필요한 로직의 증가가 따르게 되며, 이에 따라서 전체 칩 단가가 향상되는 등의 비용의 문제를 야기하게 된다.
본 발명은 터보 인터리버 어드레스 생성기를 하나 줄임으로써 로직을 최적화하고 그에 따라 칩의 단가를 감소 시킬 수 있는 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법을 제공하는 것에 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더는, 입력신호 디코딩을 위한 연산 결과를 저장하기 위한 터보 인터리버 메모리와 터보 디인터리버 메모리가 구비되는 터보 디코더에 있어서, 상기 터보 인터리버 메모리와 터보 디인터리버 메모리의 독출 또는 기록을 위한 메모리 영역을 지정하기 위한 메모리 어드레스를 생성하는 터보 인터리버 어드레스 생성기와, 상기 터보 인터리버 어드레스 생성기에서 생성된 어드레스를 저장한 후 일정 클럭 신호에 따라서 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나 이상의 메모리에 어드레싱 신호를 출력시키는 터보 인터리버 어드레스 메모리가 더 포함되어 구성되는 것을 특징으로 한다.
상기 터보 인터리버 어드레스 메모리는, 일정 클럭에 해당되는 시간 간격을 두고 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리의 기록 또는 독출을 위한 어드레싱 신호를 출력하는 것을 특징으로 한다.
상기 터보 인터리버 어드레스 생성기는, 터보 인터리버 메모리의 어드레스를 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나에 직접 출력하고, 상기 터보 인터리버 어드레스 메모리는 저장하고 있는 어드레스를 나머지 하나의 메모리로 출력시키는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에서의 메모리 어드레스 할당 방법은, 터보 인터리버 메모리와 터보 디인터리버 메모리의 일정 영역을 지정하기 위한 어드레스를 생성하는 단계와, 상기 생성된 어드레스를 인터리버 어드레스 메모리에 저장시키는 단계와, 상기 저장된 어드레스를 이용하여 상기 터보 인터리버 메모리 또는 상기 터보 디인터리버 메모리의 독출 또는 기록을 위한 어드레싱 신호를 일정 클럭에 해당되는 시간 간격을 두고 일정 클럭 시간 동안 출력시키는 단계를 포함하여 구성되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 다른 실시 예에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에서의 메모리 어드레스 할당 방법은, 터보 인터리버 메모리와 터보 디인터리버 메모리의 일정 영역을 지정하기 위한 어드레스를 생 성하는 단계와, 상기 생성된 어드레스를 이용하여 상기 터보 인터리버 메모리 또는 상기 디인터리버 메모리의 어느 하나의 메모리에 기록 또는 독출을 위한 어드레싱 신호를 출력함과 동시에 해당 어드레스를 인터리버 어드레스 메모리에 저장시키는 단계와, 상기 인터리버 어드레스 메모리에 저장된 어드레스 정보를 이용하여 일정 클럭 시간 지연 후 나머지 메모리에 기록 또는 독출을 위한 어드레싱 신호를 출력시키는 단계를 포함하여 구성되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더 및 메모리 어드레스 할당 방법에 대하여 여러 실시 예를 들어 상세히 설명한다.
도 2는 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더의 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에 구비되는 입력 버퍼(110)는 입력되는 신호를 저장한 후 타이밍에 맞추어 저장된 신호를 출력한다.
순방향 상태 메트릭 계산기(121)는 입력되는 신호에 대한 순방향 상태 메트릭을 계산하여 출력한다.
제1 역방향 상태 메트릭 계산기(122)와 제2 역방향 상태 메트릭 계산기(123)는 입력되는 신호를 이용하여 역방향 상태 메트릭을 계산하여 출력한다.
이중 맥시마(130)는 N 시퀀스의 비트가 0인 심벌 인덱스에 대한 상관 에너지 중 최대의 에너지에서 N 시퀀스의 비트가 1인 심벌 인덱스에 대한 상관 에너지 중 최대의 에너지를 감산하여 출력한다.
제1 선택부(140)는 상기 이중 맥시마(130)의 출력을 입력받아 저장시킬 메모리를 선택하여 선택된 메모리로 상기 이중 맥시마(130)의 출력 신호를 출력시킨다.
터보 인터리버 메모리(251)는 인터리빙 심벌 데이터를 저장한다.
터보 디인터리버 메모리(252)는 디인터리빙 심벌 데이터를 저장한다.
터보 인터리버 어드레스 생성기(260)는 상기 터보 인터리버 메모리와 터보 디인터리버 메모리의 독출 또는 기록을 위한 메모리 영역을 지정하기 위한 메모리 어드레스를 생성하여 출력한다.
터보 인터리버 어드레스 메모리(280)는 상기 터보 인터리버 어드레스 생성기(260)에서 생성된 어드레스를 저장한 후 시간에 따라서 상기 터보 인터리버 메모리(251)와, 상기 터보 디인터리버 메모리(252)의 일정 영역에 독출 또는 기록을 위한 어드레싱 신호를 출력한다.
제2 선택부(180)는 상기 터보 인터리버 메모리(251)와 상기 터보 디인터리버 메모리(252)의 출력을 선택적으로 출력시킨다.
상기 구성을 가지는 본 발명의 일 실시 예에 따른 단일 어드레스 생성기를 사용하는 터보 디코더의 동작 및 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법에 대하여 설명한다.
본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에서도 종래의 기술에 따른 터보 디코더와 마찬가지로 입력된 신호의 디코딩을 위해 여러 번의 반복 연산(iteration)이 수행됨으로써 디코딩 비트(decoding bit)가 생성하게 된다.
먼저, 첫 번째 반복 연산(iteration)에서는, 입력 버퍼(110)에 저장되는 수신 데이터를 읽어서 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)의 연산을 거친 후, 이중 맥시마(130)에 의해 이중 맥시마가 수행되고 그 결과는 제1 선택부(140)에 의하여 터보 인터리버 메모리(251)에 저장하게 된다.
두 번째 반복 연산(iteration)에서는, 상기 터보 인터리버 메모리(251)에 저장되어 있는 외부 출력(extrinsic output)이 독출된 후 제2 선택부(170)을 거쳐서, 다시 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)의 연산을 거쳐서 이중 맥시마(130)를 수행하여 터보 디인터리버 메모리(252)에 저장하게 된다.
상기 두 번째 반복 연산에는 상기 터보 인터리버 메모리(251)에 저장되어 있는 외부 출력을 독출하여 이를 이용하게 되는데, 이러한 상기 터보 인터리버 메모리(251)에 저장된 외부 출력의 독출 과정을 설명한다.
도 3은 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법의 일 실시 예를 설명하기 위한 도면이고, 도 4는 메모리의 독출 또는 기록 동작을 위해 터보 인터리버 어드레스가 사용되는 모습을 나타낸 타이밍도이다.
상기 터보 인터리버 메모리(251)에 저장된 외부 출력은 메모리 내의 지정된 영역에 저장되어 있는데, 이러한 외부 출력이 저장된 영역을 지정해 주기 위하여 터보 인터리버 어드레스 생성기(260)에서는 상기 터보 인터리버 메모리(251) 어드 레싱에 필요한 어드레스를 생성한다(S310).
상기 터보 인터리버 어드레스 생성기(260)에서 생성된 어드레스 정보는 터보 인터리버 어드레스 메모리(280)에 저장되어 진다(S320).
상기 과정에 따라서 터보 인터리버 어드레스 메모리(280)에 저장된 외부 출력은, 터보 디인터리버 메모리의 독출 또는 기록을 위한 어드레싱 신호로써 일정 클럭에 해당되는 시간 간격을 두고, 터보 디인터리버 메모리의 독출 또는 기록 동작 타이밍에 맞추어져 일정 클럭 시간 동안 출력된다(S330).
상기 과정을 더욱 상세하게 설명한다.
상기 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에서는, 상기 터보 인터리버 메모리(251)와 상기 터보 디인터리버 메모리(252)의 독출 또는 기록 동작을 위해서 일정 클럭 구간 동안에 해당되는 시간적 차이를 두고 터보 인터리버 어드레스 메모리(280)에 저장된 터보 인터리버 어드레스가 사용 된다.
메모리의 독출 또는 기록 동작을 위해 터보 인터리버 어드레스가 사용되는 모습을 나타낸 타이밍도인 도 4를 참조하면, 터보 인터리버 메모리(251) 독출 상태는 터보 인터리버 메모리(251) 어드레스가 0에서부터 159까지에 해당되는 160 클럭에 대응되는 시간 구간 동안 인에블된다. 또한, 터보 디인터리버 메모리(252) 기록 상태는 터보 디인터리버 메모리(252) 어드레스가 상기 160 클럭 이후의 또 다른 0에서부터 159까지에 해당되는 160 클럭에 대응되는 시간 구간 동안 인에블된다.
따라서, 본 발명에서는 터보 인터리버 메모리(251)의 독출 또는 기록 동작을 위해서 생성된 어드레스를 160 클럭 만큼의 메모리를 두고 저장해 두었다가, 터보 인터리버 메모리(251)의 독출 또는 기록 동작을 위해 사용하게 된다. 상기와 같은 실시 예의 경우에는, 160 만큼의 클럭이 진행된 후에는 터보 인터리버 어드레스 메모리(280)의 처음 위치에 새로 생성된 터보 인터리버 어드레스를 다시 저장하는 방식으로 슬라이딩 시키게 된다.
위에서 설명한 바에 따라서, 상기 터보 인터리버 메모리(251)에 저장된 외부 출력은 상기 처음의 160 클럭에 대응되는 구간 동안에 독출되어 상기 두 번째 반복 연산에 사용되어 지게 된다.
또한, 세 번째 반복 연산(iteration)에서는 상기 터보 디인터리버 메모리(252)에 저장되어 있는 외부 출력(extrinsic output)이 독출된 후 제2 선택부(170)을 거쳐서, 다시 순방향 상태 메트릭 계산기(121)와, 제1 역방향 상태 메트릭 계산기(122), 제2 역방향 상태 메트릭 계산기(123)를 거쳐서 이중 맥시마(130)를 수행하여 터보 인터리버 메모리(152)에 저장하게 된다.
이후, 상기 과정을 반복함으로써 최종 반복 연산(Final iteration)을 수행하고 나서 최종 디코딩 비트를 생성하게 된다.
위에서 상술한 바와 같이, 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더는 종래기술에 따르는 경우의 필요한 2개의 터보 인터리버 어드레스 생성기 중 하나의 터보 인터리버 어드레스 생성기를 제거하는 대신 터보 인터리버 어드레스 메모리(280)가 새로 추가되게 된다. 그러나 이 메모리는 종래 기술에 따라 사용되는 제2 터보 인터리버 어드레스 생성기의 로직 크기에 비하면 매우 작은 로직을 차지하게 되므로 터보 디코더에서 필요로 하는 전체 로직의 단순화시킴과 아 울러 전체 로직 최적화에 효과적인 구성을 제공하게 되는 것이다.
이제까지, 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더에 대하여, 제거되는 터보 인터리버 어드레스 생성기 대신에 새로 추가된 터보 인터리버 어드레스 메모리(280)에 저장된 터보 인터리버 어드레스만을 사용하는 방법의 경우를 실시 예를 들어 설명하였다. 그러나 본 발명은 이에 한정되는 것은 아니다.
본 발명의 다른 실시 예에 따르면, 터보 인터리버 어드레스 생성기는 터보 인터리버 메모리의 어드레스를 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나에 직접 출력하고, 상기 터보 인터리버 어드레스 메모리는 저장하고 있는 어드레스를 나머지 하나의 메모리로 출력시키도록 구성할 수도 있다.
도 5는 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법의 다른 실시 예를 설명하기 위한 도면이다.
도 5를 참조하여, 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더를 이용한 메모리 어드레스 할당 방법의 다른 실시 예를 설명한다.
먼저, 상기 터보 인터리버 메모리(251)에 저장된 외부 출력이 저장된 영역을 지정해 주기 위하여 터보 인터리버 어드레스 생성기(260)에서는 상기 터보 인터리버 메모리(251) 어드레싱에 필요한 어드레스를 생성한다(S510).
상기 어드레스 생성에 따라서, 상기 터보 인터리버 메모리 또는 상기 디인터리버 메모리의 어느 하나의 메모리의 기록 또는 독출 동작 타이밍에 맞추어서, 상기 터보 인터리버 어드레스 생성기(260)에서 생성된 어드레스를 이용하여 상기 터보 인터리버 메모리 또는 상기 디인터리버 메모리의 어느 하나의 메모리를 위한 어 드레싱 신호를 해당 메모리에 출력시킴과 동시에 해당 어드레스를 터보 인터리버 어드레스 메모리(280)에 저장시킨다(S520).
이후, 상기 터보 인터리버 어드레스 메모리(S280)에 저장된 어드레스 정보를 이용하여 일정 클럭 시간 지연 후 나머지 메모리의 기록 또는 독출 동작 타이밍에 맞추어서 나머지 메모리에 기록 또는 독출을 위한 어드레싱 신호를 출력시키게 된다(S530).
이상에서 본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더 및 메모리 어드레스 할당 방법을 상세히 설명하였다. 그러나 본 발명은 이에 한정되는 것이 아니라 본 발명의 기술적 사상의 기초를 벗어나지 않고 변경 및 수정을 가하여 실시하더라도 본 발명에 포함되는 것이며, 그러한 사실은 당업자에게 자명할 것이다.
본 발명에 따른 단일 어드레스 생성기를 사용하는 터보 디코더 및 메모리 어드레스 할당 방법에 따르면, 터보 인터리버 어드레스 생성기를 하나 줄임으로써 로직을 최적화하고 그에 따라 칩의 단가를 감소 시킬 수 있는 이점을 제공한다.

Claims (5)

  1. 입력신호 디코딩을 위한 연산 결과를 저장하기 위한 터보 인터리버 메모리와 터보 디인터리버 메모리가 구비되는 터보 디코더에 있어서,
    상기 터보 인터리버 메모리와 터보 디인터리버 메모리의 독출 또는 기록을 위한 메모리 영역을 지정하기 위한 메모리 어드레스를 생성하는 터보 인터리버 어드레스 생성기와;
    상기 터보 인터리버 어드레스 생성기에서 생성된 어드레스를 저장한 후 일정 클럭 신호에 따라서, 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나 이상의 메모리에 어드레싱 신호를 출력시키는 터보 인터리버 어드레스 메모리가 더 포함되어 구성되는 것을 특징으로 하는 단일 어드레스 생성기를 사용하는 터보 디코더.
  2. 제 1항에 있어서, 상기 터보 인터리버 어드레스 메모리는,
    일정 클럭에 해당되는 시간 간격을 두고 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리의 기록 또는 독출을 위한 어드레싱 신호를 출력하는 것을 특징으로 하는 단일 어드레스 생성기를 사용하는 터보 디코더.
  3. 제 1항에 있어서, 상기 터보 인터리버 어드레스 생성기는 터보 인터리버 메모리의 어드레스를 상기 터보 인터리버 메모리와 상기 터보 디인터리버 메모리 중 어느 하나에 직접 출력하고, 상기 터보 인터리버 어드레스 메모리는 저장하고 있는 어드레스를 나머지 하나의 메모리로 출력시키는 것을 특징으로 하는 단일 어드레스 생성기를 사용하는 터보 디코더.
  4. 터보 인터리버 메모리와 터보 디인터리버 메모리의 일정 영역을 지정하기 위한 어드레스를 생성하는 단계와;
    상기 생성된 어드레스를 인터리버 어드레스 메모리에 저장시키는 단계와;
    상기 저장된 어드레스를 이용하여 상기 터보 인터리버 메모리 또는 상기 터보 디인터리버 메모리의 독출 또는 기록을 위한 어드레싱 신호를 일정 클럭에 해당되는 시간 간격을 두고 일정 클럭 시간 동안 출력시키는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 단일 어드레스 생성기를 사용하는 터보 디코더에서의 메모리 어드레스 할당 방법.
  5. 터보 인터리버 메모리와 터보 디인터리버 메모리의 일정 영역을 지정하기 위한 어드레스를 생성하는 단계와;
    상기 생성된 어드레스를 이용하여 상기 터보 인터리버 메모리 또는 상기 디인터리버 메모리의 어느 하나의 메모리에 기록 또는 독출을 위한 어드레싱 신호를 출력함과 동시에 해당 어드레스를 인터리버 어드레스 메모리에 저장시키는 단계와;
    상기 인터리버 어드레스 메모리에 저장된 어드레스 정보를 이용하여 일정 클럭 시간 지연 후 나머지 메모리에 기록 또는 독출을 위한 어드레싱 신호를 출력시 키는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 단일 어드레스 생성기를 사용하는 터보 디코더에서의 메모리 어드레스 할당 방법.
KR1020050013102A 2005-02-17 2005-02-17 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법 KR100828243B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050013102A KR100828243B1 (ko) 2005-02-17 2005-02-17 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050013102A KR100828243B1 (ko) 2005-02-17 2005-02-17 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법

Publications (2)

Publication Number Publication Date
KR20060092378A KR20060092378A (ko) 2006-08-23
KR100828243B1 true KR100828243B1 (ko) 2008-05-07

Family

ID=37593786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050013102A KR100828243B1 (ko) 2005-02-17 2005-02-17 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법

Country Status (1)

Country Link
KR (1) KR100828243B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410664A (en) 1993-03-31 1995-04-25 Intel Corporation RAM addressing apparatus with lower power consumption and less noise generation
KR20000038953A (ko) * 1998-12-10 2000-07-05 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
KR20030069431A (ko) * 2002-02-20 2003-08-27 삼성전자주식회사 통신 시스템에 적용되는 모뎀 에이직의 터보 부호화 장치및 그 부호화 방법
JP2003264533A (ja) 2002-03-12 2003-09-19 Hitachi Ltd ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410664A (en) 1993-03-31 1995-04-25 Intel Corporation RAM addressing apparatus with lower power consumption and less noise generation
KR20000038953A (ko) * 1998-12-10 2000-07-05 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
KR20030069431A (ko) * 2002-02-20 2003-08-27 삼성전자주식회사 통신 시스템에 적용되는 모뎀 에이직의 터보 부호화 장치및 그 부호화 방법
JP2003264533A (ja) 2002-03-12 2003-09-19 Hitachi Ltd ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局

Also Published As

Publication number Publication date
KR20060092378A (ko) 2006-08-23

Similar Documents

Publication Publication Date Title
US6324226B1 (en) Viterbi decoder
JP3880964B2 (ja) 通信システムにおけるインターリーバー及びインターリービング方法
JP2006115145A (ja) 復号装置及び復号方法
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
JP2005517339A6 (ja) 通信システムにおけるインターリーバー及びインターリービング方法
JP2013532924A (ja) Turbo符号並行インターリーバ及びその並行インターリーブ方法
US9077384B1 (en) State metrics memory reduction in a turbo decoder implementation
US7861146B2 (en) Viterbi decoding apparatus and Viterbi decoding method
AU2001236110B2 (en) Turbo decoder and turbo decoding method and storage medium where the method is stored
KR100311504B1 (ko) 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
JP2009246474A (ja) ターボデコーダ
KR100828243B1 (ko) 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법
CN101336517B (zh) 用于在移动通信系统中控制交织器/去交织器存储器的设备和方法
JP7007115B2 (ja) ビタビ復号装置、及び、ビタビ復号方法
US20090172504A1 (en) Memory architecture for viterbi decoder and operating method therefor
KR101066287B1 (ko) 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법
JP4047697B2 (ja) ビタビ復号装置
JP4692751B2 (ja) ターボ復号器及びそれを備えた通信システム
KR100686170B1 (ko) 디코딩 장치 및 이를 이용한 디코딩 방법
US20140359397A1 (en) Memory access apparatus and method for interleaving and deinterleaving
KR100217041B1 (ko) 비터비 디코더
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR0183116B1 (ko) 비터비 디코터의 패스 메모리의 제어회로 및 방법
JP2001186025A (ja) ビタビ復号装置
US8407572B2 (en) Viterbi decoder and writing and reading method

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: 20110329

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee