KR101476051B1 - Ldpc 엔코더 및 그의 동작 방법 - Google Patents

Ldpc 엔코더 및 그의 동작 방법 Download PDF

Info

Publication number
KR101476051B1
KR101476051B1 KR1020130107290A KR20130107290A KR101476051B1 KR 101476051 B1 KR101476051 B1 KR 101476051B1 KR 1020130107290 A KR1020130107290 A KR 1020130107290A KR 20130107290 A KR20130107290 A KR 20130107290A KR 101476051 B1 KR101476051 B1 KR 101476051B1
Authority
KR
South Korea
Prior art keywords
bits
bit
bit group
group
data
Prior art date
Application number
KR1020130107290A
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 KR1020130107290A priority Critical patent/KR101476051B1/ko
Application granted granted Critical
Publication of KR101476051B1 publication Critical patent/KR101476051B1/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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
    • 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/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables

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)

Abstract

본 발명은 LDPC 엔코더 및 그의 동작 방법에 관한 것이다.
본 발명의 LDPC 엔코더는 입력받는 데이터를 n개, 2n개, 3n개 중 하나의 비트 개수를 가지는 비트 그룹으로 그룹화하는 입력부; 입력부로부터 입력된 데이터 비트의 개수가 3n개가 되도록 비트들을 추가하여 배럴 쉬프터로 전송하는 재배열부; 재배열부로부터 입력되는 3n개의 비트들에 대하여 배럴 쉬프터 동작을 위한 쉬프트 카운트 횟수를 설정하는 쉬프트 카운터부; 및 배럴 쉬프터에 의해 출력된 비트들 중 입력부에 의해 생성된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 데이터 추출부를 포함한다.
이러한, 본 발명에 따르면, 하나의 배럴 쉬프트 이용하여 다양한 처리 속도의 데이터를 엔코딩함으로써, 엔코더의 하드웨어 면적을 효율적으로 줄이고, LDPC 엔코더 제작 비용을 효율적으로 낮출 수 있는 효과를 기대할 수 있다.

Description

LDPC 엔코더 및 그의 동작 방법{LOW DENSITY PARITY CHECK CODE ENCODER APPARATUS AND METHOD FOR OPERATING THE ENCODER}
본 발명은 LDPC 엔코더 및 그의 동작 방법에 관한 것으로, 하나의 배럴 쉬프터를 이용하여 다양한 처리 속도의 데이터 코딩을 가능하게 하는 LDPC 엔코더 및 그의 동작 방법을 제공하기 위한 것이다.
LDPC 코드는 채널 코딩 기술들 중에서 가장 앞선 기술로 평가받고 있는 기술로, 다른 채널 코딩 기술에 비해 고속 데이터 전송에 탁월한 성능을 갖는다.
LDPC 코드는 디코딩에서 사용되는 BP(Belief Propagation) 알고리즘을 기초로 패러럴 프로세싱(Parallel Processing)을 가능하게 하여 고속 데이터 전송이 가능한 장점이 있는 반면에, 엔코딩(Encoding)에서 많은 계산량을 갖는 문제점이 있다.
특히, LDPC 엔코더를 구현하였을 때, 다양한 처리 속도를 갖는 데이터를 처리하기 위해 엔코더 내에 각 처리 속도에 매칭되는 복수의 배럴 쉬프터(Barrel Shifter)를 구비해야 하는 문제점이 있다.
즉, 다양한 처리 속도의 데이터를 처리하기 위해서는 복수의 배럴 쉬프터를 구비해야 하기 때문에, LDPC 엔코더의 하드웨어(Hardware) 면적이 상당히 크고 비효율적인 문제점이 있었다.
본 발명의 배경이 되는 기술은 대한민국 국내공개특허 제1998-0034445호(1998.08. 05 공개)에 개시되어 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 하나의 배럴 쉬프터를 이용하여 다양한 처리 속도의 데이터 코딩을 가능하게 하는 LDPC 엔코더 및 그의 동작 방법을 제공하기 위한 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따른 3n의 데이터 비트를 처리하도록 설계된 배럴 쉬프터를 이용하는 LDPC 엔코더는, 입력받는 데이터를 n개, 2n개, 3n개 중 하나의 비트 개수를 가지는 비트 그룹으로 그룹화하는 입력부; 입력부로부터 입력된 데이터 비트의 개수가 3n개가 되도록 비트들을 추가하여 배럴 쉬프터로 전송하는 재배열부; 재배열부로부터 입력되는 3n개의 비트들에 대하여 배럴 쉬프터 동작을 위한 쉬프트 카운트 횟수를 설정하는 쉬프트 카운터부; 및 배럴 쉬프터에 의해 출력된 비트들 중 입력부에 의해 생성된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 데이터 추출부를 포함한다.
여기서, 재배열부는, 입력부로부터 n개의 비트 개수를 갖는 제1 비트 그룹을 수신하면, 제1 비트 그룹을 설정된 개수만큼 복사하여 제1 비트 그룹의 최하위 비트 후단에 추가할 수 있다.
여기서, 재배열부는, 입력부로부터 2n개의 비트 개수를 갖는 제2 비트 그룹을 수신하면, 설정된 쉬프트 카운트 횟수에 따라 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 제2 비트 그룹 최하위 비트의 후단에 추가하거나 최상위 비트 전단에 추가할 수 있다.
여기서, 재배열부는, 설정된 쉬프트 카운트 횟수가 n 개 미만이면, 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 제2 비트 그룹 최하위 비트의 후단에 추가할 수 있으며, 설정된 쉬프트 카운트 횟수가 n개 이상이고 2n개 미만이면, 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 제2 비트 그룹 최상위 비트의 전단에 추가할 수 있다.
여기서, 데이터 추출부는, 제어부에 의해 제어되며, 입력부가 제1 비트 그룹으로 그룹화한 경우에, 배럴 쉬프터에 의해 출력된 비트들 중 상위 n개 비트에 해당하는 비트를 추출할 수 있다.
여기서, 데이터 추출부는, 제어부에 의해 제어되며, 입력부가 제2 비트 그룹으로 그룹화한 경우에, 설정된 쉬프트 카운트 횟수에 따라 배럴 쉬프터에 의해 출력된 비트들 중 최하위 비트부터 n개의 비트 또는 최상위 비트부터 n개의 비트를 제거하여 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출할 수 있다.
여기서, 데이터 추출부는, 설정된 쉬프트 카운트 횟수가 n미만이면, 최하위 비트부터 n개의 비트를 제거하여 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출할 수 있으며, 설정된 쉬프트 카운트 횟수가 n개 이상이고 2n개 미만이면, 비트를 입력받으면, 최상위 비트부터 n개의 비트를 제거하여 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출할 수 있다.
본 발명의 다른 실시예에 따른 3n의 데이터 비트를 처리하도록 설계된 배럴 쉬프터를 이용하는 LDPC 엔코더의 동작 방법은, 입력받는 데이터를 n개, 2n개, 3n개 중 하나의 비트 개수를 가지는 비트 그룹으로 그룹화하는 단계; 배럴 쉬프터로 전송하기 위한 데이터 비트의 개수가 3n개가 되도록 비트 그룹에 데이터 비트들을 추가하여 배럴 쉬프터로 전송하는 단계; 3n개의 데이터 비트들에 대하여 배럴 쉬프터 동작을 위한 쉬프트 카운트 횟수를 설정하는 단계; 및 배럴 쉬프터에 의해 출력된 비트들 중 그룹화된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 단계를 포함한다.
이와 같이 본 발명에 의하면, 하나의 배럴 쉬프트 이용하여 다양한 처리 속도의 데이터를 엔코딩함으로써, 엔코더의 하드웨어 면적을 효율적으로 줄이고, LDPC 엔코더 제작 비용을 효율적으로 낮출 수 있는 효과를 기대할 수 있다.
도 1은 본 발명의 실시예에 따른 LDPC 엔코더를 도시한 도면이다.
도 2는 본발명의 실시예에 따른 LDPC 엔코더의 배럴 쉬프트부를 상세히 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 LDPC 엔코더의 동작 방법을 나타낸 순서도이다.
도 4는 발명의 실시예에 따른 LDPC 엔코더가 n개 단위의 비트를 처리하기 위한 재배열 과정을 나타낸 도면이다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 LDPC 엔코더가 2n개 단위의 비트를 처리하기 위한 재배열 과정을 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 LDPC 엔코더를 도시한 도면이고, 도 2는 본발명의 실시예에 따른 LDPC 엔코더의 배럴 쉬프트부를 상세히 도시한 도면이다.
도 1에 나타낸 바와 같이, 본 발명의 실시예에 따른 LDPC(Low Density Parity Check; 이하, "LDPC"라 함) 엔코더(100)는 입력부(110), 재배열부(120), 배럴 쉬프트부(130), 데이터 추출부(140) 및 제어부(150)를 포함한다.
입력부(110)는 입력되는 데이터를 설정된 데이터 처리 속도에 매칭되도록 n, 2n 및 3n만큼의 기 설정된 비트 개수를 갖는 비트 그룹으로 그룹화하여, 재배열부(120)로 제공한다. 여기서, n은 자연수이다.
재배열부(120)는 입력부(110)로부터 비트 그룹을 입력받고, 입력받은 비트 그룹을 배럴 쉬프터(131)의 처리 가능 비트 단위에 맞도록 재배열을 수행하여, 배럴 쉬프트부(130)로 전송한다. 본 발명의 실시예에서는 배럴 쉬프터(131)가 3n개의 비트를 한 번에 처리할 수 있도록 설계하였다.
이때, 재배열부(120)는 입력부(110)로부터 입력된 비트 그룹을 이용하여 비트 그룹에 동일한 비트 그룹을 추가하거나, 비트 그룹 내 비트들의 일부를 추가하여 배럴 쉬프터(131)의 처리 가능 비트 단위에 맞도록 재배열을 수행한다.
배럴 쉬프트부(130)는 재배열부(120)로부터 재배열된 비트 그룹을 입력받고, 입력된 비트 그룹을 쉬프트하여 데이터 추출부(140)로 출력한다.
이때, 배럴 쉬프트부(130)는 3n개의 데이터 비트를 처리할 수 있는 하나의 배럴 쉬프터(131; Barrel Shiter)와 쉬프트 카운터부(132; Shift Counter)를 포함하며, 제어부(150)의 쉬프트 카운터부 제어 동작에 따라 입력되는 비트들을 쉬프팅하여 데이터 추출부(140)로 전송한다.
배럴 쉬프터(131)는 한 번에 처리할 수 있는 입력 비트 개수의 최대값이 3n개로 이루어진 쉬프터로, 쉬프트 카운터부(132)의 카운트 동작에 따라 입력되는 데이터 비트들을 쉬프트한다.
쉬프트 카운터(132)는 2진수로 동작하는 카운터를 가지며, 제어부(150)의 제어에 따라 n, 2n, 3n의 비트 그룹에 매칭되는 쉬프트 카운트 횟수를 설정하고, 배럴 쉬프터(131)의 쉬프트 동작을 제어한다.
도 2를 참조하면, 본 발명의 실시 예에 따른 배럴 쉬프트부(130)는 재배열부(120)으로부터 입력되는 27개의 비트(X0, X1, X2 …, X26)들에 대하여 쉬프트 카운트부(120)의 동작에 따라 비트의 위치를 이동시킨다.
보다 상세히 설명하면, 배럴 쉬프터(131)는 대응되는 쉬프트 카운트 값이 0이면 동일한 비트 자리수를 유지하고, 대응되는 쉬프트 카운트 값이 1이면 일정 비트씩 비트 자리수가 이동된다. 즉, 쉬프트 카운트값 S0, S1, S2, S3, S4가 각각 1의 값을 갖는 경우에, 입력되는 비트는 1비트, 2비트, 4비트, 8비트, 16비트씩 오른쪽으로 이동된다.
한편, 본 발명의 실시예에 따른 쉬프트 카운트값은 5개의 비트 값으로 27개의 비트 개수를 나타낼 수 있으므로, 최대 사이즈인 5비트(S0, S1, S2, S3, S4)의 값을 갖게 된다. 만일 배럴 쉬프터(131)가 27 개(n), 54 개(2n) 및 81개(3n) 비트의 데이터를 처리하도록 구현되는 경우, 본 발명의 실시예에 따른 배럴 쉬프터(131)는 최대 처리 비트인 81개의 비트를 처리할 수 있는 배럴 쉬프터(131)로 구현되며, 이에 따라 쉬프트 카운트값은 최대 7개(S0~S6)를 갖게 된다.
데이터 추출부(140)는 제어부(150)의 제어에 따라 배럴 쉬프트부(130)에 의출력된 비트들 중 입력부(110)에 의해 생성된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하고, 추출된 데이터 비트들을 출력한다.
제어부(150)는 입력부(110), 재배열부(120), 배럴 쉬프트부(130) 및 데이터 추출부(140) 간의 데이터 흐름을 제어하며, 사용자에 의해 미리 설정되거나 상위단에 의해 설정된 데이터 처리 속도에 매칭되어 데이터의 비트들을 n, 2n, 3n 개의 비트 개수를 갖는 비트 그룹으로 그룹화하도록 입력부(110)를 제어한다.
또한, 제어부(150)는 데이터 추출부(140)를 제어하여 배럴 쉬프트부(130)에 의해 출력된 비트들 중 원래의 데이터 비트들을 추출하도록 한다.
이때, 제어부(150)는 쉬프트 카운터부(132)의 최대 쉬프트 카운트 횟수를 입력부(110)가 최대 비트 그룹의 비트 개수(3n)에 비례하게 설정하고, 동작에 따른 카운트되는 값을 실시간으로 데이터 추출부(140)로 제공한다. 또한 설정된 쉬프트 카운트 값은 쉬프트 카운터부(132)를 통해 2진화 값으로 변경될 수 있다.
또한, 제어부(150)는 입력되는 비트 그룹내 비트 개수가 n개인 경우에, 비트 그룹을 2회 복사한 후 원 비트 그룹의 최하위 비트 후단에 추가하도록 재배열부(120)를 제어한다. 또한, 재배열부(120)에 대응하여 후단에 추가된 비트들을 삭제하도록 데이터 추출부(140)를 제어한다.
또한, 제어부(150)는 입력되는 비트 그룹내 비트 개수가 2n개인 경우에, 쉬프트 카운터부(132)가 카운트하는 쉬프트 카운트 횟수에 따라, 비트 그룹의 절반에 해당하는 비트들을 비트 그룹의 최상위 비트 전단(402) 또는 최하위 비트 후단(401)에 추가하여 총 3n개가 되도록 재배열부(120)를 제어한다. 또한, 재배열부(120)에 대응하여 전단 또는 후단에 추가된 비트들을 삭제하도록 데이터 추출부(140)를 제어한다.
이러한, 본 발명에 따른 LDPC 엔코더는 종래의 다양한 처리 속도를 갖는 데이터를 처리하기 위해 엔코더 내 처리 속도에 매칭되는 복수의 배럴 쉬프터(Barrel Shifter)를 구비하지 않고, 하나의 배럴 쉬프터를 이용하여 다양한 처리 속도의 데이터들을 엔코딩할 수 있는 큰 장점이 있다.
다음은 본 발명의 실시 예에 따른 LDPC 엔코더의 동작 방법에 대하여 상세히 설명한다.
도 3은 본 발명의 실시예에 따른 LDPC 엔코더의 동작 방법을 나타낸 순서도이고, 도 4는 발명의 실시예에 따른 LDPC 엔코더가 n개 단위의 비트를 처리하기 위한 재배열 과정을 나타낸 도면이고, 도 5a 및 도 5b는 본 발명의 실시예에 따른 LDPC 엔코더가 2n개 단위의 비트를 처리하기 위한 재배열 과정을 나타낸 도면이다.
도 3에 나타낸 바와 같이, 본 발명의 실시예에 따른 LDPC 엔코더(100)의 입력부(110)는 데이터 비트들을 상위단부터 수신하고(S200), 수신된 데이터 비트들을 설정된 처리 속도에 매칭되도록 n, 2n 및 3n개만큼의 기 설정된 비트 개수를 갖는 비트 그룹으로 그룹화한다(S202).
여기서, 입력부(110)는 제어부(150)의 제어에 따라 3가지 처리 속도 중 하나에 매칭되도록 기 설정된 비트 개수(n, 2n, 3n)를 갖는 데이터 비트들로 그룹화한다.
도 3 내지 5b를 참조하여 예를 들면, 입력부(110)는 제어부(150)의 제어에 따라 입력되는 데이터 비트들을 n개, 2n, 3n개의 비트 개수를 갖는 비트 그룹으로 그룹화한다. 즉, n=9인 경우에, 9개의 비트 개수를 갖는 비트 그룹(300), 18개의 비트 개수를 갖는 비트 그룹(400), 27개의 비트 개수를 갖는 비트 그룹을 생성한다. 이때, 본 발명의 실시예에서는 n을 9 및 18로 각각 임의 설정하였지만, 배수 관계를 갖는 자연수를 이용할 수 있다.
그리고, 입력부(110)는 그룹화한 비트 그룹을 재배열부(120)로 전송한다.
이때, 제어부(150)는 배럴 쉬프트부(130)내 쉬프트 카운터부(131)의 쉬프트 카운트 횟수를 설정한다(S204).
재배열부(120)는 입력부(110)로부터 비트그룹을 입력받고, 입력받은 비트 그룹을 배럴 쉬프터(131)의 허용 비트 개수(3n)에 맞도록 비트들에 대한 재배열을 수행한다(S206).
도 4를 참조하여 n개의 비트 개수를 갖는 비트 그룹을 예를 들어 설명하면, 재배열부(120)는 입력되는 비트 그룹이 n개로 이루어진 경우에, 비트 그룹을 2회 복사한 후 원 비트 그룹의 최하위 비트 후단에 추가하여(301), 3n개가 되도록 재배열하고, 재배열된 비트들을 배럴 쉬프트부(130)로 전송한다. 즉, n=9인 경우에, 배럴 쉬프트부(130)가 처리할 수 있는 최대 사이즈인 27개가 되도록 9개의 비트 그룹을 2회 복사한 후 원래 비트 그룹의 최하위 비트 후단에 18개의 비트 그룹을 추가한다.
그리고, 도 5a 및 도 5b를 참조하여 2n개(18개)의 비트 개수를 갖는 비트 그룹을 예를 들어 설명하면, 재배열부(120)는 카운트 쉬프트 카운트 횟수가 n개 미만(9개 미만)인 경우에는, 도 5a와 같이 비트 그룹(2n)의 MSB 측 절반에 해당하는 n개의 비트(011010110)(401)를 2n개 비트 그룹의 최하위 비트 후단에 추가하여 재배열한다.
또한, 재배열부(120)는 쉬프트 카운트 횟수가 n개 이상 2n개 미만인 (9개 이상 18개 미만)인 경우에는, 도 5b와 같이 비트 그룹(2n)의 LSB 측 절반에 해당하는 n개의 비트(101110001)(403)를 2n개 비트 그룹의 최상위 비트 전단에 추가하여 재배열한다.
이와 같이 재배열부(120)는 전체 비트 개수가 3n이 되도록 재배열하고, 재배열된 비트들을 배럴 쉬프트부(130)로 전송한다. 즉, 입력된 비트 개수가 2n(18개)인 경우에, 배럴 쉬프트부(130)가 처리할 수 있는 최대 사이즈인 27개가 되도록 비트 그룹의 상위 9개 비트(401)를 비트 그룹의 최하위 비트 후단에 추가 삽입하거나, 비트 그룹의 하위 9개 비트(403)를 비트 그룹의 최상위 비트 전단에 추가 삽입한다.
한편, 비트 그룹이 3n개로 이루어진 경우에, 재배열부(120)는 입력되는 비트 그룹과 배럴 쉬프트부(130)가 처리하는 비트 개수가 동일하므로, 재배열하지 않고 3n 그대로 배럴 쉬프트부(130)로 전송한다.
그리고, 배럴 쉬프트부(130)는 재배열부(120)로부터 재배열된 비트 그룹을 입력받고, 입력된 비트 그룹을 쉬프트하여 데이터 추출부(140)로 출력한다. 이때, 배럴 쉬프트부(130)는 쉬프트 카운터부(132)의 쉬프트 카운트 횟수에 대응하여 재배열된 비트 그룹에 대한 쉬프팅 동작을 수행한다(S208).
여기서, 도 5b와 같은 경우에는 쉬프트 카운터부(132)의 설정된 쉬프트 카운트 횟수에 n회를 더 추가하여 쉬프팅 동작을 수행한다.
즉, 최초 입력된 비트 그룹의 개수가 2n개이고, 쉬프트 카운트 횟수가 n개 이상 2n개 미만인 경우, 비트 그룹(2n)의 LSB 측 절반에 해당하는 n개의 비트를 2n개 비트 그룹의 최상위 비트 전단에 추가하여 3n개로 재배열하는데, 이 경우, 설정된 쉬프트 카운트 횟수보다 n회를 더 추가하여 쉬프팅을 수행한다.
따라서, 도 5b와 같이 설정된 쉬프트 카운트 횟수가 15인 경우에는 n에 해당하는 9회를 더 추가하여 총 24 비트씩 쉬프팅을 수행한다. 마찬가지로 설정된 쉬프트 카운트 횟수가 16인 경우에는 25 비트씩 쉬프팅을 수행하고, 설정된 쉬프트 카운트 횟수가 17인 경우에는 26 비트씩 쉬프팅을 수행한다.
데이터 추출부(140)는 제어부(150)의 제어에 따라 배럴 쉬프트부(130)에서 출력되는 비트들 중 입력부(110)에 의해 생성된 비트의 비트 개수에 매칭되는 비트들을 추출하고(S210), 추출된 비트들을 출력한다. 이때, 데이터 추출부(140)는 입력부(110)에 의해 생성된 비트 그룹 내 비트 개수를 제어부(150)로부터 수신하여 비트 그룹 내 비트 개수에 매칭되는 원 비트들을 추출한다.
구체적으로, 도 4를 참조하여 설명하면, 데이터 추출부(140)는 입력부(110)에 의해 생성된 그룹이 n개(9개)의 비트 개수를 갖는 비트 그룹인 경우, 출력되는 비트들을 n개의 비트 그룹으로 그룹화하고, 그룹화된 3개의 그룹 중 하나의 그룹을 출력값으로 출력하고, 나머지 그룹(301)은 삭제한다.
즉, n개의 비트를 가지는 비트 그룹의 경우, 3n개로 재배열을 하더라도 쉬프트 카운트 횟수가 n가 되면 다시 원래의 비트 값을 가지게 되므로, 9개의 비트로 이루어진 3개의 그룹은 모두 같은 비트 배열을 가지게 된다. 따라서, 데이터 추출부(140)는 이 중 하나의 그룹을 선택하더라도 동일한 비트 배열을 획득할 수 있게 된다.
또한, 도 5a를 참조하면, 입력부(110)에 의해 생성된 그룹이 2n개의 비트 개수를 갖는 비트 그룹인 경우, 데이터 추출부(140)는 쉬프트 카운터부(132)의 쉬프트 카운트 횟수가 0 내지 n개 미만이면, 출력되는 비트들 중 후단 n개의 비트들을 삭제한 후 출력한다.
그리고, 도 5b를 참조하면, 입력부(110)에 의해 생성된 그룹이 2n개의 비트 개수를 갖는 비트 그룹인 경우, 데이터 추출부(140)는 쉬프트 카운터부(132)의 쉬프트 카운트 횟수가 n개 이상 2n개 미만이면, 출력되는 비트들 중 전단 n개의 비트들을 삭제한 후 출력한다.
즉, 2n개의 비트를 가지는 비트 그룹의 경우, 3n개로 재배열을 하더라도 쉬프트 카운트 횟수가 2n이 되면 다시 원래의 비트 값을 가지게 되므로, 재배열 과정에서 추가된 9개의 비트 부분을 삭제함으로써 원하는 비트 값을 획득할 수 있게 되는 것이다.
한편, 입력부(100)에 의해 생성된 그룹이 3n개의 비트 개수를 갖는 비트 그룹인 경우, 데이터 추출부(140)는 배럴 쉬프트부(130)에서 출력되는 비트들을 그대로 출력한다.
이러한, 본 발명에 따른 LDPC 엔코더의 동작 방법을 통해 하나의 배럴 쉬프트 이용하여 다양한 처리 속도의 데이터를 엔코딩함으로써, 엔코더의 하드웨어 면적을 효율적으로 줄이고, LDPC 엔코더 제작 비용을 효율적으로 낮출 수 있는 장점이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: LDPC 엔코더 110: 입력부
120: 재배열부 130: 배럴 쉬프트부
131: 배럴 쉬프터 132: 쉬프트 카운터부
140: 데이터 처리부 150: 제어부

Claims (14)

  1. 3n의 데이터 비트를 처리하도록 설계된 배럴 쉬프터를 이용하는 LDPC 엔코더에 있어서,
    입력받는 데이터를 n개, 2n개, 3n개 중 하나의 비트 개수를 가지는 비트 그룹으로 그룹화하는 입력부;
    상기 입력부로부터 입력된 데이터 비트의 개수가 3n개가 되도록 비트들을 추가하여 상기 배럴 쉬프터로 전송하는 재배열부;
    상기 재배열부로부터 입력되는 3n개의 비트들에 대하여 상기 배럴 쉬프터 동작을 위한 쉬프트 카운트 횟수를 설정하는 쉬프트 카운터부; 및
    상기 배럴 쉬프터에 의해 출력된 비트들 중 상기 입력부에 의해 생성된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 데이터 추출부
    를 포함하며,
    상기 재배열부는,
    상기 입력부로부터 n개의 비트 개수를 갖는 제1 비트 그룹을 수신하면, 상기 제1 비트 그룹을 설정된 개수만큼 복사하여 상기 제1 비트 그룹의 최하위 비트 후단에 추가하는 LDPC 엔코더.
  2. 삭제
  3. 제1항에 있어서,
    상기 재배열부는,
    상기 입력부로부터 2n개의 비트 개수를 갖는 제2 비트 그룹을 수신하면, 상기 설정된 쉬프트 카운트 횟수에 따라 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최하위 비트의 후단에 추가하거나 최상위 비트 전단에 추가하는 LDPC 엔코더.
  4. 제3항에 있어서,
    상기 재배열부는,
    상기 설정된 쉬프트 카운트 횟수가 n 개 미만이면, 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최하위 비트의 후단에 추가하며,
    상기 설정된 쉬프트 카운트 횟수가 n개 이상이고 2n개 미만이면, 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최상위 비트의 전단에 추가하는 LDPC 엔코더.
  5. 제4항에 있어서,
    상기 데이터 추출부는,
    제어부에 의해 제어되며, 상기 입력부가 상기 제1 비트 그룹으로 그룹화한 경우에, 상기 배럴 쉬프터에 의해 출력된 비트들 중 상위 n개 비트에 해당하는 비트를 추출하는 LDPC 엔코더.
  6. 제5항에 있어서,
    상기 데이터 추출부는,
    상기 제어부에 의해 제어되며, 상기 입력부가 상기 제2 비트 그룹으로 그룹화한 경우에, 상기 설정된 쉬프트 카운트 횟수에 따라 상기 배럴 쉬프터에 의해 출력된 비트들 중 최하위 비트부터 n개의 비트 또는 최상위 비트부터 n개의 비트를 제거하여 상기 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출하는 LDPC 엔코더.
  7. 제6항에 있어서,
    상기 데이터 추출부는,
    상기 설정된 쉬프트 카운트 횟수가 n미만이면, 상기 최하위 비트부터 n개의 비트를 제거하여 상기 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출하며,
    상기 설정된 쉬프트 카운트 횟수가 n개 이상이고 2n개 미만이면, 비트를 입력받으면, 상기 최상위 비트부터 n개의 비트를 제거하여 상기 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출하는 LDPC 엔코더.
  8. 3n의 데이터 비트를 처리하도록 설계된 배럴 쉬프터를 이용하는 LDPC 엔코더의 동작 방법에 있어서,
    입력받는 데이터를 n개, 2n개, 3n개 중 하나의 비트 개수를 가지는 비트 그룹으로 그룹화하는 단계;
    상기 배럴 쉬프터로 전송하기 위한 데이터 비트의 개수가 3n개가 되도록 상기 비트 그룹에 데이터 비트들을 추가하여 상기 배럴 쉬프터로 전송하는 단계;
    상기 3n개의 데이터 비트들에 대하여 상기 배럴 쉬프터 동작을 위한 쉬프트 카운트 횟수를 설정하는 단계; 및
    상기 배럴 쉬프터에 의해 출력된 비트들 중 상기 그룹화된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 단계
    를 포함하며,
    상기 3n개가 되도록 비트들을 추가하여 상기 배럴 쉬프터로 전송하는 단계는,
    상기 n개의 비트 개수를 갖는 제1 비트 그룹을 수신하면, 상기 제1 비트 그룹을 설정된 개수만큼 복사하여 상기 제1 비트 그룹의 최하위 비트 후단에 추가하는 LDPC 엔코더의 동작 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 3n개가 되도록 비트들을 추가하여 상기 배럴 쉬프터로 전송하는 단계는,
    상기 2n개의 비트 개수를 갖는 제2 비트 그룹을 수신하면, 상기 설정된 쉬프트 카운트 횟수에 따라 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최하위 비트의 후단에 추가하거나 최상위 비트 전단에 추가하는 LDPC 엔코더의 동작 방법.
  11. 제10항에 있어서,
    상기 3n개가 되도록 비트들을 추가하여 상기 배럴 쉬프터로 전송하는 단계는,
    상기 설정된 쉬프트 카운트 횟수가 n미만이면, 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최하위 비트의 후단에 추가하는 단계; 및
    상기 설정된 쉬프트 카운트 횟수가 n이상이고 2n개 미만이면, 상기 제2 비트 그룹 중 최상위 비트부터 n개의 비트를 상기 제2 비트 그룹 최상위 비트의 전단에 추가하는 단계
    를 포함하는 LDPC 엔코더의 동작 방법.
  12. 제11항에 있어서,
    사용자에 의해 설정된 처리 속도에 매칭하여 상기 그룹화를 제어하는 단계; 및
    상기 그룹화된 비트 그룹 내 비트 개수에 매칭하여 상기 쉬프트 카운트 횟수를 제어하는 단계
    더 포함하는 LDPC 엔코더의 동작 방법.
  13. 제12항에 있어서,
    상기 그룹화된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 단계 는,
    상기 제1 비트 그룹으로 그룹화된 경우에, 상기 배럴 쉬프터에 의해 출력된 비트들 중 상기 제1 비트 그룹의 비트 개수에 매칭되는 비트를 추출하는 LDPC 엔코더의 동작 방법.
  14. 제13항에 있어서,
    상기 그룹화된 비트 그룹의 비트 개수에 매칭되는 비트들을 추출하는 단계 는,
    상기 제2 비트 그룹으로 그룹화된 경우에, 상기 설정된 쉬프트 카운트 횟수에 따라 상기 배럴 쉬프터에 의해 출력된 비트들 중 최하위 비트부터 n개의 비트 또는 최상위 비트부터 n개의 비트를 제거하여 상기 제2 비트 그룹의 비트 개수에 매칭되는 비트를 추출하는 LDPC 엔코더의 동작 방법.
KR1020130107290A 2013-09-06 2013-09-06 Ldpc 엔코더 및 그의 동작 방법 KR101476051B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130107290A KR101476051B1 (ko) 2013-09-06 2013-09-06 Ldpc 엔코더 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130107290A KR101476051B1 (ko) 2013-09-06 2013-09-06 Ldpc 엔코더 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR101476051B1 true KR101476051B1 (ko) 2014-12-23

Family

ID=52679810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130107290A KR101476051B1 (ko) 2013-09-06 2013-09-06 Ldpc 엔코더 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR101476051B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004343170A (ja) * 2003-05-13 2004-12-02 Sony Corp 復号方法および復号装置、並びにプログラム
JP2010093541A (ja) * 2008-10-08 2010-04-22 Sony Corp サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004343170A (ja) * 2003-05-13 2004-12-02 Sony Corp 復号方法および復号装置、並びにプログラム
JP2010093541A (ja) * 2008-10-08 2010-04-22 Sony Corp サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
C. Liu et al.,"Design of a Multimode QC-LDPC DecoderBased on Shift-Routing Network," IEEE Trans. on Circuits and Systems-II, Vol. 56, No. 9, Sept. 2009.. *
C. Liu et al.,"Design of a Multimode QC-LDPC DecoderBased on Shift-Routing Network," IEEE Trans. on Circuits and Systems-II, Vol. 56, No. 9, Sept. 2009..*
C. Liu et al.,"Multi-mode Message Passing Switch Networks Applied for QC-LDPC Decoder,"in Proc. IEEE ISCAS, May 2008, pp. 752.755.. *
C. Liu et al.,"Multi-mode Message Passing Switch Networks Applied for QC-LDPC Decoder,"in Proc. IEEE ISCAS, May 2008, pp. 752.755..*

Similar Documents

Publication Publication Date Title
Duda Asymmetric numeral systems: entropy coding combining speed of Huffman coding with compression rate of arithmetic coding
RU2403677C1 (ru) Способ сжатия и восстановления данных без потерь
JP7031828B2 (ja) 意味論的値のデータ圧縮及び解凍のための方法、装置、及びシステム
US10547324B2 (en) Data compression coding method, apparatus therefor, and program therefor
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
JP2002335160A5 (ko)
KR20170097580A (ko) 폴라 코딩 장치
CN106998208B (zh) 一种可变长Polar码的码字构造方法
CN111262592B (zh) 序列的循环移位装置及方法、存储介质
CN102857324B (zh) 基于查找表的深空通信中ldpc串行编码器和编码方法
CN101510781A (zh) 交织和解交织处理中哑元的填充方法和装置及处理系统
CN108288966B (zh) 极性Polar码的速率匹配处理方法及装置
CN107528596B (zh) 一种基于斐波那契-卢卡斯序列的Type-II QC-LDPC码构造方法
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
CN112332857B (zh) 一种用于ldpc码的循环移位网络系统及循环移位方法
CN107733441B (zh) 编码方法及装置、译码方法及装置
CN110073604B (zh) 数据解压缩器以及用于解压缩数据的集成电路和方法
KR101476051B1 (ko) Ldpc 엔코더 및 그의 동작 방법
EP2731270A1 (en) Method and device for encoding and decoding
JP2000353965A (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
Lin et al. Generalized arithmetic coding using discrete chaotic maps
CN108390677A (zh) 一种极化码优化的编译码方法
KR100874484B1 (ko) 준순환 저밀도 패리티 검사 부호화 방법 및 장치
CN103138769A (zh) 一种具有不等错误保护的编码方法
KR101286019B1 (ko) 터보 인코더 장치

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

Year of fee payment: 4