KR100404898B1 - 인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보부호화 장치 - Google Patents

인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보부호화 장치 Download PDF

Info

Publication number
KR100404898B1
KR100404898B1 KR10-2000-0008057A KR20000008057A KR100404898B1 KR 100404898 B1 KR100404898 B1 KR 100404898B1 KR 20000008057 A KR20000008057 A KR 20000008057A KR 100404898 B1 KR100404898 B1 KR 100404898B1
Authority
KR
South Korea
Prior art keywords
data
order
generating
blocks
recording
Prior art date
Application number
KR10-2000-0008057A
Other languages
English (en)
Other versions
KR20000076697A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26381791&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100404898(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 가부시키가이샤 엔.티.티.도코모 filed Critical 가부시키가이샤 엔.티.티.도코모
Publication of KR20000076697A publication Critical patent/KR20000076697A/ko
Application granted granted Critical
Publication of KR100404898B1 publication Critical patent/KR100404898B1/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/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

Landscapes

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

Abstract

다양한 프레임 길이라도, 적은 연산량으로 효율적으로 계열의 랜덤화를 실현할 수 있는 인터리빙을 제공하는 것을 목적으로 하는 것이다.
소수 P를 베이스로 한 길이의 블록을 복수개 갖는 데이터 계열을 입력하고, 표수가 P인 유한체의 원소에 소정의 연산을 행하고, 그 순서를 교체배열하여, 순서교체데이터를 생성하고, 이 순서교체데이터를 이용하여, 입력된 상기 데이터 계열의 데이터 순서를 교체한다.

Description

인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보 부호화 장치{Interleaving method, Interleaving apparatus, turbo encoding method, and turbo encoding apparatus}
본 발명은, 버스트 에러에 대하여 유효한 터보 부호화 기술에 관한 것으로, 특히 솎음 처리를 행하지 않거나, 또는 행하더라도 매우 적은 비트수에 한정되며, 또한 연산량을 경감한 인터리빙방법, 인터리빙장치, 터보 부호화 방법 및 터보 부호화 장치에 관한 것이다.
본 발명은, 디지털 전송이나 디지털 기록 등 에러정정부호를 이용하여 통신의 신뢰성의 향상이 요구되는 분야에서 응용되며, 특히 멀티미디어와 같이 통신의 융통성이 필요한 분야에서 유효한 것이다.
최근 제안된 능력이 뛰어난 에러정정부호를 이용하는 터보 부호기는 복수의 부호기로 구성되어 있고, 각 부호기간의 리던던시 계열의 상관성을 적게 하기 위하여 인터리버(인터리빙처리를 행하는 수단)를 통해 각 부호기가 연접되어 있다. 이 인터리버는, 터보 부호의 능력을 결정하는 매우 중요한 것으로 되어 있다.
도 1a 및 도 1b는 터보 부호화기의 구성예를 나타내는 도면이다. 도 1a에 도시한 바와 같이, 터보 부호화기는, 복수의 재귀적 조직 콘벌루션 부호화기(recursive systematic convolutional encoder)(RSC1(12), RSC2(13))와, 인터리버(11)를 구비하여 구성되어 있다. 각 재귀적 조직 콘벌루션 부호화기(12, 13)는, 도 1b에 도시한 바와 같이, 가산기(14, 15)와 단위지연소자 D(16, 17)가 접속되어 구성되어 있다. 도 1a에 도시되어 있는 예와 같이, 터보 부호화기는 입력(d)(K비트)에 대하여, 출력 X1∼X3을 부호화계열로서 출력하고 있다. 여기서, 리던던시 비트 X1과 X2의 상관성을 적게 하기 위하여, 재귀적조직 콘벌루션 부호화기(RSC2)(13)의 앞에 인터리버(11)를 삽입하고 있다. 또한, 도 1c에 도시한 바와 같이, 터보 복호기는 2개의 디코더(1, 2), 2개의 인터리버(3, 4) 및 인터리버의 역처리를 행하는 디인터리버(5)로 구성되어 있다.
또한, 디지털·시스템의 경우, 비트나 심볼 등의 단위로 인터리빙에 있어서의 시퀀싱이 행하여진다.
또한, 시퀀싱의 방법으로는, 버퍼 등에 데이터를 기입하고, 이를 읽어내는 방법과, 인터리빙에 의한 순서의 교체정보를 패턴(이하, 인터리브·패턴」이라 함)으로 가지며, 이를 참조하여 시퀀싱하는 방법이다.
이어서, 인터리브(interleave)·패턴에 의해, 비트 단위로 시퀀싱한 예를 나타낸다.
도 2는 l6비트계열의 인터리빙을 실시한 예이다. 도 2에서는, 인터리브·패턴·테이블을 참조함으로써 비트단위의 인터리빙을 행하고 있다. 도 2에서는, 인터리빙이 행해지는 입력 16비트의 계열(67)은, 인터리브·패턴·테이블(68)에 기억되어 있는 순서에 따라, 입력계열 내의 비트의 순서의 교체가 행해진다.
또한, 거기에 표시되어 있는 인터리브 패턴 테이블에 표시되어 있는 순서를, 화살표와 같이 종방향의 순으로 0, 8, 4, 12, 2, ···로 독출하여 인터리빙후의 비트계열을 출력한다.
그런데, 인터리빙을 행하는 인터리버에 대해서는,
(1) 다양한 프레임 길이(예컨대, 수천 내지 l만 종류)에 대응할 것,
(2) 적은 파라미터수로 생성가능할 것,
(3) 인터리빙 패턴 생성의 계산량이 적을 것 등의 3가지 과제가 있다.
제1의 과제, 요컨대, 다양한 프레임 길이에 대응하기 위하여 단순히 모든 프레임을 준비하면, 모든 프레임 길이에 대응하기 위한 파라미터의 수가 방대해지고, 그 파라미터를 기억하는 소요 메모리가 방대해지기 때문에 비현실적이다. 또한, 프레임 길이마다 별도의 바람직한 파라미터를 구하기 위한 연산처리시간도 방대해지는 문제가 있다.
또한, 이 문제를 해결하기 위하여, 상기 (2)의 과제에 나타낸 바와 같이, 적은 파라미터수로 인터리버를 생성가능하게 하는 대책을 생각할 수 있다. 그러나, 적은 파라미터수로 인터리버를 생성가능하게 하기 위하여, 2의 멱승의 프레임 길이에 대하여 인터리버를 작성하고, 그로부터 데이터의 솎음을 실시하는 종래의 수법은, 데이터를 솎아내는 만큼, 그만큼의 최적화의 파라미터가 증가하고, 모든 프레임 길이에서 뛰어난 특성을 얻을 수 있는 보증이 없어져 버린다는 문제가 있다. 예컨대, 어떠한 프레임 길이에서는 특성이 뛰어나더라도. 별도의 프레임에서는 특성이 열화되는 문제가 있다.
그것을 개선하기 위하여, 솎음 데이터의 수를 줄이는 방법을 생각할 수 있다.
솎음 데이터의 수를 줄임으로써 제3의 과제도 해결된다. 이 제3의 과제에 대한 대책으로, 본출원인에 의해 솎음을 적게 하고 또한 특성도 좋아지는 방법(PCT 출원/JP98/05027)이 제안된 바 있다. 그러나, 이 방법으로도 인터리버의 패턴생성을 위한 연산처리량이 많아지는 문제점이 있다.
본 발명은, 상기 문제에 비추어 이루어진 것으로 인터리빙방법, 인터리빙장치, 터보 부호화 방법 및 터보 부호화 장치에 있어서, 다양한 프레임 길이라도, 적은 연산량으로 효율적으로 계열의 랜덤화를 실현하는 것을 목적으로 하는 것이다.
도 1은 종래의 터보 부호 및 복호의 예를 설명하기 위한 도면이다.
도 2는 종래의 l6 비트 계열의 인터리빙을 행한 예를 설명하기 위한 도면이다.
도 3은 본 발명의 제1의 실시예에 의한 터보부호기를 설명하기 위한 도면이다.
도 4는 200까지의 소수표이다.
도 5는 본 발명의 인터리버의 제 l의 구성예를 설명하기 위한 도면이다.
도 6은 l50 이하의 소수와 그 최소의 원시근의 표이다.
도 7은 데이터의 순서를 교체하는 순서교체테이블의 일예를 도시한 도면이다.
도 8은 본 발명의 인터리버의 제2의 구성예를 설명하기위한 도면이다.
도 9는 본 발명의 인터리버의 제3의 구성예를 설명하기 위한 그림이다.
도 10은 본 발명의 터보부호기의 동작을 나타내는 플로우 챠트이다.
도 11은 에러플로어를 설명하기 위한 도면이다.
도 12는 본 발명의 제2의 실시예에 의한 터보부호기를 도시한 도면이다.
도 13은 본 발명의 인터리버의 제4의 구성예를 설명하기 위한 도면이다.
도 14는 도 l3에 도시한 제4의 구성예에 이용되는 순서교체테이블을 도시한 도면이다.
<부호의 간단한 설명>
11, 22 인터리버
12, 13 RSC
21 비트추가처리
23 펑츄어링
40, 80 입력비트계열
41 제l스테이지
42 제2스테이지
43 제3스테이지
44, 90 출력데이터계열
청구항 1에 기재된 발명은, 소수(素數) P를 기초로 한 길이의 블록을 복수개 갖는 데이터 계열을 입력하는 제1의 단계와, 표수가 P인 유한체의 원(元)인 원소에 소정의 연산을 실시하고 그 순서를 교체배열하여 순서교체 데이터를 생성하는 제2의 단계와, 상기 순서교체데이터를 이용하여 입력된 상기 데이터 계열의 데이터의 순서를 교체하는 제3의 단계를 갖는 것을 특징으로 하는 인터리빙 방법이다. 소수 P를 베이스로 한 길이의 블록을 복수개 갖는 데이터 계열을 이용함으로써, 다양한 프레임 길이에 세세히 대응할 수 있도록 됨과 동시에, 적은 연산량으로 효율적으로 입력하는 데이터 계열의 랜덤화를 실현할 수 있다.
청구항 2에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 단계와, 입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와, 표수가 P인 유한체의 원소를 그 원소의 멱(冪)표현인 지수부분의 값순으로 늘어놓은 계열을 제1의 순서교체데이터로서 생성 또는 기록하는 제3의 단계와, (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와, 제l의 순서교체데이터 계열을 p1개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와, 제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 의해 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로하는 인터리빙 방법이다. 입력계열을 N개의 블록(B1, B2,···BN)으로 분할하고, 소수체를 이용하여, 입력 데이터의 순서를 교체함으로써, 다양한 프레임 길이에 세세히 대응할 수 있도록 됨과 동시에, 적은 연산량으로 효율적으로 입력하는 데이터 계열의 랜덤화를 실현할 수 있다. 또한, 제5와 제6의 2단계에서 인터리빙을 행하므로, 메모리(버퍼)와 연산량을 삭감할 수 있다.
청구항 3에 기재된 발명은, 소수 P를 생성 또는 기록하는 제 l의 단계와, 입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 생성 또는 기록하는 제3의 단계와, 이 멱표현에 이용된 원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 단계와, 제O의 순서교체데이터 계열의 각 데이터에 qi를 제수 P로 가하여 얻어진 원소의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 단계와, 제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 단계와, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법이다. 입력계열을 N개의 블록(B1, B2,···BN)으로 분할하고, 소수체를 이용하여, 입력 데이터의 순서를 교체함으로써, 다양한 프레임 길이에 세세히 대응할 수 있도록 됨과 동시에, 적은 연산량으로 효율적으로 입력하는 데이터 계열의 랜덤화를 실현할 수 있다. 또한, 제5와 제6의 2단계에서 인터리빙을 행하므로, 메모리(버퍼)와 연산량을 삭감할 수 있다.
청구항 4에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 단계와, 입력계열을 길이(P-1)인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 배열한 계열의 마지막 데이터를 삭제한 계열을 생성 또는 기록하는 제3의 단계와, (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와, 제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와, 제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법이다. 이에 따라, 솎음 처리로 처리해야 할 비트수를 적게 할 수 있고, 다양한 프레임 길이에 의해 유연하게 대응할 수 있다.
청구항 5에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 단계와, 입력계열을 길이 (P+1)인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막 데이터에 상기 소수를 추가한 계열을 생성 또는 기록하는 제3의 단계와,(P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와, 제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와, 제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법이다. 이에 따라, 솎음 처리로 처리해야 할 비트수를 적게 할 수 있고, 다양한 프레임 길이에 의해 유연하게 대응할 수 있다.
청구항 6에 기재된 발명은, 청구항 2 내지 5 중 어느 한항에 있어서, 상기 제7의 단계의 미리 정해진 순서는, 터보 부호에 있어서의 에러플로어가 발생하는 에러율의 값을 기준으로 하여 결정하는 것을 특징으로 하는 인터리빙 방법이다. 에러플로어가 발생하는 에러율의 값을 고려하여 제7의 단계에서 읽어 내는 순서를 정하기 때문에, 에러플로어의 발생을 낮게 억제할 수 있다.
청구항 7에 기재된 발명은, 청구항 2 내지 5 중 어느 한항에 있어서, 상기 분할수 N을 k(k는 2 이상의 정수)개 미리 정하여 두고, 제5의 단계에서 생성하는 제1 내지 제N까지의 순서교체데이터를 k개 생성하고, 가장 특성이 뛰어난 분할수의 순서교체데이터를 이용하는 것을 특징으로 하는 인터리빙방법이다. 이에 따라, 가장 바람직한 순서교체데이터를 선택할 수 있으므로, 최적의 인터리빙를 행할 수 있다.
청구항 8에 기재된 발명은, 소수 P를 베이스로 한 길이의 블록을 복수개 갖는데이터 계열을 입력하는 제1의 수단과, 표수가 P인 유한체의 원소에 소정의 연산을 실시하고 시퀀싱하여 순서교체데이터를 생성하는 제2의 수단과, 상기 순서교체데이터를 이용하여 입력된 상기 데이터 계열의 데이터 순서를 교체하는 제3의 수단을 갖는 것을 특징으로 하는 인터리빙 장치이다. 청구항 1과 같은 작용, 효과를 얻을 수 있다.
청구항 9에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 수단과, 입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 생성 또는 기록하는 제3의 수단과, (P-1)과는 서로소인 (N-1)개의 정수(p1, p2,···pN-1)를 제1의 순서교체데이터로서 생성 또는 기록하는 제4의 수단과, 제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 수단과, 제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 수단과, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치이다. 청구항 2와 같은 작용, 효과를 얻을 수 있다.
청구항 10에 기재된 발명은, 소수 P를 생성 또는 기록하는 제 l의 수단과, 입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과, 표수가P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 생성 또는 기록하는 제3의 수단과, 이 멱표현에 이용된 원시원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 수단과, 제O의 순서교체데이터 계열의 각 데이터에 qi를 제수 P로 가하여 얻어진 원소의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 수단과, 제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 수단과, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치이다. 청구항 3과 같은 작용, 효과를 얻을 수 있다.
청구항 11에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 수단과, 입력계열을 길이(P-1)의 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막 데이터를 삭제한 계열을 생성 또는 기록하는 제3의 수단과, (P-1)과는 서로소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 수단과, 제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 수단과, 제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 수단과, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치이다. 청구항 4와 같은 작용, 효과를 얻을 수 있다.
청구항 12에 기재된 발명은, 소수 P를 생성 또는 기록하는 제1의 수단과, 입력계열을 길이 (P+1)의 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과, 표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막에 상기 소수를 추가한 계열을 생성 또는 기록하는 제3의 수단과, 이 멱표현에 이용된 원시원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 수단과, 제O의 순서교체데이터 계열의 각 데이터에 qi를 제수 P로 가하여 얻어진 원래의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 수단과, 제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 수단과, 시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치이다. 청구항 5와 같은 작용, 효과를 얻을 수 있다.
청구항 13에 기재된 발명은, 청구항 9 내지 12 중 어느 한항에 있어서, 상기 제7의 수단의 미리 정해진 순서는, 터보 부호에 있어서의 에러플로어가 발생하는 에러율의 값을 기준으로 하는 것을 특징으로 하는 인터리빙 장치이다. 청구항 6과 같은 작용, 효과를 얻을 수 있다.
청구항 14에 기재된 발명은, 청구항 9 내지 12 중 어느 한항에 있어서, 상기 분할수 N을 k(k는 2 이상의 정수)개 미리 정하여 두고, 제5의 수단에서 생성하는 제1 내지 제N까지의 순서교체데이터를 k개 생성하고, 가장 특성이 뛰어난 분할수의 순서교체데이터를 이용하는 것을 특징으로 하는 인터리빙 장치이다. 청구항 7과 같은 작용, 효과를 얻을 수 있다.
청구항 15에 기재된 발명은, 제 1 항에 기재된 인터리빙 방법에 있어서의 상기 제 1 내지 제 3의 단계에 추가하여, 상기 제 1의 단계에서 입력하는 입력데이터 계열로서, 상기 입력데이터를 부호화한 데이터를 생성하는 부호화 단계를 상기 제 1의 단계 전에, 더 포함하는 것을 특징으로 하는 터보 부호화방법이다. 청구항 1 에 기재된 발명의 작용, 효과를 갖는 터보 부호화방법을 제공할 수 있다.
청구항 16에 기재된 발명은, 청구항 15에 있어서, 입력 비트수가 미리 정해진 수의 비트수에 모자라는 경우에는, 이에 일치하도록 비트수를 증가시키는 단계와, 부호화된 비트수를 상기 비트수를 증가시키기 전의 비트수까지 삭감하는 단계를 포함하는 것을 특징으로 하는 터보 부호화 방법이다. 이에 따라, 솎음 처리를 행하지 않고 연산량을 저감할 수 있다.
청구항 17에 기재된 발명은, 청구항 16에 기재된 터보 부호화 방법에 있어서, 비트리피티션을 이용하여 상기 비트수를 증가시키는 것을 특징으로 하는 터보 부호화 방법이다. 비트수를 증가시키는 일예를 규정하는 것이다.
청구항 18에 기재된 발명은, 제 8 항에 기재된 인터리빙 장치와, 이 인터리빙 장치의 상기 제 1의 수단의 입력측에 접속된 부호화기로 구성된 단위 회로를 복수개 구비하는 것을 특징으로 하는 터보부호화 장치이다. 청구항 8에 기재된 발명의 작용, 효과를 갖는 터보 부호화방법을 제공할 수 있다.
청구항 19에 기재된 발명은, 청구항 18에 있어서, 상기 제 1의 수단이 입력하는 데이터 계열의 입력 비트수가 미리 정해진 수의 비트수에 모자라는 경우에는, 이에 일치하도록 비트수를 증가시키는 수단과, 상기 부호화기에 의해 부호화되고, 또한, 상기 제 3의 수단에 의해 상기 데이터계열의 데이터 순서를 교체한 후의 데이터계열의 비트수를 상기 비트수를 증가시키기 전의 비트수까지 삭감하는 수단을 포함하는 것을 특징으로 하는 터보 부호화 장치이다.
청구항 20에 기재된 발명은, 청구항 19에 기재된 터보 부호화 장치에 있어서, 비트리피티션을 이용하여 상기 비트수를 증가시키는 것을 특징으로 하는 터보 부호화 장치이다.
다음에, 본 발명의 실시의 형태에 대하여 도면과 함께 설명하기로 한다.
도 3은 본 발명의 제1의 실시예인 터보 부호기의 블록 구성을 나타낸다. 도 1에 도시한 종래의 터보 부호기와의 상이한 점은,
(1) 비트추가처리부(21)의 추가
(2) 신규한 구성의 인터리버(22)
(3) 펑츄어링 처리부(23)의 추가의 세곳이다.
이하, 도 10에 도시한 플로우 챠트를 참조하여 상기 3곳의 각부를 상세히 설명하기로 한다.
(비트추가처리)
인터리빙을 행하는 전처리로서, 인터리빙에 적합한 비트수로 조정하는 처리이다(도 10의 단계 101∼103).
비트추가처리의 구체예로는, 일반적인 에러정정부호화를 이용할 수 있다. 에러정정부호화 중에서도, 주기적으로 비트를 반복하는 비트리피티션은 그 유연성과처리가 평이한 것이므로, 바람직한 예이다.
여기서, 부호기로의 입력 비트수를 NIN(도 3의 K에 해당한다)으로 가정하고, 비트리피티션의 처리방법에 대하여 자세히 설명하기로 한다
(1) 먼저, NIN을 8로 나누어 그 값 n을 구한다.
(2) n 이상이고 또한 가장 n에 가까운 소수 P를 구한다.
(3) P의 8배와 NIN과의 차를 취하고, 이를 a로 한다.
(4) NIN비트를 입력으로 하고 이에 a 비트(더미 비트)를 추가한다. 예컨대, NIN이 650인 경우로 설명한다.
(1) 650/8=81.25
이므로, n=81.25가 구해진다.
(2) 81.25 이상이고, 가장 81.25에 가까운 소수는, 도 4에 도시한 바와 같이 83이다. 따라서, P=83이 구해진다.
(3) 83*8=664이므로, a=14가 구해진다. 또한, *는, 승산을 나타낸다(이하 동일함).
(4) 650 비트의 입력의 경우는, 14 비트의 더미 비트를 추가하는 처리를 행한다.
이상에 의해 얻어진, (NIN+a)비트, 즉 도 3으로 말하면 (K+a)비트는, 상기예의 경우, 반드시 8로 나뉘고, 또한 그 몫은 소수가 된다. 또한, 8을 이용하는 이유는, 후술하는 바와 같이, 인터리버(22)에 있어서의 인터리빙의 제1스테이지로 취급하는 2차원 배열의 행수가, 본 실시예의 경우에는 8이기 때문이다. 따라서. 후치되는 인터리버(22)의 2차원 배열의 행수에 따라, 8 이외에도 10이나 20 등의 임의의 값을 취할 수 있다. 즉, 터보 부호용의 인터리버의 제1스테이지의 행수가 10이나 20인 경우에는, 상기 (l)∼(3)에서의 처리는 8 대신에 10이나 20의 수치를 이용한다.
이 점을 고려하면, 비트추가처리부(21)의 처리는, 도 10의 단계 101에서 2차원 배열의 행수를 정하고, 단계 102에서 상술한 바와 같이 하여 소수인 열수를 정하며, 행수와 열수를 곱한 값과 입력 데이터의 비트수와의 차의 비트수인 더미 비트를 단계 103에서 입력 데이터에 부가하는 것이다.
또한, 여기서는 비트리피티션을 이용하는 예에 대하여 설명하였지만, 블록부호화나 컨벌루션 부호화 등도 비트 추가처리로서 적용가능하다. 또한, 비트추가처리로서, 기존의 비트를 기존의 장소에 추가하는 방법도 용이한 방법으로 생각할 수 있다.
(인터리버)
본 실시예에서 이용하는 인터리버(22)의 3가지의 구성예를 설명하기로 한다.
도 1의 구성예를 도 5에 도시한다. 이 인터리버는, 제1스테이지(41) 도 10의 단계 104에 해당), 제2스테이지(42) (도 10의 단계 105∼108에 해당), 및 제3스테이지(43) (도 10의 단계 l09에 해당)의 3 스테이지로 구성된다.
(l) 제1스테이지(41):
입력계열(40)(비트추가처리부(2l)의 출력이며, 예컨대 664비트)을, N분할(본 실시예에서는 B1∼B8의 8개의 블록으로 분할)하여, 2차원 배열(버퍼)에 기입한다. 본 실시예에서 행수는 8, 열수는 83이다.
또한, 상술한 바와 같이 비트추가처리부(21)에서의 더미비트의 부가에 의해, 2차원 버퍼의 행수는 8로 분할가능하며, 또한 열수는 소수가 된다.
(2) 제2스테이지(42):
후술하는 바와 같이 하여, 각 행의 데이터의 순서를 교체한다 (intra-permutation 처리).
(3) 제3스테이지(43):
행을 단위로서 행의 순서를 교체한다(inter-permutation 처리). 예컨대, 미리 학습(학습의 기준은 자유거리를 크게하는 것)에 의해 정한 행간의 교착패턴을 이용하여, 1행을 단위로 하여 행의 순서의 교체를 실시한다.
이와 같이 제1 내지 제3스테이지의 처리를 행하고 있고, 최후에 종방향(열방향)으로 독출하여(도 10의 단계 110), 인터리브 처리된 부호화계열(44)을 얻는다.
이하, 제2스테이지에서의 처리에 대하여 상세히 설명하기로 한다.
제2스테이지에서 데이터의 순서를 교체하는 처리는, 이하의 단계를 실행함으로써 생성되는 테이블을 어드레스테이블로 이용하여, 2차원 버퍼에 기입된 입력 데이터를 처리하는 것이다. 이하, 단계순으로 설명하기로 한다.
단계 S1;
표수(characteristic) P(도 5의 열수 83에 해당)인 유한체의 원소인 g0을 구하고(도 l0의 단계 1O5), 그 지수 표현순의 테이블(유한체의 원소를 진수로 표현하고, 이를 지수표현의 순으로 배열한 테이블) tO을 작성한다. 단, 이 테이블(t0)은 미리 생성하여 기억해 둘 수도 있다. 여기서, 표수는 대수학에서 정의된 용어로서 어느 체의 제곱 단위원소 e에 대하여, n개의 e의 합이 n=e+e+...+e=0으로 될 때, 이와 같은 n의 최소 수를 그 체의 표수라고 한다.
예컨대, P=83의 경우, 도 6에 도시한 바와 같이, 83의 원시원소는 2이다. 표수가 83인 유한체의 원소는 0, 1, 2, ···82이다. 유한체의 원소를 진수로 표현하고 이것을 제수 2의 원소로 지수표현하면,
20(mod83), 21(mod83), 22(mod83), ···, 282(mod83)
=1, 2, 4, 8, 16, 32, 64, 45, 7, 14, ···, 42, 0을 얻을 수 있다.
이것을 테이블로 하면, 도 7b의 테이블(t0)을 얻을 수 있다. 도 7b에 있어서, 종축방향과 횡축방향의 수치로 지수를 나타낸다, 예컨대, 종축의 1과 횡축의 6으로 지수 16을 나타낸다. 22의 mod83 연산결과는 4, 216의 mod3 연산결과는 49이다. 또한, 282의 경우는 0으로 한다.
단계 S2:
테이블(t0)을, 2차원 버퍼의 제1행(도 10의 단계 l06에서 행번호를 나타내는 파라미터I를 1로 설정한 경우)의 데이터의 순서를 교체하기 위하여 참조하는 순서교체테이블로 한다. 즉, 순서교체테이블(tO)에 규정된 수치는, 교체후의 입력데이터 의 위치를 나타내고 있다. 도 7b에 도시한 바와 같이, 순서교체테이블(tO)은 좌측상단으로부터 차례로 이하의 배열(패턴)을 갖는다.
테이블(t0) : 1, 2, 4, 8, 16,···42, 0 ····(1)
예컨대, 2차원 버퍼의 제1행에 배열된 입력데이터가
A0, A1, A2, A3,···A82······(2)
라고 하면, 이 제1행의 배열은, 이 순서교체테이블(t0)을 참조함으로써 아래와 같이 교체된다. 예컨대, 순서교체테이블(t0)의 1에 해당하는 A0은 동일 위치에 놓이고, 2에 해당하는 A1도 동일 위치가 되어, 4에 대응하는 A2는 4번째로 교체되고, 다음의 8에 대응하는 A8은 8번째로 교체된다. 이하 마찬가지로, 최후의 0에 대응하는 A82는 0이므로 동일한 위치가 된다. 이 처리가 도 10의 단계 1O7이다.
따라서, (2)의 열의 데이터는 교체되어 다음과 같이 된다.
A0, A1, A72, A2, A27, A76, A8,···A82···(3)
단계 S3:
유한체의 표수에서 l을 뺀 수와 서로 소인 수를 (행수-1)로 구한다. 상술한 예에서는 P=83, 행수는 8이므로, 82(=P-1=83-1)와 서로 소인 수를 7(=8-1)개 구하여, p1, p2, p3, p4, p5, p6, p7로 한다. 예컨대, P-l(82=41*2)과는, 서로 소인 (N-1)개의 정수(N-1=7) p1, p2, p3, p4, p5, p6, p7은, 예컨대, 3, 5, 7, 11, 13, 17, 19(1, 2를 제외함)이다.
단계 S4:
여기서, 도 10의 단계108에서, I의 값이 2차원 배열의 행수보다 작은지의 여부가 판단되고, YES인 경우는 단계107로 되돌아간다. 여기서는, I=2가 된다. 그리고, 제2행의 데이터의 순서를 교체하기 위한 순서교체테이블을 아래와 같이 하여 작성한다. 순서교체테이블(tO)의 값을 p1개 건너뛰어 순회적으로 독출하고, 이것을 배열한 계열을 tl으로 한다. 예컨대, p1이 3인 경우는, 상술한 순서교체테이블(t0)
테이블 (t0):1, 2, 4, 8, l6,···42, 0 ····(1)
의 수치를 p1(=3)개 건너뛰어 독출하고, 다음의 테이블(tl)을 얻는다.
테이블 (t1):1, 16, 7··· ······(4)
또한, 여기서의 처리는, g0과 다른 원시원소 g1을 구하고, 그 원소를 이용하여 지수표현의 테이블을 생성함으로써 실현가능하다(수학적으로 등가이다). 단, g1=(g0)p1(mod83).
단계 S5:
그리고, 테이블 (t1)을 제2행의 데이터 순서를 교체하기 위하여 참조하는 순서교체테이블로 한다.
단계 S6:
마찬가지로, p2, p3, p4, p5, p6, p7을 이용하여, 단계 S4와 단계 S5의 처리를 반복함으로써, 계열 t2 내지 t7을 생성하고, 각각 2차원 버퍼의 제3행 내지 제8행의 데이터 순서를 교체하기 위하여 참조하는 순서교체테이블로 한다. 즉, 단계 106 내지 108은 이하와 같이 기술할 수 있다.
우선, 다음 조건을 충족하는 소수 1i(i=2∼r, r은 행수)를 구한다.
(i) (83-l, 1i)=1(82와 1i는 서로 소)
(ii) 1i6
예컨대, r=8인 경우, 구하는 소수는 12∼18이고, 도 6의 테이블로부터, 7, 11, l3, 17, 19, 23, 19가 된다. 그리고, 테이블(t0)의 값을 1i개 건너뛰어 순회적으로 독출(최후의 0은 제외)함으로써, 순서교체테이블 t2∼t7을 작성한다.
단계 S7:
제1행 내지 제8행의 데이터 순서를 교체하기 위한 순서교체테이블(t0∼t7)에 의해, 블록(B1, B2,···B8)의 데이터순서를 교체한다. 즉, 블록(B1)의 데이터의 순서를 순서교체테이블(t0)에서 교체한다. 블록(B2)의 데이터 순서를 순서교체테이블(t1)에서 교체한다. 이하, 같은 방법으로 하여, 블록(B8)의 데이터 순서를 순서교체테이블(t7)에서 교체한다. 또한, 도 10에서는 1행마다 순서교체테이블을 작성하여 교체처리를 행하는 수순이지만, 상기한 바와 같이 8개의 순서교체테이블을 작성한 후에, 각 행의 교체처리를 행하는 것도 무방하다.
또한, 제2스테이지의 처리에 대해서는, 상기 순서교체테이블을 미리 작성해 두고, 이 테이블을 참조하는 방법을 이용하는 것도 실현가능하다.
본 발명에 이용하는 인터리버(22)의 제2의 구성예를, 도 8을 참조하여 설명한다. 제2의 구성예는, 제2스테이지를 제외하고 상술한 제1의 구성예와 동일하다.
본 구성예의 제2스테이지에서의 데이터순서의 교체처리는, 이하의 처리로 생성되는 테이블을 어드레스테이블로서 이용하여 실현한다.
단계 Sl1:
표수 83의 유한체인 원시원소 g0을 구하고, 그 지수 표현순의 테이블(유한체의 원소를 진수로 표현하고, 이것을 지수표현순으로 늘어놓은 테이블) T0을 작성한다. 단, 이 테이블은 미리 생성하여 기억시켜 둘 수도 있다. 단계 S11은, 상술한 제1의 구성예의 단계 Sl과 동일하다. 따라서, 테이블(T0)은, 도 7b에 도시한 테이블(t0)과 같은 테이블이 된다.
단계 S12:
원시원소 g0과 서로 소인 수를 8(즉 2차원 버퍼의 행수와 같은 수)개 구하고,
q1, q2, q3, q4, q5, q6q7, q8로 한다. 예컨대, 소수가 83인 경우, P=83, 원시원소 12이므로, 이 원시원소와는 서로 소인 8개의 정수는, 예컨대,
3, 5, 7, 11, 13, 17, 19, 21(1, 2 제외)
이 된다.
단계 Sl3:
단계 S12에서 얻어진, 테이블(T0)의 각 데이터에 q1을 가산(mod83)하고, 얻어진 값(진수)을 지수표현으로 변환하여 Tl 테이블을 작성하고, 제1행의 순서교체테이블로 한다.
즉,
T0:1, 2, 4, 8, 16,···42, 0 ····(5)
이므로, q1=3인 경우, 제수 83을 바탕으로 각각 3을 더하여,
4, 5, 7, 11, 19,···45, 3 ····(6)
을 얻는다.
또한, 이것을 지수표현으로 변환한다. 도 7a는 도 7b의 역연산이므로, 그것을 이용하면,
2, 27, 8, 24, ···7, 72 ····(7)
을 얻을 수 있다. 이것이 순서교체테이블(T1)이 된다.
단계 Sl4:
같은 방법으로, q2, q3, q4, q5, q6q7, q8을 이용하여, 단계 S13의 처리를 반복함으로써, 테이블(T2 내지 T8)을 작성하고, 제2행 내지 제8행까지의 데이터의 순서를 교체하기 위한 순서교체테이블로 한다.
단계 S15:
제1 내지 제8의 순서교체테이블(T1∼T8)에 의해 B1, B2, B3의 블록의 데이터 의 순서를 각각 교체한다.
또한, 제2스테이지의 처리에 대해서는, 이상의 테이블을 미리 작성해 두고, 이 테이블을 참조하는 방법을 이용하는 것으로도 실현가능하다.
다음에, 본 발명에 이용하는 인터리버(22)의 제3의 구성예를, 도 9를 참조하여 설명하기로 한다.
도 9에 있어서. 예컨대, 1140비트의 입력계열80을 72×l6의 2차원배열에서 인터리버(600)에 기입한 후, 72×16 인터리버(600)의 행마다 l6비트씩 독출한다. 그리고, 제l행째는 4×4 인터리버(610), 제2행째는 6×3 인터리버(620), 제3행째는 8×2인터리버(630) 등과 같이, 행마다 인터리버의 형태을 바꾸어, 인터리빙을 행한다. 그러나, 행마다 모두 같은 형태의 인터리버를 이용하여도 된다. 또한, 인터리빙의 일부를 같은 형태의 인터리버를 이용하여도 된다.
이와 같이 인터리빙한 데이터를, 종방향으로 독출하고(0, 16, 32, 48,··),출력의 데이터 계열 90을 얻을 수 있다.
또한, 최종행이 4비트밖에 없으므로, 도 9에서는, 최종행에, 4*l의 인터리버를 이용하였다. 단, 4*4, 2*2 등의 인터리버라도 무방하다. 독출시에, 통상의 방법으로, 1136, l137, l138, 1139로 독출하는 것도 가능하지만, 도 9에서는 역순, 즉1l39, 1138, 1137, 1136으로 독출하였다.
또한, 마지막행이 4비트밖에 없기 때문에, 마지막 행을 제외하고(즉, 7l행만) 독출하고, 마지막 행의 데이터는, 그 후 소정의 간격을 두고, 집어 넣어도 된다.
이상 설명한 인터리버의 제1 내지 제3의 구성예의 어느 하나를 이용하여 부호화 데이터를 생성한다. 그리고, 도 10의 단계 110, 즉 도 5와 도 8의 제3스테이지(43)를 행한다.
여기서, 상술한 인터리버(22)의 제1 및 제2의 구성예에 있어서, 도 10의 단계 ll0에서의 처리를 연구함으로써, 터보 부호의 에러플로어의 발생 원인이 되는 패턴이 생기지 않도록 할 수 있다.
도 11은 에러플로어를 설명하기 위한 그래프이다. 에러플로어란, S/N비가 향상되어도 비트 에러율(BER)의 개선을 그다지 얻을 수 없는 현상을 나타낸다. 도 11에서는, BER이 10-7부터 l0-8으로 에러플로어가 발생하기 시작하고, 그 이하에서는 그다지 개선되지 않는다.
이 현상을 고려하여, 2차원 배열(버퍼)로부터의 데이터의 독출 순서는 고정된 것이 아니라, 복수 순서의 독출이 가능하다. 즉, 배열이 바뀐 N개의 각 블록으로부터, 각 데이터를 독출하는 미리 정해진 순서는, 터보 부호에 있어서의 에러플로어가 발생하는 에러율의 값을 기준으로 정함으로써, 터보 부호에 있어서의 에러플로어의 발생을 낮게 억제할 수 있다. 예컨대, 10개의 블록(제1 내지 제10블록)으로 나눈 경우에는, 그것을 독출하는 순서를, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1로 하고, 20개의 블록(제l 내지 제20 블록)으로 나눈 경우에는, 그것을 독출하는 순서를, 19, 9, 14, 4, 0, 2, 5, 7, l2, 18, l6, 13, l7, l5, 3, l, 6, 11, 8, 10으로 한다, 또한, 20개인 경우에는 별도의 순서, 19, 9, 14, 4, 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11도 적용할 수 있다.
이와 같이, 몇 개의 순서에서의 독출순서 중, 터보 부호에 있어서의 에러플로어의 발생을 낮게 억제하는 것을 선택한다. 10개의 블록으로 나눈 경우의 예와 같이, 독출순서를 단순히 역순으로 하는 방법은 간단하고 효과도 좋다.
(펑츄어링 처리)
종래법의 터보 부호기에서는, 도 1에 도시한 바와 같이, 입력 K 비트에 대하여 (3*K+T1+T2)비트의 출력(부호화) 비트를 얻을 수 있으므로, 본 발명에서도 같은 비트수의 부호화 비트를 출력한다(여기서, T1은 RSC(l)의 테일비트수, T2는 RSC(2)의 테일비트수로 한다).
도 3에 도시한 비트추가처리부(21)에서의 더미 비트의 추가처리에 의해, 입력 비트수가 N(도 3의 K에 상당)으로부터 (N+a)로 비트수가 증가하고 있으므로, 비트추가처리하지 않은 경우와 비교하여, 전체적으로 (3*a)비트만 여분이 된다. 따라서, (3*a)비트를 삭감하기 위하여 펑츄어링처리부(23)에서 펑츄어링을 행한다. 터보부호용의 펑츄어링으로는, 리던던시 비트만을 주기적으로 삭제하는 방법이 일반적이고, 본 발명에 있어서도 이것이 적용가능하다. 이 결과, 펑츄어링처리부(23)의 출력은, 입력 k 비트에 대하여 (3*K+T1+T2) 비트의 부호화 출력이 된다.
다음에, 본 발명의 제2의 실시예를 설명하기로 한다.
도 12는 본 발명의 제2의 실시예의 터보 부호기의 구성을 나타내는 블록도이다. 도 12에 있어서, 도 3에 도시한 구성요소와 동일한 것에는 동일한 참조번호를 붙인다. 도 12의 구성은, 비트추가처리부(21)를 인터리버(22)의 전단에만 놓은 것이다. 즉, 부호화계열(X1)은 정보원으로부터의 입력데이터계열 그 자체이고, RSC (l2)는 정보원으로부터의 입력데이터계열을 그대로 처리한다. 또한, 비트추가처리부(21)에서 추가한 더미비트를 삭제하기 위하여, 풀링(pulling)하는 솎음처리부(23)를 인터리버(22)와 RSC(13)와의 사이에 설치하고 있다. 인터리버(22)는, 상술한 제1 내지 제3의 구성예의 어느 하나로 구성할 수 있다. 그러나, 여기서는, 새롭게 제4의 구성예를 이용한 경우를 설명한다. 제4의 구성예는, 제l 및 제2의 구성예를 기본으로 하여 약간의 변경을 가한 것이다. 이 변경이란, 도 4의 테이블을 참조하여 소수를 구하는 경우의 연구, 바꾸어 말하면 2차원 배열의 열수를 정하는 경우의 연구이다. 이 점에 대하여, 이하에 설명하기로 한다.
우선, 여기서의 비트리피티션 처리는 다음과 같다. 단 2차원 배열의 행수를 8로 한다.
(1) 우선, NIN을 8로 나누고 그 값n을 구한다.
(2) n 이상이며, 또한 가장 n에 근접한 소수 P와(소수-1) 및 (소수+1) 중, n 이상이며 또한 가장 n에 근접한 수를 구한다.
(3) P의 8배와 NIN과의 차를 구하고, 이것을 a로 한다.
(4) NIN비트를 입력으로 하고 이에 a비트(더미비트)를 추가한다.
예컨대, NIN이, 660의 경우로 설명한다.
(l) 660/8=82.5(몫은 82, 나머지 4)
이므로 n=82.5가 구해진다.
(2) 82.5 이상이며 또한 82.5에 가장 가까운 소수는 83이고, 또한 (소수-1)=82, (소수+1)=84이므로, 82.5 이상이며 또한 82.5에 가장 가까운 수는 83이다. 따라서, P=83이 구해진다.
(3) 83*8=664이므로, a=664-660=4가 구해진다.
(4) 660 비트의 입력인 경우는, 4 비트의 더미비트를 추가하는 처리를 행한다.
이상에 의해 얻어진(NIN+a)비트, 즉 도 3으로 말하면 (K+a)비트는, 상기 예의 경우, 반드시 8로 나뉘고, 또한 그 상은 소수, (소수-1) 또는 (소수+1) 중 어느 하나가 된다.
상기 계산의 몫이 소수와 일치한 경우, 순서교체테이블의 생성방법에 대해서는, 예컨대 도 5를 참조하여 설명한 바와 같다. 상이 (소수-1) 또는 (소수+1)에 일치한 경우, 즉 도 13에 도시한 바와 같이 2차원 버퍼의 열의 수가 예컨대 82나 84가 된 경우, 이들의 순서교체테이블은, 열수 83의 순서를 교체하기 위한 순서교체테이블(t0)을 이용할 수 없다. 열수 82나 84의 순서교체테이블은, 열수 83의 순서교체테이블(t0)을 다음과 같이 처리하여 작성한다.
도 la는, 열수 83의 순서교체테이블(t0)을 나타낸다. 이것은, 도 7b의 순서교체테이블(t0)과 동일이다. 열수 82의 순서교체테이블(t0-1로 한다)은, 도 l4b에 도시한 바와 같이, 열수 83의 순서교체테이블(t0)의 최후의 0을 삭제함으로써 얻어진다. 이것을 일렬로 전개하면, 이하의 패턴이 된다.
테이블(t0-1):1, 2, 4, 8, 16,··, 42
단, 테이블(t0-1)의 요소의 범위는 1 내지 82로 되어있으므로, 모든 요소로부터 1을 빼는(따라서, 요소의 범위를 0 내지 81로 하여)처리를 적용하고, 순서교체테이블로서 이용한다. 또한, 열수 84의 순서교체테이블(t0+1)은, 도 14c에 도시한 바와 같이, 열수 83의 순서교체테이블(t0)의 최후의 0에 소수 P, 즉 83을 부가함으로써얻어진다. 이것을 일렬로 전개하면, 이하의 패턴이 된다.
테이블(t0+1):1, 2, 4, 8, 16,··, 42, 0, 83
그리고, 상술한 단계 106∼108의 처리를 실행함으로써, 순서교체테이블(t0, t0-1, t0+1)의 각각에 대하여 제2행으로부터 제8행까지의 순서교체테이블(t1∼t7, t1-1∼t7-1, t1+1∼t7+1)을 작성한다. 또한, 상술한 바와 같이, 이들 테이블을 미리 작성하여 등록하는 것으로 하여도 된다.
이상과 같이 하여, 입력 데이터 계열의 비트수와 인터리버(22)에서의 처리하는 비트수와의 차를 작게 할 수 있고, 그 후의 도 12의 솎음처리부(l23)에서의 솎음처리를 경감할 수가 있고, 다양한 프레임 길이에 용이하게 대응할 수가 있고, 뛰어 난 인터리빙용 패턴을 얻을 수 있다.
또한, 상기의 처리를 도 3의 구성에 있어서의 인터리버(22)에 적용하여도 된다.
이상 설명한 제1, 제2의 실시예의 구성에서는, 입력데이터계열을 미리 정하여 놓은 단일의 분할수로 복수의 블록으로 분할하는 것이었다. 그러나, 입력데이터 계열의 분할수 N을 k개(k는 2 이상의 정수)로 하고, k개의 인터리버를 작성해 두고, 가장 특성이 뛰어난 분할수의 인터리버를 선택하는 것으로 하여도 된다.
k=2로 하고, 10과 20의 경우를 생각한다. 인터리버(22)로의 입력 비트가 640 비트로 한다. 블록수가 10인 경우에는 64 비트 길이의 블록이 10개가 되고, 이것을 바탕으로 작성한 인터리버의 순서교체테이블(패턴)을 #1로 한다. 한편, 블록수가20인 경우에는, 32 비트 길이의 블록이 20개가 되어, 이것을 바탕으로 작성한 인터리버의 순서교체테이블(패턴)을 #2로 한다. 인터리버의 패턴#1과 #2는 서로 다르며, 비트 에러율이나 프레임에러율 등의 특성이 뛰어난 것을 선택한다. 입력 비트가 다르면, 그것에 적절한 블록수가 다르다. 즉, 입력 비트수에 따라 블록수를 선택적으로 변화시킴으로써 특성을 향상시킬 수 있다.
이상 설명한 바와 같이, 본 발명에 의하면, 소수체를 이용함으로써 다양한 프레임 길이에 세세히 대응할 수 있게 됨과 동시에, 적은 연산량으로 효율적으로 계열의 랜덤화를 실현할 수 있다.

Claims (23)

  1. K 비트 길이의 디지털 데이터를 2차원 매트릭스 구조의 인터리빙 장치를 이용하여 인터리브하는 인터리빙 방법에 있어서,
    1) 상기 데이터 길이 K와 상기 인터리빙 장치의 상기 2차원 매트릭스 행 수에 따라 소수 P를 정하고, 상기 소수 P에 기초하여 상기 인터리빙 장치의 상기 2차원 매트릭스 열의 수를 정하는 단계와,
    2) 상기 소수 P의 원시원에 따라 각 행마다에 고유의 변환관계를 구하고, 이 변환관계에 따라 각각의 행 중에서 데이터의 순서를 변환하는 단계와,
    3) 소정의 행간의 교착패턴을 이용하여 행을 단위로서 행의 순서를 바꾸는 단계와,
    4) 상기 교체된 데이터를 열방향으로 독출하여 출력하는 단계를 갖는 것을 특징으로 하는 인터리빙 방법.
  2. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 단계와,
    입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와,
    표수가 P인 유한체의 원소를 그 원소의 멱(冪)표현인 지수부분의 값순으로 늘어놓은 계열을 제1의 순서교체데이터로서 생성 또는 기록하는 제3의 단계와,
    (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와,
    제l의 순서교체데이터 계열을 p1개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와,
    제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 의해 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법.
  3. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 단계와,
    입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 생성 또는 기록하는 제3의 단계와,
    이 멱표현에 이용된 원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 단계와,
    제O의 순서교체데이터 계열의 각 데이터에 qi를 제수 P로 가하여 얻어진 원소의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 단계와,
    제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 단계와,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법.
  4. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 단계와,
    입력계열을 길이(P-1)의 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 배열한 계열의 마지막 데이터를 삭제한 계열을 생성 또는 기록하는 제3의 단계와,
    (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와,
    제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와,
    제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법.
  5. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 단계와,
    입력계열을 길이 (P+1)인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 단계와,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막 데이터에 상기 소수를 추가한 계열을 생성 또는 기록하는 제3의 단계와,
    (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 단계와,
    제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 단계와,
    제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 단계와,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 단계를 갖는 것을 특징으로 하는 인터리빙 방법.
  6. 제 2 항 내지 제 5 항 중 어느 한항에 있어서, 상기 제7의 단계의 미리 정해진 순서는, 터보 부호에 있어서의 에러플로어가 발생하는 에러율의 값을 기준으로 하여 결정하는 것을 특징으로 하는 인터리빙 방법.
  7. 제 2 항 내지 제 5 항 중 어느 한항에 있어서, 상기 분할수 N을 k(k는 2 이상의 정수)개 미리 정하여 두고, 제5의 단계에서 생성하는 제1 내지 제N까지의 순서교체데이터를 k개 생성하고, 가장 특성이 뛰어난 분할수의 순서교체데이터를 이용하는 것을 특징으로 하는 인터리빙방법.
  8. K 비트 길이의 디지털 데이터를 인터리브하는 2차원 매트릭스 구조의 인터리빙 장치에 있어서,
    상기 데이터 길이 K와 상기 인터리빙 장치의 상기 2차원 매트릭스 행 수에 따라 소수 P를 정하고, 상기 소수 P에 기초하여 상기 인터리빙 장치의 상기 2차원 매트릭스 열의 수를 정하는 수단과,
    입력데이터를 상기 인터리빙 장치의 상기 2차원 매트릭스의 행방향으로 입력하는 수단과,
    상기 소수 P에 따라 각 행마다에 고유의 변환관계를 구하고, 이 변환관계에 따라 각각의 행 중에서 데이터의 순서를 바꾸는 수단과,
    소정의 행간의 교착패턴을 이용하여 행을 단위로서 행의 순서를 바꾸는 수단과,
    상기 교체된 데이터를 열방향으로 독출하여 출력하는 수단을 갖는 것을 특징으로 하는 인터리빙 장치.
  9. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 수단과,
    입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 제1의 순서교체데이터로서 생성 또는 기록하는 제3의 수단과,
    (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 수단과,
    제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 수단과,
    제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 수단과,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치.
  10. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 수단과,
    입력계열을 길이 P인 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열을 생성 또는 기록하는 제3의 수단과,
    이 멱표현에 이용된 원시원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 수단과,
    제O의 순서교체데이터 계열의 각 데이터에 qi를 법P로 가하여 얻어진 원래의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 수단과,
    제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 수단과,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치.
  11. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 수단과,
    입력계열을 길이(P-1)의 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막 데이터를 삭제한 계열을 생성 또는 기록하는 제3의 수단과,
    (P-1)과는 서로 소인 (N-1)개의 정수(p1, p2,···pN-1)를 생성 또는 기록하는 제4의 수단과,
    제l의 순서교체데이터 계열을 pi개 건너뛰어 순회적으로 독출하고 제i의 순서교체데이터를 얻는 처리를 i=1∼N-l 만큼 반복하여 제2∼제N의 순서교체데이터를 생성 또는 기록하는 제5의 수단과,
    제1 내지 제N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 순서를 교체하는 제6의 수단과,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치.
  12. 입력데이터 길이 K와 블록수 N에 따라서 소수 P를 생성 또는 기록하는 제1의 수단과,
    입력계열을 길이 (P+1)의 N개의 블록(B1, B2,···BN)으로 분할하는 제2의 수단과,
    표수가 P인 유한체의 원소를 그 원소의 멱표현인 지수부분의 값순으로 늘어놓은 계열의 마지막에 상기 소수를 추가한 계열을 생성 또는 기록하는 제3의 수단과,
    이 멱표현에 이용된 원시원소와는 서로 소인 N개의 정수(q1, q2,···qN)를 생성 또는 기록하는 제4의 수단과,
    제O의 순서교체데이터 계열의 각 데이터에 qi를 제수 P로 가하여 얻어진 원래의 멱표현인 지수부분의 값의 계열을 제i의 순서교체데이터로 하는 처리를 i=1∼N까지 반복하여 제1∼제N의 순서교체데이터를 생성하는 제5의 수단과,
    제1로부터 N까지의 순서교체데이터를 이용하여 블록(B1, B2,···BN) 중의 데이터의 순서를 교체하는 제6의 수단과,
    시퀀싱된 N개의 각 블록으로부터 미리 정해진 순서에 따라 각 데이터를 독출하는 제7의 수단을 갖는 것을 특징으로 하는 인터리빙 장치.
  13. 제 9 항 내지 제 12 항 중 어느 한항에 있어서, 상기 제7의 수단의 미리 정해진 순서는, 터보 부호에 있어서 에러플로어가 발생하는 에러율의 값을 기준으로 하여 결정되는 것을 특징으로 하는 인터리빙 장치.
  14. 제 9 항 내지 제 12 항 중 어느 한항에 있어서, 상기 분할수 N을 k(k는 2 이상의 정수)개 미리 정하여 두고, 제5의 수단에서 생성하는 제1 내지 제N까지의 순서교체데이터를 k개 생성하고, 가장 특성이 뛰어난 분할수의 순서교체데이터를 이용하는 것을 특징으로 하는 인터리빙 장치.
  15. 입력데이터를 직접 출력하는 제1의 공정과, 입력데이터를 재귀적 조직 콘벌루션 부호화한 데이터를 출력하는 제2의 공정과, 입력데이터를 청구항 제 1 항 내지 제 5 항 중 어느 한 항의 방법을 이용하여 인터리브하는 제3의 공정과, 상기 인터리브한 데이터를 재귀적 조직 콘벌루션 부호화한 데이터를 출력하는 제4의 공정을 갖는 것을 특징으로 하는 터보 부호화 방법.
  16. 제 15 항에 있어서, 상기 입력데이터의 비트수가 미리 정해진 비트수 보다 작은 경우에는 미리 정해진 비트수와 동일하게 되도록 상기 입력데이터에 비트수를 추가한 제5의 공정을 적어도 상기 제3의 공정보다 이전에 추가하며, 또한, 상기 제 5의 공정에 추가한 비트수와 동일한 수의 비트를 인터리빙 후의 데이터로부터 삭감하는 제 6의 공정을 적어도 상기 제 4의 공정보다 후에 추가하는 것을 특징으로 하는 터보 부호화 방법.
  17. 제 16 항에 기재된 터보 부호화 방법에 있어서, 비트리피티션을 이용하여 상기 비트수를 증가시키는 것을 특징으로 하는 터보 부호화 방법.
  18. 제 8 항 내지 제 12항 중 어느 한 항에 기재된 인터리빙 장치를 이용한 터보 부호화 장치에 있어서,
    입력데이터를 재귀적 조직 콘벌루션 부호화한 데이터를 출력하는 제1의 재귀적 조직 콘벌루션 부호화기와, 입력데이터를 인터리브하는 청구항 8 내지 12항의 어느 한 항에 기재된 인터리빙 장치와, 상기 인터리브한 데이터를 재귀적 조직 콘벌루션 부호화한 데이터를 출력하는 제2의 재귀적 조직 콘벌루션 부호화기를 구비한 것을 특징으로 하는 터보 부호화 장치.
  19. 제 18 항에 있어서, 상기 제 1의 수단이 입력하는 데이터 계열의 입력 비트수가 미리 정해진 수의 비트수에 모자라는 경우에는, 이에 일치하도록 비트수를 증가시키는 수단과, 상기 부호화기에 의해 부호화되고, 또한, 상기 제 3의 수단에 의해 상기 데이터 계열의 데이터 순서를 교체한 후의 데이터 계열의 비트수를 상기 비트수를 증가시키기 전의 비트수까지 삭감하는 수단을 포함하는 것을 특징으로 하는 터보 부호화 장치.
  20. 제 19 항에 기재된 터보 부호화 장치에 있어서, 비트리피티션을 이용하여 상기 비트수를 증가시키는 것을 특징으로 하는 터보 부호화 장치.
  21. 삭제
  22. 삭제
  23. 터보 부호화를 위한 인터리빙 장치의 N개의 행을 생성 또는 기록하는 단계와,
    K비트 길이의 입력데이터와 N개의 행을 이용하여 소수 P를 생성 또는 기록하는 단계와,
    상기 K비트 길이의 입력데이터와 소수 P, 행수 N을 이용하여 P, P-1, P+1 중에서 어느 하나와 동일한 길이를 갖는 행으로서, 행수가 N인 2차원 매트릭스를 생성하는 단계와,
    상기 N개의 행으로 이루어진 상기 2차원 매트릭스에 대하여 각 행 중에서 데이터의 순서를 바꿈과 동시에, 소정의 행간의 교착패턴을 이용하여 행을 단위로 하여 행의 순서를 교체하는 단계를 포함하는 인터리빙 방법.
KR10-2000-0008057A 1999-02-19 2000-02-19 인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보부호화 장치 KR100404898B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP11-042137 1999-02-19
JP4213799 1999-02-19
JP11-098160 1999-04-05
JP9816099 1999-04-05

Publications (2)

Publication Number Publication Date
KR20000076697A KR20000076697A (ko) 2000-12-26
KR100404898B1 true KR100404898B1 (ko) 2003-11-07

Family

ID=26381791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0008057A KR100404898B1 (ko) 1999-02-19 2000-02-19 인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보부호화 장치

Country Status (8)

Country Link
US (1) US6553516B1 (ko)
EP (1) EP1030455B1 (ko)
KR (1) KR100404898B1 (ko)
CN (1) CN1171391C (ko)
AU (1) AU738693B2 (ko)
CA (1) CA2298919C (ko)
DE (1) DE60009973T2 (ko)
SG (1) SG80092A1 (ko)

Families Citing this family (37)

* 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
US6775800B2 (en) * 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
US7302621B2 (en) 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
DE10008064B4 (de) 2000-02-22 2009-07-02 Siemens Ag Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
JP4409048B2 (ja) * 2000-05-22 2010-02-03 三菱電機株式会社 通信装置および通信方法
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
US20020078416A1 (en) * 2000-12-01 2002-06-20 Hitachi, Ltd. Method of recording/reproducing digital data and apparatus for same
KR100361033B1 (ko) * 2001-01-16 2003-01-24 한국과학기술원 비균일 반복부호를 바탕으로 한 터보부호를 쓰는다중반송파 직접수열 부호분할 다중접속 시스템
EP1229662A1 (en) * 2001-02-06 2002-08-07 Alcatel Espana, S.A. Method and device for turbo coding in a satellite data communication
US8054810B2 (en) * 2001-06-25 2011-11-08 Texas Instruments Incorporated Interleaver for transmit diversity
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
US7085984B2 (en) * 2001-12-28 2006-08-01 Samsung Electronics Co., Ltd. System and method for providing an improved channel encoder in a digital data communications system
US7236480B2 (en) * 2002-06-07 2007-06-26 Sandbridge Technologies, Inc. Method of first interleaving of a two interleaver transmitter
WO2004025839A1 (en) * 2002-09-09 2004-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Speed and memory optimised interleaving
CN100397787C (zh) * 2004-01-02 2008-06-25 明基电通股份有限公司 区块交错与解交错的编码方法
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7856579B2 (en) * 2006-04-28 2010-12-21 Industrial Technology Research Institute Network for permutation or de-permutation utilized by channel coding algorithm
US7797615B2 (en) * 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US7512863B2 (en) * 2005-10-12 2009-03-31 Qualcomm Corporation Turbo code interleaver for low frame error rate
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法
US7975203B2 (en) * 2007-01-17 2011-07-05 Broadcom Corporation Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size
US8120989B2 (en) 2007-06-25 2012-02-21 Qualcomm Incorporated Concurrent multiple-dimension word-addressable memory architecture
EP2139120B1 (de) * 2008-06-23 2019-01-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US7667628B2 (en) 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
DE102008029623A1 (de) 2008-06-23 2009-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US8712040B2 (en) * 2010-01-22 2014-04-29 Harlan J. Brothers Data-conditioned encryption method
US8850276B2 (en) * 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
CN105635065B (zh) * 2014-10-31 2019-07-19 上海复旦微电子集团股份有限公司 数据传输方法及装置
US10201026B1 (en) 2016-06-30 2019-02-05 Acacia Communications, Inc. Forward error correction systems and methods
CN111034057B (zh) * 2017-08-23 2022-04-22 华为技术有限公司 一种生成多核极化码的设备及方法
US10505676B1 (en) 2018-08-10 2019-12-10 Acacia Communications, Inc. System, method, and apparatus for interleaving data
CN110690907B (zh) * 2019-09-27 2023-04-25 电子科技大学 一种已知支路信息turbo码删除模式估计方法
CN110535478B (zh) * 2019-09-27 2023-02-07 电子科技大学 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0661873A (ja) * 1992-08-14 1994-03-04 Sony Corp インターリーブ回路及びデ・インターリーブ回路
US5446747A (en) * 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
JPH08265175A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置、復号装置及び伝送方式
JPH09116444A (ja) * 1995-10-23 1997-05-02 Sony Corp インターリーブ装置、符号化装置、デインターリーブ装置、復号装置、及び伝送方法
KR19990078446A (ko) * 1998-03-31 1999-10-25 윤종용 서비스 품질에 따른 프레임 데이터 처리를 위한 터보 부호화/복호화 장치 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA42709A (en) * 1893-04-21 The Grasselle Chemical Company Method of treating sludge
JPS574629A (en) 1980-05-21 1982-01-11 Sony Corp Data transmitting method capable of correction of error
JPS5961332A (ja) 1982-09-30 1984-04-07 Nec Corp 誤り訂正回路
EP0341851A3 (en) 1988-05-12 1991-06-12 Digital Equipment Corporation Method and apparatus for interleaved encoding
FR2706054B1 (fr) * 1993-06-02 1995-07-13 Alcatel Mobile Comm France Procédé d'entrelacement d'une séquence d'éléments de données, et dispositif d'entrelacement correspondant.
US6347385B1 (en) 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446747A (en) * 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
JPH0661873A (ja) * 1992-08-14 1994-03-04 Sony Corp インターリーブ回路及びデ・インターリーブ回路
JPH08265175A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置、復号装置及び伝送方式
JPH09116444A (ja) * 1995-10-23 1997-05-02 Sony Corp インターリーブ装置、符号化装置、デインターリーブ装置、復号装置、及び伝送方法
KR19990078446A (ko) * 1998-03-31 1999-10-25 윤종용 서비스 품질에 따른 프레임 데이터 처리를 위한 터보 부호화/복호화 장치 및 그 방법

Also Published As

Publication number Publication date
EP1030455A2 (en) 2000-08-23
AU1760300A (en) 2000-08-24
EP1030455B1 (en) 2004-04-21
CN1171391C (zh) 2004-10-13
CN1274202A (zh) 2000-11-22
DE60009973T2 (de) 2005-04-07
KR20000076697A (ko) 2000-12-26
CA2298919A1 (en) 2000-08-19
SG80092A1 (en) 2001-04-17
DE60009973D1 (de) 2004-05-27
CA2298919C (en) 2006-04-18
US6553516B1 (en) 2003-04-22
AU738693B2 (en) 2001-09-27
EP1030455A3 (en) 2002-04-17

Similar Documents

Publication Publication Date Title
KR100404898B1 (ko) 인터리빙 방법, 인터리빙 장치, 터보 부호화 방법 및 터보부호화 장치
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
US7072417B1 (en) LDPC encoder and method thereof
JP3347335B2 (ja) インタリービング方法、インタリービング装置、及びインタリーブパターン作成プログラムを記録した記録媒体
US4856003A (en) Error correction code encoder
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
JP7004008B2 (ja) 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
CN1136662C (zh) 寻找卷积反馈编码器起始状态的技术
JPWO2006087792A1 (ja) 符号化装置及び符号化方法
US6751773B2 (en) Coding apparatus capable of high speed operation
US6684365B1 (en) Encoding device and method, decoding device and method, providing medium, and method for generating data substitution position information
KR101493999B1 (ko) 선형 부호 생성 장치 및 방법
KR20040037157A (ko) 터보 코드용 하이브리드 인터리버
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
JP2003188737A (ja) インターリーブ処理方法及びインターリーブ処理装置
KR101279204B1 (ko) 터보 부호기의 인터리빙 방법 및 장치
CN106877882B (zh) 数据处理方法和装置
KR100218680B1 (ko) 길쌈부호화 방법
KR100510643B1 (ko) 이동통신 시스템에서의 인터리빙 방법
KR100800775B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
CN111446974A (zh) 一种低复杂度低延迟的gii-bch编码器硬件架构
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121002

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20191017

Year of fee payment: 17