KR100346183B1 - 터보 인터리빙을 위한 출력주소 발생장치 및 방법 - Google Patents

터보 인터리빙을 위한 출력주소 발생장치 및 방법 Download PDF

Info

Publication number
KR100346183B1
KR100346183B1 KR1020000048373A KR20000048373A KR100346183B1 KR 100346183 B1 KR100346183 B1 KR 100346183B1 KR 1020000048373 A KR1020000048373 A KR 1020000048373A KR 20000048373 A KR20000048373 A KR 20000048373A KR 100346183 B1 KR100346183 B1 KR 100346183B1
Authority
KR
South Korea
Prior art keywords
count value
output address
output
previous
equal
Prior art date
Application number
KR1020000048373A
Other languages
English (en)
Other versions
KR20020015192A (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 KR1020000048373A priority Critical patent/KR100346183B1/ko
Publication of KR20020015192A publication Critical patent/KR20020015192A/ko
Application granted granted Critical
Publication of KR100346183B1 publication Critical patent/KR100346183B1/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/2771Internal interleaver for turbo codes
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 무선통신 시스템을 위한 터보 인코더에서 터보 인터리빙을 위한 출력주소 발생장치 및 방법에 관한 것으로서, 인터리브 메모리를 읽기 위한 출력주소를 발생하기 위하여 카운트 값 발생기가 유효하지 않은 출력주소를 발생시키지 않는 카운트 값을 생성하여 출력하면 출력주소 발생기는 카운트 값을 이용하여 유효한 출력주소를 발생시킨다.
이로써 본 발명은 폐기되는 출력주소 값을 발생시키지 않는 카운트 값만을 미리 정해진 규칙에 따라 출력함으로써 인코딩에 소요되는 지연시간을 크게 단축시킬 수 있으며, 유휴 클럭없이 연속적으로 인터리버 출력주소를 생성함으로써 터보 인코더의 제어를 간략화할 수 있다는 효과가 있다.

Description

터보 인터리빙을 위한 출력주소 발생장치 및 방법{OUTPUT ADDRESS GENERATOR FOR TURBO INTERLEAVING AND METHOD THEREFOR}
본 발명은 터보 인터리버(Turbo Interleaver)에 대한 것으로서, 특히 무선통신 시스템을 위한 터보 인코더(Turbo Encoder)에서 터보 인터리빙을 위한 출력주소 발생장치와 방법에 관한 것이다.
도 1은 통상적인 터보 인코더의 구성을 나타낸 블럭도이다. 도 1을 참조하면, 인터리브되지 않은 정보 프레임을 인코딩하는 제1 구성 인코더(Constituent Encoder)(20)와, 터보 인터리버(10)에 의해 인터리브된 정보 프레임을 인코딩하는 제2 구성 인코더(25) 및 상기 제1 및 제2 구성 인코더(20)(25)의 출력을 입력받아 인코딩된 심볼을 출력하는 심볼 천공/반복기(symbol puncture and repetition)(30)로 구성된다. 코드분할 다중접속(Code Division Multiple Access: CDMA) 표준은 무선 채널에서 발생하는 버스트 에러(Burst Error)를 방지하기 위하여 인터리빙을 수행하는 터보 인코딩 방식을 권고하고 있다. 상기의 터보 인코더는 인터리브되지 않은 인코딩 심볼과 인터리브된 인코딩 심볼을 함께 출력함으로써 버스트 에러를 방지한다.
인터리빙은 전송하고자하는 정보비트를 미리 정해진 인터리빙 규칙에 따라 섞음으로써 수행된다. 이를 위하여 터보 인터리버(10)는 입력되는 정보비트를 내부의 인터리브 메모리에 순서대로 기록하고, 내부의 출력주소 발생기로부터 출력된 출력주소를 이용하여 상기 인터리브 메모리로부터 미리 정해진 크기를 가지는 프레임 단위의 데이터를 읽어들여 출력한다. 상기 출력주소 발생기는 미리 정해진 인터리브 규칙에 따라 출력주소를 생성한다.
도 2는 CDMA2000 표준에 따른 터보 인터리버(10)를 위한 출력주소 발생기의 구성을 나타낸 블럭도로서, 도시된 바와 같이 카운터(110)와 가산/선택기(120), 룩업테이블(130), 비트 역전기(140), 다중화/선택기(150) 및 선택기(160)로 구성된다.
도 2를 참조하면, 주어진 크기 N(비트)을 가지는 인코더의 입력 프레임에 대응하는 (n+a)비트 카운터(110)는 시스템클럭을 순차적으로 카운트하여 카운트 값을 출력한다. 상기 a는 표준안에 의해 미리 고정되는 값이며 상기 n은 프레임의 크기에 따라 정해지는 파라미터이다. 도 3에 a가 5인 경우 프레임의 크기에 대한 파라미터 n의 예를 나타내었다. 도 3에 도시된 바와 같이 파라미터 n은 2(n+a)의 값이 N보다 커지도록 정해진다.
이하 도 3을 참조하여 상기 도 2에 나타낸 출력주소 발생기의 동작을 상세히 설명하면, (n+5)비트 카운터(110)의 출력 카운트 값인 (n+5)비트 중 상위 n비트(n MSBs)는 가산/선택기(120)로 입력되며 하위 5비트(5 LSBs)는 룩업테이블(130)과 비트 역전기(bit Reverse)(140)로 입력된다. 가산/선택기(120)는 입력된 비트들(n MSBs)에 1을 더한 후 그 결과에서 하위 n비트만을 선택하여 출력한다. 룩업테이블(130)은 인터리빙 순서를 결정하기 위해 최소의 버스트 에러를 발생시키도록 하는 미리 정해진 원소들을 저장하는데, 각 원소는 CDMA2000 표준에 따라 파라미터 n별로 정해진다. 룩업테이블(130)은 5비트의 입력(5 LSBs)에 일대일로 대응하는 32개의 원소들을 출력한다.
다중화/선택기(150)는 상기 가산/선택기(120)의 출력 및 룩업테이블(130)의 출력을 입력받아 다중화한 후 그 결과에서 하위 n비트만을 선택하여 출력주소의 하위 n비트(n LSBs)로서 출력한다. 비트 역전기(140)는 5비트의 입력을 역전시켜 출력주소의 상위 5비트(5 MSBs)로서 출력한다. 따라서 하위 n비트와 상위 5비트로 구성된 출력주소가 출력되어 선택기(160)로 입력된다.
선택기(160)는 상기 입력된 (n+5)비트의 출력주소 값을 프레임의 크기 N과 비교한다. 비교결과, 입력된 값이 N보다 크거나 같으면 유효하지 않은 값으로 간주하여 폐기하며, N보다 작은 값만을 유효한 출력주소로서 출력한다.
상기와 같이 동작하는 출력주소 발생기를 가지는 터보 인터리버에서 하나의 프레임이 매우 큰 비트 크기를 가지는 높은 전송율의 데이터 전송 시스템의 경우에는 하나의 프레임이 인코딩되는데 많은 시간이 소요된다. 터보 인코더에서 하나의 프레임을 인코딩하는데 소요되는 총 시간은 (n+a)비트 카운터(110)가 하나의 사이클을 모두 카운트하는데 걸리는 시간인 2(n+a)클럭인데, 선택기(160)에서 출력주소 값이 폐기되면 그에 해당하는 클럭동안 터보 인코더는 아무런 동작도 수행하지 않는다. 따라서 매 사이클마다 2(n+a)- 2N클럭만큼의 시간이 낭비된다.
도 3에는 터보 인터리버에서 입력되는 프레임의 크기에 따라 낭비되는 클럭의 개수가 나타나 있다. 도 3에 나타낸 바와 같이 종래 기술에 의한 터보 인터리버는 프레임의 크기가 커질수록 더 많은 클럭이 낭비되었으며, 이로 인하여 터보 인코더의 인코딩 속도가 저하되어 원활한 통신 서비스가 제공되지 못하였다는 문제점이 발생되었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 클럭의 낭비를 방지하여 터보 인코더의 인코딩 지연시간을 단축시키는 터보 인터리빙을 위한 출력주소 발생장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은, 유효한 인터리브 출력주소만을 출력하도록 하는 터보 인터리빙을 위한 출력주소 발생장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은, 미리 정해진 일정한 규칙에 따른 일련의 카운트 값을 출력하는 카운트 값 발생장치를 입력단에 구비하는 터보 인터리빙을 위한 출력주소 발생장치 및 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 터보 인터리빙을 위한 출력주소 발생장치의 실시예는,
유효하지 않은 출력주소를 발생시키지 않는 카운트 값을 생성하여 출력하는 카운트 값 발생기;
상기 출력된 카운트 값을 이용하여 유효한 출력주소를 발생시키는 출력주소 발생기를 포함한다.
본 발명에 따른 터보 인터리빙을 위한 출력주소 발생방법의 실시예는,
유효하지 않은 출력주소를 발생시키지 않는 카운트 값을 생성하여 출력하는 단계;
상기 출력된 카운트 값을 이용하여 유효한 출력주소를 발생시키는 단계를 포함한다.
도 1은 통상적인 터보 인코더의 구성을 나타낸 블럭도.
도 2는 종래기술에 의해 터보 인터리빙을 위한 출력주소 발생기의 구성을 나타낸 블럭도.
도 3은 프레임의 크기에 대한 파라미터 n의 예를 나타낸 도면.
도 4는 본 발명에 의해 터보 인터리빙을 위한 출력주소 발생기의 구성을 나타낸 블럭도.
도 5는 본 발명의 일 실시예에 따른 회피 카운트 테이블의 내용을 나타낸 도면.
도 6은 본 발명에 의해 출력주소 발생을 위한 카운팅 동작을 나타낸 흐름도.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
특히 본 명세서는 CDMA2000 표준에 따라 동작하는 터보 인터리버를 예로 하여 설명할 것이나 본 발명이 인터리버를 필요로 하는 모든 종류의 인코더에 적용될 수 있음은 명백한 것이다.
도 4는 본 발명에 의해 터보 인터리빙을 위한 출력주소 발생장치의 구성을 나타낸 블럭도로서, 도시된 바와 같이, 카운트 값 발생기(210)와 가산/선택기 (220), 룩업테이블(230), 비트 역전기(240) 및 다중화/선택기(250)로 구성된다. 여기서 카운트 값 발생기(210)를 제외한 나머지 장치들(220 내지 250)은 카운트 값을 이용하여 출력주소를 발생시키는 출력주소 발생기로 정의되며, 인터리빙 표준에 따른 구조로 구현될 수 있다.
도 4를 참조하면, 카운트 값 발생기(210)는 미리 정해진 규칙에 따라 일련의 카운트 값들을 출력하는데, 종래 기술에서처럼 1씩 증가되는 카운트 값들을 순차적으로 출력하는 것이 아니라 폐기되는 출력주소 값이 발생하지 않도록 하는 카운트 값들만을 출력하기 때문에 카운터가 아닌 카운트 값 발생기로 정의된다.
주어진 크기 N(비트)을 가지는 프레임에 대응하는 (n+a)비트 카운트 값 발생기(210)는 미리 정해진 규칙에 따라 폐기되는 출력주소 값이 발생하지 않도록 하는 카운트 값을 출력한다. 상기 a는 표준안에 의해 정해지는 고정된 값이며 상기 n은 프레임의 크기에 대하여 정해지는 파라미터로서, 그 예는 도 3에 나타낸 바와 같다.
이하 a가 5인 경우 도 4에 나타낸 출력주소 발생기의 동작을 상세히 설명하면, (n+5)비트 카운트 값 발생기(210)의 출력 카운트 값인 (n+5)비트 중 상위 n비트(n MSBs)는 가산/선택기(220)로 입력되며 하위 5비트(5 LSBs)는 룩업테이블(230)과 비트 역전기(240)로 입력된다. 가산/선택기(220)는 입력된 비트들(n MSBs)에 1을 더한 후 그 결과에서 하위 n비트만을 선택하여 출력한다. 룩업테이블은 인터리빙 표준에 따라 인터리빙 순서를 결정하기 위한 출력값들을 저장하는데, 5비트의 입력에 일대일로 대응하는 32개의 원소들로 구성되며 각 원소는 파라미터 n에 따라 정해진다.
다중화/선택기(250)는 상기 가산/선택기(220)의 출력 및 룩업테이블(230)의 출력을 입력받아 다중화한 후 그 결과에서 하위 n비트만을 선택하여 출력주소의 하위 n비트(n LSBs)로서 출력한다. 또한 비트 역전기(240)는 5비트의 입력을 역전시켜 출력주소의 상위 5비트(5 MSBs)로서 출력한다. 따라서 하위 n비트와 상위 5비트로 구성된 출력주소가 최종 출력된다.
여기서 상기 카운트 값 발생기(210)는 터보 인터리버의 최종 출력이 폐기되지 않도록 하는 카운트 값들만을 출력하기 때문에 상기 터보 인터리버의 최종 출력주소 값을 프레임의 크기와 비교하여 유효하지 않은 값을 폐기하기 위한 선택기는 필요하지 않다. 게다가 폐기되는 출력주소 값들에 의하여 시스템클럭이 낭비되지도 않는다.
이를 위해서는 카운트 값 발생기(210)가 최종 출력주소 값이 폐기되지 않도록 하는 카운트 값들만을 순차적으로 출력하도록 해야 한다. CDMA2000 표준에 따르면, 출력주소 값의 폐기는 입력되는 인코딩 프레임의 크기에 따라 결정되는 두 종류의 규칙에 따른다. 따라서 상기 두 종류의 규칙을 카운트 값 발생을 위한 제1 규칙 및 제2 규칙이라 하기로 한다. 한편 프레임 크기별로 상기 제1 규칙 및 제2 규칙에 따르지 않는 몇 개의 회피 카운트 값(avoid count value)들이 발생하는데 이러한 값들은 회피 카운트 테이블(avoid count table)에 저장된다.
카운트 값 발생기(210)는 미리 정해진 규칙(제1 규칙 또는 제2 규칙)에 따라 카운트 값을 계산하고 계산된 카운트 값이 미리 정해진 회피 카운트 테이블(도시되지 않음)에 있는지를 확인한다. 확인결과 계산된 카운트 값이 회피 카운트 테이블에 없으면 계산된 카운트 값을 출력하고, 있으면 계산된 카운트 값을 이용하여 다음 카운트 값을 계산하여 출력한다.
회피 카운트 테이블은 주어진 길이 N(비트)을 가지는 하나의 프레임을 인코딩하는 동안 폐기되는 출력주소 값을 발생시키는 카운트 값들을 순서대로 저장한다. 회피 카운트 테이블의 내용은 시뮬레이션을 통해 실험적으로 정해진다. 도 5는본 발명의 일 실시예에 따른 회피 카운트 테이블의 내용을 나타낸 것이다. 도시된 바와 같이, 프레임의 크기별로 각각의 카운트 값 발생규칙의 종류와 각각의 인덱스별 회피 카운트 값이 저장된다. 즉 입력 프레임의 크기가 378, 762, 1530, 3066, 6138비트 중 하나와 같으면 제1 규칙을 따르고 입력 프레임의 크기가 570, 1146, 2298, 4062비트 중 하나와 같으면 제2 규칙을 따른다. 인덱스는 회피 카운트 값을 순서대로 확인하기 위해 사용된다.
도 6은 본 발명의 일 실시예에 의한 카운트 값 발생기(210)의 카운트 값 발생동작을 나타낸 흐름도이다.
도 6을 참조하면, 단계(s10)에서 카운트 값 발생기(210)는 인코더의 입력 프레임 크기에 따라 카운트 규칙(제1 규칙 또는 제2 규칙)을 선택한다. 또한 단계(s10)에서는 카운트 값이 초기 값인 0으로 설정되고 회피 카운트 테이블 인덱스의 값이 1로 선택된다. 상기 회피 카운트 테이블 인덱스의 값은 계산된 카운트 값을 회피 카운트 테이블내의 회피 카운트 값과 비교하기 위하여 사용되는 값이다.
단계(s20)에서 카운트 값 발생기(210)는 상기 선택된 규칙에 따라 카운트 값을 계산한다. 이때 제1 규칙에 따른 카운트 값의 계산동작을 설명하면, 이전 카운트 값에 1을 더한 값을 4로 나누어 그 나머지가 3과 같으면 현재 카운트 값은 이전 카운트 값에 2를 더한 값이 된다. 그러나 상기 나머지가 3이 아니면 현재 카운트 값은 이전 카운트 값에 1을 더한 값이 된다. 이는 하기의 수학식 1에 나타낸 바와 같다.
if (이전 카운트 값 + 1) % 4 == 3
then 현재 카운트 값 = 이전 카운트 값 + 2
else 현재 카운트 값은 = 이전 카운트 값 +1
또한 제2 규칙에 따른 카운트 값의 계산동작을 설명하면, 이전 카운트 값에 1을 더한 값을 2로 나눈 나머지가 1과 같고 이전 카운트 값에 1을 더한 값을 16으로 나눈 나머지가 1이 아니면 현재 카운트 값은 이전 카운트 값에 2를 더한 값이 된다. 그렇지 않으면 현재 카운트 값은 이전 카운트 값에 1을 더한 값이 된다. 이는 하기의 수학식 2에 나타낸 바와 같다.
if ((이전 카운트 값 + 1) % 2 == 1) ((이전 카운트 값 + 1) % 16 != 1)
then 현재 카운트 값 = 이전 카운트 값 + 2
else 현재 카운트 값은 = 이전 카운트 값 +1
상기 수학식 1 및 수학식 2에 의해 카운트 값을 계산할 때 이전 카운트 값이란 가장 최근에 카운트 값 발생기(210)로부터 출력된 카운트 값을 의미한다.
단계(s30)에서 카운트 값 발생기(210)는 상기 계산된 카운트 값이 상기 현재 인덱스 값(초기 상태에서 1)에 해당하는 회피 카운트 값과 일치하는지를 확인한다. 확인결과 일치하지 않으면 상기 계산된 카운트 값이 출력된다. 확인결과 일치하면 상기 계산된 카운트 값은 무시하고 단계(s40)에서 카운트 값을 다시 계산하는 동시에 인덱스 값을 1만큼 증가시킨다. 만일 현재 인덱스 값이 최대 인덱스 값(도 5에서 6)이면 다음 인덱스 값은 다시 1이 된다. 도 5를 참조하면 회피 카운트 값이 연속해서 발생하는 경우는 없으므로 단계(s40)에서 다음 카운트 값이 계산된 후 다시 회피 카운트 값과 비교할 필요는 없다. 따라서 상기 단계(s40)에서 다시 계산된 카운트 값은 비교동작 없이 바로 출력된다. 한편 상기 단계(s40)에서 카운트 값을 다시 계산할 때 이전 카운트 값은 단계(s20)에서 계산된 카운트 값이 된다.
단계(s50)에서 카운트 값 발생기(210)의 카운트 기능이 종료되는지 확인하여 종료되지 않으면 상기 카운트 값을 계산하는 단계(s20)로 복귀한다. 상기 단계(s20)로부터 단계(s50)까지의 모든 동작은 단지 하나의 시스템 클럭 내에서 수행되므로, 카운트 값 발생기(210)는 매 클럭마다 연속적으로 유효한 카운트 값을 출력할 수 있다.
구체적인 예를 들어 본 발명에 의한 카운트 값 출력동작을 설명하면 하기와 같다.
초기상태에서 카운트 값은 0으로 설정되며 회피 카운트 테이블의 인덱스 값은 1로 설정된다. 입력 프레임의 크기가 570비트인 경우 도 5에 나타낸 회피 카운트 테이블의 예에 따르면 제2 규칙이 선택된다. 이전 카운트 값이 0일 때 제2 규칙에 따라 카운트 값을 계산하면, (이전 카운트 값 + 1) % 4 = (0 + 1) % 4 = 1 ≠ 3이므로 현재 카운트 값은 이전 카운트 값에 1을 더한 값이 되어 1이 된다. 이때 상기 계산된 카운트 값(=1)을 현재의 인덱스 값 1에 해당하는 회피 카운트 값 125와 같지 않으므로 카운트 값 발생기(210)는 상기 계산된 카운트 값 1을 출력한다.
한편 이전 인덱스 값이 1이고 계산된 카운트 값이 125인 경우 상기 계산된 카운트 값(=125)은 상기 현재 인덱스 값 1에 해당하는 회피 카운트 값(=125)과 같기 때문에, 카운트 값 발생기(210)는 상기 카운트 값 125를 무시하고 다음 카운트 값을 다시 계산한다. 이때 상기 다음 카운트 값은 상기 125를 이전 카운트 값으로 하여 계산될 것이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은 미리 정해진 규칙에 따라 폐기되는 출력주소 값을 발생시키지 않는 카운트 값만을 출력함으로써 인코딩에 소요되는 지연시간을 크게 단축시킬 수 있으며, 유휴 클럭없이 연속적으로 인터리버 출력주소를 생성함으로써 터보 인코더의 제어를 간략화할 수 있는 효과가 있다.

Claims (11)

  1. 인터리브 메모리를 읽기 위한 출력주소를 발생하는 장치에 있어서,
    유효하지 않은 출력주소를 발생시키지 않는 카운트 값을 생성하여 출력하는 카운트 값 발생기;
    상기 출력된 카운트 값을 이용하여 유효한 출력주소를 발생시키는 출력주소 발생기를 포함하는, 터보 인터리빙을 위한 출력주소 발생장치.
  2. 제 1 항에 있어서, 상기 카운트 값 발생기는,
    미리 정해진 적어도 하나의 카운트 값 계산 규칙 중 입력 프레임의 크기에 따라 선택된 규칙에 의해 카운트 값을 계산하는 장치;
    상기 계산된 카운트 값이 미리 정해진 적어도 하나의 회피 카운트 값과 같은지를 확인하는 장치;
    상기 계산된 카운트 값이 상기 회피 카운트 값과 같지 않으면 상기 계산된 카운트 값을 출력하는 장치;
    상기 계산된 카운트 값이 상기 회피 카운트 값과 같으면 상기 선택된 규칙에 의해 다음 카운트 값을 계산하여 출력하는 장치를 포함하는, 터보 인터리빙을 위한 출력주소 발생장치.
  3. 제 2 항에 있어서, 상기 카운트 값을 계산하는 장치는,
    상기 입력 프레임의 크기가 378,762,1530,3066,6138비트 중 하나와 같은 경우, 이전 카운트 값에 1을 더한 값을 4로 나누어 그 나머지가 3과 같으면 이전 카운트 값에 2를 더한 값을 현재 카운트 값으로 하고, 상기 나머지가 3이 아니면 이전 카운트 값에 1을 더한 값을 현재 카운트 값으로 하는, 터보 인터리빙을 위한 출력주소 발생장치.
  4. 제 2 항에 있어서, 상기 카운트 값을 계산하는 장치는,
    상기 입력 프레임의 크기가 570,1146,2298,4062비트 중 하나와 같은 경우, 이전 카운트 값에 1을 더한 값을 2로 나눈 나머지가 1과 같고 이전 카운트 값에 1을 더한 값을 16으로 나눈 나머지가 1이 아니면 이전 카운트 값에 2를 더한 값을 현재 카운트 값으로 하고, 그렇지 않으면 이전 카운트 값에 1을 더한 값을 현재 카운트 값으로 하는, 터보 인터리빙을 위한 출력주소 발생장치.
  5. 제 2 항에 있어서, 상기 다음 카운트 값을 계산하는 장치는,
    상기 계산된 카운트 값을 이용하여 상기 다음 카운트 값을 계산하는, 터보 인터리빙을 위한 출력주소 발생장치.
  6. 제 1 항에 있어서, 상기 출력주소 발생기는,
    (n+a)비트로 구성된 상기 카운트 값 중 상위 n비트를 입력받아 미리 정해진 값을 더한 후 그 결과에서 하위 n비트만을 선택하여 출력하는 가산/선택기;
    상기 카운트 값 중 하위 a비트를 입력받아 인터리빙 순서를 결정하기 위한 출력값들을 출력하는 룩업테이블;
    상기 가산/선택기의 출력 및 상기 룩업테이블의 출력을 입력받아 다중화한 후 그 결과에서 하위 n비트만을 선택하여 출력주소의 하위 n비트로서 출력하는 다중화/선택기;
    상기 카운트 값 중 하위 a비트를 입력받아 비트들을 역전시킨 후 출력주소의 상위 a비트로서 출력하는 비트 역전기를 포함하는, 터보 인터리빙을 위한 출력주소 발생장치.
  7. 인터리브 메모리를 읽기 위한 출력주소를 발생하는 방법에 있어서,
    유효하지 않은 출력주소를 발생시키지 않는 카운트 값을 생성하여 출력하는 단계;
    상기 출력된 카운트 값을 이용하여 유효한 출력주소를 발생시키는 단계를 포함하는, 터보 인터리빙을 위한 출력주소 발생방법.
  8. 제 7 항에 있어서, 상기 카운트 값을 출력하는 단계는,
    미리 정해진 적어도 하나의 카운트 값 계산 규칙 중 입력 프레임의 크기에 따라 선택된 규칙에 의해 카운트 값을 계산하는 단계;
    상기 계산된 카운트 값이 미리 정해진 적어도 하나의 회피 카운트 값과 같은지를 확인하는 단계;
    상기 계산된 카운트 값이 상기 회피 카운트 값과 같지 않으면 상기 계산된 카운트 값을 출력하는 단계;
    상기 계산된 카운트 값이 상기 회피 카운트 값과 같으면 상기 선택된 규칙에 의해 다음 카운트 값을 계산하여 출력하는 단계를 포함하는, 터보 인터리빙을 위한 출력주소 발생방법.
  9. 제 8 항에 있어서, 상기 카운트 값을 계산하는 단계는,
    상기 입력 프레임의 크기가 378,762,1530,3066,6138비트 중 하나와 같은 경우, 이전 카운트 값에 1을 더한 값을 4로 나누어 그 나머지가 3과 같으면 이전 카운트 값에 2를 더한 값을 현재 카운트 값으로 하고, 상기 나머지가 3이 아니면 이전 카운트 값에 1을 더한 값을 현재 카운트 값으로 하는, 터보 인터리빙을 위한 출력주소 발생방법.
  10. 제 8 항에 있어서, 상기 카운트 값을 계산하는 단계는,
    상기 입력 프레임의 크기가 570,1146,2298,4062비트 중 하나와 같은 경우, 이전 카운트 값에 1을 더한 값을 2로 나눈 나머지가 1과 같고 이전 카운트 값에 1을 더한 값을 16으로 나눈 나머지가 1이 아니면 이전 카운트 값에 2를 더한 값을 현재 카운트 값으로 하고, 그렇지 않으면 이전 카운트 값에 1을 더한 값을 현재 카운트 값으로 하는, 터보 인터리빙을 위한 출력주소 발생방법.
  11. 제 8 항에 있어서, 상기 다음 카운트 값을 계산하는 단계는,
    상기 계산된 카운트 값을 이용하여 상기 다음 카운트 값을 계산하는, 터보 인터리빙을 위한 출력주소 발생방법.
KR1020000048373A 2000-08-21 2000-08-21 터보 인터리빙을 위한 출력주소 발생장치 및 방법 KR100346183B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000048373A KR100346183B1 (ko) 2000-08-21 2000-08-21 터보 인터리빙을 위한 출력주소 발생장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000048373A KR100346183B1 (ko) 2000-08-21 2000-08-21 터보 인터리빙을 위한 출력주소 발생장치 및 방법

Publications (2)

Publication Number Publication Date
KR20020015192A KR20020015192A (ko) 2002-02-27
KR100346183B1 true KR100346183B1 (ko) 2002-07-26

Family

ID=19684240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000048373A KR100346183B1 (ko) 2000-08-21 2000-08-21 터보 인터리빙을 위한 출력주소 발생장치 및 방법

Country Status (1)

Country Link
KR (1) KR100346183B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561631B1 (ko) * 2003-12-26 2006-03-20 한국전자통신연구원 터보 인터리버의 출력 주소 산출 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100830500B1 (ko) * 2004-12-17 2008-05-21 엘지전자 주식회사 터보 인터리버에서의 터보 인터리버 어드레스 출력 방법 및 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561631B1 (ko) * 2003-12-26 2006-03-20 한국전자통신연구원 터보 인터리버의 출력 주소 산출 장치

Also Published As

Publication number Publication date
KR20020015192A (ko) 2002-02-27

Similar Documents

Publication Publication Date Title
US6314534B1 (en) Generalized address generation for bit reversed random interleaving
US6625234B1 (en) Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
KR100315708B1 (ko) 이동통신시스템에서터보인코더의펑처링장치및방법
CA2390096C (en) High-performance low-memory interleaver banks for turbo-codes
CN100539443C (zh) 通信系统的交织设备和方法
KR100480286B1 (ko) 터보 인터리빙 어드레스 발생 장치 및 방법
UA63024C2 (en) Turbo coder; method and device for interleaving data elements
KR20000042786A (ko) 통신시스템의인터리빙/디인터리빙장치및방법
JP2002190743A (ja) Umtsにおけるターボ符号化器のインターリーバ及びインターリービングを遂行するための方法
KR20030067557A (ko) 통신시스템에서 인터리버 및 인터리빙 방법
Drukarev et al. Performance of error-correcting codes on channels with memory
US20070220377A1 (en) Interleaving apparatus and method in communication system
EP1411643B1 (en) A method and apparatus for generating an interleaved address
KR20040055719A (ko) 순환 리던던시 코드 서명 비교를 구비한 터보 디코더
KR100346183B1 (ko) 터보 인터리빙을 위한 출력주소 발생장치 및 방법
US7398446B2 (en) Low power operation of an address interleaver
US6925592B2 (en) Turbo decoder, turbo encoder and radio base station with turbo decoder and turbo encoder
KR100519335B1 (ko) 채널 인터리빙 방법
KR20000071545A (ko) 통신시스템의 인터리빙/디인터리빙 장치 및 방법
KR100561631B1 (ko) 터보 인터리버의 출력 주소 산출 장치
US7904761B1 (en) Method and apparatus for a discrete power series generator
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
KR100853497B1 (ko) 터보 인터리빙 장치 및 그의 출력주소 발생 방법
KR100487366B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
KR20050094304A (ko) 통신시스템의 인터리버 및 인터리빙 방법

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee