KR100393608B1 - 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법 - Google Patents

유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법 Download PDF

Info

Publication number
KR100393608B1
KR100393608B1 KR20000057330A KR20000057330A KR100393608B1 KR 100393608 B1 KR100393608 B1 KR 100393608B1 KR 20000057330 A KR20000057330 A KR 20000057330A KR 20000057330 A KR20000057330 A KR 20000057330A KR 100393608 B1 KR100393608 B1 KR 100393608B1
Authority
KR
Grant status
Grant
Patent type
Prior art keywords
haengnae
substitution pattern
value
address
data
Prior art date
Application number
KR20000057330A
Other languages
English (en)
Other versions
KR20020025477A (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
Grant date

Links

Images

Classifications

    • HELECTRICITY
    • H03BASIC ELECTRONIC 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/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H03BASIC ELECTRONIC 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
    • H03BASIC ELECTRONIC 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
    • H03M13/2764Circuits therefore
    • HELECTRICITY
    • H03BASIC ELECTRONIC 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
    • H03BASIC ELECTRONIC 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

Abstract

본 발명은 UMTS 시스템의 터보 부호화기내 인터리버에 있어서, 인터리버 동작 조건을 설정하기 위한 레지스터부와, 상기 레지스터부로부터 제공되는 행간치환 패턴, 행내치환 패턴 증가분 배열, 행내치환용 기본수열을 이용하여 최종 인터리빙된 주소를 생성하는 주소 계산부, 상기 터보 부호화기로 입력되는 입력 데이터를 순차적으로 저장해 두었다가 상기 주소 계산부에서 생성된 주소에 해당하는 데이터를 출력하는 데이터 저장부로 구성함을 특징으로 한다. 특히 상기 주소 계산부는 행내치환 패턴 생성부와, 상기 행내치환 패턴 생성부가 행내치환 패턴 계산시에 중간 데이터를 저장하는 행내치환 패턴 저장 배열부, 상기 제어부의 제어 신호에 따라 레지스터부로부터 행간치환 패턴 해당값과 행내치환용 기본수열의 해당값을 취하여 인터리빙된 주소를 계산하는 출력 주소 생성부를 포함하여 구성함을 특징으로 한다.

Description

유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및 인터리빙 수행 방법{AN INTERNAL INTERLEAVER OF THE TURBO DECODER IN AN UMTS SYSTEM AND METHOD FOR INTERLEAVING THEREOF}

본 발명은 무선 통신시스템의 터보 부호화기에 관한 것으로, 특히 UMTS(Universal Mobile Telecommuncation System) 내 터보 부호화기의 내부 인터리버 및 인터리빙 수행 방법에 관한 것이다.

일반적으로 위성시스템, ISDN(Integrated Service Digital Network), 디지털셀룰라, W-CDMA(Code Division Multiple Access), IMT-2000(CDMA 2000) 등과 같은 무선 통신시스템의 부화기로는 터보부호(Turbo code)를 사용하는 부호화기가 사용될 수 있다. 이러한 터보 부호화기의 내부에는 인터리버가 포함되는데, 이 인터리버는 부호화기에 입력되는 데이터를 랜덤화함으로써 코드워드의 디스턴스 특성을 개선시키는 것으로 터보 부호화기의 성능을 좌우하는 중요한 요소이다.

도 1은 통상적인 터보 부호화기의 블록 구성을 도시한 것으로, 상기 도 1에 도시된 바와 같이 터보 부호화기(106)는 입력 프레임 데이터 dk를 부호화하여 Y1k로 출력하는 제1구성 부호화기(constituent encoder)(102)와, 상기 입력 프레임 데이터 dk를 인터리빙하는 인터리버(interleaver)(100)와, 상기 인터리버(100)의 출력을 부호화하여 Y2k로 출력하는 제2구성 부호화기(104)를 구성된다. 즉, 터보 부호화기(106)는 입력 프레임 데이터 dk를 부호화 처리하지 않고 바로 Xk로 출력할 뿐만 아니라 부호화 처리하여 Y1k를 출력하고, 인터리빙 및 부호화 처리하여 Y2k를 출력한다. 이중 상기 인터리버(100)는 입력되는 데이터의 프레임 크기와 동일한 크기의 데이터를 출력하며, 상기 제2구성 부호화기(104)로 입력되는 데이터 비트의 입력 순서를 변경시킴으로써 데이터 비트들 사이의 상관을 줄이게 된다.

이하 상기 인터리버(100)의 동작을 좀더 자세히 살펴보면,

먼저 인터리버(100)는 입력되는 데이터를 행(Row)과 열(Column)로 구성된 메모리에 순차적으로 저장시킨 후 입력되는 데이터의 수에 따라 정해지는 인터리빙 변수값을 초기화 한다. 즉, 인터리버(100)는 행렬 매트릭스의 행 인덱스 j, 행렬 매트릭스의 열 인덱스 i, 상기 입력 데이터 수 K에 따른 행 수 R과 열 수 C 뿐만아니라 입력 데이터의 인터리빙 수행을 위한 행간/행내치환을 위한 소수(prime number; 이하 "제산 계수"로 칭함) p와 원시근(primitive root) μ등과 같은 각종 변수값을 메모리내 테이블을 참조하여 상기 입력 데이터 수에 대응되는 값으로 설정한다.

즉, 만일 상기 입력데이터 수가 K= 40이라고 한다면, 상기 각각의 변수는 각각 R= 5, C= 8, p= 7, μ= 3 등으로 정해지게 된다. 그러면 인터리버(100)는 상기 입력데이터를 하기의 [표 1]에서 보여지는 바와 같은 5×8행렬로 메모리상에 위치 시킨다.

이어 인터리버(100)는 상기 [표 1]에서와 같이 위치된 입력 데이터의 행과 열중 먼저 행에 대해 인터리빙 동작을 수행한다. 이때 인터리버(100)는 상기 행에 대한 인터리빙 동작을 위해 행간치환(inter-row) 패턴[T(j)]를 결정하게 된다. 상기 치환패턴이라 함은 입력 데이터의 행간 인터리빙을 위한 함수로써 상기 입력데이터 수 K에 따라 아래의 [수학식 1]에서와 같이 결정된다.

T(j)=pat4 (40≤k≤159)

=pat3 (160≤k≤200)

=pat1 (201≤k≤480)

=pat3 (481≤k≤530)

=pat1 (531≤k≤2280)

=pat2 (2281≤k≤2480)

=pat1 (2481≤k≤3160)

=pat2 (3161≤k≤3210)

=pat1 (3211≤k≤5114)

단, pat1= {19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11}

pat2= {19,9,14,4,0,2,5,7,12,18,16,13,17,15,3,1,6,11,8,10}

pat3= {9,8,7,6,5,4,3,2,1,0}

pat4= {4,3,2,1,0}

이어 인터리버(100)는 상기 T(j)치환 패턴값에 따라 원본 행렬의 T(j)번째 행을 새로운 행렬의 j번째에 복사하여 상기 입력 데이터의 행을 변경시키게 된다. 즉, 입력 데이터 수 K가 "40"임에 따라 T(j)값은 pat4가 선택되며, 상기 선택된 치환 수열값에 따라 행변환된 입력 데이터의 행렬을 도시한 하기 [표 2]에서와 같이, 상기 원본 행렬의 4행의 데이터는 새로운 행렬의 0번째 행으로, 3행의 데이터는 새로운 행렬의 1번째 행으로, 2행의 데이터는 새로운 행렬의 2번째 행으로, 1행의 데이터는 새로운 행렬의 3번째 행으로, 0행의 데이터는 새로운 행렬의 4번째 행으로 각각 위치시키게 된다.

이어 인터리버(100)는 행내치환을 위한 치환수열들인 최소 소수 수열(minimum prime integer sequence) [q(j)], 치환후 소수 수열(permuted prime integer sequence) [r(j)], 행내치환용 기본수열(inter-row permutation basic sequence) [s(i)]를 아래의 [수학식 2]에 따라 차례로 구하게 된다.

g.c.d{q(j),p-1} = 1, q(j)>6, q(j)>q(j-1), q=1,2,...,R-1 , q(0)=1

(단, g.c.d는 최대공약수)

r[T(j)]= q(j), j= 0,1,...,R-1.

s(i)=[μ×s(i-1)]mod p, i=1,2,...,(p-2)., s(0)=1

그리고 인터리버(100)는 행간/행내치환을 위한 최종 행내치환 패턴Uj(i)를 상기 행내치환용 기본수열[s(i)]을 이용하여 아래의 [수학식 3]에서와 같이 구하게 된다.

1. Uj(i)= s{[i×r(j)]mod (p-1)}, i=0,1,2,...,p-2, U(p-1)=0, U(p)=p (C=p인경우)

2. Uj(i)= s{[i×r(j)]mod (p-1)}, i=0,1,2,...p-2, U(p-1)=0, U(p)=p

(C=p+1 인 경우) 단, K=C×R 인 경우 행내 치환 후, Ur-1(p)와 Ur-1(0)을 교환

3. Uj(i)= s{[i×r(j)]mod (p-1)}-1, i=0,1,2,...p-2, (C=p 인 경우)

즉, 상기 최종 행내치환 패턴Uj(i)값은 각 열에 대해 아래의 [수학식 4]에서와 같이 구해지게 된다.

U0(i)= s(17i mod 6)= {s(0),s(5),s(4),s(3),s(2),s(1),0,7} = {1,5,4,6,2,3,0,7}

U1(i)= s(13i mod 6)= {s(0),s(1),s(2),s(3),s(4),s(5),0,7}= {1,3,2,6,4,5,0,7}

U2(i)= s(11i mod 6)= {s(0),s(5),s(4),s(3),s(2),s(1),0,7}= {1,5,4,6,2,3,0,7}

U3(i)= s(7i mod 6)= {s(0),s(1),s(2),s(3),s(4),s(5),0,7}= {1,3,2,6,4,5,0,7}

U4(i)= s(i mod 6)= {7,s(1),s(2),s(3),s(4),s(5),0,s(0)}= {7,3,2,6,4,5,0,1}

따라서 인터리버(100)는 상기 행내치환을 위한 최종 행내치환 패턴 Uj(i)에 따라 상기 [표 2]에서와 같이 행간치환된 데이터 열을 아래의 [표 3]에서와 같이 행내치환(intra-row)하여 최종 인터리빙을 수행하게 된다.

이상에서 살펴본 바와 같이 종래 터보 부호화기의 인터리버는 입력 데이터의 인터리빙을 위해 상기한 바와 같이 치환된 데이터의 중간 저장을 위해 추가적인 메모리를 요구하고 마이크로 프로세서 및 DSP에 과부하를 초래하게 되는 문제점이 있었다.

따라서 본 발명의 목적은 UMTS 터보부호화기내 인터리버에서 인터리빙을 위한 데이터 처리로 인한 마이크로 프로세서의 과부하를 방지하고 중간 저장에 필요한 추가적인 메모리를 사용하지 않도록 하는 인터리버 및 인터리빙 수행 방법을 제공함에 있다.

상술한 목적을 달성하기 위한 본 발명은 본 발명은 UMTS 시스템의 터보 부호화기내 인터리버에 있어서, 인터리버 동작 조건을 설정하기 위한 레지스터부와, 상기 레지스터부로부터 조건을 입력받아 시스템 동작에 필요한 제어 신호를 생성하는 제어부와, 상기 제어부에서 생성된 제어 신호에 따라 상기 레지스터부에서 제공되는 행간치환 패턴, 행내치환 패턴 증가분 배열, 행내치환용 기본수열을 이용하여최종 인터리빙된 주소를 생성하는 주소 계산부, 상기 터보 부호화기로 입력되는 입력 데이터를 순차적으로 저장해 두었다가 상기 주소 계산부에서 생성된 주소에 해당하는 데이터를 출력하는 데이터 저장부로 구성함을 특징으로 한다. 특히 상기 주소 계산부는 행내치환 패턴 생성부와, 상기 행내치환 패턴 생성부가 행내치환 패턴 계산시에 중간 데이터를 저장하는 행내치환 패턴 저장 배열부, 상기 제어부의 제어 신호에 따라 레지스터부로부터 행간치환 패턴 해당값과 행내치환용 기본수열의 해당값을 취하여 인터리빙된 주소를 계산하는 출력 주소 생성부를 포함하여 구성함을 특징으로 한다.

도 1은 일반적인 터보 부호화기의 블록 구성도,

도 2는 본 발명의 실시 예에 따른 터보 부호화기의 내부 인터리버 블록 구성도,

도 3은 본 발명의 실시 예에 따른 행내치환 패턴[a(j)] 생성부의 상세 회로 구성도,

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 상기 첨부 도면의 구성 요소들에 참조부호를 부가함에 있어서는 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의하여야 한다. 또한 하기 설명 및 첨부 도면에서 구체적인 처리 흐름과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.

도 2는 본 발명의 실시 예에 따른 터보부호화기내 인터리버의 블록 구성을 도시한 것이다. 상기 도 2를 참조하면, 먼저 입력 데이터 수 K 및 이에 따라 결정되는 상수 R, C, p, μ, TypeD가 레지스터부(200)에 저장된다. 이 중 TypeD는 C=p+1이고 K=C*R일 때 1로 설정한다.

또한 행간치환 패턴(inter-row permutation pattern) [T(j)], 행내치환용 기본수열[s(i)], 행내치환 패턴 증가분 배열(intra-row permutation pattern increment arrangement value) [incr(j)]이 레지스터부(200)내의 메모리에 저장된다. 상기 행간치환 패턴[T(j)], 행내치환용 기본수열[s(i)], 행내치환 패턴 증가분 배열[incr(j)]은 소정의 제어부(도시하지 않았음)로부터 i 및 j 값을 입력받아 그에 해당하는 값을 주소 계산부(202)에 전달한다. 이때 상기 행간치환 패턴[T(j)]은 상기 [수학식 1]과 같이 결정되며, 행내치환용 기본수열[s(i)]은 상기 [수학식 2]에서와 같이 결정된다. 그리고 행내치환 패턴 증가분 배열[incr(j)]은 아래의 [수학식 5]에서와 같이 결정된다.

상기 [수학식 5]에서 사용되는 치환후 소수 수열(permuted prime integer sequence) [r(j)]를 구하는 과정에서 본 발명의 실시 예에서는 전술한 [수학식 2]에서와 같이 행간치환 패턴[T(j)]를 이용하는 대신 이를 역변환한 행간 역치환 패턴[TI(j)]를 이용함으로써, 치환후 소수 수열[r(j)]의 계산에 걸리는 연산량을 줄일 수 있다. 이를 아래의 [수학식 6]에 보였다.

r(j)= q[TI(j)], j= 0, 1,...,R-1

여기서 상기 최소 소수 수열[q(j)]는 상기 [수학식 2]에서와 동일하며, TI(j)는 행간 역치환 패턴으로서 아래의 [수학식 7]에서와 같이 결정된다.

TI(j)= pat8 (40≤K ≤159 일 때) TI(j)= pat7 (160≤K ≤220 일 때)TI(j)= pat5 (201≤K ≤480 일 때)TI(j)= pat7 (481≤K ≤530 일 때)TI(j)= pat5 (531≤K ≤2280 일 때)TI(j)= pat6 (2281≤K ≤2480 일 때)TI(j)= pat5 (2481≤K ≤3160 일 때)

TI(j)= pat6 (3161≤K ≤3210 일 때)

TI(j)= pat5 (3211≤K ≤5114 일 때)

단, pat5= {4,15,5,14,3,6,17,7,11,1,10,19,8,12,2,18,16,13,9,0}

pat6= {4,15,5,14,3,6,16,7,18,1,19,17,8,11,2,13,10,12,9,0}

pat7= {9,8,7,6,5,4,3,2,1,0}

pat8= {4,3,2,1,0}

즉, 레지스터부(200) 설정이 완료된 후 하드웨어부 내부의 제어부는 주소 계산부(202)의 동작을 제어하기 위한 카운터값 i,j를 순차적으로 생성한다. 여기서 i,j는 각각 0에서 시작하며 j가 1씩 증가해서 R-1에 도달한 후 i가 1이 증가하며, 이러한 동작은 i가 C-1에 도달할 때까지 반복적으로 계속된다.

한편, 상기 [수학식 3]에서 행내치환용 기본수열[s(i)] 내의 인덱스로서 사용되는 각 행별 행내치환 패턴[ai(j)]이 [i×r(j)] mod (p-1)라 정의하면, 최종 행내 치환 패턴[Uj(i)]는 [수학식 8]과 같이 표현될 수 있다.

Uj(i) = s[ai(j)], j=0,1,2,...,p-2 단, ai(j) = [i x r(j)] mod (p-1)

본 발명에서는 상기 [수학식 8]에서 정의된 각 행별 행내치환 패턴[ai(j)]이 (p-1)로 나누어진 나머지의 값으로 나타남에 착안한다. 따라서, 상기 [수학식 8]에서 정의된 각 행별 행내치환 패턴 [ai(j)]의 j를 고정시키고 i를 초기값 "0"으로부터 1씩 증가시키게 되면, j번째 열에 대한 행내치환 패턴 [ai(j)]은 [수학식 8] 대신 [수학식 9]가 이용되어 계산할 수 있다. 즉, 상기와 같이 행내치환 패턴 증가분 배열[incr(j)]을 미리 결정함으로서 상기 행내치환 패턴[ai(j)]은 실제 하드웨어부의 동작시에는 각 행에 해당하는 행내치환 패턴 증가분을 이용하여, 곱셈을 수행하는 대신 덧셈과 나머지 연산만으로 행내치환 패턴[ai(j)]을 생성한다. 이를 아래의 [수학식 9]에 보였다.

ai(j) = [ai-1(j)+incr(j)]mode(p-1) 단, j=0,1,2,...,R-1, i=1,2,...,p-2, a0(j)=0

즉, 상기 [수학식 9]에서 보여지는 바와 같이 각각의 j에 대해 행내치환 패턴[ai(j)]는 i가 증가하기 전의 값인 ai-1(j)로부터 계산될 수 있다. 또한 i는 인터리빙이 수행되는 동안 감소하지 않으므로 현재값을 계산하고 난 후에는 이전값을 저장해 둘 필요가 없다. 이와 같은 계산 방식에 근거하여 행내치환 패턴 생성부[a(j)](204)는 각각의 i,j값에 대해 행내치환 패턴[ai-1(j)]을 생성할 때마다 각각의 j에 대한 마지막 ai(j) 값을 행내치환 패턴 저장 배열부(206)에 저장해 둔다.

하드웨어부의 동작시에 행내치환 패턴 생성부[a(j)](204)는 제어부로부터 제공되는 각각의 i,j값에 대해 행내치환 패턴을 생성하는데, i가 0일 때는 행내치환 패턴 저장 배열부(206)를 초기화시켜야 하므로 행내치환 패턴[a(j)]으로 0을 출력한 후 이를 행내치환 패턴 저장 배열부(206)에 저장한다. i가 0보다 크고 p-2와 같거나 작을 때는 행내치환 패턴 저장 배열부(206)에서 j번째에 해당하는 데이터인 a(j)를 읽어와서 행내치환 패턴 증가분 배열[incr(j)]에서 읽어온 해당 증가분을 더한 후 나머지 연산을 수행하여 새로운 행내치환 패턴(a(j+1))을 생성한 후 이를 출력한다. 출력된 데이터는 다음 행내치환 패턴 생성을 위하여 다시 행내치환 패턴 저장 배열부(206)의 j번째 주소에 저장된다.

행내치환 패턴 생성부[a(j)](204)에서 출력되는 행내치환 패턴[ai(j)]은 레지스터부(200) 내부의 행내치환용 기본 수열[s(i)] 메모리(208)에 리드 어드레스로 입력되며, 이에 따라 이 메모리(208)의 출력 s[a(j)]는 최종 주소 생성부(207)에전달된다.

최종 주소 생성부(207)는 상기 제어부로부터 제공되는 i,j 값에 따라 행내치환용 기본수열의 해당값인 s[a(j)]를 취하여 먼저 최종 행내 치환 패턴[Uj(i)]을 계산하고, 이 계산결과와 레지스터부(200)로부터 입력된 행간치환 패턴[T(j)] 해당값을 이용하여 최종 인터리빙된 주소(xaddr)을 계산한다. 또한 TypeD가 1인 경우의 예외처리를 수행한다. 상기 최종 주소 생성부(207)의 계산 과정을 아래의 [수학식 10]과 [수학식 11]에 보인다.

Uj(i) = s[a(j)] (0≤i≤p-2 인 경우)

Uj(i) = 0(i = p-1 인 경우),

Uj(i) = p(i = p 인 경우),

i = 0,1,2,...,C-1, j = 0,1,2,...,R-1

단 TypeD가 1인 경우에는 다음과 같은 예외 처리

Uj(i) = p(i = 0 이고 j = R-1 인 경우),

Uj(i) = 1(i = p 이고 j = R-1 인 경우)

xaddr = C * T(j) + Uj

데이터 저장부(214)는 최종 주소 생성부(207)에서 생성된 최종 인터리빙된 주소(xaddr)에 해당하는 데이터를 독출하여 이를 출력한다. 도 3는 상기 행내치환 패턴[a(j)] 생성부(204)의 상세회로 구성을 도시한 것으로, 상기 도 3를 참조하여 행내치환 패턴[a(j)] 생성부(204)의 동작을 좀더 자세히 설명하도록 한다.

먼저 상기 행내치환 패턴[a(j)]의 변수 i가 0인 경우 제2멀티플렉서(402)로부터 행내치환 패턴[a(j)]은 초기값으로 0이 선택되어 출력되고, 이는 레티스터부(200) 내의 행내치환용 기본수열[s(i)]의 주소로 인가됨과 동시에 행내치환 패턴 저장 배열부(206)의 j번째 주소에 저장된다. 변수 i가 "0"이 아닐 경우에는 행내치환 패턴 저장 배열부(206)의 j번째 주소의 데이터값이 제1가산기(400)로 피드백되어 이전 변수 데이터값으로 입력되는데, 이는 이전에 저장해 둔 행내치환 패턴[ai-1(j)]에 해당한다. 이때 상기 제1가산기(400)의 다른 한 입력단으로는 상기 행내치환 패턴 증가분 배열[incr(j)]의 j번째 주소에 저장된 값이 레지스터부(200)로부터 상기 제1가산기(400)로 입력된다. 이에 따라 상기 제1가산기(400)에서는 상기 이전 행내치환 패턴[a(j)]값과 증가분[incr(j)]값이 가산되며, 상기 제1가산기(400)의 출력값인 제1가산치는 제2가산기(404)로 인가되어 상기 [수학식 5]에서 보여지는 바와 같이 제산 계수[-(p-1)]값이 가산된 후 제1멀티플렉서(408)와 부호검출부(406)로 각각 인가된다. 즉, 상기 제2가산기(404)에서는 이전 행내치환 패턴[a(j)]값과 증가분[incr(j)]값이 가산된 제1가산치를 다시 제산 계수(p-1)로 나눈 나머지값 {a(j)+incr(j)}-(p-1)이 출력되게 된다. 이는 상기 [수학식 9]에 보인 바와 같이 제산 계수(p-1)로 나머지 연산을 하기 위해서는 상기 이전 행내치환 패턴[a(j)]값에 증가분[incr(j)]값을 가산한 값이 제산 계수(p-1)보다 클 경우 그 제1가산치의 결과에서 (p-1)를 뺀 값이 나머지에 해당하는 값이 되기 때문이다. 상기 제2가산기(404)로부터 출력된 제2가산치 {a(j)+incr(j)}-(p-1)은 최상위비트 부호 검출부(406)와 제1멀티플렉서(408)로 각각 입력된다. 그러면 부호 검출부(406)에서는 상기 제2가산기(404)로부터 출력된 제2가산치의 최상위 비트만을 검출하여 이를 제1멀티플렉서(408)의 선택제어신호로 인가한다. 이에 따라 제1멀티플렉서(408)는 상기 부호 검출부(406)로부터의 선택제어신호에 따라 상기 제1가산기(400)로부터 출력되는 제1가산치 a(j)+incr(j)과 상기 제2가산기(404)로부터 출력되는 제2가산치 {a(j)+incr(j)}-(p-1)중 한 값을 선택하여 출력시킨다. 이 때 부호 검출부(406)에서 검출된 부호가 "0"이면 제1가산치가 (p-1)과 같거나 커서 (p-1)을 빼야 나머지 연산의 결과가 됨을 의미하고, 부호가 "1"이면 제1가산치 결과가 (p-1)보다 작아서 제1가산치의 결과 그대로 나머지 연산의 결과가 됨을 의미한다. 이에 따라 i값이 초기 0인 이후에 제2멀티플렉서(408)로부터 출력되는 상기 제1 또는 제2가산치는 제1멀티플렉서(402)를 통해 올바른 나머지 연산 결과를 선택하여 새로운 행내치환 패턴[a(j)]을 레티스터부(200) 내의 행내치환용 기본수열[s(i)]의 주소로 인가함과 동시에 행내치환 패턴 저장 배열부(206)의 j번째 주소에 저장하는 것이다.

이하 상기 행내치환 패턴[a(j)] 생성부(204)의 동작을 입력 데이터의 최종 행내치환 패턴[Uj(i)]의 계산식을 도시한 상기 [수학식 4]의 U0(i)값 계산식을 예를 들어 살펴보면, 즉 j가 "0"이고 i가 0인 경우 행내치환용 기본수열[s(i)] 참조시의 출력 주소 i값, 즉, 행내치환 패턴[a(j)]값은 0으로 설정된다. 그러면 상기 행내치환 패턴[a(j)]의 초기값 0은 행내치환 패턴 저장 배열부(206)에 저장됨과 동시에 행내치환용 기본수열[s(i)]의 주소로 인가된다. 즉, 동일한 j값("0")에 대해 i가 1로 증가했을 때 행내치환 패턴 저장 배열부(206)에 저장되어 있던 이전 행내치환 패턴값 "0"이 제1가산기(400)로 입력되어 증가분[incr(j)]값 5와 가산된다. 그 결과인 제1가산치 5의 값은 제1멀티플렉서(408)의 한 입력단자로 인가됨과 동시에 제2가산기(404)로 인가된다. 그러면 제2가산기(404)에서 상기 제1가산치 5는 제산 계수 -(p-1) 즉, -6와 가산되어 -1의 값으로 부호 검출부(406)로 출력되는데, 이때 부호 검출부(406)는 상기 제2가산치가 음의 값이므로 제1멀티플렉서(408)가 상기 제1가산기(400) 출력인 제1가산치를 선택하도록 하는 선택제어신호 "1"을 발생하여 인가한다. 이에 따라 제1멀티플렉서(408)로부터 제1가산치인 5가 출력되고 이값은 다시 제2멀티플렉서(402)를 통해 다음 행내치환 패턴[a(j)]으로 선택되어 행내치환 패턴 저장 배열부(206)에 저장되게 된다. 즉 이와 같은 방법으로 종래 행내치환용 기본수열[s(i)]의 주소 i값을 상기 [수학식 2]에서와 같이 복잡하게 구하지 않아도 되어 회로의 구성이 간단해지게 되는 것이다.

한편 상기 레지스터부(200)에는 상기한 증가분[incr(j)]값 외에도 원시근을 의미하는 μ, 입력 데이터 수를 의미하는 K, 입력 데이터의 행 수를 의미하는 R, 입력 데이터의 열 수를 의미하는 C, 제산 계수를 의미하는 p, 예외 처리 요구 신호인 TypeD 등이 제어부에 의해서 입력 데이터 수 K에 따라 계산되어 저장되며, 또한 상기 입력 데이터의 행간치환 패턴[T(j)]이 상기 입력 데이터 수 K에 의해 결정되어 미리 저장된다.

이제 상기 행내치환 패턴[a(j)] 생성부(204)와 행내치환용 기본수열[s(i)] 및 행간치환 패턴[T(j)] 메모리부(212)를 이용한 최종 주소 생성부(207)의 동작을 살펴보기로 한다. 상술한 바와 같이 행내치환 패턴[a(j)] 생성부(204)로부터 출력된 행내 치환 패턴은 레지스터부(200) 내부의 행내치환 기본수열[s(i)] 메모리(208)의 리드 어드레스로 인가된다. 이에 따라 행내치환 기본수열[s(i)] 메모리(208)는 상기 행내치환 패턴[a(j)] 생성부(204)로부터 인가되는 리드 어드레스에 의해 지정된 값인 s[a(j)]를 최종 주소 생성부(207)로 인가시키게 된다.

이때 상기 리드 어드레스에 지정된 행내치환 기본수열[s(i)] 메모리(208)내 해당 어드레스값이 바로 상기 입력 데이터의 최종 행내치환 패턴[Uj(i)]값이므로, 최종 주소 생성부(207)는 상기 행내치환용 기본수열[s(i)] 메모리부(208)로부터 리드되는 s[a(j)] 값 및 상기 행간치환 패턴[T(j)] 메모리부(212)로부터 리드되는 행간 치환 패턴을 입력 받아 데이터 저장부(214)의 인터리빙된 출력 데이터 리드 어드레스값으로 제공한다.

이에 따라 상기 데이터 저장부(214)내 상기 리드 어드레스 영역에 저장된입력 데이터가 리드되어 인터리빙된 출력 데이터로 출력되게 된다.

따라서 본 발명의 실시 예에서는 입력 데이터의 행간치환시나 행내치환시에 재배열 되는 입력 데이터를 계속 별도의 메모리에 다시 저장하지 않고 순차적으로 저장된 데이터 저장부로부터 최종 행간 또는 행내 치환된 리드 어드레스를 연산하도록 하여 상기 리드 어드레스 해당하는 데이터가 출력되도록 함으로써, 인터리빙된 데이터를 별도로 저장한 메모리로부터 데이터를 순차적으로 리드해내는 종래 인터리버의 기능을 동일하게 수행하는 것이 가능하게 된다.

상술한 바와 같이 본 발명은 터보부호화기의 내부 인터리버에서의 인터리빙 수행에 있어서, 입력 데이터의 행간치환시나 행내치환시에 재배열 되는 입력 데이터를 별도의 메모리에 다시 저장하지 않고 순차적으로 저장된 입력 데이터 메모리로부터 인터리빙 수행에 따라 최종 행간 또는 행내 치환된 리드 어드레스를 연산하여 상기 입력 데이터 메모리로부터 상기 리드 어드레스에 해당하는 인터리빙된 데이터가 출력되도록 함으로써, 메모리의 낭비를 방지하고, 인터리버 회로의 구성이 간단해지도록 하며, 또한 인터리빙 수행에 따른 터보부호화기의 부하를 줄일 수 있게 되는 이점이 있다.

Claims (15)

  1. UMTS시스템내 터보부호화기의 내부 인터리버에 있어서,
    인터리버 동작 조건을 설정하기 위한 각종 변수 데이터를 갱신 저장하는 레지스터부와,
    상기 레지스터부로부터 조건을 입력받아 시스템 동작에 필요한 제어신호를 생성하는 제어부와,
    상기 제어부에서 생성된 제어 신호에 따라 이전 행내치환 패턴과 상기 레지스터부에서 제공되는 행내치환 패턴 증가분 배열[incr(i)]값을 가산한 제 1가산치와 상기 제 1가산치에 제산계수를 가산한 제 2가산치를 미리 결정된 조건에 의해서 현재 행내치환 패턴을 선택하고, 상기 레지스터부에서 행내치환용 기본수열[s(i)]을 출력하기 위한 리드 어드레스값을 인가하는 행내치환 패턴[a(j)] 생성부와,
    상기 레지스터부로부터의 행간치환 패턴 해당값과 상기 행내치환 패턴 생성부로부터 생성된 행내치환 패턴값에 해당하는 상기 행내치환용 기본수열의 해당값을 취하여 최종 인터리빙된 데이터의 어드레스를 계산하는 최종 주소 생성부와,
    상기 터보 부호화기로 입력되는 입력 데이터를 순차적으로 저장해 두었다가 상기 주소 계산부에서 생성된 주소에 해당하는 데이터를 출력하는 데이터 저장부로 구성됨을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  2. 제1항에 있어서, 상기 내부 인터리버는,
    상기 행내치환 패턴 생성부가 행내치환 패턴 계산시에 중간 데이터를 저장하는 행내치환 패턴 저장 배열부르 부가함을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  3. 제1항에 있어서, 상기 레지스터부는,
    인터리빙을 위한 상기 입력 데이터의 행간/행내치환 패턴의 계산을 위한 각종 변수를 갱신 저장하며, 이들 변수 데이터를 상기 주소계산부의 행내치환 패턴 생성부에 인가하여 인터리빙된 최종 행내 치환 패턴 생성을 위한 행내치환 패턴이 생성되도록 함을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  4. 제1항에 있어서, 상기 레지스터부는,
    상기 행간치환 패턴[T(j)], 행내치환 패턴 증가분 배열[incr(j)], 행내치환용 기본수열[s(i)] 값을 계산하기 위한 변수 데이터로, 입력 데이터 수(K), 제산 계수(p), 원시근(μ), 입력 데이터의 행 수(R), 입력 데이터의 열 수(C), 예외 처리 요구 신호(TypeD) 값을 갱신 저장함을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  5. 제2항에 있어서, 상기 행내치환 패턴 생성부는,
    상기 최종 행내 치환 패턴[Uj(i)]을 계산하는 과정에서 행간 치환 수열[r(j)]을 구하기 위해 상기 행간치환 패턴[T(j)]를 역변환한 행간 역치환 패턴[TI(j)]를 이용함을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  6. 제2항에 있어서, 상기 행내치환 패턴 생성부는,
    상기 레지스터부의 행내치환 패턴 저장부로부터 이전 행내치환 패턴을 읽어 상기 행내치환 패턴 증가분[incr(j)]을 가산한 제1가산치를 출력하는 제1가산기와,
    상기 제1가산기에서 출력되는 제1가산치에서 제산 계수 -(p-1)을 가산한 제2가산치를 출력시키는 제2가산기와,
    상기 제1가산기와 제2가산기로부터의 두 출력값 중 하나의 값을 선택적으로 출력시키는 제1멀티플렉서와,
    상기 제2가산기와 상기 제1멀티플렉서간에 연결되어 상기 제2가산기로부터 출력되는 제2가산치가 양의 값인 경우 상기 제2가산치가 행내치환용 기본 수열[s(i)]의 주소로서 출력되도록 하고 제2가산치가 음의 값인 경우 제1가산치의 결과가 행내치환용 기본 수열의 주소로서 출력되도록 상기 제1멀티플렉서로 선택 제어신호를 인가시키는 부호 검출기와,
    상기 행내치환 패턴 생성부[a(j)]의 초기 동작시 미리 설정된 초기값을 출력시키며, 이후 상기 제1멀티플렉서로부터의 출력을 상기 다음 행내치환 패턴으로서 상기 행내치환 패턴 저장 배열부에 저장하고, 상기 레지스터의의 리드 어드레스값으로 인가하여 행내치환용 기본수열[s(i)]값을 출력하도록 하는 제2멀티플렉서로 이루어짐을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  7. 제1항에 있어서, 상기 증가분 배열[incr(j)] 값은,
    하기 [수학식 12]에서와 같이 계산되어짐을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
    여기서,incr(j): 증가분,TI(j): 행간 역치환 패턴,p: 제산 계수,
    r(j): 치환후 소수 수열
  8. 제6항에 있어서, 상기 행내치환 패턴 저장 배열부는,
    상기 제2멀티플레서로부터 출력되는 한 열의 리드 어드레스값을 순차적으로 저장하며, 이전 저장된 리드 어드레스값을 상기 제1가산기로 피드백 인가시킴을 특징으로 하는 UMTS 시스템내 터보 부호화기의 내부 인터리버.
  9. 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법에 있어서,
    상기 터보부화기로 입력되는 데이터를 상기 입력 데이터 메모리에 순차적으로 저장시키는 과정과,
    상기 입력 데이터 수에 따른 행간치환 패턴[T(j)]에 따라 상기 입력 데이터의 행간 어드레스를 변환시키는 과정과,
    상기 행변환된 어드레스값을 이용하여 행내 치환 패턴[a(j)] 생성을 위한 증가분[incr(j)]값을 계산하는 과정과,
    상기 증가분 값과 상기 행내치환 패턴 증가분 배열[incr(j)]에 저장된 이전의 행내치환 패턴값을 이용하여 새로운 행내치환 패턴을 구하는 과정과,
    상기 행내치환 패턴을 이용하여 상기 입력 데이터의 행내 어드레스를 변환시키기 위한 행내치환용 기본수열[s(i)]의 리드 어드레스를 구하는 과정과,
    상기 행내치환용 기본수열 메모리의 출력에 따라 최종 행내 치환 패턴을 계산하는 과정과,
    상기 최종 행내 치환 패턴[Uj(i)] 및 상기 행간치환 패턴[T(j)]을 이용하여 최종 인터리빙된 주소를 계산하는 과정과,
    상기 입력 데이터 메모리로부터 상기 행간/행내 치환된 최종 인터리빙된 어드레스에 해당하는 데이터를 순차적으로 출력하여 입력 데이터에 대한 인터리빙을 수행하는 과정으로 구성됨을 특징으로 하는 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법.
  10. 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법에 있어서,
    상기 입력 데이터 수에 따른 행간치환 패턴[T(j)]에 따라 상기 입력 데이터의 행간 어드레스를 변환시키는 과정과,
    상기 행변환된 어드레스값을 이용하여 행간치환 패턴[a(j)] 생성을 위한 증가분[incr(j)]값을 계산하는 과정과,
    상기 증가분과 이전의 행내치환 패턴을 이용하여 새로운 행내치환 패턴을 구하는 과정과,
    상기 행내치환 패턴을 이용하여 상기 입력 데이터의 행내 어드레스를 변환시키기 위한 행내치환용 기본수열[s(i)]의 리드 어드레스를 구하는 과정으로 구성됨을 특징으로 하는 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법.
  11. 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법에 있어서,
    이전 행내치환 패턴 및 행내치환 패턴 증가분 배열[incr(j)]값을 가산한 제 1가산치와 상기 제 1가산치에 제산계수를 가산한 제 2가산치를 미리 결정된 조건에 의해 선택하여 레지스터에서 행내치환용 기본수열[s(i)]의 리드 어드레스값을 계산하는 과정과,
    상기 행내치환을 수행할 때의 어드레스를 나타내는 최종 행내 치환 패턴[Uj(i)] 및 상기 행간치환을 수행할 때의 어드레스를 나타내는 상기 행간치환 패턴[T(j)]을 이용하여 최종 인터리빙된 주소를 결정하는 과정과,
    상기 행간/행내 치환된 최종 인터리빙된 어드레스에 해당하는 데이터를 순차적으로 출력하여 상기 입력 데이터에 대한 인터리빙을 수행하는 과정으로 구성됨을 특징으로 하는 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법.
  12. 제11항에 있어서,
    상기 터보부화기로 입력되는 데이터를 데이터 메모리에 순차적으로 저장시키는 과정을 포함하여 구성됨을 특징으로 하는 터보부호화기 내부 인터리버에서의 인터리빙 수행 방법.
  13. 삭제
  14. 삭제
  15. 삭제
KR20000057330A 2000-09-29 2000-09-29 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법 KR100393608B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20000057330A KR100393608B1 (ko) 2000-09-29 2000-09-29 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20000057330A KR100393608B1 (ko) 2000-09-29 2000-09-29 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
US09943895 US7155642B2 (en) 2000-09-29 2001-08-31 Interleaver for a turbo encoder in an UMTS and method for performing interleaving
EP20010121280 EP1195910B1 (en) 2000-09-29 2001-09-05 Interleaver and interleaving method for an UMTS turbo encoder
DE2001624488 DE60124488T2 (de) 2000-09-29 2001-09-05 Verschachteler und Verschachtelungsverfahren für einen UMTS Turboenkoder
DE2001624488 DE60124488D1 (de) 2000-09-29 2001-09-05 Verschachteler und Verschachtelungsverfahren für einen UMTS Turboenkoder
JP2001298445A JP3636684B2 (ja) 2000-09-29 2001-09-27 Umtsにおけるターボ符号化器のインターリーバ及びインターリービングを遂行するための方法

Publications (2)

Publication Number Publication Date
KR20020025477A true KR20020025477A (ko) 2002-04-04
KR100393608B1 true KR100393608B1 (ko) 2003-08-09

Family

ID=19691073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20000057330A KR100393608B1 (ko) 2000-09-29 2000-09-29 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법

Country Status (5)

Country Link
US (1) US7155642B2 (ko)
EP (1) EP1195910B1 (ko)
JP (1) JP3636684B2 (ko)
KR (1) KR100393608B1 (ko)
DE (2) DE60124488T2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271796C (zh) * 1999-05-19 2006-08-23 三星电子株式会社 涡式交织方法
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
EP1537672A1 (en) * 2002-09-09 2005-06-08 Telefonaktiebolaget LM Ericsson (publ) Speed and memory optimised interleaving
EP1576735B1 (en) 2002-12-16 2016-04-06 Telecom Italia S.p.A. Address generation for interleavers in turbo encoders and decoders
GB0308438D0 (en) * 2003-04-14 2003-05-21 Modem Art Ltd Communication unit and method of encoding/decoding data therein
JP4265345B2 (ja) * 2003-08-22 2009-05-20 日本電気株式会社 携帯電話機、インターリーブパラメータ演算装置、方法及びプログラム
GB0328783D0 (en) 2003-12-11 2004-01-14 Motorola Inc Interleaver for a turbo encoder and decoder
JP4909498B2 (ja) * 2004-02-27 2012-04-04 日本電気株式会社 インターリーブパラメータ演算方法/プログラム/プログラム記録媒体/装置、携帯電話機
US7343531B2 (en) * 2004-04-12 2008-03-11 Benq Corporation Method for interleaving data frame and circuit thereof
JP2006031482A (ja) * 2004-07-16 2006-02-02 Toshiba Corp プロファイル管理方法及び管理システム
CN100477538C (zh) * 2004-09-29 2009-04-08 普天信息技术研究院 一种Turbo码交织器
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7552377B1 (en) * 2005-02-10 2009-06-23 Xilinx, Inc. Method of and circuit for interleaving data in a data coder
CN100525118C (zh) 2005-04-27 2009-08-05 华为技术有限公司 Turbo码交织地址的计算方法和装置
US7797615B2 (en) * 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7512863B2 (en) * 2005-10-12 2009-03-31 Qualcomm Corporation Turbo code interleaver for low frame error rate
US8082479B2 (en) 2006-02-02 2011-12-20 Qualcomm Incorporated Methods and apparatus for generating permutations
US7904761B1 (en) * 2006-03-24 2011-03-08 Xilinx, Inc. Method and apparatus for a discrete power series generator
US7856579B2 (en) 2006-04-28 2010-12-21 Industrial Technology Research Institute Network for permutation or de-permutation utilized by channel coding algorithm
KR101435830B1 (ko) * 2007-06-20 2014-08-29 엘지전자 주식회사 인터리빙 수행 방법
JP2009077154A (ja) * 2007-09-20 2009-04-09 Mitsubishi Electric Corp ターボ符号化装置、ターボ符号化方法及び通信システム
US8219782B2 (en) * 2008-09-18 2012-07-10 Xilinx, Inc. Address generation
US10022468B2 (en) * 2009-02-02 2018-07-17 Kimberly-Clark Worldwide, Inc. Absorbent articles containing a multifunctional gel
KR101614482B1 (ko) * 2009-08-11 2016-04-21 삼성전자주식회사 터보 인터리버의 인터리빙 주소 결정 장치 및 방법
CN102412850B (zh) * 2010-09-25 2014-02-05 中兴通讯股份有限公司 Turbo码并行交织器及其并行交织方法
KR20120071511A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 이동통신 시스템의 데이터 레이트 매칭 방법 및 장치
US8897443B2 (en) * 2010-12-27 2014-11-25 Cleversafe, Inc. Watermarking slices stored in a dispersed storage network
CN104617961B (zh) * 2014-12-30 2018-05-25 中山大学花都产业科技研究院 种低硬件复杂度的交织器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3415693B2 (ja) 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US6289486B1 (en) * 1997-07-30 2001-09-11 Samsung Electronics Co., Ltd. Adaptive channel encoding method and device
JP3257984B2 (ja) 1998-10-30 2002-02-18 富士通株式会社 インタリーブ方法及びデインタリーブ方法並びにインタリーブ装置及びデインタリーブ装置並びにインタリーブ/デインタリーブシステム並びにインタリーブ/デインタリーブ装置並びにインタリーブ機能付きの送信装置,デインタリーブ機能付きの受信装置及びインタリーブ/デインタリーブ機能付きの送受信装置
US6442728B1 (en) 1999-01-11 2002-08-27 Nortel Networks Limited Methods and apparatus for turbo code
CA2298919C (en) * 1999-02-19 2006-04-18 Ntt Mobile Communications Network Inc. Interleaving and turbo encoding using prime number permutations
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
JP2001138596A (ja) 1999-11-12 2001-05-22 Toshiba Tec Corp 伝票発行装置及び伝票

Also Published As

Publication number Publication date Type
JP2002190743A (ja) 2002-07-05 application
DE60124488T2 (de) 2007-03-01 grant
EP1195910B1 (en) 2006-11-15 grant
JP3636684B2 (ja) 2005-04-06 grant
DE60124488D1 (de) 2006-12-28 grant
US7155642B2 (en) 2006-12-26 grant
EP1195910A2 (en) 2002-04-10 application
US20020091900A1 (en) 2002-07-11 application
EP1195910A3 (en) 2004-07-21 application
KR20020025477A (ko) 2002-04-04 application

Similar Documents

Publication Publication Date Title
US7277540B1 (en) Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
US5428629A (en) Error check code recomputation method time independent of message length
US6209114B1 (en) Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
Lazard Solving zero-dimensional algebraic systems
US4852098A (en) Polynomial operator in galois fields and a digital signal processor comprising an operator of this type
US5745497A (en) Convolutional interleaving/DE-interleaving method and apparatus for data transmission
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US5631914A (en) Error correcting apparatus
US6314534B1 (en) Generalized address generation for bit reversed random interleaving
US4122440A (en) Method and means for arithmetic string coding
US5535225A (en) Time domain algebraic encoder/decoder
US6233711B1 (en) Turbo coding, decoding devices and turbo coding, decoding methods
US6360348B1 (en) Method and apparatus for coding and decoding data
US4928280A (en) Fast processor for multi-bit error correction codes
US4649541A (en) Reed-Solomon decoder
US5300930A (en) Binary encoding method with substantially uniform rate of changing of the binary elements and corresponding method of incrementation and decrementation
US20020035709A1 (en) Apparatus and method for providing turbo code interleaving in a communications system
US5059976A (en) Coding method of image information
US6252992B1 (en) Variable length coding
US20050154960A1 (en) Method and apparatus for calculating CRC on data using a programmable CRC engine
US6304991B1 (en) Turbo code interleaver using linear congruential sequence
US5377340A (en) Method and apparatus for memory interleaving using an improved hashing scheme
US5793659A (en) Method of modular reduction and modular reduction circuit
US6754870B2 (en) CRC operation unit and CRC operation method

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee