[go: up one dir, main page]

KR100645730B1 - 매직 매트릭스를 이용한 인터리빙 방법 - Google Patents

매직 매트릭스를 이용한 인터리빙 방법 Download PDF

Info

Publication number
KR100645730B1
KR100645730B1 KR1019990066951A KR19990066951A KR100645730B1 KR 100645730 B1 KR100645730 B1 KR 100645730B1 KR 1019990066951 A KR1019990066951 A KR 1019990066951A KR 19990066951 A KR19990066951 A KR 19990066951A KR 100645730 B1 KR100645730 B1 KR 100645730B1
Authority
KR
South Korea
Prior art keywords
size
interleaver
row
magic
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019990066951A
Other languages
English (en)
Other versions
KR20010059446A (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 KR1019990066951A priority Critical patent/KR100645730B1/ko
Publication of KR20010059446A publication Critical patent/KR20010059446A/ko
Application granted granted Critical
Publication of KR100645730B1 publication Critical patent/KR100645730B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • 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/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)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 매직 매트릭스를 이용한 인터리빙 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 매직 매트릭스(Magic Matrix) 특성을 이용하여 인터리빙 어드레스를 생성하고, 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 제 1 단계; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 제 2 단계; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 제 3 단계; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 무선통신시스템 등에 이용됨.
터보 매직 인터리버, 매직 매트릭스, 어드레스, 행 단위, 열 단위

Description

매직 매트릭스를 이용한 인터리빙 방법{METHOD FOR INTERLEAVING USING MAGIC MATRIX}
도 1 은 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법중 기본적인 매직 인터리빙 과정에 대한 설명도.
도 2 는 본 발명에 따른 터보 매직 인터리빙 과정에 대한 설명도.
도 3 은 본 발명이 적용되는 무선통신시스템의 송신단에서 터보 코드를 부호화하기 위한 부호화 장치의 구성도.
도 4 는 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법에 대한 일실시예 흐름도.
도 5 는 인터리빙 데이터 크기 및 삭제 값을 나타낸 예시도.
도 6 은 인터리버의 종류에 따른 비트 에러율(BER)의 성능에 대한 예시도.
* 도면의 주요 부분에 대한 부호의 설명
311~31(n-1) : 터보 매직 인터리버
321~32n : 컨벌루션 인코더
본 발명은 차세대 이동통신(IMT-2000) 시스템에서 FEC(Forward Error Ccorrection)의 표준으로 채택된 터보 부호에 대한 기술력 확보 및 독자적인 국내 기술 개발로 통신 시장 개방에 따른 국제 경쟁력을 강화시키고 국내 정보통신 산업의 발전에 기여하기 위한, 매직 매트릭스를 이용한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 계산에 의하여 인터리빙 어드레스를 생성하는 비교적 간단한 알고리즘으로 다양한 전송율에도 쉽게 적용이 가능하도록 구현한, 매직 매트릭스를 이용한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
최근 셀룰라와 이동 위성 시스템과 같은 짧은 프레임에서 정보를 전송하는 무선통신 시스템에 터보 코드를 적용하는 연구가 활발하게 진행되고 있는데, 이는 터보 코드의 성능에 크게 영향을 미치는 인터리버의 크기를 사용자가 원하는 데이터의 종류에 따라 가변적으로 적용하였을 때 가능한 것으로 나타나고 있다. 터보 코드에서 부호화한 비트들의 상관성(correlation)이 증가할수록 복호화 동작을 위한 많은 정보를 얻을 수는 있겠지만 에러들에 대한 상관성 또한 증가하게 된다. 따라서 에러들 사이의 상관성을 제거하기 위해 인터리버를 사용하며 인터리버 크기에 따라 상관성을 어느 정도 제거해 줄 것인지도 어려운 문제이며 복잡성이나 지연의 문제도 수반하게 된다.
일반적인 채널 환경에서의 인터리버는 연집 에러를 랜덤 에러로 전환하여 주는 역할을 하고, 터보 코드에서의 인터리버는 첫 번째 구성부호기에서 낮은 무게(low-weight)를 출력하는 입력열의 특정한 패턴이 인터리버를 통해서 그대로 나타나게 되면, 두 번째 구성 부호기에서도 낮은 무게의 패리티 열을 출력하게 되어 전체적으로 낮은 무게의 부호어가 생성될 뿐만 아니라 터보 부호의 성능도 열화되므로 상관 관계가 있는 정보를 효과적으로 상관 관계가 없는 정보로 전환하기 위해 정보 비트의 입력순서를 재배열하여 에러 패턴을 깨주게 된다. 즉, 하나의 RSC(Recursive Systematic Convolution) 부호기의 입력 패턴이 작은 거리 특성을 주는 경우, 다른 하나의 RSC 부호기로의 입력 패턴이 큰 거리 특성을 줄 수 있도록 입력 패턴에 대한 치환(permutation)을 수행하는 것이다.
부호기 측면에서 터보 코드의 성능을 좌우하는 한가지 요소는 RSC 부호를 연결하는 인터리버로서, 인터리버 크기가 클수록 성능은 좋아지며, 짧은 프레임의 경우 랜덤 인터리버를 사용하는 것보다는 최적의 구조적 인터리버를 사용하는 것이 유리하다. 하지만 긴 프레임의 경우, 이러한 구조적 인터리버가 고정된 구조이기 때문에 일정크기 이상의 최소 해밍 거리를 가지는 것이 불가능하므로 랜덤 인터리버를 사용하는 것이 유리하다. 따라서 터보 코드의 성능을 향상시키기 위해서는 종래의 구조적 인터리빙 방식이 아닌 랜덤 인터리버를 사용해야 하는데, 이러한 인터리버 방식의 문제점은 각각의 전송율에 따라 모든 인터리버 어드레스를 저장해야 한다는 점이다.
최근에는 인터리버의 랜덤성을 유지하면서 어드레스를 저장하지 않고 계산에 의해 만들어내는 방법(on-the-fly)들이 연구되고 있다. 이때, 최적의 성능을 보장할 수 있도록 인터리버 어드레스 계산 알고리즘으로 사용할 수 있는 방법은 3GPP(3rd Generation Partnership Project)에서 표준으로 논의되었던 LCS(Linear Congruential Sequence) 인터리버, GF(Galois Field) 인터리버, MIL(Multi stage Interleaving) 인터리버, 마더(mother) 인터리버 등이 있다. 각 알고리즘은 탐색 과정을 통해 어드레스 계산에 필요한 파라미터들에 대한 최적화 과정을 수행하고, 이렇게 얻어진 파라미터들을 ROM(Read Only Memory)에 저장하여 어드레스 계산에 이용하는 방법들을 사용한다. 인터리버 어드레스 계산시 일반적으로 2차원 배열을 이용하는 방식의 성능이 우수한 것으로 알려져 있다. 이때, 2차원 인터리버 방식에서 사용하는 기법은 행 인덱스(row index)에 대해서는 비트 리버설(Bit Reversal) 방법을 사용하고, 각각의 행에 대하여 적절한 고유의 규칙을 이용하여 열 치환(column Permutation)을 수행하는 것이다. 인터리버의 설계시 고려할 사항은 인터리버 어드레스를 구성하기 위하여 가능한 적은 메모리를 가지고서 실현해야 하며, 다양한 전송율에서도 쉽게 적용이 되어야 한다. 따라서 본 발명에서는 계산에 의하여 인터리빙 어드레스를 생성하며 비교적 간단한 알고리즘으로 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법을 제안하고자 한다.
본 발명은, 상기한 바와 같은 문제점을 해결하고 상기 요구에 부응하기 위하여 제안된 것으로, 매직 매트릭스(Magic Matrix) 특성을 이용하여 인터리빙 어드레스를 생성하고, 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 제 1 단계; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 제 2 단계; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 제 3 단계; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 제 4 단계를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 다른 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 제 1 단계; 각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 제 2 단계; 상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 제 3 단계; 및 상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 제 4 단계를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 제 1 단계; 매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 제 2 단계; 상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 제 3 단계; 및 상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 제 4 단계를 포함한다.
한편, 본 발명은, 프로세서를 구비한 무선통신시스템에, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 기능; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 기능; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 기능; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 무선통신시스템에, 크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 기능; 각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 기능; 상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 기능; 및 상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 프로세서를 구비한 무선통신시스템에, 데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 기능; 매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 기능; 상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 기능; 및 상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법중 기본적인 매직 인터리빙 과정에 대한 설명도이다.
도 1에 도시된 바와 같이, 크기가 L인 기본적인 매직 인터리버
Figure 112006042129615-pat00001
은 다음과 같이 구성된다.
첫째,
Figure 111999018986697-pat00002
을 만족하는 가장 작은 N 값을 구한다.
둘째, 크기가
Figure 112006042129615-pat00003
인 매직 매트릭스(magic matrix)를 구성한다.
셋째,
Figure 112006042129615-pat00004
인터리버의 구성은 N이 4의 배수일 경우는 입력값을
Figure 112006042129615-pat00005
매직 매트릭스(magic matrix)로 채운 다음 열 단위(column by column) 방향으로 읽어오며, 그 외는
Figure 112006042129615-pat00006
매직 매트릭스로 입력된 데이터를 행 단위(row by row) 방향으로 읽어온다.
넷째, 크기가 L인 인터리버
Figure 112006042129615-pat00007
을 구성하기 위하여 N보다 큰 값은 버린다.
이와 같이, 매직 인터리버는 정방형의 인터리버 구조를 사용하고, 정방형 매트릭스 구성을 위한 메모리 요구량을 최소화하며, 마방진 알고리즘에 의하여 룩 업 테이블(look up table)을 생성하므로 PIP(pre defined pattern) 등이 불필요하다. 또한, 각각의 행과 열들의 합이 균일하므로 어드레스의 분포가 균일하게 배열된다.
도 2 는 본 발명에 따른 터보 매직 인터리빙 과정에 대한 설명도로서, 다음과 같이 4단계에 대한 자세한 내용은 다음과 같다.
첫 번째로, 각 행 단위로 입력 데이터를 쓴다.
먼저, 입력되는 프레임 길이를 N이라고 하고 다음과 같은 규칙에 의하여 행과 열의 개수를 구한다. 크기가 N인 인터리버를 구성하기 위하여
Figure 112006042129615-pat00008
을 구성하고 최종적으로 N보다 큰 값은 버린다. 행과 열(row and column)의 수를 미리 결정하고 입력 비트열을 행(row) 단위로 쓴다.
(1) 다음의 규칙에 의해 열(column)의 개수를 결정한다.
Case 1 : ( N = 250 ∼ 1000 bits ) ⇒
Figure 111999018986697-pat00009
Case 2 : ( N = 1001 ∼ 3000 bits ) ⇒
Figure 111999018986697-pat00010
Case 3 : ( N = 3001 ∼ 8192 bits ) ⇒
Figure 111999018986697-pat00011
(2) 다음의 [수학식 1]에 의해 행(row)의 개수를 결정한다.
Figure 111999018986697-pat00012
여기서,
Figure 112006042129615-pat00013
는 A보다 큰 최소 정수를 의미한다.
(3) 인터리버의 입력 비트열은
Figure 112006042129615-pat00014
매트릭스에 행 단위로 입력된다.
두 번째로, 행 내부 단위로 치환(Intra_row Permutation)한다.
(1) 각각의 행(row) 내부의 데이터들을 섞는다. 즉, 각 행의 데이터를 크기가
Figure 112006042129615-pat00015
인 매직 매트릭스를 이용하여 치환(permutation)시킨다.
Figure 112006042129615-pat00016
번째 행에 대하여 다음의 [수학식 2] 및 [수학식 3]을 이용하여 데이터들을 섞는다.
Figure 112006042129615-pat00017
Figure 111999018986697-pat00018
Figure 111999018986697-pat00019
, = 4의 배수
Figure 111999018986697-pat00020
, 그 외
즉, 상기 [수학식 2]에서 먼저
Figure 112006042129615-pat00021
값에 의한 매직 매트릭스를 이용하여
Figure 112006042129615-pat00022
인터리버를 구성하는데, 여기서
Figure 112006042129615-pat00023
가 4의 배수일 경우는 입력값을
Figure 112006042129615-pat00024
매직 매트릭스로 채운 다음 열 단위(column by column) 방향으로 읽어오며, 그 외 크기의 데이터가 입력되면 매직 매트릭스를 전치(Transpose)시켜서 열 단위(column by column) 방향으로 읽어온다.
세 번째로, 행 내부 단위로 왼쪽으로 천이(Intra_row Left Shift)시킨다.
즉, 각 행 별로 읽어온 데이터를 왼쪽으로 천이(shift)시킨다. 상기 [수학식3]에서
Figure 112006042129615-pat00025
은 왼쪽으로
Figure 112006042129615-pat00026
만큼 천이(shift)시킴을 의미한다. 즉,
Figure 112006042129615-pat00027
번째 행(row)에 대하여
Figure 112006042129615-pat00028
값만큼 왼쪽으로 천이시킨다. 이것은 행 별로 같은 인터리빙 패턴을 방지하기 위함이다.
네 번째로, 행 간에 치환(Inter_row Permutation)을 시킨다.
즉, 전체 행에 대하여 다음과 같이 치환(permutation)시킨다.
먼저, 아래의 [수학식 4]와 같이
Figure 112006042129615-pat00029
값을 구한다. 이를 구하기 위해 크기가
Figure 112006042129615-pat00030
인 매직 매트릭스를 이용하여
Figure 112006042129615-pat00031
인터리버를 구성하고, 이를 이용하여 열 단위(column by column)로 인터리빙된 데이터를 읽어온다.
Figure 112006042129615-pat00032
Figure 112006042129615-pat00033
상기 [수학식 5]에서 만일
Figure 112006042129615-pat00034
값이 정수가 아니면 행보다 큰 최소 제곱수를 구하여 그의 근으로 정한다. 그리고 행보다 큰 수는 삭제(pruning)시킨다.
하기의 [수학식 6]의
Figure 112006042129615-pat00035
번째 행에 대하여
Figure 112006042129615-pat00036
를 이용한 어드레스 패턴을 이용하여 행 간(inter-row)을 치환하고, 최종적으로 행 단위로 데이터를 읽어온다.
Figure 112006042129615-pat00037
Figure 112006042129615-pat00038
번째 행 ⇒ 의 행
마지막으로, 크기가 L인
Figure 112006042129615-pat00039
로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기 N보다 큰 값은 삭제(pruning)를 한다.
도 3 은 본 발명이 적용되는 무선통신시스템의 송신단에서 터보 코드를 부호화하기 위한 부호화 장치의 구성도로서, 매직 인터리버가 적용되는 과정을 나타낸 것이다.
먼저, 입력되는 송신정보 비트를 인터리빙(Interleaving)하여 상관성을 줄이는 터보 매직 인터리버(311 내지 31(n-1))들과, 입력되는 송신정보 비트를 부호화하기 위한 컨벌루션 인코더(321)와, 컨벌루션 인코더(311 내지 31(n-1)) 중 해당 인터리버를 통해 인터리빙된 신호를 인코딩하기 위한 컨벌루션 인코더(322 내지 32n)들이 구비되어 있다.
도 3에 도시된 바와 같이, 송신정보 비트는 인코딩 과정 없이 직접 정보 비트로 전송되거나 컨벌루션 인코더(321 내지 32n)들에 의해 인코딩되어 패리티 비트로 전송된다. 즉, 여기서 인터리빙 과정에 제안하는 매직 매트릭스를 이용한 터보 매직 인터리빙 기법을 적용하는 것이다.
도 4 는 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법에 대한 일실 시예 흐름도이다.
도 4에 도시된 바와 같이, 먼저 인터리빙을 위한 송신정보비트열의 데이터를 입력받아(401) 인터리버의 크기를 결정한다(402).
이어서, 행 방향으로 데이터를 써서 각 행 단위로 매직 인터리빙하여 각 내부에서 천이한 후에 각 행간에 매직 인터리빙을 하여 열 방향으로 데이터를 읽는다(403).
여기서, 크기가 L인 매직 인터리버 IL = row×col로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기가 N보다 큰 값은 삭제한 후에 인터리버의 어드레스를 이용한 인터리빙을 수행하고(404, 405, 406), 크기가 L인 매직 인터리버 IL = row×col로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기가 N보다 크지 않으면 바로 인터리버의 어드레스를 이용한 인터리빙을 수행한다(404, 406).
여기서, 인터리빙 과정 중에 나타나는 삭제 데이터 값은 도 5에 도시된 바와 같고, 도 6a 및 도 6b 는 인터리버의 종류에 따른 비트 에러율(BER)의 성능을 나타낸다.
도 6a 및 도 6b에 도시된 바와 같이, 성능 분석을 위한 구성부호기의 구속장(K) = 4, 생성다항식은 (15, 13)인 2개의 길쌈부호기를 사용하였으며, 부호율(R)은 1/3로 하고, 입력되는 프레임의 크기는 N=320, 1024이며, BPSK(Binary Phase Shift Keying) 변조와 AWGN(Additive White Gaussian Noise) 채널을 가정하였고, 로그 맵(LOG-MAP) 알고리즘을 이용하여 반복복호 횟수는 3으로 한다.
도 6a 및 도 6b에서 블록 인터리버의 성능이 가장 떨어지고, "HNS"사의 GF 인터리버와 제안 인터리버의 성능이 우수함을 알 수 있다. 성능이 우수하게 나타나는 이유는 해밍무게 분포특성이 다른 인터리버에 비해 우수하고, 한 프레임 내에서 상관 관계가 있는 입력정보를 효과적으로 상관 관계가 없는 정보로 변환해주기 때문이다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 인터리버의 데이터 입력 과정에서 적당한 크기로 분할하여 입력함으로써, 다양한 전송율에서도 쉽게 적용할 수 있는 효과가 있다. 또한, 본 발명은 타 방식에 비하여 어드레스 데이터 삭제값이 적게 된다.
또한, 본 발명은 인터리버의 설계시 인터리빙 어드레스를 구성하기 위하여 가능한 적은 메모리를 가지고서도 구현할 수 있는 효과가 있다.
또한, 본 발명은 종래의 터보 인터리빙 방식보다 간단하면서 성능이 우수한 효과가 있다.

Claims (7)

  1. 무선통신시스템에 적용되는 인터리빙 방법에 있어서,
    프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 제 1 단계;
    상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 제 2 단계;
    상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 제 3 단계; 및
    크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 제 4 단계
    를 포함하는 매직 매트릭스를 이용한 인터리빙 방법.
  2. 무선통신시스템에 적용되는 인터리빙 방법에 있어서,
    크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 제 1 단계;
    각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 제 2 단계;
    상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 제 3 단계; 및
    상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 제 4 단계
    를 포함하는 매직 매트릭스를 이용한 인터리빙 방법.
  3. 무선통신시스템에 적용되는 인터리빙 방법에 있어서,
    데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 제 1 단계;
    매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 제 2 단계;
    상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 제 3 단계; 및
    상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 제 4 단계
    를 포함하는 매직 매트릭스를 이용한 인터리빙 방법.
  4. 제 3 항에 있어서,
    상기 제 2 단계는,
    크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 제 5 단계;
    각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 제 6 단계;
    상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 제 7 단계; 및
    상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 제 8 단계
    를 포함하는 매직 매트릭스를 이용한 인터리빙 방법.
  5. 프로세서를 구비한 무선통신시스템에,
    프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 기능;
    상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 기능;
    상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 기능; 및
    크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  6. 프로세서를 구비한 무선통신시스템에,
    크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 기능;
    각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 기능;
    상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 기능; 및
    상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 프로세서를 구비한 무선통신시스템에,
    데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 기능;
    매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 기능;
    상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 기능; 및
    상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990066951A 1999-12-30 1999-12-30 매직 매트릭스를 이용한 인터리빙 방법 Expired - Fee Related KR100645730B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990066951A KR100645730B1 (ko) 1999-12-30 1999-12-30 매직 매트릭스를 이용한 인터리빙 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990066951A KR100645730B1 (ko) 1999-12-30 1999-12-30 매직 매트릭스를 이용한 인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20010059446A KR20010059446A (ko) 2001-07-06
KR100645730B1 true KR100645730B1 (ko) 2006-11-13

Family

ID=19634082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990066951A Expired - Fee Related KR100645730B1 (ko) 1999-12-30 1999-12-30 매직 매트릭스를 이용한 인터리빙 방법

Country Status (1)

Country Link
KR (1) KR100645730B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969191B1 (ko) * 2007-09-27 2010-07-09 이봉재 격자 조립식 골판지 복층 결합구조를 가지는 동물형 의자

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
KR980012968A (ko) * 1996-07-01 1998-04-30 배순훈 정적 램을 이용한 길쌈인터리버의 구조
JPH11340842A (ja) * 1998-05-25 1999-12-10 Hitachi Denshi Ltd 誤り訂正方式
KR100362090B1 (ko) * 1994-05-04 2003-02-05 제너럴 인스트루먼트 코포레이션 콘벌루셔널인터리버및디인터리버와,그어드레스제네레이터

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
KR100362090B1 (ko) * 1994-05-04 2003-02-05 제너럴 인스트루먼트 코포레이션 콘벌루셔널인터리버및디인터리버와,그어드레스제네레이터
KR980012968A (ko) * 1996-07-01 1998-04-30 배순훈 정적 램을 이용한 길쌈인터리버의 구조
JPH11340842A (ja) * 1998-05-25 1999-12-10 Hitachi Denshi Ltd 誤り訂正方式

Also Published As

Publication number Publication date
KR20010059446A (ko) 2001-07-06

Similar Documents

Publication Publication Date Title
JP3730238B2 (ja) 適用形チャネル符号化方法及び装置
US6289486B1 (en) Adaptive channel encoding method and device
US6603412B2 (en) Interleaved coder and method
CN100426680C (zh) Turbo解码器的缓冲器结构
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
KR100955305B1 (ko) 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱
US8239711B2 (en) QPP interleaver/de-interleaver for turbo codes
JP2004531116A (ja) ターボデコーダ用インタリーバ
US7640462B2 (en) Interleaver and de-interleaver
US7020827B2 (en) Cascade map decoder and method
KR101435830B1 (ko) 인터리빙 수행 방법
KR100963463B1 (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
CN100486117C (zh) 通信装置和无线通信系统
US9374109B2 (en) QPP interleaver/DE-interleaver for turbo codes
KR100628201B1 (ko) 터보 디코딩 방법
KR20090044178A (ko) 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
KR101433375B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP2004511179A (ja) 断片的脱インターリーブ
Seghers On the free distance of turbo codes and related product codes
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR100454952B1 (ko) 적응형채널부호화방법및장치
JP3514213B2 (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法
KR100762134B1 (ko) 블록 인터리빙을 위한 읽기 주소 발생 방법
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템
JP2009077371A (ja) インタリーブ方法、送信機、無線機、および無線通信システム。

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R11-asn-PN2301

St.27 status event code: A-3-3-R10-R13-asn-PN2301

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

L13-X000 Limitation or reissue of ip right requested

St.27 status event code: A-2-3-L10-L13-lim-X000

U15-X000 Partial renewal or maintenance fee paid modifying the ip right scope

St.27 status event code: A-4-4-U10-U15-oth-X000

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20111101

Year of fee payment: 6

PR1001 Payment of annual fee

Fee payment year number: 6

St.27 status event code: A-4-4-U10-U11-oth-PR1001

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Not in force date: 20121107

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20121107

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000