KR101482689B1 - 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법 - Google Patents

인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법 Download PDF

Info

Publication number
KR101482689B1
KR101482689B1 KR1020130108017A KR20130108017A KR101482689B1 KR 101482689 B1 KR101482689 B1 KR 101482689B1 KR 1020130108017 A KR1020130108017 A KR 1020130108017A KR 20130108017 A KR20130108017 A KR 20130108017A KR 101482689 B1 KR101482689 B1 KR 101482689B1
Authority
KR
South Korea
Prior art keywords
address
interleaved
interleaver
dividing
memory
Prior art date
Application number
KR1020130108017A
Other languages
English (en)
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 KR1020130108017A priority Critical patent/KR101482689B1/ko
Application granted granted Critical
Publication of KR101482689B1 publication Critical patent/KR101482689B1/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
    • H03M13/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

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

Abstract

인터리브드 어드레스 매핑 방법에서는 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리버 어드레스 생성기가 인터리브드(interleaved) 어드레스를 생성하고, 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트와 나머지에 해당하는 메모리 행 어드레스를 생성한다. 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리로부터 독출하여 연결 네트워크에 전달한다. 연결 네트워크에서 시작 포인트 및 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 P개의 독출 데이터들을 P개의 시소 디코더들에 매핑한다. 인터리브드 어드레스 매핑 방법을 사용하면 터보 디코더를 포함하는 시스템의 복잡도를 감소시킬 수 있다.

Description

인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법{METHOD OF MAPPING INTERLEAVED ADDRESS AND DECODING METHOD INCLUDING THE SAME}
본 발명은 반도체 장치에 관한 것으로서, 더욱 상세하게는 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법에 관한 것이다.
LTE(Long Term Evolution)은 현재 전세계 무선 이동 통신 시장의 대표적인 이동 통신 규약이다. LTE는 스마트폰과 태블릿 PC등 모바일 기기의 보급이 증가하면서 급속하게 늘어난 데이터 전송량에 관한 문제를 해결하고 있다.
높은 데이터 전송량을 확보하기 위하여 LTE 터보 디코더 또한 높은 처리율(throughput)이 요구되는데, 높은 처리율을 만족시키기 위해서 여러 개의 디코딩 엔진들을 사용한다. 여러 개의 디코딩 엔진들을 사용하여 디코딩을 수행하는 경우, 여러 개의 인터리버가 요구되어 전체 시스템의 하드웨어 복잡도를 높인다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 터보 디코더를 포함하는 통신 시스템의 하드웨어 복잡도를 감소시킬 수 있는 인터리브드 어드레스 매핑 방법을 제공하는 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 터보 디코더를 포함하는 통신 시스템의 하드웨어 복잡도를 감소시킬 수 있는 디코딩 방법을 제공하는 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 통신 시스템의 하드웨어 복잡도를 감소시킬 수 있는 터보 디코더를 제공하는 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 터보 디코더를 포함하는 통신 시스템의 하드웨어 복잡도를 감소시킬 수 있는 무선 수신 장치를 제공하는 것이다.
상기한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 인터리브 어드레스 매핑 방법는 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리버 어드레스 생성기가 인터리브드(interleaved) 어드레스를 생성하고, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트와 나머지에 해당하는 메모리 행 어드레스를 생성하는 단계, 상기 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리로부터 독출하여 연결 네트워크에 전달하는 단계 및 상기 연결 네트워크에서 상기 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 P개의 시소 디코더들에 매핑하는 단계를 포함한다.
예시적인 실시예에 있어서, 상기 기본 순열 패턴은 아래의 [수학식 1] 및 [수학식 2]에 기초하여 도출될 수 있다.
Figure 112013082364078-pat00001
(여기서, x는 인터리브 수행 이전 어드레스,
Figure 112013082364078-pat00002
는 인터리브 수행 이후 인터리브드 어드레스, f1및 f2는 인터리버 상수, N은 코드의 길이(N=P
Figure 112013082364078-pat00003
L)를 나타낸다.)
Figure 112013082364078-pat00004
(여기서,
Figure 112013082364078-pat00005
는 인터리브 수행 이전 어드레스,
Figure 112013082364078-pat00006
는 인터리브 수행 이후의 인터리브드 어드레스,
Figure 112013082364078-pat00007
는 인터리브드 어드레스를 L로 나눈 몫,
Figure 112013082364078-pat00008
는 인터리브드 어드레스를 L로 나눈 나머지를 나타낸다.)
예시적인 실시예에 있어서, 상기 [수학식 2]에서 복수의 i값들 중 i1과 i2가 동일하지 않은 경우 상기 인터리브드 어드레스를 L로 나눈 몫들은 동일하지 않고, 상기 [수학식 2]에서 복수의 j값들 중 j1과 j2가 동일한 경우 상기 인터리브드 어드레스를 L로 나눈 나머지들은 동일할 수 있다.
예시적인 실시예에 있어서, 상기 액세스 어드레스는 0부터 L-1사이의 L개의 스텝들 중 하나의 스텝에 상응하는 어드레스일 수 있다.
예시적인 실시예에 있어서, 상기 인터리브드 어드레스를 L값으로 나눈 몫에 해당하는 상기 시작 포인트가 0인 경우, 상기 기본 순열 패턴은 상기 인터리브드 어드레스가 위치하는 상기 메모리 상의 동일 행의 주소들을 L값으로 나눈 몫들의 집합일 수 있다.
예시적인 실시예에 있어서, 상기 기본 순열 패턴의 각 원소들에 상기 시작 포인트의 값을 합하여 얻어지는 매핑 패턴을 기준으로 상기 P개의 독출 데이터들을 상기 P개의 시소 디코더들에 매핑할 수 있다.
예시적인 실시예에 있어서, 상기 P가 2
Figure 112013082364078-pat00009
f2
Figure 112013082364078-pat00010
L를 나머지 없이 나누는 경우, 상기 기본 순열 패턴의 원소들간의 차는 동일할 수 있다.
예시적인 실시예에 있어서, 상기 기본 순열 패턴은 P/GCD(P, 2
Figure 112013082364078-pat00011
f2)의 값을 주기로 반복될 수 있다
예시적인 실시예에 있어서, 상기 주기가 1인 경우, 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정될 수 있다.
예시적인 실시예에 있어서, 상기 P가 1, 2 또는 4인 경우 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정되고, 상기 P가 8이고, 상기 f2가 4의 배수인 경우 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정되며, 상기 P가 8이고 상기 f2가 4의 배수가 아닌 짝수인 경우 상기 기본 순열 패턴은 2개일 수 있다.
예시적인 실시예에 있어서, 상기 기본 순열 패턴은 상기 P, 상기 코드 길이 N 및 상기 인터리버 상수에 따라 변동할 수 있다.
예시적인 실시예에 있어서, 상기 메모리는 폴디드(folded) 메모리일 수 있다.
상기한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 디코딩 방법은 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리버 어드레스 생성기가 인터리브드(interleaved) 어드레스를 생성하고, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트와 나머지에 해당하는 메모리 행 어드레스를 생성하는 단계, 상기 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리로부터 독출하여 연결 네트워크에 전달하는 단계, 상기 연결 네트워크에서 상기 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 P개의 시소 디코더들에 매핑하는 단계 및 상기 P개의 독출 데이터들을 상기 P개의 시소 디코더들을 통해서 디코딩하여 디코딩 데이터들을 출력하는 단계를 포함한다.
상기한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 터보 디코더는 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스를 생성하는 인터리버 어드레스 생성기, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 인터리브드 어드레스를 L값으로 나누어 몫에 해당하는 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 매핑하는 연결 네트워크 및 상기 매핑된 독출 데이터들을 디코딩하여 디코딩 데이터들을 출력하는 복수의 시소 디코더들을 포함한다.
상기한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 무선 수신 장치는 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행하는 디모듈레이션 유닛 및 상기 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하여 터보 디코딩 데이터를 출력하는 채널 디코딩 유닛를 포함하고, 상기 채널 디코딩 유닛은 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스를 생성하는 인터리버 어드레스 생성기, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 인터리브드 어드레스를 L값으로 나누어 몫에 해당하는 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 매핑하는 연결 네트워크 및 상기 매핑된 독출 데이터들을 디코딩하여 디코딩 데이터들을 출력하는 복수의 시소 디코더들을 포함한다.
도 1은 본 발명의 실시예들에 따른 인터리브드 어드레스 매핑 방법을 나타내는 순서도이다.
도 2는 도 1의 인터리브드 어드레스 매핑 방법의 일 예를 나타내는 도면이다.
도 3은 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 독출하는 동작의 일 예를 나타내는 도면이다.
도 4는 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 시소 디코더에 매핑하는 동작의 일 예를 나타내는 도면이다.
도 5는 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 시소 디코더에 매핑하는 동작의 다른 예를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 디코딩 방법을 나타내는 순서도이다.
도 7은 본 발명의 실시예들에 따른 터보 디코더를 나타내는 블록도이다.
도 8은 본 발명의 실시예들에 따른 무선 송수신 장치를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 인터리브드 어드레스 매핑 방법을 나타내는 순서도이고, 도 2는 도 1의 인터리브드 어드레스 매핑 방법의 일 예를 나타내는 도면이다.
도 1및 후술하는 도 3을 참조하면, 인터리브드 어드레스 매핑 방법에서는 액세스 어드레스(A_ADDR) 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리버 어드레스 생성기(IAG)(100)가 인터리브드 어드레스(Interleaved Address, I_ADDR)를 생성하고, 인터리브드 어드레스(I_ADDR)를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트(SP)와 나머지에 해당하는 메모리 행 어드레스(ROW_ADDR)를 생성한다(단계 S100). 메모리 행 어드레스(ROW_ADDR)에 상응하는 P(P는 자연수)개의 독출 데이터(Read Data, R_DATA)들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리(300)로부터 독출하여 연결 네트워크(500)에 전달한다(단계 S110). 연결 네트워크(500)에서 시작 포인트(SP) 및 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴(BPP)에 기초하여 P개의 독출 데이터들(R_DATA)을 P개의 시소 디코더들(700)에 매핑한다(단계 S120).
도 2를 참조하면, 액세스 어드레스(A_ADDR)는 0부터 L-1까지의 정수일 수 있다. 인터리버 어드레스 생성기(100)는 액세스 어드레스(A_ADDR)를 전달받아 인터리버 수식에 기초하여 인터리브드 어드레스(I_ADDR)를 출력할 수 있다. 메모리 행 어드레스(ROW_ADDR)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지일 수 있고, 메모리(300)의 동일 행에 배치되는 데이터들을 독출하는 경우에 사용될 수 있다. 시작 포인트(SP)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫일 수 있고, 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더들(700)에 매핑하는 경우 사용될 수 있다. 연결 네트워크(500)는 시작 포인트(SP) 및 기본 순열 패턴(BPP)에 기초하여 독출 데이터들(R_DATA)을 시소 디코더들(700)에 매핑할 수 있다.
예를 들어, 액세스 어드레스(A_ADDR)가 j(j는 0부터 L-1까지의 정수) 라고 하면 액세스 어드레스(A_ADDR)에 상응하는 인터리브드 어드레스(I_ADDR)는 2L+2일 수 있다. 메모리 행 어드레스(ROW_ADDR)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지에 해당하는 2일 수 있고, 메모리(300)의 2행에 베치되는 데이터들을 독출하는 경우에 사용될 수 있다. 시작 포인트(SP)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫인 2일 수 있고, 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑하는 경우 사용될 수 있다. 연결 네트워크(500)는 시작 포인트(SP)인 2 및 기본 순열 패턴(BPP)에 따라 독출 데이터들(R_DATA)을 시소 디코더들(700)에 매핑할 수 있다.
본 발명에 따른 인터리브드 어드레스 매핑 방법은 액세스 어드레스(A_ADDR)에 해당하는 0부터 L-1까지의 값을 이용하여 시작 포인트(SP) 값을 얻고 인터리버 수식의 패턴으로부터 기본 순열 패턴(BPP)을 얻을 수 있다. 시작 포인트(SP) 및 기본 순열 패턴(BPP)을 이용하면 P개의 인터리버를 구현할 필요가 없이 하나의 인터리버로 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑할 수 있다. 따라서 인터리브드 어드레스 매핑 방법을 사용하면 터보 디코더를 포함하는 시스템의 복잡도를 감소시킬 수 있다.
예시적인 실시예에 있어서, 기본 순열 패턴(BPP)은 아래의 [수학식 1] 및 [수학식 2]에 기초하여 도출될 수 있다.
[수학식 1]
Figure 112013082364078-pat00012
x는 인터리브 수행 이전 어드레스를 나타내고,
Figure 112013082364078-pat00013
는 인터리브 수행 이후 인터리브드 어드레스를 나타내며, f1및 f2는 인터리버 상수를 나타내고, N은 코드의 길이(N=P
Figure 112013082364078-pat00014
L)를 나타낸다.
[수학식 2]
Figure 112013082364078-pat00015
Figure 112013082364078-pat00016
는 인터리브 수행 이전 어드레스를 나타내고,
Figure 112013082364078-pat00017
는 인터리브 수행 이후의 인터리브드 어드레스를 나타내며,
Figure 112013082364078-pat00018
는 인터리브드 어드레스를 L로 나눈 몫을 나타내고,
Figure 112013082364078-pat00019
는 인터리브드 어드레스를 L로 나눈 나머지를 나타낸다.
예시적인 실시예에 있어서, 상기[수학식 2]에서 복수의 i값들 중 i1과 i2가 동일하지 않은 경우 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫들은 동일하지 않고, 상기 [수학식 2]에서 복수의 j값들 중 j1과 j2가 동일한 경우 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지들은 동일할 수 있다.
예를 들어, 코드 길이가 40인 LTE 코드를 4개의 시소 디코더들(700)을 사용하여 디코딩하는 경우, LTE 스탠다드에 정의된 것과 같이 코드 길이(N)가 40이면 인터리버 수식은 아래의 [수학식 3]과 같다.
[수학식 3]
Figure 112013082364078-pat00020
(x)=(3x+10x^2) mod 40
비 인터리브드 페이즈(Non-interleaved phase)에서 SISO-0은 0, 1, 2 …, 9에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-1은 10, 11, 12 …, 19에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-2은 20, 21, 22 …, 29에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-3은 30, 31, 32 …, 39에 해당하는 10개의 비트를 디코딩 할 수 있다.
인터리브드 페이즈(interleaved phase)에서 SISO-0은
Figure 112013082364078-pat00021
(0),
Figure 112013082364078-pat00022
(1),
Figure 112013082364078-pat00023
(2) …,
Figure 112013082364078-pat00024
(9)에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-1은
Figure 112013082364078-pat00025
(10),
Figure 112013082364078-pat00026
(11),
Figure 112013082364078-pat00027
(12) …,
Figure 112013082364078-pat00028
(19)에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-2은
Figure 112013082364078-pat00029
(20),
Figure 112013082364078-pat00030
(21),
Figure 112013082364078-pat00031
(22) …,
Figure 112013082364078-pat00032
(29)에 해당하는 10개의 비트를 디코딩 할 수 있다. SISO-3은
Figure 112013082364078-pat00033
(30),
Figure 112013082364078-pat00034
(31),
Figure 112013082364078-pat00035
(32) …,
Figure 112013082364078-pat00036
(39)에 해당하는 10개의 비트를 디코딩 할 수 있다.
예를 들어, 스텝 2에서 SISO-0, SISO-1, SISO-2, SISO-3 각각에 매핑되는 어드레스는 다음과 같을 수 있다.
SISO-0 :
Figure 112013082364078-pat00037
(2)=6
SISO-1 :
Figure 112013082364078-pat00038
(12)=36
SISO-2 :
Figure 112013082364078-pat00039
(22)=26
SISO-3 :
Figure 112013082364078-pat00040
(32)=16
예를 들어 SISO-0, SISO-1, SISO-2, SISO-3 각각에 해당하는 인터리브 수행 이전 어드레스의 i값은 0, 1, 2, 3이고 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫들은 각각 0, 3, 2, 1이다. 따라서 i1 및 i2가 동일하지 않은 경우 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫들은 동일하지 않다.
예를 들어 SISO-0, SISO-1, SISO-2, SISO-3 각각에 해당하는 인터리브 수행 이전 어드레스의 j값은 2이고 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지들은 모두 6이다. 따라서 j1 및 j2가 동일한 경우 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지들은 동일하다.
도 3은 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 독출하는 동작의 일 예를 나타내는 도면이다.
도 3을 참조하면, 액세스 어드레스(A_ADDR)는 0부터 L-1사이의 L개의 스텝들 중 하나의 스텝에 상응하는 어드레스일 수 있다. 예를 들어, 코드 길이가 40인 LTE 코드를 4개의 시소 디코더들(700)을 사용하여 디코딩하는 경우, 액세스 어드레스(A_ADDR)는 0, 1, 2 …, 9에 해당할 수 있다. 액세스 어드레스(A_ADDR)가 2이면, 인터리브드 어드레스(I_ADDR)는 6일 수 있다. 인터리브드 어드레스(I_ADDR)가 6인 경우, 시작 포인트(SP)는 0이고 메모리 행 어드레스(ROW_ADDR)는 6일 수 있다. 메모리 행 어드레스(ROW_ADDR)를 이용하면 메모리(300)로부터 독출되는 독출 데이터들(R_DATA)을 얻을 수 있다. 독출 데이터들(R_DATA)은 어드레스 6, 16, 26, 36에 해당하는 데이터일 수 있다. 코드 길이 N, P 및 L 값이 정해지면 기본 순열 패턴(BPP)은 결정될 수 있다. 따라서 시작 포인트(SP) 및 기본 순열 패턴(BPP)에 따라 독출 데이터들(R_DATA)을 시소 디코더들(700)에 매핑할 수 있다.
본 발명에 따른 인터리브드 어드레스 매핑 방법은 액세스 어드레스(A_ADDR)에 해당하는 0부터 L-1까지의 값을 이용하여 시작 포인트(SP) 값을 얻고 인터리버 수식의 패턴으로부터 기본 순열 패턴(BPP)을 얻을 수 있다. 시작 포인트(SP) 및 기본 순열 패턴(BPP)을 이용하면 P개의 인터리버를 구현할 필요가 없이 하나의 인터리버로 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑할 수 있다. 따라서 인터리브드 어드레스 매핑 방법을 사용하면 터보 디코더를 포함하는 시스템의 복잡도를 감소시킬 수 있다.
도 4는 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 시소 디코더에 매핑하는 동작의 일 예를 나타내는 도면이다.
도 4를 참조하면, 인터리브드 어드레스(I_ADDR)를 L값으로 나눈 몫에 해당하는 시작 포인트(SP)가 0인 경우, 기본 순열 패턴(BPP)은 인터리브드 어드레스(I_ADDR)가 위치하는 메모리(300) 상의 동일 행의 주소들을 L값으로 나눈 몫들의 집합일 수 있다.
예를 들어, 스텝 2에서
Figure 112013082364078-pat00041
(2)=6,
Figure 112013082364078-pat00042
(12)=36,
Figure 112013082364078-pat00043
(22)=26,
Figure 112013082364078-pat00044
(32)=16일 수 있다. 이 경우, 시작 포인트(SP)는 0 이고 기본 순열 패턴(BPP)은
Figure 112013082364078-pat00045
(2)=6,
Figure 112013082364078-pat00046
(12)=36,
Figure 112013082364078-pat00047
(22)=26,
Figure 112013082364078-pat00048
(32)=16 각각을 10으로 나눈 몫의 집합일 수 있다. 따라서 기본 순열 패턴(BPP)은 {0, 3, 2, 1}일 수 있다. 결과적으로
Figure 112013082364078-pat00049
(2)=6에 해당하는 데이터는 SISO-0에 매핑될 수 있다. (12)=36에 해당하는 데이터는 SISO-1에 매핑될 수 있다.
Figure 112013082364078-pat00051
(22)=26에 해당하는 데이터는 SISO-2에 매핑될 수 있다.
Figure 112013082364078-pat00052
(32)=16에 해당하는 데이터는 SISO-3에 매핑될 수 있다.
도 5는 도 1의 인터리브드 어드레스 매핑 방법에 포함되는 독출 데이터를 시소 디코더에 매핑하는 동작의 다른 예를 나타내는 도면이다.
도 5를 참조하면, 기본 순열 패턴(BPP)의 각 원소들에 시작 포인트(SP)의 값을 합하여 얻어지는 매핑 패턴을 기준으로 상기 P개의 독출 데이터들(R_DATA)을 상기 P개의 시소 디코더들(700)에 매핑할 수 있다.
예를 들어, 스텝 1에서
Figure 112013082364078-pat00053
(1)=13,
Figure 112013082364078-pat00054
(11)=3,
Figure 112013082364078-pat00055
(21)=33,
Figure 112013082364078-pat00056
(31)=23일 수 있다. 이 경우, 시작 포인트(SP)는 1 이고 기본 순열 패턴(BPP)은
Figure 112013082364078-pat00057
(1)=13,
Figure 112013082364078-pat00058
(11)=3,
Figure 112013082364078-pat00059
(21)=33,
Figure 112013082364078-pat00060
(31)=23 각각을 10으로 나눈 몫에서 시작 포인트(SP)에 해당하는 1을 뺀 값들의 집합일 수 있다. 따라서 기본 순열 패턴(BPP)은 {0, 3, 2, 1}일 수 있다. 결과적으로
Figure 112013082364078-pat00061
(1)=13에 해당하는 데이터는 SISO-0에 매핑될 수 있다.
Figure 112013082364078-pat00062
(11)=3에 해당하는 데이터는 SISO-1에 매핑될 수 있다.
Figure 112013082364078-pat00063
(21)=33에 해당하는 데이터는 SISO-2에 매핑될 수 있다.
Figure 112013082364078-pat00064
(31)=23에 해당하는 데이터는 SISO-3에 매핑될 수 있다.
예시적인 실시예에 있어서, 상기 P가 2
Figure 112013082364078-pat00065
f2
Figure 112013082364078-pat00066
L를 나머지 없이 나누는 경우, 기본 순열 패턴(BPP)의 원소들간의 차는 동일할 수 있다.
예를 들어, P는 4, f2=10 및 L=10인 경우, 2f2
Figure 112013082364078-pat00067
L=2x10x10=200이므로 P가 2
Figure 112013082364078-pat00068
f2
Figure 112013082364078-pat00069
L를 나머지 없이 나누는 경우에 해당할 수 있다. 따라서 기본 순열 패턴(BPP)의 원소들간의 차는 동일할 수 있다. 이 경우 기본 순열 패턴(BPP)은 {0, 3, 2, 1}이므로 원소들간의 차는 동일하다.
예시적인 실시예에 있어서, 기본 순열 패턴(BPP)은 P/GCD(P, 2
Figure 112013082364078-pat00070
f2)의 값을 주기로 반복될 수 있다
예시적인 실시예에 있어서, 상기 주기가 1인 경우, 기본 순열 패턴(BPP)은 항상 일정한 패턴으로 고정될 수 있다. 예를 들어, P는 4, f2=10인 경우, GCD(4, 20)=4이므로 주기는 1에 해당할 수 있다. 이 경우, 항상 일정하게 고정되는 기본 순열 패턴(BPP)은 {0, 3, 2, 1}일 수 있다.
예시적인 실시예에 있어서, 상기 P가 1, 2 또는 4인 경우 기본 순열 패턴(BPP)은 항상 일정한 패턴으로 고정될 수 있다. 예를 들어, P가 1, 2 또는 4인 경우 f2는 항상 짝수이므로 P/GCD(P, 2
Figure 112013082364078-pat00071
f2)의 값은 1이 될 수 있다. 주기가 1인 경우, 기본 순열 패턴(BPP)은 항상 일정한 패턴으로 고정될 수 있다.
예시적인 실시예에 있어서, 상기 P가 8이고, 상기 f2가 4의 배수인 경우 기본 순열 패턴(BPP)은 항상 일정한 패턴으로 고정될 수 있다. 예를 들어, P가 8인 경우 f2는 4의 배수이면 P/GCD(P, 2
Figure 112013082364078-pat00072
f2)의 값은 1이 될 수 있다. 주기가 1인 경우, 기본 순열 패턴(BPP)은 항상 일정한 패턴으로 고정될 수 있다.
상기 P가 8이고 상기 f2가 4의 배수가 아닌 짝수인 경우 기본 순열 패턴(BPP)은 2개일 수 있다. 예를 들어, P가 8인 경우 f2는 4의 배수가 아닌 짝수이면 P/GCD(P, 2
Figure 112013082364078-pat00073
f2)의 값은 2이 될 수 있다. 주기가 2인 경우, 기본 순열 패턴(BPP)은 2개가 될 수 있다.
예시적인 실시예에 있어서, 기본 순열 패턴(BPP)은 상기 P, 상기 코드 길이 N 및 상기 인터리버 상수에 따라 변동할 수 있다.
예시적인 실시예에 있어서, 메모리(300)는 폴디드(folded) 메모리일 수 있다. 폴디드 메모리는 각 스텝별로 인터리빙되는 어드레스들이 동일한 행에 위치하는 메모리일 수 있다. 예를 들어, 도 3에서 어드레스 {2, 12, 22, 32}에 해당하는 독출 데이터들(R_DATA)은 상응하는 액세스 어드레스(A_ADDR)가 인터리버 어드레스 생성기(100)에 입력되면 동일 스텝에서 시소 디코더들에 매핑된다. 따라서 동일 스텝에서 요구되는 어드레스들{2, 12, 22, 32}이 메모리(300)의 동일 행에 위치하므로 폴디드 메모리일 수 있다.
도 6은 본 발명의 실시예들에 따른 디코딩 방법을 나타내는 순서도이다.
도 6을 참조하면, 디코딩 방법에서는 액세스 어드레스(A_ADDR) 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리버 어드레스 생성기(100)가 인터리브드(interleaved) 어드레스를 생성하고, 인터리브드 어드레스(I_ADDR)를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트(SP)와 나머지에 해당하는 메모리 행 어드레스(ROW_ADDR)를 생성한다(단계 S200). 메모리 행 어드레스(ROW_ADDR)에 상응하는 P(P는 자연수)개의 독출 데이터들(R_DATA)을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리(300)로부터 독출하여 연결 네트워크(500)에 전달한다(단계 S210). 연결 네트워크(500)에서 시작 포인트(SP) 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴(BPP)에 기초하여 상기 P개의 독출 데이터들(R_DATA)을 P개의 시소 디코더들(700)에 매핑한다(단계 S220). 상기 P개의 독출 데이터들(R_DATA)을 상기 P개의 시소 디코더들(700)을 통해서 디코딩하여 디코딩 데이터들을 출력한다(단계 S230).
액세스 어드레스(A_ADDR)는 0부터 L-1까지의 정수일 수 있다. 인터리버 어드레스 생성기(100)는 액세스 어드레스(A_ADDR)를 전달받아 인터리버 수식에 기초하여 인터리브드 어드레스(I_ADDR)를 출력할 수 있다. 메모리 행 어드레스(ROW_ADDR)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 나머지일 수 있고, 메모리(300)의 동일 행에 배치되는 데이터들을 독출하는 경우에 사용될 수 있다. 시작 포인트(SP)는 인터리브드 어드레스(I_ADDR)를 L로 나눈 몫일 수 있고, 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더들(700)에 매핑하는 경우 사용될 수 있다. 연결 네트워크(500)는 시작 포인트(SP) 및 기본 순열 패턴(BPP)에 기초하여 독출 데이터들(R_DATA)을 시소 디코더들(700)에 매핑할 수 있다.
도 2를 참조하면, 액세스 어드레스(A_ADDR)가 j(j는 0부터 L-1까지의 정수)라고 하면 액세스 어드레스(A_ADDR)에 상응하는 인터리브드 어드레스(I_ADDR)는 2L+2일 수 있다. 메모리 행 어드레스(ROW_ADDR)는 인터리브 어드레스를 L로 나눈 나머지에 해당하는 2일 수 있고, 메모리(300)의 2행에 베치되는 데이터들을 독출하는 경우에 사용될 수 있다. 시작 포인트(SP)는 인터리브 어드레스를 L로 나눈 몫인 2일 수 있고, 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑하는 경우 사용될 수 있다. 연결 네트워크(500)는 시작 포인트(SP)인 2 및 기본 순열 패턴(BPP)에 따라 독출 데이터들(R_DATA)을 시소 디코더들(700)에 매핑할 수 있다.
본 발명에 따른 인터리브드 어드레스 매핑 방법은 액세스 어드레스(A_ADDR)에 해당하는 0부터 L-1까지의 값을 이용하여 시작 포인트(SP) 값을 얻고 인터리버 수식의 패턴으로부터 기본 순열 패턴(BPP)을 얻을 수 있다. 시작 포인트(SP) 및 기본 순열 패턴(BPP)을 이용하면 P개의 인터리버를 구현할 필요가 없이 하나의 인터리버로 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑할 수 있다. 따라서 인터리브드 어드레스 매핑 방법을 사용하면 터보 디코더를 포함하는 시스템의 복잡도를 감소시킬 수 있다.
도 7은 본 발명의 실시예들에 따른 터보 디코더를 나타내는 블록도이다.
도 7을 참조하면, 터보 디코더는 인터리버 어드레스 생성기, 메모리 셀 어레이, 연결 네트워크(500) 및 복수의 시소 디코더들(700)을 포함한다.
인터리버 어드레스 생성기(100)는 액세스 어드레스(A_ADDR) 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스(I_ADDR)를 생성한다. 메모리 셀 어레이는 인터리브드 어드레스(I_ADDR)를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스(ROW_ADDR)에 상응하는 P(P는 자연수)개의 독출 데이터들(R_DATA) 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함한다. 연결 네트워크(500)는 인터리브드 어드레스(I_ADDR)를 L값으로 나누어 몫에 해당하는 시작 포인트(SP) 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴(BPP)에 기초하여 상기 P개의 독출 데이터들(R_DATA)을 매핑한다. 복수의 시소 디코더들(700)은 매핑된 독출 데이터들(R_DATA)을 디코딩하여 디코딩 데이터들을 출력한다.
도 8은 본 발명의 실시예들에 따른 무선 송수신 장치를 나타내는 블록도이다.
도 8을 참조하면, 무선 송수신 장치(200)는 데이터를 전송하는 무선 송신 장치(110)와 데이터를 수신하는 무선 수신 장치(120)를 포함한다.
무선 수신 장치(110)는 수신기(122), 디모듈레이션 유닛(124)및 채널 디코딩 유닛(126)을 포함하고, 채널 디코딩 유닛(126)은 인터리버 어드레스 생성기(100), 메모리 셀 어레이(300), 연결 네트워크(500) 및 복수의 시소 디코더들(700)을 포함한다. 무선 수신 장치(110)는 LTE(long term evolution) 또는 LTE-Advanced 통신 프로토콜을 따를 수 있다.
수신기(122)는 무선 채널로부터 프레임을 입력받는다. 예를 들어, 입력받은 프레임은 터보 인코딩 방법에 의하여 인코딩된 데이터에 상응할 수 있다.
디모듈레이션 유닛(124)은 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행한다. 예를 들어, 무선 채널 상에서 모듈레이션 및 디모듈레이션 방식은 BPSK (Binary Phase Shift Keying), GMSK (Gaussian Minimum Shift Keying), QAM (Quadrature Amplitude Modulation) 등을 포함할 수 있다.
채널 디코딩 유닛(126)은 상기 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하여 터보 디코딩 데이터를 출력한다. 인터리버 어드레스 생성기(100)는 액세스 어드레스(A_ADDR) 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스(I_ADDR)를 생성한다. 메모리 셀 어레이는 인터리브드 어드레스(I_ADDR)를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스(ROW_ADDR)에 상응하는 P(P는 자연수)개의 독출 데이터들(R_DATA) 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함한다. 연결 네트워크(500)는 인터리브드 어드레스(I_ADDR)를 L값으로 나누어 몫에 해당하는 시작 포인트(SP) 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴(BPP)에 기초하여 상기 P개의 독출 데이터들(R_DATA)을 매핑한다. 복수의 시소 디코더들(700)은 매핑된 독출 데이터들(R_DATA)을 디코딩하여 디코딩 데이터들을 출력한다.
본 발명에 따른 인터리브드 어드레스 매핑 방법은 액세스 어드레스(A_ADDR)에 해당하는 0부터 L-1까지의 값을 이용하여 시작 포인트(SP) 값을 얻고 인터리버 수식의 패턴으로부터 기본 순열 패턴(BPP)을 얻을 수 있다. 시작 포인트 및 기본 순열 패턴(BPP)을 이용하면 P개의 인터리버를 구현할 필요가 없이 하나의 인터리버로 인터리브드 어드레스(I_ADDR)에 해당하는 데이터를 시소 디코더에 매핑할 수 있다. 따라서 인터리브드 어드레스 매핑 방법을 사용하면 터보 디코더를 포함하는 시스템의 복잡도를 감소시킬 수 있다.
본 발명의 실시예에 따른 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법은 터보 디코더에 포함되는 인터리버의 개수를 줄여 하드웨어 복잡도를 감소시킴으로써 터보 디코더가 포함되는 통신 시스템에 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (15)

  1. 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 하나의 인터리버 어드레스 생성기가 인터리브드(interleaved) 어드레스를 생성하고, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트와 나머지에 해당하는 메모리 행 어드레스를 생성하는 단계;
    상기 하나의 인터리버 어드레스 생성기로부터 생성되는 상기 메모리 행 어드레스에 기초하여 상기 메모리 행 어드레스에 해당되는 P(P는 자연수)개의 독출 데이터들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리로부터 독출하여 연결 네트워크에 전달하는 단계; 및
    상기 인터리브드 어드레스 및 상기 인터리브드 어드레스와 동일한 행에 해당하는 인터리브드 어드레스들을 L값으로 나눈 몫들에 해당하는 기본 순열 패턴을 생성하고, 상기 연결 네트워크에서 상기 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 P개의 시소 디코더들에 매핑하는 단계를 포함하는 인터리브드 어드레스 매핑 방법.
  2. 제1항에 있어서,
    상기 기본 순열 패턴은 아래의 [수학식 1] 및 [수학식 2]에 기초하여 도출되는 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
    [수학식 1]
    Figure 112013082364078-pat00074

    (여기서, x는 인터리브 수행 이전 어드레스,
    Figure 112013082364078-pat00075
    는 인터리브 수행 이후 인터리브드 어드레스, f1및 f2는 인터리버 상수, N은 코드의 길이(N=P
    Figure 112013082364078-pat00076
    L)를 나타낸다.)
    [수학식 2]
    Figure 112013082364078-pat00077

    (여기서,
    Figure 112013082364078-pat00078
    는 인터리브 수행 이전 어드레스,
    Figure 112013082364078-pat00079
    는 인터리브 수행 이후의 인터리브드 어드레스,
    Figure 112013082364078-pat00080
    는 인터리브드 어드레스를 L로 나눈 몫,
    Figure 112013082364078-pat00081
    는 인터리브드 어드레스를 L로 나눈 나머지를 나타낸다.)
  3. 제2 항에 있어서,
    상기 [수학식 2]에서 복수의 i값들 중 i1과 i2가 동일하지 않은 경우,
    상기 인터리브드 어드레스를 L로 나눈 몫들은 동일하지 않고,
    상기 [수학식 2]에서 복수의 j값들 중 j1과 j2가 동일한 경우,
    상기 인터리브드 어드레스를 L로 나눈 나머지들은 동일한 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  4. 제2 항에 있어서,
    상기 액세스 어드레스는 0부터 L-1사이의 L개의 스텝들 중 하나의 스텝에 상응하는 어드레스인 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  5. 제2 항에 있어서,
    상기 인터리브드 어드레스를 L값으로 나눈 몫에 해당하는 상기 시작 포인트가 0인 경우,
    상기 기본 순열 패턴은 상기 인터리브드 어드레스가 위치하는 상기 메모리 상의 동일 행의 주소들을 L값으로 나눈 몫들의 집합인 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  6. 제2 항에 있어서,
    상기 기본 순열 패턴의 각 원소들에 상기 시작 포인트의 값을 합하여 얻어지는 매핑 패턴을 기준으로 상기 P개의 독출 데이터들을 상기 P개의 시소 디코더들에 매핑하는 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  7. 제2 항에 있어서,
    상기 P가 2
    Figure 112013082364078-pat00082
    f2
    Figure 112013082364078-pat00083
    L를 나머지 없이 나누는 경우,
    상기 기본 순열 패턴의 원소들간의 차는 동일한 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  8. 제2 항에 있어서,
    상기 기본 순열 패턴은 P/GCD(P, 2
    Figure 112013082364078-pat00084
    f2)의 값을 주기로 반복되는 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  9. 제8 항에 있어서,
    상기 주기가 1인 경우, 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정되는 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  10. 제8 항에 있어서,
    상기 P가 1, 2 또는 4인 경우, 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정되고,
    상기 P가 8이고, 상기 f2가 4의 배수인 경우, 상기 기본 순열 패턴은 항상 일정한 패턴으로 고정되며,
    상기 P가 8이고 상기 f2가 4의 배수가 아닌 짝수인 경우, 상기 기본 순열 패턴은 2개인 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  11. 제2 항에 있어서,
    상기 기본 순열 패턴은 상기 P, 상기 코드 길이 N 및 상기 인터리버 상수에 따라 변동하는 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  12. 제1 항에 있어서,
    상기 메모리는 폴디드(folded) 메모리인 것을 특징으로 하는 인터리브드 어드레스 매핑 방법.
  13. 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 하나의 인터리버 어드레스 생성기가 인터리브드(interleaved) 어드레스를 생성하고, 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 몫에 해당하는 시작 포인트와 나머지에 해당하는 메모리 행 어드레스를 생성하는 단계;
    상기 하나의 인터리버 어드레스 생성기로부터 생성되는 상기 메모리 행 어드레스에 기초하여 상기 메모리 행 어드레스에 해당되는 P(P는 자연수)개의 독출 데이터들을 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리로부터 독출하여 연결 네트워크에 전달하는 단계;
    상기 인터리브드 어드레스 및 상기 인터리브드 어드레스와 동일한 행에 해당하는 인터리브드 어드레스들을 L값으로 나눈 몫들에 해당하는 기본 순열 패턴을 생성하고, 상기 연결 네트워크에서 상기 시작 포인트 및 상기 QPP 인터리버 수식으로부터 산출되는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 P개의 시소 디코더들에 매핑하는 단계; 및
    상기 P개의 독출 데이터들을 상기 P개의 시소 디코더들을 통해서 디코딩하여 디코딩 데이터들을 출력하는 단계를 포함하는 디코딩 방법.
  14. 액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스를 생성하는 인터리버 어드레스 생성기;
    상기 인터리버 어드레스 생성기로부터 생성되는 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 인터리브드 어드레스를 L값으로 나누어 몫에 해당하는 시작 포인트 및 상기 인터리브드 어드레스 및 상기 인터리브드 어드레스와 동일한 행에 해당하는 인터리브드 어드레스들을 L값으로 나눈 몫들에 해당하는 본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 매핑하는 연결 네트워크; 및
    상기 매핑된 독출 데이터들을 디코딩하여 디코딩 데이터들을 출력하는 복수의 시소 디코더들을 포함하는 터보 디코더.
  15. 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행하는 디모듈레이션 유닛; 및
    상기 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하여 터보 디코딩 데이터를 출력하는 채널 디코딩 유닛를 포함하고,
    상기 채널 디코딩 유닛은,
    액세스 어드레스 및 QPP(Quadratic Permutation Polynomial) 인터리버 수식에 기초하여 인터리브드 어드레스를 생성하는 인터리버 어드레스 생성기;
    상기 인터리버 어드레스 생성기로부터 생성되는 상기 인터리브드 어드레스를 L(L은 자연수)값으로 나누어 나머지에 해당하는 메모리 행 어드레스에 상응하는 P(P는 자연수)개의 독출 데이터 및 P개의 열과 L개의 행으로 분리되는 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 인터리브드 어드레스를 L값으로 나누어 몫에 해당하는 시작 포인트 및 상기 인터리브드 어드레스 및 상기 인터리브드 어드레스와 동일한 행에 해당하는 인터리브드 어드레스들을 L값으로 나눈 몫들에 해당하는 기본 순열 패턴에 기초하여 상기 P개의 독출 데이터들을 매핑하는 연결 네트워크; 및
    상기 매핑된 독출 데이터들을 디코딩하여 디코딩 데이터들을 출력하는 복수의 시소 디코더들을 포함하는 무선 수신 장치.
KR1020130108017A 2013-09-09 2013-09-09 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법 KR101482689B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130108017A KR101482689B1 (ko) 2013-09-09 2013-09-09 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130108017A KR101482689B1 (ko) 2013-09-09 2013-09-09 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법

Publications (1)

Publication Number Publication Date
KR101482689B1 true KR101482689B1 (ko) 2015-01-16

Family

ID=52590525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130108017A KR101482689B1 (ko) 2013-09-09 2013-09-09 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법

Country Status (1)

Country Link
KR (1) KR101482689B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070010704A (ko) * 2005-07-19 2007-01-24 삼성전자주식회사 인터리빙 방법 및 그 장치
KR20070061738A (ko) * 2005-12-10 2007-06-14 한국전자통신연구원 인터리빙 및 디인터리빙을 수행하는 저장 장치 및 그의제어 방법
KR100955305B1 (ko) * 2007-01-17 2010-04-29 브로드콤 코포레이션 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070010704A (ko) * 2005-07-19 2007-01-24 삼성전자주식회사 인터리빙 방법 및 그 장치
KR20070061738A (ko) * 2005-12-10 2007-06-14 한국전자통신연구원 인터리빙 및 디인터리빙을 수행하는 저장 장치 및 그의제어 방법
KR100955305B1 (ko) * 2007-01-17 2010-04-29 브로드콤 코포레이션 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3GPP TSG RAN WG1 #47bis R1-070484, QPP Interleaver parameters, 15-19 Jan. 2007.. *
3GPP TSG RAN WG1 #47bis R1-070484, QPP Interleaver parameters, 15-19 Jan. 2007..*

Similar Documents

Publication Publication Date Title
RU2604992C2 (ru) Устройство, содержащее кольцевой буфер и способ для присвоения вариантов избыточности кольцевому буферу
CN109861694B (zh) 极化码的处理方法和设备
CN110535474B (zh) 信息处理的方法、通信装置
CN108880566B (zh) 一种Polar码传输方法及装置
US11075652B2 (en) Polar code transmission method and apparatus
CN104868971A (zh) Ldpc码字的交织映射方法及解交织解映射方法
JP2020533855A (ja) 符号化方法及び装置
CN109474373B (zh) 交织方法和交织装置
JP7301168B2 (ja) コーディングおよび変調方法、復調および復号方法、装置、ならびにデバイス
US7512863B2 (en) Turbo code interleaver for low frame error rate
CN104868972A (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN110098891B (zh) 交织方法和交织装置
RU2580085C2 (ru) Устройство и способ для отображения и обратного отображения сигналов в системе связи с использованием кода с малой плотностью проверок на четность
CN105376008A (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN104901772A (zh) Ldpc码字的交织映射方法及解交织解映射方法
KR101482689B1 (ko) 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법
CN109495209B (zh) 比特交织、解交织方法及装置
CN105450333A (zh) Ldpc码字的交织映射方法及解交织解映射方法
JP2006094048A (ja) 無線通信装置およびそのインタリーブ方法ならびにデインタリーブ方法
CN111525980B (zh) 译码方法及装置
CN111181572B (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN104935399A (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN112740582B (zh) 一种存储方法及极化码接收设备
CN104935398A (zh) Ldpc码字的交织映射方法及解交织解映射方法
WO2019091444A1 (zh) 交织方法和交织装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171222

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191212

Year of fee payment: 6