KR100800775B1 - 이동 통신 시스템에서 채널 부호화 장치 및 방법 - Google Patents

이동 통신 시스템에서 채널 부호화 장치 및 방법 Download PDF

Info

Publication number
KR100800775B1
KR100800775B1 KR1020050068652A KR20050068652A KR100800775B1 KR 100800775 B1 KR100800775 B1 KR 100800775B1 KR 1020050068652 A KR1020050068652 A KR 1020050068652A KR 20050068652 A KR20050068652 A KR 20050068652A KR 100800775 B1 KR100800775 B1 KR 100800775B1
Authority
KR
South Korea
Prior art keywords
matrix
parity
bit string
bit
information word
Prior art date
Application number
KR1020050068652A
Other languages
English (en)
Other versions
KR20060092843A (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 KR1020050068652A priority Critical patent/KR100800775B1/ko
Publication of KR20060092843A publication Critical patent/KR20060092843A/ko
Application granted granted Critical
Publication of KR100800775B1 publication Critical patent/KR100800775B1/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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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
    • H03M13/6505Memory efficient implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 디지털 통신 시스템에서 사용되는 저밀도 패리티 검사 부호를 구현하는데 있어 부호화 복잡도를 현저히 감소시키는 방법 및 장치에 관한 것으로 본 발명에 따른 부호화 방법은 미리 정해진 부호율과 부호길이에 따라 부호화에 필요한 파라미터값들을 결정하고 상기 파라미터값들에 따라 시드(Seed)행렬을 생성하고 상기 파라미터값들에 따라 다수의 셀(Cell)행렬들을 생성하고 상기 시드(Seed)행렬과 상기 셀(Cell)행렬을 이용하여 패리티 검사 행렬을 생성하고 상기 패리티 검사 행렬로부터 상기 정보 비트를 부호화한다. 본 발명은 작은 메모리와 간단한 시프트레지스터만으로 구성할 수 있고, 생성 행렬을 구하지 않고도 부호화가 가능하여 시스템의 복잡도를 현저히 감소시키는 특징이 있다.
저밀도 패리티 검사 부호, 시드(Seed)행렬, 셀(Cell)행렬, 무게(weight)

Description

이동 통신 시스템에서 채널 부호화 장치 및 방법{A Channel coding method and apparatus in mobile communication system}
도 1a 는 각각 부호율이 1/2 인 종래의 랜덤 LDPC 부호의 구조를 보인 도면
도 1b는 도 1a 의 LDPC 부호 생성 방법에 의해 설계된 균일한 랜덤 LDPC 부호의 검사 행렬의 예시도
도 2a는 패리티 검사 행렬을 6개의 부분 블록 행렬로 나눈 도면
도 2b는 본 발명의 바람직한 실시예에 따른 시드(Seed)행렬 블록들을 나타낸 도면
도 3은 본 발명의 바람직한 실시예에 따른 셀(Cell)행렬들을 나타낸 도면
도 4는 본 발명에 따른 LDPC부호의 부호화 방법을 나타낸 흐름도이다
도 5a는 본 발명의 바람직한 실시예에 따른 부호화기를 나타낸 도면
도 5b는 도 5a에서 레지스터를 구현한 장치를 나타낸 도면
본 발명은 이동 통신 시스템에서의 채널 부호화 장치 및 방법에 관한 것으로, 더욱 상세하게는 이동 통신 시스템에서의 저밀도 패리티 검사(Low Density Parity Check : LDPC) 채널 부호화 장치 및 방법에 관한 것이다.
일반적으로 이동 통신 시스템에서는 음성 및 데이터를 전송할 때 채널의 상황에 따른 잡음, 간섭, 페이딩(fading)등의 오류로 인한 데이터의 손실이 발생하게 된다. 이러한 데이터의 손실을 감소시키기 위해 이동 통신 시스템에서는 오류정정기법(error-control technique)을 사용하게 된다. 상기 오류정정기법 중 가장 기본적인 방법은 오류정정부호(error-control code)를 사용하는 것이다.
상기 오류정정부호 중 대표적인 부호로서 터보 부호(turbo code)와 LDPC부호가 있다. 그 중 상기 LDPC부호는 터보 부호보다 낮은 복호 복잡도 및 병렬 처리로 인한 고속 처리가 가능할 뿐 만 아니라 샤논의 한계에 도달하는 우수한 성능을 나타내어 차세대 이동 통신 시스템에 적합한 부호로서 많은 연구가 진행되고 있다.
상기LDPC부호는 1962년 Gallager에 의해 처음으로 제안되었으며, 상기 부호의 뛰어난 성능에도 불구하고 당시 기술력으로는 부호의 구현이 불가능했다. 그러나 근래에 와서 Mackay와 Neal은 LDPC부호를 재발견하고, 간단한 확률 복호법을 이용함으로써 그 성능이 매우 우수함을 입증하였다.
상기 LDPC부호는 패리티 검사 행렬(Parity Check Matrix)에 의해 정의된다. 상기 패리티 검사 행렬은 행렬의 원소 중 '1'의 개수가 드물게(sparse) 존재하고 대부분 원소가 '0'인 행렬로서 부호화된 수신 신호에 대해 오류 발생 여부를 확인하는 역할을 한다. 또한 상기 패리티 검사 행렬은 전체 패리티 검사 행렬을 다수의 부분 블록(partial block)들로 분할하고, 상기 부분 블록들 각각에 순열 행렬(permutation matrix)을 대응시키는 형태를 가진다.
상기 패리티 검사 행렬은 균일한(regular) 방법과 비균일한(irregular) 방법으로 구성된다. 상기 균일한 방법에 의해 구성된 패리티 검사 행렬은 각 행(row)과 열(column)이 일정한 무게값(weight)을 갖는다. 반면 상기 비균일한 방법에 의해 구성된 패리티 검사 행렬은 각 행(row)과 열(column)의 무게값(weight)이 일정하지 않는다. 여기서 무게값(weight)이란 '0'이 아닌 요소 즉 '1'의 개수를 뜻한다. 일반적으로 비균일한 방법에 의한 패리티 검사 행렬은 균일한 방법에 의한 패리티 검사 행렬에 비해 상대적으로 보다 성능이 우수하다고 알려져 있다. 그러나 상기 비균일한 방법에 의한 패리티 검사 행렬의 경우에는 무게값(weight)이 일정하기 않기 때문에 패리티 검사 행렬내의 각 행과 열의 무게값을 적절히 조절해야만 우수한 성능을 보장 받을 수 있다.
도 1a는 상기 균일한 방법에 따라 부호율이 1/2인 (3,6)LDPC부호의 패리티 검사 행렬의 구조를 나타낸 도면이고, 도 1b는 상기 도 1a에서 부호의 길이가 1000bit인 경우에서의 패리티 검사 행렬을 나타낸 예시도이다.
여기서, 상기 (3,6)LDP부호는 상기 패리티 검사 행렬의 각 행(row)에는 원소 '1'의 개수가 6개, 각 열(column)에는 원소 '1'의 개수가 3개가 존재한다는 것을 나타낸다.
상기 도1a를 참조하면, 상기 패리티 검사 행렬은 정보어와 매핑되는 정보어 파트(101)와 패리티와 매핑되는 패리티 파트(103)로 나뉘어진다. 각 파트(101,103) 에서 순환하는 원 속의 숫자 '3'은 상기 패리티 검사 행렬의 행(row)과 열(column)에 원소 '1'의 개수가 3개씩 존재하는 것을 나타낸다. 그리고 상기 LDPC부호의 부호율이 1/2이므로 상기 패리티 검사 행렬에서 상기 정보어 파트(101)와 상기 패리티 파트(103)의 크기는 동일하여야 할 것이다. 여기서 부호의 길이가 100bit인 LDPC부호일 때 상기 패리티 검사 행렬의 구조를 도1b에 나타내었다.
일반적으로LDPC부호의 부호화 과정은 상기 패리티 검사 행렬로부터 생성 행렬(Generation Matrix)을 구성하고, 상기 생성 행렬(Generation Matrix)에 의해 전송할 데이터를 부호화하는 과정으로 이루어 진다.
상기 생성 행렬은 가우스 소거법에 의해 상기 패리티 검사 행렬로부터 생성된다. 이 때, 상기 패리티 검사 행렬은 부호화된 수신 신호와의 곱이 '0'이라는 조건을 만족하여야 한다. 따라서 상기와 같은 조건을 만족하도록 상기 패리티 검사 행렬을 구성한다. 그 후 전송할 데이터와 상기 생성 행렬의 행렬 곱셈을 통해 부호화 과정이 이루어진다.
한편, 상기 LDPC부호는 팩터 그래프(factor graph)상에 나타낼 수 있다. 상기 LDPC부호를 팩터 그래프로 표현하면, 상기 팩터 그래프상에 사이클(cycle)이 존재하게 된다. 이와 같이 사이클(cycle)이 존재하는 상기 팩터 그래프상에서의 반복 복호는 준최적(suboptimal)이라고 이미 알려져 있다. 상기 LDPC부호는 반복 복호를 통해 우수한 성능을 가진다는 것 역시 실험적으로 증명된 바 있다. 그러나 상기 팩터 그래프상에 짧은 길이의 사이클이 많이 존재할 경우, 에러마루(error floor)로 인한 상기 LDPC 부호의 성능 열화가 발생하게 된다. 따라서 상기 팩터 그래프상에 짧은 길이의 사이클이 존재하지 않은 LDPC 부호를 설계하는 것이 바람직 할 것이다.
전술한 바와 같이 LDPC부호화를 위해서는 생성 행렬이 사용된다. 이 때 상기 생성행렬은 가우스 소거법에 의해 구해짐에 따라 상기 생성 행렬의 원소 '1' 의 개수가 증가하게 된다. 상기 원소 '1'의 개수 증가는 LDPC부호의 부호화 복잡도를 증가시키는 문제점을 가진다.
따라서 상기의 문제점을 해결하기 위한 다양한 부호화 방법들이 제안되었다. 그 중 대표적인 예로는 패리티 검사 행렬을 재구성하는 연산에서 제곱에 비례하는 연산을 최소화하는 방법이 있다. 하지만 부호화 복잡도를 현저히 감소시킬 수 있는 부호화 방법은 아직 개발되지 못하고 있다. 따라서 부호화 복잡도를 감소시키는 동시에 우수한 성능을 발휘할 수 있는 LDPC부호화 방법의 개발이 요구된다.
따라서 상술한 바와 같은 문제점을 해결하기 위한 본 발명의 목적은 LDPC 부호를 효율적으로 생성할 수 있는 부호화 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 LDPC부호를 생성시 시스템의 복잡도를 현저히 감소시키는 부호화 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 LDPC부호화 방법에 있어서 패리티 검사 행렬로부터 생성 행렬을 계산하지 않고 바로 부호화 할 수 있는 부호화 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 패리티 검사 행렬을 구성시 복호 성능을 저하시키는 짧은 사이클을 제거하여 복호 성능을 향상하는 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 패리티 검사 행렬을 구성시 시스템의 간단한 변경을 하여 비균일 LDPC부호를 생성할 수 있는 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명은 정보어 부분과 제 1패리티 부분과 제 2패리티 부분으로 구성되는 저밀도 패리티 검사(LDPC: Low Density Parity Check : LDPC)부호의 패리티 검사 행렬을 생성하는 방법에 있어서, 미리 정해진 부호율과 부호길이에 따라 부호화에 필요한 파라미터값들을 결정하는 과정과, 상기 파라미터값들에 따라 시드(Seed)행렬을 생성하는 과정과, 상기 파라미터값들에 따라 다수의 셀(Cell)행렬들을 생성하는 과정과, 상기 생성된 셀(Cell)행렬들을 상기 시드(Seed)행렬의 원소중 '1'의 위치에 대체하는 과정과, 상기 시드(Seed)행렬의 원소중 '0'의 위치에 상기 셀(Cell)행렬과 같은 크기의 영 행렬로 대체하는 과정으로 구성됨을 특징으로 한다.
상기 파라미터값들은 상기 시드(Seed)행렬의 행개수, 열개수, 무게(weight), 상기 셀(Cell)행렬의 크기를 포함한다.
상기 시드(Seed)행렬을 생성하는 과정은 미리 정해진 크기의 정방 행렬을 적어도 2개 구성하는 과정과, 상기 각 정방 행렬의 첫번째 행의 원소중 '1'사이의 거리를 조정하는 과정과, 상기 '1'사이의 거리를 조정한 상기 정방 행렬의 다음 행부터 순차적으로 순환 시프트하여 생성하는 과정을 포함함을 특징으로 한다.
상기 2개의 정방 행렬은 상기 정보어비트와 매핑되는 행렬과 패리티에 매핑 되는 행렬로 이루어진다.
상기 각 정방 행렬의 첫번째 원소중 '1'사이의 거리를 결정하는 과정은 상기 정방 행렬의 원소'1'사이의 거리를 증가 수열(incremental sequence)의 형태로 구성하는 과정과, 상기 증가 수열로 구성된 각 정방 행렬을 서로 서로소(disjoint)상태로 구성하여 상기 시드(Seed)행렬에서 4사이클이 제거되는 과정을 포함함을 특징으로 한다.
상기 셀(Cell)행렬을 생성하는 과정은 미리 정해진 크기의 정방 행렬을 구성하는 과정과, 상기 정방 행렬들에서 6사이클이 제거되는 과정을 포함함을 특징으로 한다.
상기한 목적을 달성하기 위한 본 발명은 비트 열의 길이가 k이고 소정의 상기 비트 열들을 가지는 정보어 비트 열을 입력하여 상기 정보 비트 열에 의해 제 1및 제 2패리티 비트 열을 생성하는 부호화 장치에서 상기 정보어 비트 열을 이용하여 제 1패리티 비트 열을 연산하고, 상기 정보 비트 열과 상기 제 1패리티 비트 열에 의해 상기 제 2패리티 비트 열을 생성하는 저밀도 패리티 검사(Low Density Parity Check : LDPC)부호화 장치에 있어서, 상기 정보어 비트 열이 입력되고, k의 단위로 순환 시프트(circular shift)되는 제 1순환 시프터와, 상기 정보어 비트 열에 의해 결정된 상기 제 1패리티 비트열이 입력되고 k의 단위로 순환 시프트(circular shift)되는 제 2순환 시프터와, 패리티 검사 행렬의 첫번째 행에 미리 정해진 방법에 의해 원소 '1'에 대응하면서 상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 미리 결정된 패턴에 의해 상기 정보어 비트 열들과 제 1패리 티 비트 열들의 순서를 바꾸는 다수의 레지스터들과, 상기 다수의 레지스터들의 출력값들을 비트단위로 가산하는 가산기와, 상기 가산기의 출력 비트 열의 순서를 바꾸어 상기 제 2패리티 비트 열을 구하는 제 2패리티 레지스터와, 상기 제 2패리티 레지스터의 출력 비트 열인 제 2패리티 비트 열이 입력되고, 상기 입력된 비트열을 k의 단위로 시프트(circular shift)되는 제 3순환 시프터를 포함함을 특징으로 한다.
여기서, 상기 제 2순환 시프터와 상기 제 3순환 시프터에 입력되는 제 1패리티 비트 열과 제 2패리티 비트 열을 상기 k의 단위로 순환 시프트(circular shift)되는 것을 특징으로 한다.
상기 다수의 레지스터들은 상기 LDPC부호의 부호어에서 6사이클이 제거됨을 특징으로 한다.
상기 제 2패리티 레지스터는 항등 행렬의 연산을 하는 것을 특징으로 한다.
상기한 목적을 달성하기 위한 본 발명은 비트의 길이가 k이고 소정의 상기 비트 열들을 가지는 정보어 비트 열을 입력하고, 상기 정보 비트 열에 의해 제 1및 제 2패리티 비트 열을 생성하는 부호화 방법에서 상기 정보어 비트 열을 이용하여 제 1패리티 비트 열을 연산하고 상기 정보 비트 열과 상기 제 1패리티 비트 열에 의해 상기 제 2패리티 비트 열을 생성하는 저밀도 패리티 검사(Low Density Parity Check : LDPC)부호화 방법에 있어서, 상기 정보어 비트 열이 제 1순환 시프터에 입력되는 과정과, 상기 정보어 비트 열에 의해 결정된 상기 제 1패리티 비트 열이 제 2순환 시프터에 입력되는 과정과, 미리 결정된 패리티 검사 행렬의 첫번째 행의 원 소 '1'에 대응하는 다수의 레지스터들에 상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 미리 결정된 패턴에 의해 바꾸는 과정과, 상기 순서를 바꾼 정보어 비트 열들과 상기 제 1패리티 비트 열을 비트단위로 가산하는 과정과, 상기 가산된 비트 열의 순서를 미리 결정된 패턴에 의해 바꾸어 상기 제 2패리티 비트 열을 구하는 과정과, 상기 제 2패리티 비트 열이 제 3순환 시프터에 입력되는 과정과, 상기 제 2패리티 비트 열이 상기 제 3순환 시프터에 입력된 후 제 1순환시프터를 상기 k의 단위로 순환 시프트시키고 상기 제 2순환시프터와 제 3순환 시프터를 같이 순환 시프트시키는 과정을 특징으로 한다.
상기 상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 바꾸는 과정은 상기 LDPC부호의 부호어에서 6사이클이 제거됨을 특징으로 한다.
상기 가산기의 출력 비트 열을 바꾸는 과정은 항등 행렬에 의해 연산됨을 특징으로 한다.
이하 본 발명의 실시 예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
후술 될 본 발명에 대한 상세한 설명에서는 이동 통신 시스템에서 사용되는 오류 정정 부호인 저밀도 패리티 검사 부호(Low Density Parity Check code : LDPC)의 부호화 장치 및 방법에 대해 구체적으로 살펴본다. 이를 위해서는 짧은 길이의 순환 행렬인 시드(Seed)행렬과 상기 시드(Seed)행렬의 각 원소 블록에 대체되 는 정방 행렬인 셀(Cell)행렬을 이용하여 패리티 검사 행렬을 생성하는 방법에 대해 구체적으로 제시되어야 할 것이다. 그리고 상기 생성된 패리티 검사 행렬을 이용하여 입력된 정보어 비트 열을 부호화하는 장치 및 방법에 대해서도 구체적으로 게시되어야 할 것이다. 이를 위해 후술될 본 발명의 실시 예에서는 상기 부호의 길이와 부호율이 다르더라도 이 기술 분야에서 당업자라면 쉽게 확장을 할 수 있다는 것은 자명할 것이다.
A. 패리티 검사 행렬의 구성
이하 본 발명의 바람직한 실시예에 따른 패리티 검사 행렬을 구성하는 방법에 대해 상세히 설명한다.
본 발명에서 제안하는 상기 패리티 검사 행렬은 시드(seed)행렬과 셀(cell)행렬로 구성된다. 상기 시드(Seed)행렬과 상기 셀(Cell)행렬을 구성하기 위해서는 파라미터 n, m, k가 결정되어야 한다. 여기서, 상기 n은 상기 시드(Seed)행렬의 열(column)길이, 상기 m은 상기 시드(Seed)행렬의 행(row)길이, 상기 k는 정방 행렬(k x k)인 셀(Cell)행렬의 크기를 나타낸다. 상기 부호율은 상기 n에서 상기 m길이를 뺀 값에 상기 n으로 나눈 값으로 정의한다. 또한 상기 부호 길이는 상기 n과 상기 k를 곱한 값으로 정의 된다. 따라서 상기 부호율은 하기 <수학식1>로 표현하고 상기 부호 길이는 하기 <수학식2>로 표현한다.
부호율 = ( n ­ m )/n
부호길이 = nk
상기 부호율과 상기 부호길이는 이미 알고 있는 값이므로, 상기 <수학식1>과 상기 <수학식2>을 만족하는 파라미터 즉 n, m, k 값은 다수개가 존재한다. 상기 다수개의 파라미터 중 상기 패리티 검사 행렬을 구성하기 위한 최적의 파라미터를 선택한다. 상기 선택된 n, m, k에 의해 (m x n)의 시드(Seed)행렬과 (k x k)의 셀(Cell)행렬의 크기가 결정된다.
본 발명의 실시예에서는 부호율이 1/2, 부호길이가 200인 (3,6)LDPC부호에 대해 상세히 설명한다. 상기 조건의 LDPC부호에서 상기 <수학식1>과 상기 <수학식2>를 만족하는 파라미터 중 n=50, m=25, k=4로 선택하였다. 따라서 (25 x 50)의 시드(Seed)행렬과 (4 x 4)의 셀(Cell)행렬로 구성된다.
도 2a는 패리티 검사 행렬을 6개의 부분 블록 행렬로 나눈 도면이고, 도 2b는 본 발명의 바람직한 실시예에 따른 상기 시드(Seed) 행렬 블록들을 나타낸 도면이다.
상기 도 2a에서 보는 바와 같이, 상기 패리티 검사 행렬은 정보어 비트 열과 대응되는 정보 파트 m과, 제 1패리티 비트 열과 대응되는 P1 파트와, 제 2패리티 비트 열과 대응되는 P2 파트로 구분한다. 상기 정보 파트 m은 A 블록과 C 블록, 상기 P1 파트 부분은 B 블록과 D 블록, 상기 P2 파트 부분은 T 블록과 E 블록으로 나뉘어 진다.
본 발명에서 제안하는 시드(Seed)행렬은 상기 도 2b의 패리티 검사 행렬의 형태로 구성된다. 상기 도 2b를 참조하면, 상기 시드(Seed)행렬은 25개의 행 블록과 25개의 열 블록을 가진 정방 행렬 두개로 이루어진다. 각각의 정방 행렬은 상기 도 2a의 정보어 파트 m과 대응되는 제 1 정방 행렬(201)과 패리티 파트와 대응되는 제 2 정방 행렬(202)이다. 그리고 상기 도 2a와 같이 상기 제 1 정방 행렬(201)은 A 블록 행렬과 C 블록 행렬로 나뉘어지고, 상기 제 2정방 행렬(202)에서 P1 파트는 B 블록 행렬과 D 블록 행렬, P2 파트는 T 블록 행렬과 E 블록 행렬로 나뉘어진다. 그리고 상기 R1 내지 R6는 상기 시드(Seed)행렬의 원소 '1'의 위치를 나타내고 상기 R1 내지 R6은 다음에 후술될 각각의 셀(Cell)행렬을 나타낸다.
그러면, 상기 시드(Seed)행렬을 생성하는 방법을 알아본다.
우선 상술한 바와 같이 상기 부호어의 길이 200과 부호율 1/2에 따라 (25x50)크기의 행렬을 구성하고 상기 행렬을 (25 x 25)크기의 정방 행렬로 나눈다. 상기 각 정방 행렬 중 상기 정보어 파트와 대응되는 행렬을 제 1 정방 행렬(201)이라 하고, 패리티 파트와 대응되는 행렬을 제 2 정방 행렬(202)이라 한다. 그리고 상기 LDPC부호는 각 행과 각 열의 무게값은 6과 3이므로 상기 각 정방 행렬(201, 202)의 무게값은 각각 3과 3이어야한다.
상기 제 1정방 행렬(201)과 상기 제 2정방 행렬을 구성하는 방법은 상기 각 정방 행렬(201, 202))에서 4사이클을 제거하기 위해 첫번째 행에서 3개의 원소 '1'사이의 거리를 미리 정해진 방법으로 정한다. 그 후, 상기 각 원소 '1'을 대각 방향으로 배열하면 된다.
상기 생성한 각 정방 행렬(201,202)에서 원소'1'사이의 거리를 정하는 방법은 다음과 같다.
우선 원소 '1'사이가 일정한 행렬에서 각 행(row)의 원소'1'사이의 거리를 d라고 할 때 다음과 같이 집합
Figure 112005041316228-pat00001
로 나타내기로 한다.
그러므로 제 1 정방 행렬(201)과 제 2 정방 행렬(202)은 각 행(row)에서 원소 '1'의 거리가 일정하므로 다음과 같이 각각
Figure 112005041316228-pat00002
Figure 112005041316228-pat00003
로 나타낼 수 있다. 상기 집합 각각의 원소를 증가 수열(incremental sequence)의 형태로 구성하면 상기 각 정방 행렬(201,202)에서 4사이클이 제거된다. 한편, 상기 증가수열(incremental sequence)은 집합
Figure 112005041316228-pat00004
일 때 다음의 <수학식 3>을 만족하는 수열을 나타낸다.
Figure 112005041316228-pat00005
상기 <수학식3>에서 k는 '0'이상의 정수를 말한다.
상기 <수학식3>을 만족하는 집합은 4사이클이 제거되는데 상기 조건을 만족하는 정방 행렬을 증가 거리 순환 행렬(Incremintal Distance Cyclic Matrix, 이하"IDCM"이라 칭함)이라고 정의하고
Figure 112005041316228-pat00006
와 같이 표시한다. 그러므로 상기 <수학식3>을 만족하는 제 1 정방 행렬(201)와 제 2 정방 행렬(202)은 각각 IDCM[5,7,13], IDCM[1,3,21]으로 나타낼 수 있다.
그런 후, 상기 <수학식3>를 만족하는 상기 제 1 정방 행렬(201)과 상기 제 2 정방 행렬(202)을 결합하여 상기 시드(Seed)행렬을 생성한다. 상기 정방 행렬(201, 202)을 결합한 상기 시드(Seed)행렬은 4사이클이 제거된다. 왜냐하면 각각의 IDCM 원소의 합이 같고, 상기 두 IDCM이 서로 서로소(disjoint)상태를 만족하면 두 행렬을 결합한 행렬도 4사이클이 제거되기 때문이다.
여기서, 상기 서로소 상태(disjoint)라는 것은 두 집합이 다음의 수학식 4, 5, 6을 만족하는 경우를 말한다.
Figure 112005041316228-pat00007
Figure 112005041316228-pat00008
Figure 112005041316228-pat00009
다음으로 셀(Cell)행렬을 구하는 방법을 알아본다.
도 3은 본 발명의 바람직한 실시예에 따른 셀(Cell)행렬들을 나타낸 도면이다.
본 발명의 실시 예에서는 상기 시드(Seed)행렬의 '1'의 원소가 한 행에 6개가 들어가기 때문에 (4 x 4)크기를 가진 6개의 셀(Cell)행렬이 필요하다.
도 3를 참조하면, 상기 셀(Cell)행렬들은 각 행(row)와 각 열(column)에 '1'인 원소가 하나씩만 존재한다. 그리고 상기 셀(Cell)행렬들의 '1'인 원소를 다음의 <수학식7>와 <수학식8>을 동시에 만족하는 행렬을 구성하면 상기 셀(Cell)행렬에서 6사이클이 제거된다.
Figure 112005041316228-pat00010
Figure 112005041316228-pat00011
상기 수학식에서 R은 셀(Cell)행렬,
Figure 112005041316228-pat00012
는 '0'이 아닌 원소들의 개수를 나타내는 해밍웨이트(Hamming Weight)함수, diag는 행렬의 대각선의 원소를 나타내는 대각(diagonal) 함수이다.
상기 조건에 알맞은 셀(Cell)행렬은 입력 데이터에 대해 행렬곱 연산을 하면 상기 입력된 데이터의 순서를 재배치하는 특징을 가진다. 예를 들면, 도 3에서 R1 행렬(301)과 임의의 데이터 [a b c d]와 행렬곱 연산을 하면 단순히 위치만 바뀐 [d a b c]의 데이터가 출력됨을 알 수 있다.
본 발명의 실시예에 따라 상기 시드(Seed)행렬과 상기 셀(Cell)행렬이 생성되면, 패리티 검사 행렬은 상기 시드(Seed)행렬의 원소'1'의 위치에 상기 정방 행렬인 셀(Cell)행렬이 대체되고 나머지 원소 '0'의 위치에는 상기 셀(Cell)행렬과 크기가 같은 영 행렬이 대체됨으로써 생성된다.
상술한 방법으로 생성된 상기 패리티 검사 행렬은 상기 시드(Seed)행렬과 상기 셀(Cell)행렬의 특성으로 인해 4사이클과 6사이클이 제거된다. 그러므로 본 발명에 따른 LDPC코드는 짧은 사이클로 인한 시스템의 성능저하를 방지할 수 있게 된다.
B. LDPC부호화 방법.
도 4는 본 발명에 따른 LDPC부호의 부호화 방법을 나타낸 흐름도이다.
상기 도 4를 참조하면, 401단계에서 미리 정해진 부호율과 부호길이를 이용하여 파라미터 n, m, k를 결정한다. 상기 파라미터들이 결정되면 시드(Seed)행렬과 셀(Cell)행렬의 크기가 결정된다. 크기가 정해진 상기 시드(Seed)행렬은 403단계에서 증가 수열(incremental sequence)을 이용하여 4사이클이 제거된 시드(Seed)행렬을 생성한다. 여기서, 상기 증가 수열(incremental sequence)은 앞에서 상술 되었으므로 여기서는 생략한다. 상기 파라미터에 의해 셀(Cell)행렬의 크기가 결정되면 405단계에서는 상술한 방법에 의해 6사이클이 제거된 셀(Cell)행렬을 생성한다. 407단계에서 상기 생성된 셀(Cell)행렬에 6사이클이 제거되었는지를 확인한다. 상 기 6사이클이 제거되지 않으면 다시 셀(Cell)행렬을 구성해야 한다. 그러나 6사이클이 제거되면 409단계에서 상기 시드(Seed)행렬의 원소 '1'의 자리에 상기 셀(Cell)행렬을 대체시키고, 나머지 원소 '0'의 자리에 상기 셀(Cell)행렬의 크기와 같은 영 행렬을 대체시켜 패리티 검사 행렬을 생성한다. 상기 방법에 의해 생성된 상기 패리티 검사 행렬은 4사이클과 6사이클이 제거된다. 411단계에서는 상기 구성된 패리티 검사 행렬의 원소 '1'들의 사이가 일정하고 한 칸씩 시프트되어 대각의 형태로 나타내므로 시프트 레지스터를 이용하여 전송할 데이터를 쉽게 부호화 할 수 있다.
C.LDPC부호화 장치 및 방법
도 5a는 본 발명의 바람직한 실시예에 따른 부호화 장치를 나타낸 도면이고, 도 5b는 상기 도 5a에서 레지스터를 구현한 장치를 나타낸 도면이다.
상기 도 5a를 설명하기에 앞서 본 발명의 실시 예에 따른 부호화기는 상술한 상기 패리티 검사 행렬을 구현한 장치이다. 그러므로 상기 부호화기는 부호어의 길이 200비트, 부호율 1/2, 정보어의 길이 100비트, 패리티 비트 100비트인 경우에 맞게 구현하였다. 여기서 상기 정보어의 길이는 상기 시드(Seed)행렬의 행(row)길이와 상기 셀(Cell)행렬의 행(row)길이의 곱으로 연산되므로 정보어 비트 열들은 25개의 비트 열들을 가지고 상기 각각의 비트 열들은 4개의 비트 열로 이루어진다. 상기 정보어 비트 열들, 제 1패리티 비트 열들, 제 2패리티 비트 열들은 다음과 같이 각각
Figure 112005041316228-pat00013
,
Figure 112005041316228-pat00014
,
Figure 112005041316228-pat00015
로 나타낸 다. 또한 상기 부호화기에서 출력되는 200비트 열들의 부호어는
Figure 112005041316228-pat00016
로 나타낸다. 여기서 상기 각각의 비트 열은 4비트씩 구성된다. 또한 상기 부호율이 1/2이므로 상기 제 1 패리티의 길이와 제 2 패리티의 길이의 합은 상기 정보어 비트 열들의 길이와 같아야 한다.
상기 도 5a를 참조하면, LDPC부호의 부호화기는 정보어 비트 열들을 입력하는 제 1순환시프터(501)와 제 1패리티 비트 열들을 입력하는 제 2순환시프터(503)와 제 2패리티 비트 열들을 입력하는 제 3순환시프터(505)와 상기 입력 비트 열들을 미리 정해진 방법에 의해 순서를 바꾸는 셀(Cell)행렬을 구현한 레지스터들과 상기 레지스터들의 출력 비트 열들을 가산하는 가산기(519)로 구성된다. 여기서 상기 레지스터들은 상기 시드(Seed)행렬의 첫번째 행의 원소 '1'사이의 거리인 d만큼의 간격에 맞게 위치 시킨다. 즉 본 발명의 실시예에 따른 상기 시드(Seed)은 원소 '1'사이의 거리가 5,7,13,1,3,21 이므로 도 5a에서 상기 레지스터들을 상기 '1'사이의 거리만큼 차이가 나도록 구성하였다.
상기 제 1순환시프터(501)는 정보어 비트를 입력하여 상기 셀(Cell)행렬의 크기 4비트씩만큼 순환 시프트(cyclic shift)한다. 상기 제 2순환시프터(503)과 상기 제 3순환시프터(505)는 같이 4비트씩 순환 시프트(cyclic shift)한다.
상기 부호화 장치에 따른 부호화 방법은 상기 정보어 비트우선 정보어 비트 열들
Figure 112007060427101-pat00017
이 상기 셀(Cell)행렬의 크기 인 4비트의 단위로 제 1순환 시프터(501)에 입력한다. 그리고 상기 입력된 비트 열들중
Figure 112007060427101-pat00018
,
Figure 112007060427101-pat00019
,
Figure 112007060427101-pat00020
은 각각 제 1레지스터(501), 제 2레지스터(503), 제 3레지스터(505)에 의해 미리 정해진 방법에 의해 비트 열들의 순서를 바꾼다. 그리고 상기 정보어 비트 열들을 이용하여 도시 되지 않은 전처리기(Pre-processor)에 의해 제 1패리티 비트 열들을 구한다. 여기서 상기 전처리기(Pre-processor)는 종래의 제안된 방법인 <수학식9>와 같은 연산을 수행하여 구한다.
Figure 112005041316228-pat00021
상기 <수학식9>에서 상기 m은 정보어 비트, 상기 A,B,C,D,E,T는 상기 패리티 검사 행렬의 상기 도 2에서 설명한 부분 블록 행렬들을 나타내고, 여기서 블록 행렬
Figure 112007060427101-pat00022
와 블록 행렬
Figure 112007060427101-pat00023
의 검사식은 영이 아니어야 한다.
상기 전처리기(Pre-processor)에 의해 상기 제 1 패리티 비트 열
Figure 112005041316228-pat00024
을 구한 후, 제 2순환 시프터(503)에 입력되고 상기 입력 비트 열중
Figure 112005041316228-pat00025
,
Figure 112005041316228-pat00026
를 각각 제 4레지스터, 제 5레지스터에 의해 미리 정해진 방법에 의해 비트 열들의 순서를 바꾼다. 여기서 상기 레지스터들은 상기 셀(Cell)행렬을 구현한 장치로써 상세한 설명은 이하 도면 5b에서 설명할 것이므로 여기서는 생략하겠다.
상기 제 1레지스터 내지 제 5레지스터들로부터 출력된 비트 열들은 가산기(521)에 의해 가산된다. 상기 가산기(521)의 출력 비트 열들은 제 6레지스터(511)의 의해 미리 정해진 방법에 의해 순서를 바꾸게 되면 제 2패리티 비트 열들 중 첫번째 열인
Figure 112007060427101-pat00027
을 구하게 된다. 즉
Figure 112007060427101-pat00028
은 다음의 <수학식10>에 의해 구할 수 있다.
Figure 112005041316228-pat00029
상기 <수학식10>에서 상기
Figure 112007060427101-pat00030
내지
Figure 112007060427101-pat00031
는 생성된 셀(Cell)행렬을 나타낸 것으로 상기 도 5a에서 제 1레지스터(507) 내지 제 6레지스터(517)를 나타낸다.
상기
Figure 112005041316228-pat00032
를 구한 후, 제 1순환시프트(501)의 입력된 비트 열들을 왼쪽으로 상기 셀(Cell)행렬의 크기 k인 4비트씩 순환시프트하고, 상기 제 2순환시프터와 제 3순환시프터(505)를 같이 4비트씩 순환시프트하여 상기 방법을 반복하면
Figure 112005041316228-pat00033
을 구할 수 있다. 이런 방법으로 상기 제 2패리티 비트 열
Figure 112005041316228-pat00034
을 구할 수 있게 된다.
마지막으로 상기 셀(Cell)행렬을 구현한 레지스터에 대해 알아본다.
도 5b에서
Figure 112007060427101-pat00035
(521)내지
Figure 112007060427101-pat00036
(531)은 상기 5a의 제 1레지스터 내지 제 6레지스터를 상세히 나타내었다. 본 실시 예에서는 상기 셀(Cell)은 상술한 바와 같이 입력 비트열의 순서를 재배치하는 역할을 하므로 쉽게 구현이 가능하다. 예를 들어 상기 도 5b에서
Figure 112007060427101-pat00037
(521)은 첫번째 비트는 두번째 비트 위치로, 두번째 비트는 세번째 비트 위치로, 세번째 비트는 네번째 비트 위치로 네번째 비트는 첫번째 비트 위치로 출력하는 레지스터임을 알 수 있다. 이처럼 상기 셀(Cell)행렬을 구현한 레지스터는 단순히 입력 비트들의 위치만 바꾸면 되므로 쉽게 구현이 가능하다. 여기서 제 2패리티 비트열을 구하는 것은 상기 <수학식 8>에서 보는 바와 같이 제 6레지스터는 역 행렬을 구해야한다. 그러나 상기 제 6레지스터를 항등 행렬로 생성할 경우 상기 시스템을 더욱 간단히 구현할 수 있다. 여기서 상기 제 6레지스터는 최종적으로 제 2패리티 비트 열을 구하는 연산을 하므로 본 발명에서 제 2패리티 레지스터라고 호칭하기로 한다.
상술한 바와 같이 본 발명은 LDPC코드의 부호화시 생성 행렬의 구하지않고 패리티 검사 행렬만으로 부호화가 가능하다. 또한 본 발명에 따른 상기 패리티 검사 행렬을 구현시 제 1 패리티 벡터를 연산하는 전처리부(Pre-processor)의 구현에 필요한 메모리와 셀(Cell)행렬과 같이 간단한 시프트 레지스터만으로 부호화기의 구현이 가능하므로 LDPC 부호화기의 복잡도를 현저히 감소시킨다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다, 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명의 효과는 LDPC부호의 부호화시 생성 행렬을 구현할 필요가 없고, 패리티 검사 행렬을 생성시 필요한 시드(Seed)행렬와 셀(Cell)행렬은 간단한 시프트레지스터로 구현할 수 있으므로, 시스템의 복잡도가 현저히 감소시키는 효율적인 부호화기의 설계가 가능하다.
본 발명의 다른 효과는 패리티 검사 행렬을 구성시 각각 4사이클과 6사이클을 제거된 시드(Seed)행렬과 셀(Cell)행렬로 이루어 지므로 반복 복호 수행시 독립성 증가로 성능을 향상시킬 수 있다.
또한 일반적으로 시스템의 구현을 용이하게 하기 위해 패리티 검사 행렬을 균일한 방법으로 생성하지만, 균일 패리티 검사 행렬에서 셀(Cell)행렬만 변경을 함으로써 비균일 LDPC부호를 쉽게 생성할 수 있어 시스템의 성능을 향상시킬 수 있다.

Claims (15)

  1. 정보어 부분과 제 1패리티 부분과 제 2패리티 부분으로 구성되는 저밀도 패리티 검사(LDPC: Low Density Parity Check : LDPC)부호의 패리티 검사 행렬을 생성하는 방법에 있어서,
    미리 정해진 부호율과 부호길이를 고려하여 제1 내지 제3 파라미터값을 결정하는 과정과,
    상기 제1 및 제2 파라미터값 각각을 열의 길이 및 행의 길이로 하는 시드(Seed)행렬을 생성하는 과정과,
    상기 제3 파라미터값을 행의 길이와 열의 길이로 하는 적어도 하나의 정방 행렬인 셀(Cell)행렬들을 생성하는 과정과,
    상기 생성된 적어도 하나의 셀(Cell)행렬을 상기 시드(Seed)행렬의 원소중 '1'의 위치에 대체하는 과정과,
    상기 시드(Seed)행렬의 원소중 '0'의 위치에 상기 셀(Cell)행렬과 같은 크기를 가지는 영 행렬로 대체하여 상기 패리티 검사 행렬을 생성하는 과정을 포함하며,
    상기 부호율은 하기 수학식 11과 같이 제1 파라미터 및 제2 파라미터로 정의되며, 상기 부호길이는 하기 수학식 12와 같이 제1 파라미터 및 제3 파라미터로 정의됨을 특징으로 하는 상기 방법.
    부호율=(n-m)/n
    부호길이=nk
    상기 수학식 11에서 n은 제1 파라미터 값, m은 제2 파라미터 값을 의미하고, 상기 수학식 12에서 n은 제1 파라미터 값, k는 제3 파라미터 값을 의미함.
  2. 삭제
  3. 제 1항에 있어서, 상기 시드(Seed)행렬을 생성하는 과정은,
    미리 정해진 크기의 정방 행렬을 적어도 2개 구성하는 과정과,
    상기 각 정방 행렬의 첫번째 행의 원소중 '1'사이의 거리를 결정하는 과정과,
    상기 '1'사이의 거리를 조정한 상기 정방 행렬의 다음 행부터 순차적으로 순환 시프트하여 생성하는 과정을 포함함을 특징으로 하는 상기 방법.
  4. 제 3항에 있어서, 상기 2개의 정방 행렬은 상기 정보어비트와 매핑되는 행렬과 패리티에 매핑되는 행렬로 이루어지는 것을 특징으로 하는 상기 방법.
  5. 제 3항에 있어서, 상기 각 정방 행렬의 첫번째 원소중 '1'사이의 거리를 결정하는 과정은,
    상기 정방 행렬의 원소'1'사이의 거리를 증가 수열(incremental sequence)의 형태로 구성하는 과정과,
    상기 증가 수열로 구성된 각 정방 행렬을 서로 서로소(disjoint)상태로 구성하는 과정을 포함하는 상기 방법.
  6. 제 5항에 있어서, 상기 증가 수열(incremental sequence)은,
    k가 '0'이상인 정수 일 때 다음의 <수학식13>을 만족하고,
    Figure 112007060427101-pat00038
    여기서, d는 행렬 원소 '1'사이의 거리를 나타낸 값임을 특징으로 하는 상기 방법.
  7. 삭제
  8. 제 1항에 있어서, 상기 셀 행렬은 6사이클이 제거된 정방 행렬이며, 상기 6사이클이 제거된 정방 행렬은 하기 <수학식14>와 <수학식15>를 만족하도록 생성되며,
    하기 수학식들에서, R은 상기 정방 행렬,
    Figure 112007060427101-pat00039
    는 '0'이 아닌 원소들의 개수를 나타내는 해밍웨이트(Hamming Weight)함수, diag는 정방 행렬의 대각선의 원소를 나타내는 대각(diagonal) 함수인 것을 특징으로 하는 상기 방법.
    Figure 112007060427101-pat00040
    Figure 112007060427101-pat00041
  9. 비트 열의 길이가 k이고 소정의 상기 비트 열들을 가지는 정보어 비트 열을 입력하여 상기 정보 비트 열에 의해 제 1및 제 2패리티 비트 열을 생성하는 부호화 장치에서 상기 정보어 비트 열을 이용하여 제 1패리티 비트 열을 연산하고, 상기 정보 비트 열과 상기 제 1패리티 비트 열에 의해 상기 제 2패리티 비트 열을 생성하는 저밀도 패리티 검사(Low Density Parity Check : LDPC)부호화 장치에 있어서,
    상기 정보어 비트 열이 입력되고, k의 단위로 순환 시프트(circular shift)되는 제 1순환 시프터와,
    상기 정보어 비트 열에 의해 결정된 상기 제 1패리티 비트열이 입력되고, k의 단위로 순환 시프트(circular shift)되는 제 2순환 시프터와,
    패리티 검사 행렬의 첫번째 행에 미리 정해진 방법에 의해 원소 '1'에 대응하면서상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 미리 결정된 패턴에 의해 상기 정보어 비트 열들과 제 1패리티 비트 열들의 순서를 바꾸는 다수의 레지스터들과,
    상기 다수의 레지스터들의 출력값들을 비트단위로 가산하는 가산기와,
    상기 가산기의 출력 비트 열의 순서를 바꾸어 상기 제 2패리티 비트 열을 구하는 제 2패리티 레지스터와,
    상기 제 2패리티 레지스터의 출력 비트 열인 제 2패리티 비트 열이 입력되고, 상기 입력된 비트열을 k의 단위로 시프트(circular shift)되는 제 3순환 시프터를 포함하며,
    여기서, 상기 제 2순환 시프터와 상기 제 3순환 시프터에 입력되는 제 1패리티 비트 열과 제 2패리티 비트 열을 상기 k의 단위로 순환 시프트(circular shift)되는 것을 특징으로 하는 상기 장치.
  10. 삭제
  11. 제 9항에 있어서, 상기 제 2패리티 레지스터는,
    항등 행렬의 연산을 하는 것을 특징으로 하는 상기 장치.
  12. 비트의 길이가 k이고 소정의 상기 비트 열들을 가지는 정보어 비트 열을 입력하고, 상기 정보 비트 열에 의해 제 1및 제 2패리티 비트 열을 생성하는 부호화 방법에서 상기 정보어 비트 열을 이용하여 제 1패리티 비트 열을 연산하고 상기 정보 비트 열과 상기 제 1패리티 비트 열에 의해 상기 제 2패리티 비트 열을 생성하는 저밀도 패리티 검사(Low Density Parity Check : LDPC)부호화 방법에 있어서,
    상기 정보어 비트 열이 제 1순환 시프터에 입력되는 과정과,
    상기 정보어 비트 열에 의해 결정된 상기 제 1패리티 비트 열이 제 2순환 시프터에 입력되는 과정과,
    미리 결정된 패리티 검사 행렬의 첫번째 행의 원소 '1'에 대응하는 다수의 레지스터들에 상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 미리 결정된 패턴에 의해 바꾸는 과정과,
    상기 순서를 바꾼 정보어 비트 열들과 상기 제 1패리티 비트 열을 비트단위로가산하는 과정과,
    상기 가산된 비트 열의 순서를 미리 결정된 패턴에 의해 바꾸어 상기 제 2패리티 비트 열을 구하는 과정과,
    상기 상기 제 2패리티 비트 열이 제 3순환 시프터에 입력되는 과정과,
    상기 제 2패리티 비트 열이 상기 제 3순환 시프터에 입력된 후 제 1순환시프터를 상기 k의 단위로 순환 시프트시키고 상기 제 2순환시프터와 제 3순환 시프터를 같이 순환 시프트시키는 과정을 특징으로 하는 상기 방법.
  13. 삭제
  14. 제 12항에 있어서, 상기 가산기의 출력 비트 열을 바꾸는 과정은,
    항등 행렬에 의해 연산되는 것을 특징으로 하는 상기 방법.
  15. 삭제
KR1020050068652A 2005-07-27 2005-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법 KR100800775B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050068652A KR100800775B1 (ko) 2005-07-27 2005-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050068652A KR100800775B1 (ko) 2005-07-27 2005-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060092843A KR20060092843A (ko) 2006-08-23
KR100800775B1 true KR100800775B1 (ko) 2008-02-01

Family

ID=37594125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050068652A KR100800775B1 (ko) 2005-07-27 2005-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100800775B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019845A1 (en) 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
KR20040036460A (ko) * 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
KR20050071842A (ko) * 2004-01-03 2005-07-08 이광재 반 집합 대수 엘디피씨 부호의 구성 방법 및 부호화 장치
KR20060082134A (ko) * 2004-07-27 2006-07-18 삼성전자주식회사 이동 통신 시스템에서 채널 부호화 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019845A1 (en) 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
KR20040036460A (ko) * 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
KR20050071842A (ko) * 2004-01-03 2005-07-08 이광재 반 집합 대수 엘디피씨 부호의 구성 방법 및 부호화 장치
KR20060082134A (ko) * 2004-07-27 2006-07-18 삼성전자주식회사 이동 통신 시스템에서 채널 부호화 장치 및 방법

Also Published As

Publication number Publication date
KR20060092843A (ko) 2006-08-23

Similar Documents

Publication Publication Date Title
KR100641052B1 (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
KR101208546B1 (ko) 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법
CN102638274B (zh) 利用向量行分组的结构化ldpc设计操作发送器的设备及方法
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR20050118056A (ko) 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20080033381A (ko) 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기
KR20090092892A (ko) Ldpc 코드를 이용한 복호화 방법
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
JP2012231473A (ja) 可変サイズのパケットのldpc符号化及び復号化
JP2010532129A (ja) パリティ検査行列の生成
CN103401564A (zh) 编码器、解码器、发送装置、接收装置及其方法
KR20050044963A (ko) q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
KR102303379B1 (ko) 준-순환 저밀도 패리티 체크를 위한 설계 방법 및 장치
CN103053116A (zh) 低密度奇偶校验码的编码方法和装置
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
KR101077552B1 (ko) 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
CN110073618B (zh) 产生用于增量冗余harq通信装置的低密度奇偶校验码的设备和方法
CN107733441B (zh) 编码方法及装置、译码方法及装置
KR100800775B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
JP5523064B2 (ja) 復号装置及び方法
KR100698192B1 (ko) Ldpc 부호의 복호 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee