KR100780995B1 - 데이터를 인터리빙하는 인터리버 및 방법 - Google Patents

데이터를 인터리빙하는 인터리버 및 방법 Download PDF

Info

Publication number
KR100780995B1
KR100780995B1 KR1020017013113A KR20017013113A KR100780995B1 KR 100780995 B1 KR100780995 B1 KR 100780995B1 KR 1020017013113 A KR1020017013113 A KR 1020017013113A KR 20017013113 A KR20017013113 A KR 20017013113A KR 100780995 B1 KR100780995 B1 KR 100780995B1
Authority
KR
South Korea
Prior art keywords
frame
data
storage array
rows
interleaver
Prior art date
Application number
KR1020017013113A
Other languages
English (en)
Other versions
KR20010113801A (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 노텔 네트웍스 리미티드
Publication of KR20010113801A publication Critical patent/KR20010113801A/ko
Application granted granted Critical
Publication of KR100780995B1 publication Critical patent/KR100780995B1/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
    • 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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • 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/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • 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/2735Interleaver using powers of a primitive element, e.g. Galois field [GF] 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/65583GPP2

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

R개의 행 및 C개의 열을 가지는 어레이의 적어도 하나의 부분에 인터리빙하고자 하는 데이터 프레임이 저장되며, 상기 부분은 부등식
Figure 112001026267592-pct00133
을 만족하는
Figure 112001026267592-pct00134
행 및
Figure 112001026267592-pct00135
열을 가지는 인터리버가 도시되어 있다(단,
Figure 112001026267592-pct00136
은 소수이며,
Figure 112001026267592-pct00137
Figure 112001026267592-pct00138
보다 작은 최대 소수임). 각 행의 요소는 소정의 수학 관계식에 의해 치환되고, 행은 소정의 매핑에 따라 치환된다.
인터리버, 어레이, 소수, 치환

Description

데이터를 인터리빙하는 인터리버 및 방법 {INTERLEAVER AND METHOD FOR INTERLEAVING DATA}
본 발명은 일반적으로 통신 시스템에 관한 것으로, 특히 코드 변조를 수행하기 위한 인터리버에 관한 것이다.
코드 변조라고 알려진 통신 채널을 인코딩하는 기술은 모뎀 및 무선 통신 시스템과 같은 전자 통신 시스템의 비트 에러율(bit error rate, BER)을 향상시킨다. 터보 코딩된 변조는 추가 백색 가우시안 노이즈(white Gaussian noise, AWGN) 또는 페이딩 채널을 특징으로 하는 "랜덤-에러" 채널을 위한 실용적, 전력-효율적, 대역-효율적인 방법인 것이 증명되어 있다. 이러한 랜덤-에러 채널은, 예를 들면, 코드 분할 다중 접속(CDMA) 환경에서 발견될 수 있다. CDMA 환경의 용량은 동작 신호 대 잡음비에 의존하므로, 향상된 성능은 고용량을 의미한다.
터보 코드를 매우 효율적으로 만드는 것은 원래의 수신된 또는 송신된 데이터 프레임이 제2 인코더에 입력되기 전에 이를 치환하는 인터리버이다. 치환은 하나 이상의 랜덤화 알고리즘에 기초하여 신호의 일부를 랜덤화하는 것에 의해 달성된다. 치환된 데이터 프레임을 원래의 데이터 프레임과 조합하는 것은 AWGN 및 페이딩 채널에서 낮은 BER을 달성하는 것으로 알려져 있다. 인터리빙 프로세스는 데이터의 다양성을 증가시켜 변조된 부호가 전송 중에 왜곡되는 경우 디코더 내의 에 러 정정 알고리즘을 이용하여 에러를 복구할 수 있다.
통상의 인터리버는 전송되는 신호 포인트를 어레이로 수집 또는 프레임화하며, 여기서 어레이는 행단위(row by row)로 순차적으로 채워진다. 소정의 신호 포인트가 프레임화된 후에는, 인터리버는 전송을 위하여 어레이를 열단위(column by column)로 순차적으로 판독하여 비워진다. 그 결과, 원래의 신호 포인트 흐름에서 서로 근접하고 있던 어레이의 동일한 행의 신호 포인트는 어레이의 행의 개수와 같은 신호 포인트의 개수로 분리된다. 이상적으로는, 열 및 행의 개수는 상호 의존적인 신호 포인트가, 전송 후에, 채널에 대한 에러 버스트(error burst)의 예상된 길이보다 길게 분리되도록 선택된다.
비균일 인터리빙은 데이터의 "최대 스캐터링" 출력 시퀀스의 "최대 불규칙성"을 달성한다. 따라서, 두 개의 컨볼루션 인코더(convolutional encoder)에 의해 제공되는 중복성은 터보 인코더의 출력 시퀀스에서 더 균일하게 분포된다. 최소 거리는 균일 인터리빙보다 더 높은 값으로 증가된다. 충분한 "비균일성"을 달성하고 실시간 요건을 요구하는 애플리케이션에 대한 사용을 제한하는 지연 보상을 최소화하는 동시에 인터리빙을 실제로 구현하는 것이 비균일 인터리빙의 반복되는 문제이다.
효과적인 인터리버를 발견하는 것은 제3 세대 CDMA 표준 기능의 현 주제이다. 프레임의 크기가 무한대에 근접하는 경우, 가장 효율적인 인터리버는 랜덤 인터리버라는 것이 규정되고 일반적으로 동의되고 있다. 그러나, 유한한 프레임 크기에 대해서는, 가장 효율적인 인터리버에 대한 결정은 논의의 여지가 있다. 인터리 빙 스킴을 수행하기 위하여 요청되는 정보를 저장하는데 필요한 메모리 영역(RAM 또는 ROM)의 양을 감소시키는 것은 또한 현재 논의의 대상이다.
따라서, 유한한 프레임 크기에 대한 비균일성을 향상시키는 코드 인터리빙 시스템 및 방법에 대한 필요성이 존재한다.
상대적으로 저-메모리 영역 요건을 가지는 것을 포함하는, 구현하기 상대적으로 용이한 코드 인터리빙 방법 및 시스템에 대한 필요성이 존재한다.
따라서, 본 발명은 유한한 프레임 크기에 대한 비균일성을 향상시키는 코드 인터리빙 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
또한 본 발명은 구현하기 상대적으로 용이하며 상대적으로 낮은 메모리 영역 요건을 가지는 코드 인터리빙 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 이러한 목적 및 다른 목적은 이하의 발명의 상세한 설명에서 당업자에게 명확해 질 것이다.
상기 목적 및 다른 목적은 본 발명에 의해 달성될 수 있으며, 이 데이터 프레임을 인터리빙하는 인터리버를 포함한다. 상기 인터리버는
예상되는 가장 큰 데이터 프레임을 저장할 수 있을 정도로 충분히 큰 어레이를 포함하는 저장 영역을 포함한다. 인터리빙하고자 하는 L개의 요소를 가지는 프레임은 어레이의
Figure 112001026267592-pct00052
행 및
Figure 112001026267592-pct00053
열에 저장되며, 여기서
Figure 112001026267592-pct00054
은 소정의 정수이며
Figure 112001026267592-pct00055
는 부등식
Figure 112001026267592-pct00001
을 만족하는 소수이다. 단
Figure 112001026267592-pct00056
Figure 112001026267592-pct00057
보다 작은 최대 소수이다. 각 행의 요소는 소정의 수학 관계식에 의해 치환되고, 행은 소정의 매핑에 따라 치환된다.
본 발명은 이하의 상세한 설명과 첨부된 도면을 참조함에 의해 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 고속 모듈로 계산 실시예를 도시한 도면; 및
도 2는 본 발명에 따른 인터리버의 구조를 도시한 도면.
본 발명은 CDMA 라디오 통신 시스템에서의 터보 인코더에 대한 실시예를 포함한다. 전송하려는 비트의 스트림이 연속하는 프레임으로 분할되며, 각 프레임은 L개의 요소를 포함하며, 각 요소는 적어도 1 비트이다.
각 프레임은 전송 전에 인터리빙된다. 가능한 프레임 크기 L이 많은 경우, 가능한 각 프레임 크기마다 인터리버를 지정하는 것은 많은 수의 파라미터를 저장할 것을 요구한다.
본 발명은 각각 프레임 크기의 부분집합을 위한 감소된 수의 프로토타입 인터리버(또는 주인터리버)를 제공하고, 적어도 현재의 프레임 크기 L을 인터리빙할 정도로 큰 주인터리버 중에 하나를 선택하고, 인터리빙된 프레임을 L 비트의 크기로 펑쳐함에 의해 저장하여야 하는 파라미터의 수를 감소시킨다.
인터리빙되는 프레임을 저장하는 어레이의 최대 크기는
Figure 112001026267592-pct00058
이다. 주어진 프레임 크기 L에 대하여,
Figure 112001026267592-pct00059
의 크기의 어레이를 가지는 주인터리버를 선택하여
Figure 112001026267592-pct00060
이 되도록 하며,
인터리빙 후에는 어레이는 크기 L로 펑쳐된다.
정확하게
Figure 112001026267592-pct00061
의 크기를 가지는 양호한 주인터리버를 설계하는 것이 가능한 반면, 주인터리버의 크기로부터 펑쳐된 프레임 크기를 위한 인터리버의 성능은, 어떠한 종래의 시스템에서도, 보장될 수 없다.
본 발명은 파라미터의 적절한 선택(최적화)을 위한 스킴을 제공함에 의해 임의의 프레임 크기에 적합한 인터리버를 제공한다.
Figure 112001026267592-pct00006
본 발명의 일실시예에서, 행의 개수
Figure 112001026267592-pct00062
은 고정값이 선택되며, 열의 개수
Figure 112001026267592-pct00063
은 소수의 집합(비균일 그리드), 즉
Figure 112001026267592-pct00064
=
Figure 112001026267592-pct00065
에서 선택된다. (본 발명의 다른 실시예에서는
Figure 112001026267592-pct00007
와 같은 균일 그리드가 이용된다.)
본 발명을 이용한 인터리빙 방법의 핵심은 일반적으로 다음을 포함한다:
ⅰ)
Figure 112001026267592-pct00066
작업 어레이에 행단위로 프레임 요소를 기록;
ⅱ) 각 j 행의 i 열을
Figure 112001026267592-pct00009
에 따라 치환;
ⅲ) 소정의 매핑에 따라 행을 치환; 및
ⅳ) 열단위로 프레임 요소를 판독.
행내 치환(항목 ⅱ)은 모듈로
Figure 112001026267592-pct00067
의 완전 잉여 시스템(complete residual system)에 기초한다. 즉,
Figure 112001026267592-pct00068
Figure 112001026267592-pct00069
의 가능한 모든 지수 합동근(exponential congruent root)으로부터 선택된다;
Figure 112001026267592-pct00010
축소 잉여 시스템을
Figure 112001026267592-pct00011
로 이용함으로써 행내 치환은 근
Figure 112001026267592-pct00070
의 집합을 구성하기 위하여 소수
Figure 112001026267592-pct00071
의 원시근
Figure 112001026267592-pct00072
라 불리는 특수한 근을 이용한다.
Figure 112001026267592-pct00012
Figure 112001026267592-pct00073
의 부분집합이라는 것을 유의하여야 한다. 이 특별한 축소 시스템을 이용하는 것의 장점은 파라미터 최적화를 위한 검색 계산을 단순화하기 위하여 행내 치환 근에 대한 추가적인 제한을 추가하는 것이다.
본 발명의 실시예로서, 소수의 집합:
Figure 112001026267592-pct00013
Figure 112001026267592-pct00014
(gcd는 "최대공약수"를 의미함)이라는 조건하에서
선택된다.
그러한 경우:
Figure 112001026267592-pct00015
는 원시근에 의해 생성되는 완전 잉여 치환의 감소 샘플링(decimated sampling)(샘플링 비 p(l))과 등가이다. 그러므로, 행내 치환은 다음:
a)
Figure 112001026267592-pct00074
의 원시근
Figure 112001026267592-pct00075
Figure 112001026267592-pct00016
을 이용하여 제1 행을 치환함
제1 행 치환의 p(j):
b)
Figure 112001026267592-pct00017
에 의해 사이클릭 시프트를 이용하여 나머지 행을 치환함
에 의해 달성될 수 있다.
이것은 사이클릭 그룹
Figure 112001026267592-pct00018
과 등가이다. 여기서 j=2, 3, ... R i=1, 2, ... C.
이 경우, 행내 치환 규칙은 결정적인 것이다. 인터리버 최적화는 원시 완전 잉여 시스템의 사이클릭 시프트에 대한 소수 집합을 검색하는 것에 의해 수행된다. 예를 들면, R=20인 경우(즉, 20개의 행과
Figure 112001026267592-pct00076
개의 열을 가지는 행렬의 경우) 소수 집합은
Figure 112001026267592-pct00019
[예 1]
과 같이 선택된다.
각 소수(행 번호)에 대해 그러한 집합이 선택된다. 프레임 크기 320 bit로부터 8192 bit까지의 범위를 포함하기 위하여, 적어도 75개의 주인터리버가 제공된다. 각각에 사용되는 열의 크기는 관련 원시근과 함께 표 1에 표시되어 있다. 가장 낮은
Figure 112001026267592-pct00077
에 대한 값을 제공하기 위하여 76개의 소수가 표 1에 표시되어 있다.
[표 1]
A B C A B C A B C A B C
13 2 21 97 5 21 193 5 21 307 5 21
17 3 21 101 2 21 197 2 21 311 17 4
19 2 21 103 5 21 199 3 21 313 10 21
23 5 21 107 2 9 211 2 21 317 2 15
29 2 21 109 6 21 223 3 5 331 3 21
31 3 21 113 3 21 227 2 21 337 10 21
37 2 21 127 3 21 229 6 1 347 2 21
41 6 21 131 2 21 233 3 3 349 2 3
43 3 21 137 3 21 239 7 21 353 3 21
47 5 2 139 2 2 241 7 21 359 7 21
53 2 21 149 2 5 251 6 21 367 6 11
59 2 3 151 6 21 257 3 21 373 2 4
61 2 21 157 5 21 263 5 21 379 2 21
67 2 21 163 2 21 269 2 12 383 5 21
71 7 21 167 5 16 271 6 21 389 2 18
73 5 21 173 2 7 277 5 2 397 5 21
79 3 21 179 2 17 281 3 21 401 3 21
83 2 6 181 2 21 283 3 8 409 21 21
89 3 21 191 19 1 293 2 14 419 2 1

(A = 소수
Figure 112001026267592-pct00078
; B = 원시근
Figure 112001026267592-pct00079
; C = 펑쳐)
본 발명의 실시예에 있어서, 원시근 집합에 대한 저장 요건은 21개의 연속적인 소수의 집합(본 실시예에서는 (예 1)이며, 소수 89를 상기 예시된 20개의 소수 p(l)에 더함)을 사용함에 의해 감소된다.
Figure 112001026267592-pct00020
을 만족하지 않는 최대 1개의 숫자가 있다.
그러한 숫자가 발생하는 경우, p(l) 집합으로부터 제거된다. p(l)의 모든 소수가 그런 조건을 만족하는 경우, 마지막(21번째) 소수(본 예인 (예 1)에서는 89)는 제거된다. 따라서, 표 1에 주어진 각 소수(A 열)에 있어서, 원시근(B 열) 및 제거되어야 하는 위치(C 열)가 또한 주어진다. 표 1에 주어진 데이터에 대한 메모리 요건은:
소수: 589 비트
원시근: 159 비트
제거 패턴: 322 비트
소수 집합 p(l): 120 비트
총합: 1190 비트 또는 149 바이트
고속 모듈로 계산에 기초한 본 발명의 실시예가 개시될 것이다.
임의의 소수 P는 조건:
Figure 112001026267592-pct00080
에 의해 설명될 수 있다.
임의의 숫자 x < P가 주어지면, 이하의 분해:
Figure 112001026267592-pct00021
가 적용된다.
그러므로:
[식 1]
Figure 112001026267592-pct00022
이며, 모듈로 값은 반복적인 방식(recursive fashion)으로 계산될 수 있다.(l = 1 인 특별한 경우, 한번의 반복만이 필요함.)
Figure 112001026267592-pct00081
, 및 따라서 이므로, 폭이 2k 비트인 곱셈기가 이용될 수 있다. 또한:
Figure 112001026267592-pct00024
이다.
모듈로 P 값은 식 1에 따라 k-비트 LSB를 l과 곱한 후 k-비트 MSB를 더하는 것에 의해 계산될 수 있다. 합이 k 비트보다 넓은 경우, 식 1이 다시 계산되어야 한다. 즉:
Figure 112001026267592-pct00025
이다.
극단적인 경우:
Figure 112001026267592-pct00026
Figure 112001026267592-pct00027
,
및 따라서
Figure 112001026267592-pct00028
Figure 112001026267592-pct00029
이다.
따라서,
Figure 112001026267592-pct00030
이다.
본 발명에 의한 모듈로 P 계산의 실시예가 도 1에 도시되어 있다. 본 발명에 따른 인터리버의 전체적인 실시예는 도 2에 도시되어 있다.
인터리버 파라미터는 주어진 행내 합동 규칙(congruential rule)에 따라 선택된다. 반복 컨볼루션 코드(recursive convolutional code, RCC)를 구성하는 코드가 결정되면, 에러 성능은 구성 디코더(입력 가중치는 비트 에러의 수임)의 에러 이벤트의 입력 및 출력 가중치에 의해 표현되는 것으로 알려져 있다. 높은 SNR에서의 터보 코드의 성능은 입력 가중치 2에 대한 출력 에러 이벤트에 의해 좌우되는 것으로 알려져 있다. 실효 자유 거리는 입력 가중치 2에 대한 모든 에러 이벤트의 최소 출력 가중치이다. 인터리버 파라미터를 최적화하는 것의 핵심은 표 3에 도시된 패턴을 기준으로 하여 저가중치 에러 이벤트를 최소화하는 파라미터 집합을 결정하는 것이다.
[표 2]
가중치 - 2 가중치- 3 가중치 - 4
1+Di 1+Di+Dj 1+DiDj+Dk
길이 i 길이 I, j 길이 I, j, k
8 7 4 2, 3 7 1, 3, 6
15 14 6 1, 5 10 1, 4, 9
22 21 7 4, 6 5 1, 2, 4
29 28 9 5, 8 11 1, 6, 10
10 3, 9 9 1, 7, 8
11 2, 10 12 1, 2, 11
11 9, 10 9 2, 4, 8
12 6, 11 7 2, 5, 6
13 1, 12 10 2, 7, 9
13 8, 12 6 3, 4, 5
14 4, 13 11 3, 7, 10
14 11, 13 10 4, 8, 9
16 5, 15 12 4, 7, 11
16 12, 15 12 5, 10, 11
12 8, 9, 11

예를 들면, 입력 패턴이 가중치-2, 즉 6개의 0을 사이에 가진 두 개의 1 비트를 가지는 경우, 표 3의 가중치-2 열에 따라 0번째(초기), 7번째, 14번째, 21번째, 또는 28번째 위치(길이에 따름)에 1을 가지며, 6, 13, 20, 또는 27개의 0비트를 가지는 출력을 생성하는 인터리버 파라미터의 집합을 구한다. 이것은 0번째 및 i번째 위치의 1을 확인하는 것으로 표현될 수 있다.
이 "저-가중치 필터링 기술"의 유사한 응용에서, 가중치-3 스트림은 0번째, i번째, 및 j번째 위치의 1 비트가 확인된다. 가중치-4 스트림은 0번째, I번째, j번째, 및 k번째 위치의 1 비트가 확인된다.
상기 개시된 실시예가 CDMA 시스템에서 사용되는 터보 인코더이나, 당업자는 본 발명의 실시예는 이것에 한정되지 않으며, 본 발명은 어떤 통신 시스템의 어떤 종류의 인터리빙 및 디-인터리빙에서도 실시될 수 있다는 사실을 알 수 있다.
본 발명은 상시 발명의 상세한 설명 중에서 명백히 알 수 있는 것과 함께 상술한 목적을 달성할 수 있다. 특히, 본 발명은 구현의 복잡성 및 파라미터 저장을 위한 저장 영역의 크기를 최소화함과 동시에 유한한 길의 코드를 인터리빙하는 향상된 장치 및 방법을 제공한다.
본 발명의 범위 내에서 상기 구성 및 상술한 동작의 시퀀스의 변화가 가능하다는 것을 이해할 것이다. 따라서 상기 발명의 상세한 설명에 포함되거나 첨부된 도면에 도시된 내용은 한정하는 것이 아닌 실시예를 기재한 것이다.
첨부된 청구의 범위는 본 명세서에 개시된 본 발명의 모든 일반적이고 구체적인 특징을 기재한 것으로 이해할 것이며, 발명의 범위에 대한 기재는 모두 그 범위에 포함된다.
본 발명에 의한 코드 인터리빙 시스템 및 방법 유한한 프레임 크기에 대한 비균일성을 향상시키며, 구현하기 상대적으로 용이하며 상대적으로 낮은 메모리 영역 요건을 가지므로 산업상 이용가능성이 있다.

Claims (20)

  1. 데이터의 프레임의 요소를 인터리빙하는 방법에 있어서,
    R개의 행 및 C개의 열의 저장 어레이 c를 제공하는 단계;
    상기 저장 어레이 c 내의 작업 어레이 내에 복수개의 요소 L개를 포함하는 데이터의 프레임을 저장하되, 상기 작업 어레이는
    Figure 112006079023113-pct00082
    개의 행 및
    Figure 112006079023113-pct00083
    개의 열을 가지는 단계; 및
    상기 저장 어레이 c의 각 행의 요소를 치환하는 단계를 포함하는 것을 특징으로 하는 인터리빙 방법. 단 R 및 C는 양의 정수,
    Figure 112006079023113-pct00084
    은 R 이하의 양의 정수,
    Figure 112006079023113-pct00085
    은 C 이하의 소수 및
    Figure 112006079023113-pct00086
    ; 이며,
    Figure 112006079023113-pct00087
    Figure 112006079023113-pct00088
    보다 작은 최대 소수이다.
  2. 제1항에 있어서,
    상기 치환하는 단계는, 상기 저장 어레이 c의 각 행의 요소를 치환하기 위한 소정의 수학 관계식에 따라 수행되며,
    상기 소정의 수학 관계식은,
    Figure 112006079023113-pct00139
    인 것을 특징으로 하는 인터리빙 방법. 단, 여기서
    Figure 112006079023113-pct00033
    ;P는 연속적인 소수의 집합; P_1은
    Figure 112006079023113-pct00089
    과 동일한 값; 및
    Figure 112006079023113-pct00090
    ~는 P_1의 지수 합동근으로부터 선택됨.
  3. 제2항에 있어서,
    상기 저장 어레이 c의 행을 소정의 수학 매핑에 따라 치환하는 단계를 더 포함하는 것을 특징으로 하는 인터리빙 방법.
  4. 제3항에 있어서,
    상기 데이터의 프레임을 행단위의 순서로 저장하며, 상기 데이터의 프레임을 치환 후에 열단위로 판독하는 것을 특징으로 하는 인터리빙 방법.
  5. 제2항에 있어서,
    상기
    Figure 112001026267592-pct00091
    의 값이
    Figure 112001026267592-pct00092
    의 지수 합동근으로부터
    Figure 112001026267592-pct00034
    에 따라 선택되는 것을 특징으로 하는 인터리빙 방법. 단,
    Figure 112001026267592-pct00093
    Figure 112001026267592-pct00094
    의 원시근이며,
    Figure 112001026267592-pct00035
    임.
  6. 제2항에 있어서,
    상기
    Figure 112001026267592-pct00095
    의 값은 j+1 값들 중에서
    Figure 112001026267592-pct00036
    이 1이 되지 않는 값을 제거함에 의해 선택되는 것을 특징으로 하는 인터리빙 방법.
  7. 제2항에 있어서,
    상기
    Figure 112001026267592-pct00096
    의 값은 저-가중치 입력 데이터를 가지는 최소 비트 에러를 생성하는 값들 중에서 선택되는 것을 특징으로 하는 인터리빙 방법.
  8. 제2항에 있어서,
    Figure 112001026267592-pct00097
    의 각각의 값과 관련된 상기
    Figure 112001026267592-pct00098
    의 값은 미리 계산되고 저장되는 것을 특징으로 하는 인터리빙 방법.
  9. 데이터의 프레임의 요소를 인터리빙하는 인터리버에 있어서,
    적어도 R개의 행 및 C개의 열의 저장 어레이 c를 포함하는 메모리;
    상기 저장 어레이 c 내의 작업 어레이 내에 복수개의 요소 L개를 포함하는 데이터의 프레임을 저장하되, 상기 작업 어레이는
    Figure 112006079023113-pct00099
    개의 행 및
    Figure 112006079023113-pct00100
    개의 열을 가지는 메모리 판독-기록 회로; 및
    상기 저장 어레이 c의 각 행의 요소를 치환하도록 구성된 ALU를 포함하는 것을 특징으로 하는 인터리버. 단 R 및 C는 양의 정수,
    Figure 112006079023113-pct00101
    은 R 이하의 양의 정수,
    Figure 112006079023113-pct00102
    은 C 이하의 소수,
    Figure 112006079023113-pct00103
    ; 이며,
    Figure 112006079023113-pct00104
    Figure 112006079023113-pct00105
    보다 작은 최대 소수이다.
  10. 제9항에 있어서,
    상기 ALU는
    Figure 112005016526717-pct00140
    를 따라 상기 저장 어레이 c의 각 행의 요소를 치환하는 것을 특징으로 하는 인터리버. 단, 여기서
    Figure 112005016526717-pct00106
    ;P는 연속적인 소수의 집합;
    Figure 112005016526717-pct00107
    Figure 112005016526717-pct00108
    과 동일한 값; 및
    Figure 112005016526717-pct00109
    Figure 112005016526717-pct00110
    의 지수 합동근으로부터 선택됨.
  11. 제10항에 있어서,
    상기 ALU는 상기 저장 어레이 c의 행을 소정의 매핑에 따라 치환하는 것을 특징으로 하는 인터리버.
  12. 제11항에 있어서,
    상기 메모리 판독-기록 회로는 상기 데이터의 프레임을 행단위로 저장하며, 상기 데이터의 프레임을 치환 후에 열단위로 판독하는 것을 특징으로 하는 인터리버.
  13. 제10항에 있어서,
    상기 ALU는 상기
    Figure 112001026267592-pct00111
    의 값을
    Figure 112001026267592-pct00112
    의 지수 합동근으로부터
    Figure 112001026267592-pct00040
    에 따라 선택하는 것을 특징으로 하는 인터리버. 단,
    Figure 112001026267592-pct00113
    Figure 112001026267592-pct00114
    의 원시근이며,
    Figure 112001026267592-pct00041
    임.
  14. 제10항에 있어서,
    상기 ALU는 상기
    Figure 112001026267592-pct00115
    의 값을 j+1 값들 중에서
    Figure 112001026267592-pct00042
    이 1이 되지 않는 값을 제거함에 의해 선택하는 것을 특징으로 하는 인터리버.
  15. 데이터의 프레임의 요소를 인터리빙하는 인터리버에 있어서,
    적어도 R개의 행 및 C개의 열의 저장 어레이 c를 포함하는 메모리 수단;
    상기 저장 어레이 c 내의 작업 어레이 내에 복수개의 요소 L개를 포함하는 데이터의 프레임을 저장하되, 상기 작업 어레이는
    Figure 112006079023113-pct00116
    개의 행 및
    Figure 112006079023113-pct00117
    개의 열을 가지는 메모리 판독-기록 수단; 및
    상기 저장 어레이 c의 각 행의 요소를 치환하는 로직 수단을 포함하는 것을 특징으로 하는 인터리버. 단 R 및 C는 양의 정수,
    Figure 112006079023113-pct00118
    은 R 이하의 양의 정수,
    Figure 112006079023113-pct00119
    은 C 이하의 소수,
    Figure 112006079023113-pct00120
    ; 이며,
    Figure 112006079023113-pct00121
    Figure 112006079023113-pct00122
    보다 작은 최대 소수이다.
  16. 제15항에 있어서,
    상기 로직 수단은
    Figure 112005016526717-pct00141
    를 따라 상기 저장 어레이 c의 각 행의 요소를 치환하는 것을 특징으로 하는 인터리버. 단, 여기서
    Figure 112005016526717-pct00123
    ;P는 연속적인 소수의 집합;
    Figure 112005016526717-pct00124
    Figure 112005016526717-pct00125
    과 동일한 값; 및
    Figure 112005016526717-pct00126
    Figure 112005016526717-pct00127
    의 지수 합동근으로부터 선택됨.
  17. 제16항에 있어서,
    상기 로직 수단은 상기 저장 어레이 c의 행을 소정의 매핑에 따라 치환하는 것을 특징으로 하는 인터리버.
  18. 제17항에 있어서,
    상기 메모리 판독-기록 수단은 상기 데이터의 프레임을 행단위로 저장하며, 상기 데이터의 프레임을 치환 후에 열단위로 판독하는 것을 특징으로 하는 인터리버.
  19. 제16항에 있어서,
    상기 로직 수단은 상기
    Figure 112001026267592-pct00128
    의 값을
    Figure 112001026267592-pct00129
    의 지수 합동근으로부터
    Figure 112001026267592-pct00046
    에 따라 선택하는 것을 특징으로 하는 인터리버. 단,
    Figure 112001026267592-pct00130
    Figure 112001026267592-pct00131
    의 원시근이며,
    Figure 112001026267592-pct00047
    임.
  20. 제16항에 있어서,
    상기 로직 수단은 상기
    Figure 112001026267592-pct00132
    의 값을 j+1 값들 중에서
    Figure 112001026267592-pct00048
    이 1이 되지 않는 값을 제거함에 의해 선택하는 것을 특징으로 하는 인터리버.
KR1020017013113A 1999-04-14 2000-03-29 데이터를 인터리빙하는 인터리버 및 방법 KR100780995B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/291,353 1999-04-14
US09/291,353 US6543013B1 (en) 1999-04-14 1999-04-14 Intra-row permutation for turbo code
PCT/IB2000/000375 WO2000062426A1 (en) 1999-04-14 2000-03-29 Intra-row permutation for turbocode

Publications (2)

Publication Number Publication Date
KR20010113801A KR20010113801A (ko) 2001-12-28
KR100780995B1 true KR100780995B1 (ko) 2007-11-29

Family

ID=23119963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017013113A KR100780995B1 (ko) 1999-04-14 2000-03-29 데이터를 인터리빙하는 인터리버 및 방법

Country Status (10)

Country Link
US (1) US6543013B1 (ko)
EP (1) EP1169777B1 (ko)
JP (1) JP4298175B2 (ko)
KR (1) KR100780995B1 (ko)
CN (1) CN1188950C (ko)
BR (1) BRPI0009717B1 (ko)
CA (1) CA2366581C (ko)
DE (1) DE60002705T2 (ko)
HK (1) HK1040141B (ko)
WO (1) WO2000062426A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
US7187699B1 (en) * 1999-03-19 2007-03-06 Siemens Aktiengesellschaft Method and apparatus for data rate matching
WO2000062425A1 (de) * 1999-04-07 2000-10-19 Siemens Aktiengesellschaft Verfahren zur kanalcodierung
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
US6625763B1 (en) * 2000-07-05 2003-09-23 3G.Com, Inc. Block interleaver and de-interleaver with buffer to reduce power consumption
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
KR100846017B1 (ko) * 2000-10-30 2008-07-11 가부시키가이샤 히타치세이사쿠쇼 데이터 인터리브/디인터리브 효율을 향상시키기 위한 반도체 장치, 무선 통신 장치, 컴퓨터 프로그램 제품 및 방법
KR100800840B1 (ko) * 2001-05-09 2008-02-04 삼성전자주식회사 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법
JP3624874B2 (ja) 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
WO2004030226A1 (en) * 2002-09-25 2004-04-08 Koninklijke Philips Electronics N.V. Method of calculating an intra-row permutation pattern for an interleaver
GB2400776A (en) * 2003-04-14 2004-10-20 Modem Art Ltd method of using an algebraic interleaver for turbo encoding/decoding
JP4265345B2 (ja) * 2003-08-22 2009-05-20 日本電気株式会社 携帯電話機、インターリーブパラメータ演算装置、方法及びプログラム
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
WO2009014298A1 (en) * 2007-07-20 2009-01-29 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
US20090250345A1 (en) * 2008-04-03 2009-10-08 Protea Biosciences, Inc. Microfluidic electroelution devices & processes
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
JP5634331B2 (ja) 2011-06-07 2014-12-03 株式会社東芝 画像処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US300139A (en) * 1884-06-10 sohisgall
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US5742612A (en) * 1993-06-02 1998-04-21 Alcatel Radiotelephone Method and device for interleaving a sequence of data elements
US5812288A (en) * 1995-12-27 1998-09-22 Lucent Technologies Inc. Holographic storage of digital data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0300139B1 (en) 1987-07-20 1993-07-07 International Business Machines Corporation Error correcting code for b-bit-per-chip memory with reduced redundancy
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5357606A (en) * 1992-02-25 1994-10-18 Apple Computer, Inc. Row interleaved frame buffer
US5483541A (en) * 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
FR2723282B1 (fr) * 1994-07-29 1996-09-13 Alcatel Telspace Procede d'entrelacement et de desentrelacement de trames sdh et systeme correspondant
FR2747255B1 (fr) * 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
US6108745A (en) * 1997-10-31 2000-08-22 Hewlett-Packard Company Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes
US6347385B1 (en) 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
US6334197B1 (en) * 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US300139A (en) * 1884-06-10 sohisgall
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US5742612A (en) * 1993-06-02 1998-04-21 Alcatel Radiotelephone Method and device for interleaving a sequence of data elements
US5812288A (en) * 1995-12-27 1998-09-22 Lucent Technologies Inc. Holographic storage of digital data

Also Published As

Publication number Publication date
CA2366581A1 (en) 2000-10-19
CA2366581C (en) 2006-11-07
WO2000062426A1 (en) 2000-10-19
EP1169777A1 (en) 2002-01-09
JP4298175B2 (ja) 2009-07-15
KR20010113801A (ko) 2001-12-28
HK1040141B (zh) 2003-08-15
JP2002542646A (ja) 2002-12-10
CN1188950C (zh) 2005-02-09
DE60002705D1 (de) 2003-06-18
BR0009717A (pt) 2002-03-05
DE60002705T2 (de) 2004-03-11
US6543013B1 (en) 2003-04-01
HK1040141A1 (en) 2002-05-24
BRPI0009717B1 (pt) 2015-06-09
CN1347593A (zh) 2002-05-01
EP1169777B1 (en) 2003-05-14

Similar Documents

Publication Publication Date Title
KR100780995B1 (ko) 데이터를 인터리빙하는 인터리버 및 방법
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
KR100373965B1 (ko) 최적 성능을 갖는 터보 코드 인터리버
US6304991B1 (en) Turbo code interleaver using linear congruential sequence
EP0963049B1 (en) Interleaving with golden section increments
JP4955049B2 (ja) ターボ符号化のためのブロック・インターリーブ
CN1327640C (zh) 数据传输的速率匹配方法和装置
JP3961770B2 (ja) 通信システムのインターリービング/デインターリービング装置及び方法
KR100350459B1 (ko) 통신시스템의인터리빙/디인터리빙장치및방법
CN101227195A (zh) 一种交织装置、解交织装置及其应用
US20060109158A1 (en) Addresses generation for interleavers in turbo encoders and decoders
KR101009783B1 (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
CN100466479C (zh) 用于透平编码的方法和系统

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 11