KR20090044178A - 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치 - Google Patents

통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치 Download PDF

Info

Publication number
KR20090044178A
KR20090044178A KR1020070110144A KR20070110144A KR20090044178A KR 20090044178 A KR20090044178 A KR 20090044178A KR 1020070110144 A KR1020070110144 A KR 1020070110144A KR 20070110144 A KR20070110144 A KR 20070110144A KR 20090044178 A KR20090044178 A KR 20090044178A
Authority
KR
South Korea
Prior art keywords
latin square
square matrix
latin
matrix
interleaving
Prior art date
Application number
KR1020070110144A
Other languages
English (en)
Other versions
KR101110201B1 (ko
Inventor
배슬기
한승희
이종혁
송홍엽
김대선
김준성
Original Assignee
삼성전자주식회사
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 연세대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020070110144A priority Critical patent/KR101110201B1/ko
Priority to US12/290,391 priority patent/US8201030B2/en
Publication of KR20090044178A publication Critical patent/KR20090044178A/ko
Application granted granted Critical
Publication of KR101110201B1 publication Critical patent/KR101110201B1/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
    • H03M13/2775Contention or collision free turbo code internal 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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/01Equalisers

Landscapes

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

Abstract

본 발명은 통신시스템에서 병렬구조 인터리빙 방법 및 장치에 관한 것으로, 통신시스템에서 병렬구조 라틴방진 인터리빙 방법에 있어서, 입력되는 정보 비트들을 병렬처리 차수에 따라 서브블록으로 분리하는 과정과, 상기 병렬처리 차수를 기설정된 임계치와 비교하여 제 1 라틴방진(Latin Square) 행렬 또는 제 2 라틴방진 행렬을 생성하는 과정과, 상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보 비트를 독출하여 인터리빙을 수행하는 과정을 포함하여, 인터리버를 최적화하기 위해 고려해야 할 경우의 수가 다른 인터리버에 비해 상당히 적은 이점이 있다. 또한 다른 충돌방지 인터리버와 거의 같은 성능을 보여 주며 특히 높은 신호 대 잡음비(Eb/No)에서 프레임 오류율(Frame Error Rate: FER)성능이 개선된다.
병렬 인터리빙, 서브블록, 라틴방진, 터보부호.

Description

통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치{METHOD AND APPARATUS FOR PARALLER STRUCTURED LATIN SQUARE INTERLEAVING IN COMMUNICATION SYSTEM}
본 발명은 통신시스템에서의 채널 부호화에 관한 것으로, 특히 통신시스템에서 병렬처리 구조에 기반한 라틴방진(Latin Square) 인터리빙(interleaving) 방법 및 장치에 관한 것이다.
최근 이동통신이나 무선 데이터 통신에서 점점 높은 데이터 전송률이 필요하게 되면서 통신 대역폭 효율이나 신뢰도에 대한 요구조건이 높아지고 있다. 특히, 디지털 데이터를 송ㆍ수신하거나 저장매체를 통한 기록 및 판독, 오디오나 영상 같은 멀티미디어를 재생하는 과정에서 여러 요인에 의해 디지털 데이터에 오류가 발생하게 된다. 이러한 오류를 정정하거나 오류를 줄일 수 있는 오류제어(Error Control) 기법이 현재까지 많이 연구되어 오고 있는데 이러한 기술에는 대표적으로 오류정정부호(Forward Error Correction: 이하 "FEC"라 칭함)와 자동 재전송 요 구(Automatic Repeat reQuest: 이하 "ARQ"라 칭함) 프로토콜이 있다. 상기 FEC 기법 중 하나가 터보부호가 있으며, 순환 테일 바이팅(circular tail-biting) 부호화 기법과 더불어 터보부호의 병렬처리 기법에 관한 연구가 활발히 이루어져 오고 있다.
도 1은 터보 복호화기의 병렬처리 기법에 관한 블록도이다. 전체 블록의 크기 또는 인터리버의 크기를 N이라고 할 때, L개의 서브블록으로 분할되어 병렬처리가 수행된다. 이때, 각 블록의 크기는 M(N/L)이다. 각 블록은 독립된 프로세서 1 내지 프로세서 L 제어하에 메모리로부터 데이터 정보를 받아 동시에 복호화 과정을 진행하게 된다. 이때, 각 프로세서들은 인터리버 또는 디인터리버(deinterleaving)에 의해 정해진 인터리빙 규칙에 따라 데이터 정보를 받게 된다.
도 2는 4개의 서브블록으로 구성된 병렬처리 기반의 복호화 과정에서 충돌이 일어나는 예시도이다. 상기 도 1에서 상술한 바와 같이, 각 프로세서들은 인터리빙 규칙에 따라 해당 메모리로부터 데이터 정보비트를 독출하여 인터리빙을 수행한다. 상기 도 2를 참조하면, 두 개의 프로세서, 즉 프로세서 1과 프로세서 2가 동시에 첫 번째 메모리부터 정보를 독출하는 경우를 보여주고 있다. 한번에 하나의 정보만 접근이 가능하므로 두 프로세서에서 정보를 독출하기 위해 두 번의 접근 시간을 필요로 하며 이 경우를 충돌(200)이라고 한다. 이러한 충돌은 병렬 처리의 효율을 떨어트리며 이러한 충돌을 방지하기 위한 다양한 충돌 방지 인터리버들이 제안되어 오고 있다.
베로우(Berrou)는 ARP(Almost Regular Permutation)(<문헌 1>: Designing good permutations for turbo codes: towards a single model : C. Berrou, S. Kerouedan, Y. Saouter, C. Douillard, and M. Jezequel, Jun. 2004., in Pro. Int. Conf. Commun., 341~345쪽)을 제안하고 있다. 상기 ARP는 서로소(relative prime) 특성을 이용한 인터리버에 비규칙성을 추가한 인터리버로써, <수학식 1>과 같이 정의된다.
Figure 112007078317513-PAT00001
여기서, π(k)는 인터리버의 인터리빙 규칙으로써, 각 프로세서들이 메모리로부터 데이터 정보를 독출하는 순열을 나타낸다. 그리고, P는 N과 서로 소이고, L은 병렬 처리의 차수이며,
Figure 112007078317513-PAT00002
는 초기 설정 값이다.
Figure 112007078317513-PAT00003
에서 α(k)와 β(k)는 주기 L을 갖는 양의 정수이다. 일반적으로 α(k)는 0과 1 사이의 값을 갖으며 β(k)는 0부터 8 사이의 값을 갖는다. ARP는 IEEE 802.16, DVB-RCS((Digital Video Broadcast-Return Channel Satellite) 그리고, DVB-RCT(Digital Video Broadcast-Return Channel Terrestrial)등 다양한 표준에 인터리버(interleaver)로 채택되고 있으며 3GPP2(3rd Generation Partnership Project2)의 표준을 위한 인터리버로 제안되고 있다.
<문헌 2>(On Maximum Contention-Free Interleavers and Permutation Polynomials Over Integer Rings : O. Y. Takeshita, Mar. 2006., IEEE Transaction Information Theory, 1249~1253쪽)에서 제안된 QPP(Quadratic Permutation Polynomial) 인터리버는 대수학적인 방법으로 접근한다. 상기 QPP는 최대 충돌 방지 인터리버, 즉 블록크기 N을 나누는 모든 서브블록 크기 M에 대하여 충돌 방지 조건을 만족하는 인터리버이다. 상기 QPP 인터리버는 <수학식 2>와 같이 정의된다.
Figure 112007078317513-PAT00004
여기서, π(k)는 인터리버의 인터리빙 규칙이고, f1과 f2는 양의 정수들이며 f1과 f2가 가져야 할 조건들에 대한 설명은 상기 <문헌 2>을 참조하기로 한다.
그외, 기존에 설계된 짧은 길이의 인터리버를 이용하여 각 서브블록 내에서의 섞는 순서를 정하고 라틴방진 행렬을 이용한 인터리버가 있다. L×L 크기의 라틴방진 행렬은 서로 다른 L개의 심볼로 이루어져 있으며 모든 행과 모든 열이 각각 개의 심볼이 한 번씩 나타나는 행렬이다. 이런 라틴방진이 반복되는 형태로 M×L 행렬 U를 정할 수 있으며 이 행렬이 라틴방진 인터리버이다. 라틴방진 인터리버는 하기 <수학식 3>으로 정의 된다.
Figure 112007078317513-PAT00005
여기서, π(k)는 인터리버의 인터리빙 규칙이고, πT(t)는 기존에 설계된 서브블록 인터리버이고, uts는 행렬 U에서 t 번째 행과 s 번째 열에 있는 원소이고, M 은 서브블록의 크기이다. 그리고, k = sㆍM + t으로 계산된다.
일반적인 시스템에 병렬처리 구조의 터보부호를 설계하기 위해서는 시스템에서 지원하는 다양한 크기의 블록에 대하여 여러 차수의 병렬처리가 가능하도록 설계되어야 한다. 이를 위하여 각 제안된 인터리버들은 최적화 단계를 거쳐야 한다.
상기 <문헌 1>의 종래 기술인 ARP의 경우 최적화 단계 시 고려해야 할 경우의 수를 살펴보면, 초기 설정 값
Figure 112007078317513-PAT00006
와 α값이 정해지고 k(mod L)=0인 β(k)는 0 값을 가지고 나머지 k(mod L)≠0인 β(k)는 0부터 8 사이의 값을 갖는다고 가정할 시, 약 |P|ㆍ8L-1가지의 경우의 수를 고려해야 한다. 여기서 |x|는 x의 카디널러티(cardinality)를 의미한다.
상기 <문헌 2>의 종래 기술인 QPP의 경우 블록 길이 N에 따라 총 두 가지의 설계 방법이 존재한다. N이 4로 나눠지는 경우를 고려할 시 f1은 N과 서로 소인 양의 정수 값이며, f2는 N을 소수의 곱의 형태로 표시할 경우 그 소수들을 원소로 가지고 있는 양의 정수 값들이다. 그러므로, 총 |f1|ㆍ|f2|가지의 경우의 수가 존재한다.
마지막으로 라틴방진 인터리버의 경우에서 L=4인 경우 4×4 크기의 라틴방진 행렬은 총 576가지 경우의 수가 존재하며 축소된 라틴방진 행렬(reduced Latin square), 즉 첫 번째 행이 (0,1,2,3)으로 고정되어 있는 경우를 고려하면 총 24가 지 경우의 수가 있고, 이 중 분포가 좋은 12개만 고려하면 된다. 따라서, 상기 라틴방진 인터리버는 상기 <문헌 1>, <문헌 2>에 기술된 인터리버보다 고려해야할 경우의 수가 적다.
하지만, 일반적으로 작은 블록이나 중간 블록 크기의 터보부호의 경우 병렬처리 차수가 4이며 중간 블록이나 큰 블록의 크기의 경우 병렬처리 차수가 4보다 큰 8이나 12이다. 하기 <표 1>은 3가지 경우에 대해 각 인터리버들이 최적화를 위해 고려해야 할 경우의 수를 나타내고 있다.
N=320, L=4 N=640, L=4 N=1024, L=8
ARP 인터리버 40960 81920 1073741824
QPP 인터리버 15200 55360 261632
기존 라틴방진 인터리버 12 12 23309006400
상기 <표 1>을 보면, QPP의 경우 ARP에 비해 상대적으로 적은 양의 고려해야 할 경우의 수가 있지만 라틴방진 인터리버보다 상당히 많은 경우를 고려해야 한다. 상기 라틴방진 인터리버의 경우 L=4 일 때는 전체 블록크기에 상관없이 12가지 경우만 고려해야 하지만 L=8인 경우 고려해야 할 경우의 수가 기하급수적으로 증가하는 단점이 있다.
본 발명은 상기한 문제점을 해결하기 위해 제안된 것으로, 본 발명은 병렬처리 차수(L) 및 블록크기(N)에 상관없이 인터리버를 최적화하기 위한 경우의 수를 줄이면서 성능이 좋은 충돌방지 인터리버 방법 및 장치를 제안한다.
상기한 과제를 달성하기 위한 본 발명의 제 1 견지에 따르면, 통신시스템에서 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 방법에 있어서, 입력되는 정보 비트들을 병렬처리 차수에 따라 서브블록으로 분리하는 과정과, 상기 병렬처리 차수를 기설정된 임계치와 비교하여 제 1 라틴방진(Latin Square) 행렬 또는 제 2 라틴방진 행렬을 생성하는 과정과, 상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보 비트를 독출하여 인터리빙을 수행하는 과정을 포함하는 것을 특징으로 한다.
상기한 과제를 달성하기 위한 본 발명의 제 2 견지에 따르면, 통신시스템에서 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 장치에 있어서, 입력되는 정보 비트들을 병렬처리 차수에 따라 서브블록으로 분리하고, 상기 병렬처리 차수를 기설정된 임계치와 비교하여 제 1 라틴방진(Latin Square) 행렬 또는 제 2 라틴방진 행렬을 생성하고, 상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보 비트를 독출하여 인터리빙을 수행하는 인터리빙 장치.
상술한 바와 같이, 본 발명의 통신시스템에서 병렬처리 차수에 따라 라틴방진 인터리버를 구성하여 인터리빙을 수행함으로써, 인터리버를 최적화하기 위해 고려해야 할 경우의 수가 다른 인터리버에 비해 상당히 적은 이점이 있다. 또한 다른 충돌방지 인터리버와 거의 같은 성능을 보여 주며 특히 높은 신호 대 잡음비(Eb/No)에서 프레임 오류율(Frame Error Rate: FER)성능이 개선된다. 그리고, 서브블록 인터리버로 기존에 설계된 어떠한 형태의 인터리버든지 사용가능하다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명은 무선통신 시스템에서 메모리 충돌을 방지하지 하면서 병렬처리 차수에 따라 기본 라틴방진(Latin Square) 행렬로부터 확장된 라틴방진 행렬 을 구성하여 인터리빙(interleaving)을 수행하는 방법 및 장치에 대해 설명하기로 한다.
도 3은 본 발명의 실시 예에 따른 병렬구조 기반의 라틴방진 행렬을 이용한 인터리빙을 수행하는 흐름도를 도시하고 있다.
상기 도 3을 참조하면, 먼저 송신기는 300 단계에서 시스템이 요구하는 병렬처리 차수(L)에 따라 전체 데이터 블록(N)을 L개의 서브블록으로 분할한다. 여기서, 상기 각각의 서브블록 크기는 M(=N/L)이 된다.
이후, 상기 송신기는 302 단계에서 병렬처리 차수(L)가 정의된 임계치보다 큰지를 확인하여, 상기 병렬처리 차수(L)가 임계치보다 작을 시 310 단계로 진행하여 기존 라틴방진 인터리버(종래기술 설명된 라틴방진 인터리버 참조)를 사용하여 인터리빙을 수행한다. 이는 상기 기존 라틴방진 인터리버는 전체 데이터 블록 크기(N)와 병렬처리 차수(L)가 커질수록 다른 인터리버(예: <문헌 1>, <문헌 2> 참조)와 비교하여 인터리버를 최적화하기 위한 경우의 수가 기하 급수적으로 증가한다. 반면, 병렬처리 차수(L)가 정의된 임계치보다 작을 경우에는 다른 인터리버(예: <문헌 1>, <문헌 2> 참조)에 비교하여 인터리버를 최적화하기 위한 경우의 수가 훨씬 적다.
만약, 상기 302 단계에서 상기 병렬처리 차수(L)가 임계치보다 클 시 상기 송신기는 304 단계로 진행하여
Figure 112007078317513-PAT00007
크기의 라틴방진 행렬을 구성한다. 여기서,
Figure 112007078317513-PAT00008
은 병렬처리 차수(L)보다 작은 상수로써 L과
Figure 112007078317513-PAT00009
은 서로 소가 아니다(즉, L은
Figure 112007078317513-PAT00010
의 배수임). 상기 라틴방진 행렬은
Figure 112007078317513-PAT00011
의 서로 다른 기호를 써서
Figure 112007078317513-PAT00012
Figure 112007078317513-PAT00013
열의 정사각형으로 늘어놓을 때 각 행 각 열에 어느 기호도 꼭 한 개씩만 나타나는 행렬이다. 하기 <수학식 4>는
Figure 112007078317513-PAT00014
라틴방진 행렬을 나타내고 있다.
Figure 112007078317513-PAT00015
여기서, u l
Figure 112007078317513-PAT00016
라틴방진 행렬이고, ai ,ju l의 i행 j열의 원소를 나타낸다. 인터리버를 최적화하기 위한 경우의 수를 줄이기 위해서, u l의 첫 행
Figure 112007078317513-PAT00017
Figure 112007078317513-PAT00018
값으로 설정하여 라틴방진 행렬을 구성할 수 있고, 이와 같은 형태를
Figure 112007078317513-PAT00019
축소된 라틴방진 행렬이라고 하며 이외에도 다양하게
Figure 112007078317513-PAT00020
라틴방진 행렬을 구성할 수 있다.
이후, 상기 송신기는 306 단계로 진행하여
Figure 112007078317513-PAT00021
라틴방진 행렬로부터 확장 라틴방진 행렬을 생성한다. 여기서, 상기 <수학식 4>의 기본
Figure 112007078317513-PAT00022
라틴방진 행렬로부터
Figure 112007078317513-PAT00023
크기의 확장된 라틴방진 행렬은 상기 <수학식 5>로 나타낼 수 있다. 여기서, n은 라틴방진 행렬(u l)을 시스템이 요구하는 크기의 라틴방진 행렬(u L)로 변 환하기 위한 파라미터로 칭한다.
Figure 112007078317513-PAT00024
상기 <수학식 5>를 보면,
Figure 112007078317513-PAT00025
라틴방진 행렬 u l이 있을 때 (u l)(n)은 확장된 라틴방진 행렬 u n ㆍl로 확장된다. 여기서,
Figure 112007078317513-PAT00026
이고,
Figure 112007078317513-PAT00027
이다. 상기 <수학식 5>에 의해 확장된
Figure 112007078317513-PAT00028
행렬은 각 행과 열마다 서로 다른 L개의 심볼이 치환된 형태가 되므로 라틴방진 행렬이 된다. ul이 축소된 형태를 가지고 있다면 u L 또한 축소된 형태가 된다. 상세한 설명은 하기 도 4에서 설명하기로 한다.
이후, 상기 송신기는 308 단계에서 확장된 라틴방진 행렬을 이용하여 각각 서브블록 단위의 인터리빙 결과를 병합하여 전체 인터리빙을 수행한다.
이후, 송신기는 본 발명의 인터리빙 절차를 종료한다.
상기 도 3에서 상술한 바와 같이, 발명의 라틴방진 인터리버의 설계방법에서 시스템이 요구하는 병렬처리 차수가 높은 경우 작은 크기의 기본 라틴방진 행렬로부터 시스템이 요구하는 크기를 가지는 라틴방진 행렬들로 확장하여 생성한다. 그리고, 생성된 확장 라틴방진 행렬들로부터 라틴방진 인터리버들을 구성하여 최적의 성능을 산출하는 인터리버를 선택한다. 서브블록 인터리버의 경우 기존에 설계된 인터리버 사용이 가능하며 필요에 따라 변형될 수 있다.
도 4는 본 발명의 실시 예에 따른 기본 라틴방진 행렬로부터 확장된 라틴방진 행렬을 구성하는 흐름도를 도시하고 있다.
상기 도 4를 참조하면, 인터리버는 400 단계에서 i,j,n 값을 초기화한다. 여기서, i는 시간 인덱스이고, j는 병렬처리 인덱스이고, n은 축소된 라틴방진 행렬을 시스템이 요구하는 크기의 라틴방진 행렬로 변환하기 위한 파라미터이다. 구현에 따라서, j가 시간 인덱스로, i가 병렬처리 인덱스로 정의될 수 있다.
이후, 상기 인터리버는 402 단계에서 시스템에서 요구하는 라틴방진 행렬의 행 (또는 열) 크기 만큼 반복수행하기 위한 카운트(count)를 0으로 초기화한다.
이후, 상기 인터리버는 404 단계에서 축소 라틴방진 행렬의 행(또는 열)(0, 1, 2, ...,l-1)의 순열로부터
Figure 112007078317513-PAT00029
를 이용하여 확장 라틴방진 행렬의 행(또 는 열)을 확장한다. 여기서, k는
Figure 112007078317513-PAT00030
이다.
예를 들면, 상기 <수학식 4>의
Figure 112007078317513-PAT00031
라틴방진 행렬의 첫 행(a11 a12 ... al)을 상기 <수학식 5>의
Figure 112007078317513-PAT00032
확장 라틴방진 행렬의 첫 행(a11 a12 ... a1l a11 (1) a12 (1)... a1l (1) a11 (2) a12 (2)... a1l (2) .... a11 (n) a12 (n)... a1l (n))처럼 확장한다. 마찬가지로, 두 번째 행부터 L 번째 행까지도 정의된 상기 <수학식 5>에 의해 확장된다.
이후, 상기 인터리버는 406 단계에서 생성된 행(또는 열)을 카운트 번째 행(또는 열)으로 저장한다.
이후, 상기 인터리버는 408 단계에서 카운트 값을 하나 증가시키고 410 단계에서 카운트 값이 병렬처리 차수(L)보다 큰지를 확인하여, 카운트 값이 병렬처리 차수(L)보다 클 시 종료하고, 카운트 값이 병렬처리 차수(L)보다 작을 시 404 단계로 진행함으로써, 시스템에서 요구하는 라틴방진 행렬의 행(또는 열) 크기 만큼 반복수행하게 된다. 따라서, 병렬처리 차수(L)에 따라 404 단계 내지 408 단계를 반복수행함으로써 상기 <수학식 5>처럼 확장 라틴방진 행렬을 생성하게 된다. 구현에 따라서, 행 또는 열 단위가 아닌 행렬단위로 처리할 수도 있다.
이후, 본 발명의 알고리즘을 종료한다.
병렬처리 차수가 4인 경우를 가정하여 확장 라틴방진 행렬 예를 설명하기로 한다. 먼저, 병렬처리 차수(L)이 4인 4×4 축소된 라틴방진 행렬을 <수학식 6>에 나타내고 있다.
Figure 112007078317513-PAT00033
Figure 112007078317513-PAT00034
, 라고 가정
여기서, u 4는 축소한 형태이기 때문에 첫 행
Figure 112007078317513-PAT00035
은 항상 값을 가진다. (0 1 2 3)은 <수학식 5>를 통해 u 4로부터 u 8을 확장할 수 있다. 확장한 u 8는 <수학식 7>과 같다.
Figure 112007078317513-PAT00036
Figure 112007078317513-PAT00037
여기서, u 8 의 첫 열(a11 a12 a13 a14 a11 (1) a12 (1) a13 (1) a14 (1) )은 (0 1 2 3 4(a11 (1)= a11 +k*l= 0+1*4) 5(a12 (1)= a12 +k*l= 1+1*4) 6(a13 (1)= a13 +k*l= 2+1*4) 7(a14 (1)= a14 +k*l= 3+ 1*4))=(0 1 2 3 4 5 6 7)이 되고, 두 번째 열은 ( a21 (1) a22 (1) a23 (1) a24 (1) a21 a22 a23 a24)은 (5(a21 (1)= a21 +k*l= 1+1*4) 6(a22 (1)= a22 +k*l= 2+1*4) 7(a23 (1)= a23 +k*l= 3+1*4) 4(a24 (1)= a24 +k*l= 0 + 1*4) 1 2 3 0) = (5 6 7 4 1 2 3 0)이 된다. 마찬가지로, 나머지 열의 원소들을 산출할 수 있다.
n이 3인 경우에 u 4는 하기 <수학식 8>과 같이 확장된다.
Figure 112007078317513-PAT00038
<수학식 6>에 의해 정의된 축소된 형태의 u4는 총 24가지 경우가 존재하며 u4는로부터의 확장된 <수학식 7>의 u8과 <수학식 8>의 u12 또한 각각 24가지의 경우의 수가 존재하게 된다. 따라서, 인터리빙을 최적화를 위해 고려해야 할 경우의 수가 병렬처리 차수와 상관없이 축소된 라틴방진 행렬에 따라 결정되어서 적은 것을 확인할 수 있다.
도 5는 본 발명에 따른 병렬처리 구조의 인터리빙를 수행하기 위한 장치를 도시하고 있다.
상기 도 5를 참조하면, 전체 데이터 블록은 병렬처리 차수(L)에 따라 몇 개 의 서브블록으로 분할된다. 각 서브블록으로 구성된 데이터 정보는 메모리 1 내지 메모리 L에 각각 저장된다. 서브블록 인터리버는 메모리 1 내지 메모리 L에 저장되어 있는 데이터 정보를 인터리빙 규칙에 따라 독출한다. 서브블록 인터리버의 경우 기존에 설계된 인터리버를 사용할 수 있으며, 각 서브블록 인터리버들은 같은 인터리빙 동작을 수행한다. 각 서브블록 인터리버에 의해 뒤섞인 데이터 정보비트들은 라틴방진 인터리버에 의해 블록간에 데이터를 병합하여 데이터를 출력하게 된다.
본 발명에서 라틴방진 인터리버는 병렬처리의 차수에 따라 설계 방법이 달라진다. 일반적으로 전체 데이터 블록 길이(N)이 작거나 중간 크기의 경우(대략 2000 이하) 작은 차수의 병렬 처리를 요구하며, 전체 데이터 블록 길이가 중간 크기이거나 큰 경우(대략 1000 이상)는 높은 차수의 병렬 처리를 요구한다. 즉, 작은 차수의 경우 기존 라틴방진 인터리빙 설계 방법에 따라 라틴방진 행렬을 구성한다. 하지만, 시스템이 요구하는 병렬처리 차수(L)이 큰 경우
Figure 112007078317513-PAT00039
크기의 축소된 라틴방진 행렬로부터
Figure 112007078317513-PAT00040
크기의 확장된 라틴방진 행렬을 구성한다. 여기서,
Figure 112007078317513-PAT00041
은 L보다 작은 정수로써
Figure 112007078317513-PAT00042
과 L은 서로소가 아니다(L은
Figure 112007078317513-PAT00043
의 배수로 표현됨).
Figure 112007078317513-PAT00044
크기의 축소된 라틴방진 행렬로부터
Figure 112007078317513-PAT00045
크기의 확장된 라틴방진 행렬을 구성하는 상세한 방법은 상기 도 4를 참조하기로 한다.
이처럼, 라틴방진 인터리버는 병렬처리의 차수에 따라 라팅방진 행렬을 구성하게 되면(<수학식 7>, <수학식 8>), 라틴방진 인터리버는 구성된 라팅방진 행렬에 따라 데이터를 인터리빙하게 된다.
여기서, 설계된 라틴방진 행렬은 반복되는 형태로 M×L행렬 U을 형성하며 <수학식 3>에 의해 인터리버 기능을 수행한다. 도 6은 <수학식 3>에 의해 정의된 라틴방진 인터리버의 실행 과정을 그린 블록 다이어그램이다. 예를 들어, 첫 번째 프로세서 1의 k 번째 위치(601)에서 메모리로부터 정보를 읽어 올 경우 행렬 U에 의해 정의된 ut0 번째 서브블록의 πT(t)번째 있는 정보를 읽어오게 된다. 두 번째 프로세서 2의 k 번째 위치는 ut1 번째 서브블록의 πT(t)번째 있는 정보를 읽어오게 된다. 마찬가지로, L개의 프로세서가 동시에 행렬 U에 의해 정의된 서브블록 위치로부터 πT(t) 번째 있는 정보를 동시에 읽어 옴으로서 병렬 처리가 수행된다. 라틴방진 행렬의 특성상 하나의 행 또는 열에서 같은 서브블록의 인덱스가 존재하지 않으므로, 메모리 충돌이 발생하지 않는다
도 7a는 본 발명에 다른 병렬처리의 차수가 4이고 전체 블록 길이 N이 640인 경우 라틴방진 인터리버와 ARP의 성능을 Eb/N0에 대하여 FER(Frame Error Rate)을 비교한 것이다. 여기서, ARP의 파라미터는 3GPP2의 표준화 작업에서 제안한 것을 사용하였다. ARP의 파라미터는 <수학식 9>와 같다.
Figure 112007078317513-PAT00046
라틴방진 인터리버의 경우 서브블록 인터리버로 길이 160의 3GPP 인터리버를 사용했고 라틴방진 행렬의 형태는 <수학식 10>과 같다.
Figure 112007078317513-PAT00047
전체 부호율은 1/3이며, 구성 길쌈 부호의 발생 행렬은 <수학식 11>과 같다. 복호 방법은 max log-MAP을 사용했으며 최대 8번 반복 복호를 하였고 복호 중 복호된 비트에 오류가 없을 경우 반복 복호를 종료하였다.
Figure 112007078317513-PAT00048
약 1.5 dB까지는 비슷한 성능을 보여 주고 있으며 그 이후로 ARP가 약간 좋은 성능을 보여 주고 있다. 하지만, ARP의 경우 약 2.25dB부터는 Eb/N0가 증가하더라도 성능이 거의 향상되지않고 라틴방진 인터리버의 경우 높은 신호 대 잡음비에서도 좋은 성능을 보여 주고 있다(700).
도 7b은 본 발명에 따른 병렬처리의 차수가 8이고 블록 길이 N이 1024인 경우 라틴방진 인터리버와 QPP의 성능을 Eb/N0에 대하여 FER을 비교한 것이다. QPP의 인터리버 파라미터는 <수학식 12>와 같다.
Figure 112007078317513-PAT00049
라틴방진 인터리버의 경우 서브블록 인터리버로 길이 128의 3GPP 인터리버를 사용했고 라틴방진 행렬의 형태는 <수학식 13>과 같다.
Figure 112007078317513-PAT00050
다른 모의실험 환경은 도 7a와 유사하다. 약 1.25dB 까지는 두 인터리버가 거의 비슷한 성능을 보여주고 있으며 그 이후로부터 약 1.8 dB까지는 QPP 인터리버 가 더 좋은 성능을 보여주고 있다. 하지만, QPP 인터리버는 Eb/N0가 증가하더라도 성능 향상이 적어 지게 된다. 제안된 라틴방진 인터리버의 경우 ARP의 경우와 마찬가지로 높은 신호 대 잡음비에서도 좋은 성능을 보여 주고 있다(702).
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 터보 복호화기의 병렬처리 기법에 관한 블록도,
도 2는 4개의 서브블록으로 구성된 병렬처리 기반의 복호화 과정에서 충돌이 일어나는 예시도,
도 3은 본 발명의 실시 예에 따른 병렬구조 기반의 라틴방진 행렬을 이용한 인터리빙을 수행하는 흐름도,
도 4는 본 발명의 실시 예에 따른 기본 라틴방진 행렬로부터 확장된 라틴방진 행렬을 구성하는 흐름도,
도 5는 본 발명에 따른 병렬처리 구조의 인터리빙를 수행하기 위한 장치도,
도 6은 본 발명에 따른 라틴방진 인터리버의 실행 과정 예시도,
도 7a는 병렬처리의 차수가 4이고 전체 블록 길이 N이 640인 경우 라틴방진 인터리버와 ARP의 성능을 Eb/N0에 대하여 FER을 비교한 성능 그래프 및,
도 7b은 병렬처리의 차수가 8이고 블록 길이 N이 1024인 경우 라틴방진 인터리버와 QPP의 성능을 Eb/N0에 대하여 FER을 비교한 성능 그래프.

Claims (20)

  1. 통신시스템에서 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 방법에 있어서,
    입력되는 정보 비트들을 병렬처리 차수에 따라 서브블록으로 분리하는 과정과,
    상기 병렬처리 차수를 기설정된 임계치와 비교하여 제 1 라틴방진(Latin Square) 행렬 또는 제 2 라틴방진 행렬을 생성하는 과정과,
    상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보비트를 독출하여 인터리빙을 수행하는 과정을 포함하는 것을 특징으로 하는 인터리빙 방법.
  2. 제 1항에 있어서,
    상기 병렬처리 차수가 임계치보다 낮은 경우, 분포도가 좋은 상기 병렬처리 차수 크기의 라틴 방진 행렬(제 1 라틴방진 행렬이라 칭함)을 생성하는 것을 특징으로 하는 인터리빙 방법.
  3. 제 1항에 있어서,
    상기 병렬처리 차수가 임계치보다 높은 경우, 상기 병렬처리 차수보다 작은 기설정된 차수 크기의 라틴방진 행렬을 생성하고, 상기 라틴방진 행렬로부터 상기 병렬처리 차수의 크기로 확장된 라틴방진 행렬(제 2 라틴방진 행렬이라 칭함)을 생성하는 것을 특징으로 하는 인터리빙 방법.
  4. 제 3항에 있어서,
    상기 설정된 차수 크기(
    Figure 112007078317513-PAT00051
    )는 상기 병렬처리 차수(L)보다 작은 상수로써 상기 L은
    Figure 112007078317513-PAT00052
    의 배수인 것을 특징으로 하는 인터리빙 방법.
  5. 제 3항에 있어서,
    상기 제 2 라틴방진 행렬은 하기 <수학식 14>로 표현되는 것을 특징으로 하는 인터리빙 방법.
    Figure 112007078317513-PAT00053
    여기서,
    Figure 112007078317513-PAT00054
    u L은 제 2 라틴방진 행렬이고,
    Figure 112007078317513-PAT00055
    크기의 u l은 라틴방진 행렬이고, n은 라틴방진 행렬(u l)을 시스템이 요구하는 크기의 라틴방진 행렬(u L)로 변환하기 위한 파라미터임.
  6. 제 5항에 있어서,
    상기 제 2 라틴방진 행렬의 ai ,j (k) 원소는 하기 <수학식 15>로 산출되는 것을 특징으로 하는 인터리빙 방법.
    Figure 112007078317513-PAT00056
    Figure 112007078317513-PAT00057
    ,
    여기서, ai ,j (k) 는 상기 제 2 라틴방진 행렬의 해당 원소이고, ai ,j는 축소된 라틴방진 행렬(u l)의 i 행 j 열의 원소의 원소이고,
    Figure 112007078317513-PAT00058
    은 기설정된 차수 크기이고, i는 서브블록의 인덱스이고, j는 시간영역 인덱스임.
  7. 제 1항에 있어서,
    상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보비트를 독출하여 인터리빙을 수행하는 과정 시, 메모리 충돌이 발생하지 않도록 정보비트 순열이 결정되는 것을 특징으로 하는 인터리빙 방법.
  8. 제 7항에 있어서,
    상기 정보비트 순열은 하기 <수학식 16>에 의해 결정되는 것을 특징으로 하는 인터리빙 방법.
    Figure 112007078317513-PAT00059
    Figure 112007078317513-PAT00060
    ,
    여기서, π(k)는 인터리버의 인터리빙 규칙이고, πT(t)는 기존에 설계된 서브블록 인터리버이고, uij는 제 2 라틴방진 행렬 U에서 i행과 j열에 있는 원소이고, M은 서브블록의 크기임.
  9. 제 1항에 있어서,
    상기 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 방법은 터보부호의 병렬처리 기법을 기반으로 하는 것을 특징으로 하는 인터리빙 방법.
  10. 제 1항에 있어서,
    상기 서브블록의 개수를 열(column)의 개수로 설정하고, 각 서브블록당 비트 개수를 행(row)의 개수로 설정하여 제 1 라팅방진 행렬을 생성하거나 상기 서브블록의 개수를 행(row)의 개수로 설정하고, 각 서브블록당 비트 개수를 열(column)의 개수로 설정하여 제 1 라팅방진 행렬을 생성하는 과정을 더 포함하는 것을 특징으로 하는 인터리빙 방법.
  11. 통신시스템에서 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 장치에 있어서,
    입력되는 정보 비트들을 병렬처리 차수에 따라 서브블록으로 분리하고, 상기 병렬처리 차수를 기설정된 임계치와 비교하여 제 1 라틴방진(Latin Square) 행렬 또는 제 2 라틴방진 행렬을 생성하고, 상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보 비트를 독출하여 인터리빙을 수행하는 인터리빙 장치.
  12. 제 11항에 있어서,
    상기 병렬처리 차수가 임계치보다 낮은 경우, 분포도가 좋은 상기 병렬처리 차수 크기의 라틴 방진 행렬(제 1 라틴방진 행렬이라 칭함)을 생성하는 것을 특징으로 하는 인터리빙 장치.
  13. 제 11항에 있어서,
    상기 병렬처리 차수가 임계치보다 높은 경우, 상기 병렬처리 차수보다 작은 기설정된 차수 크기의 라틴방진 행렬을 생성하고, 상기 라틴방진 행렬로부터 상기 병렬처리 차수의 크기로 확장된 라틴방진 행렬(제 2 라틴방진 행렬이라 칭함)을 생성하는 것을 특징으로 하는 인터리빙 장치.
  14. 제 13항에 있어서,
    상기 설정된 차수 크기(
    Figure 112007078317513-PAT00061
    )는 상기 병렬처리 차수(L)보다 작은 상수로써 상기 L은
    Figure 112007078317513-PAT00062
    의 배수인 것을 특징으로 하는 인터리빙 장치.
  15. 제 13항에 있어서,
    상기 제 2 라틴방진 행렬은 하기 <수학식 17>로 표현되는 것을 특징으로 하는 인터리빙 장치.
    Figure 112007078317513-PAT00063
    여기서,
    Figure 112007078317513-PAT00064
    u L은 제 2 라틴방진 행렬이고,
    Figure 112007078317513-PAT00065
    크기의 u l은 라틴방진 행렬이고, n은 라틴방진 행렬(u l)을 시스템이 요구하는 크기의 라틴방진 행렬(u L)로 변환하기 위한 파라미터임.
  16. 제 15항에 있어서,
    상기 제 2 라틴방진 행렬의 ai ,j (k) 원소는 하기 <수학식 18>로 산출되는 것을 특징으로 하는 인터리빙 장치.
    Figure 112007078317513-PAT00066
    Figure 112007078317513-PAT00067
    ,
    여기서, ai ,j (k) 는 상기 제 2 라틴방진 행렬의 해당 원소이고, ai ,j는 축소된 라틴방진 행렬(u l)의 i 행 j 열의 원소의 원소이고,
    Figure 112007078317513-PAT00068
    은 기설정된 차수 크기이고, i는 서브블록의 인덱스이고, j는 시간영역 인덱스임.
  17. 제 11항에 있어서,
    상기 생성된 라틴방진 행렬에 따라 각 서브블록으로 분리된 정보비트를 독출하여 인터리빙을 수행하는 과정 시, 메모리 충돌이 발생하지 않도록 정보비트 순열이 결정되는 것을 특징으로 하는 인터리빙 장치.
  18. 제 17항에 있어서,
    상기 정보비트 순열은 하기 <수학식 20>에 의해 결정되는 것을 특징으로 하는 인터리빙 장치.
    Figure 112007078317513-PAT00069
    Figure 112007078317513-PAT00070
    ,
    여기서, π(k)는 인터리버의 인터리빙 규칙이고, πT(t)는 기존에 설계된 서브블록 인터리버이고, uij는 제 2 라틴방진 행렬 U에서 i행과 j열에 있는 원소이고, M은 서브블록의 크기임.
  19. 제 11항에 있어서,
    상기 병렬구조기반의 라틴방진 행렬을 이용한 인터리빙 방법은 터보부호의 병렬처리 기법을 기반으로 하는 것을 특징으로 하는 인터리빙 장치.
  20. 제 11항에 있어서,
    상기 서브블록의 개수를 열(column)의 개수로 설정하고, 각 서브블록당 비트 개수를 행(row)의 개수로 설정하여 제 1 라팅방진 행렬을 생성하거나 상기 서브블록의 개수를 행(row)의 개수로 설정하고, 각 서브블록당 비트 개수를 열(column)의 개수로 설정하여 제 1 라팅방진 행렬을 생성하는 과정을 더 포함하는 것을 특징으로 하는 인터리빙 장치.
KR1020070110144A 2007-10-31 2007-10-31 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치 KR101110201B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070110144A KR101110201B1 (ko) 2007-10-31 2007-10-31 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
US12/290,391 US8201030B2 (en) 2007-10-31 2008-10-30 Method and apparatus for parallel structured Latin square interleaving in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070110144A KR101110201B1 (ko) 2007-10-31 2007-10-31 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090044178A true KR20090044178A (ko) 2009-05-07
KR101110201B1 KR101110201B1 (ko) 2012-02-15

Family

ID=40584473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070110144A KR101110201B1 (ko) 2007-10-31 2007-10-31 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치

Country Status (2)

Country Link
US (1) US8201030B2 (ko)
KR (1) KR101110201B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476902B2 (ja) * 2009-09-30 2014-04-23 富士通株式会社 ターボ復号装置及び通信装置
FR2955001A1 (fr) * 2010-01-06 2011-07-08 St Microelectronics Grenoble 2 Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable
EP2706667A1 (en) 2010-09-13 2014-03-12 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process
GB2515798A (en) * 2013-07-04 2015-01-07 Norwegian Univ Sci & Tech Ntnu Network coding over GF(2)
US10201026B1 (en) 2016-06-30 2019-02-05 Acacia Communications, Inc. Forward error correction systems and methods
US10505676B1 (en) * 2018-08-10 2019-12-10 Acacia Communications, Inc. System, method, and apparatus for interleaving data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034269A1 (en) * 2000-07-28 2002-03-21 Victor Demjanenko Use of soft-decision or sum-product inner coders to improve the performance of outer coders
US6603412B2 (en) * 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
KR20050119595A (ko) * 2004-06-16 2005-12-21 삼성전자주식회사 이동통신 시스템에서 연접 지그재그 부호를 이용한 채널부호화/복호화 장치 및 방법
KR100627723B1 (ko) * 2004-06-24 2006-09-25 학교법인연세대학교 터보 복호화를 위한 병렬 복호 방법 및 이를 사용한 터보복호기
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
KR20070085244A (ko) * 2007-04-02 2007-08-27 미쓰비시덴키 가부시키가이샤 검사 행렬 생성 방법 및 통신 방법

Also Published As

Publication number Publication date
US8201030B2 (en) 2012-06-12
KR101110201B1 (ko) 2012-02-15
US20090113271A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP3996514B2 (ja) ターボ復号器のためのバッファアーキテクチャ
JP4858991B2 (ja) データを符号化および復号するための方法および装置
AU758085B2 (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
US8065588B2 (en) Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave
US8069387B2 (en) Turbo coding having combined turbo de-padding and rate matching de-padding
KR20090127878A (ko) 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
KR101110201B1 (ko) 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
US20080092010A1 (en) Error correction code decoding device
KR101435830B1 (ko) 인터리빙 수행 방법
US6625762B1 (en) Interleaving device and method for turbocoding and turbodecoding
KR100963463B1 (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
EP2313979B1 (en) Methods for programmable decoding of a plurality of code types
JP5122480B2 (ja) 高速な符号化方法および復号方法ならびに関連する装置
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR20080041488A (ko) 병렬 인터리빙 장치 및 방법
JP4837645B2 (ja) 誤り訂正符号復号回路
US8024636B2 (en) Serially concatenated convolutional code decoder with a constrained permutation table
KR100628201B1 (ko) 터보 디코딩 방법
KR19990081470A (ko) 터보복호기의 반복복호 종료 방법 및 그 복호기
US9130728B2 (en) Reduced contention storage for channel coding
US9128888B2 (en) Method and apparatus for turbo decoder memory collision resolution
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
Gazi Prunable collision free random interleaver design
CN114337689A (zh) 双二进制Turbo码的编译码方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20141223

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 8