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

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

Info

Publication number
KR100918741B1
KR100918741B1 KR1020040058749A KR20040058749A KR100918741B1 KR 100918741 B1 KR100918741 B1 KR 100918741B1 KR 1020040058749 A KR1020040058749 A KR 1020040058749A KR 20040058749 A KR20040058749 A KR 20040058749A KR 100918741 B1 KR100918741 B1 KR 100918741B1
Authority
KR
South Korea
Prior art keywords
matrix
parity
bit string
bit
parity check
Prior art date
Application number
KR1020040058749A
Other languages
English (en)
Other versions
KR20060082134A (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 KR1020040058749A priority Critical patent/KR100918741B1/ko
Priority to US11/190,543 priority patent/US7451374B2/en
Priority to EP05016320.3A priority patent/EP1624582B1/en
Publication of KR20060082134A publication Critical patent/KR20060082134A/ko
Application granted granted Critical
Publication of KR100918741B1 publication Critical patent/KR100918741B1/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
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Abstract

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

Description

이동 통신 시스템에서 채널 부호화 장치 및 방법{APPARATUS AND METHOD FOR CHANNEL CODING 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)행렬과 같은 크기의 영 행렬로 대체하는 과정을 포함한다.
삭제
삭제
삭제
삭제
삭제
상기한 목적을 달성하기 위한 본 발명은 비트 열의 길이가 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패리티 레지스터는 항등 행렬의 연산을 수행한다.
상기한 목적을 달성하기 위한 본 발명은 비트의 길이가 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순환 시프터를 같이 순환 시프트시키는 과정을 포함한다.
삭제
삭제
이하 본 발명의 실시 예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
후술 될 본 발명에 대한 상세한 설명에서는 이동 통신 시스템에서 사용되는 오류 정정 부호인 저밀도 패리티 검사 부호(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 112004033442666-pat00001
로 나타내기로 한다.
그러므로 제 1 정방 행렬(201)과 제 2 정방 행렬(202)은 각 행(row)에서 원소 '1'의 거리가 일정하므로 다음과 같이 각각
Figure 112007077909665-pat00051
Figure 112007077909665-pat00052
로 나타낼 수 있다. 상기 집합 각각의 원소를 증가 수열(incremental sequence)의 형태로 구성하면 상기 각 정방 행렬(201,202)에서 4사이클이 제거된다. 한편, 상기 증가수열(incremental sequence)은 집합
Figure 112007077909665-pat00004
일 때 다음의 <수학식 3>을 만족하는 수열을 나타낸다.
Figure 112004033442666-pat00005
상기 <수학식3>에서 k는 '0'이상의 정수를 말한다.
상기 <수학식3>을 만족하는 집합은 4사이클이 제거되는데 상기 조건을 만족하는 정방 행렬을 증가 거리 순환 행렬(Incremintal Distance Cyclic Matrix, 이하"IDCM"이라 칭함)이라고 정의하고
Figure 112004033442666-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(
Figure 112007077909665-pat00053
Figure 112007077909665-pat00054
)은 두 정수 거리 셋들이 아래 3개의 조건을 만족하면 서로소(disjoint)상태가된다.
1)
Figure 112007077909665-pat00059

2)
Figure 112007077909665-pat00056

3)
Figure 112007077909665-pat00057
여기서, 상기 서로소 상태(disjoint)라는 것은 두 집합의 교집합이 공집합인 경우를 말한다.
다음으로 셀(Cell)행렬을 구하는 방법을 알아본다.
도 3은 본 발명의 바람직한 실시예에 따른 셀(Cell)행렬들을 나타낸 도면이다.
본 발명의 실시 예에서는 상기 시드(Seed)행렬의 '1'의 원소가 한 행에 6개가 들어가기 때문에 (4 x 4)크기를 가진 6개의 셀(Cell)행렬이 필요하다.
도 3를 참조하면, 상기 셀(Cell)행렬들은 각 행(row)와 각 열(column)에 '1'인 원소가 하나씩만 존재한다. 그리고 상기 셀(Cell)행렬들의 '1'인 원소를 다음의 <수학식4>와 <수학식5>을 동시에 만족하는 행렬을 구성하면 상기 셀(Cell)행렬에서 6사이클이 제거된다.
Figure 112004033442666-pat00007
Figure 112004033442666-pat00008

상기 수학식에서 R은 셀(Cell)행렬,
Figure 112007077909665-pat00009
는 '0'이 아닌 원소들의 개수를 나타내는 해밍웨이트(Hamming Weight)함수, diag는 행렬의 대각선의 원소를 나타낸다.
상기 조건에 알맞은 셀(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 112004033442666-pat00012
,
Figure 112004033442666-pat00013
,
Figure 112004033442666-pat00014
로 나타낸다. 또한 상기 부호화기에서 출력되는 200비트 열들의 부호어는
Figure 112004033442666-pat00015
로 나타낸다. 여기서 상기 각각의 비트 열은 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 112004033442666-pat00016
이 상기 셀(Cell)행렬의 크기 인 4비트의 단위로 제 1순환 시프터(501)에 입력한다. 그리고 상기 입력된 비트 열들중
Figure 112004033442666-pat00017
,
Figure 112004033442666-pat00018
,
Figure 112004033442666-pat00019
은 각각 제 1레지스터(501), 제 2레지스터(503), 제 3레지스터(505)에 의해 미리 정해진 방법에 의해 비트 열들의 순서를 바꾼다. 그리고 상기 정보어 비트 열들을 이용하여 도시 되지 않은 전처리기(Pre-processor)에 의해 제 1패리티 비트 열들을 구한다. 여기서 상기 전처리기(Pre-processor)는 종래의 제안된 방법인 <수학식6>와 같은 연산을 수행하여 구한다.
Figure 112004033442666-pat00020

상기 <수학식6>에서 상기 m은 정보어 비트, 상기 A,B,C,D,E,T는 상기 패리티 검사 행렬의 상기 도 2에서 설명한 부분 블록 행렬들을 나타내고, 여기서 블록 행 렬
Figure 112004033442666-pat00021
와 블록 행렬
Figure 112004033442666-pat00022
의 검사식은 영이 아니어야 한다.
상기 전처리기(Pre-processor)에 의해 상기 제 1 패리티 비트 열
Figure 112004033442666-pat00023
을 구한 후, 제 2순환 시프터(503)에 입력되고 상기 입력 비트 열중
Figure 112004033442666-pat00024
,
Figure 112004033442666-pat00025
를 각각 제 4레지스터, 제 5레지스터에 의해 미리 정해진 방법에 의해 비트 열들의 순서를 바꾼다. 여기서 상기 레지스터들은 상기 셀(Cell)행렬을 구현한 장치로써 상세한 설명은 이하 도면 5b에서 설명할 것이므로 여기서는 생략하겠다.
상기 제 1레지스터 내지 제 5레지스터들로부터 출력된 비트 열들은 가산기(521)에 의해 가산된다. 상기 가산기(521)의 출력 비트 열들은 제 6레지스터(511)의 의해 미리 정해진 방법에 의해 순서를 바꾸게 되면 제 2패리티 비트 열들 중 첫번째 열인
Figure 112004033442666-pat00026
을 구하게 된다. 즉
Figure 112004033442666-pat00027
은 다음의 <수학식7>에 의해 구할 수 있다.
Figure 112004033442666-pat00028

상기 <수학식7>에서 상기
Figure 112004033442666-pat00029
내지
Figure 112004033442666-pat00030
는 생성된 셀(Cell)행렬을 나타낸 것으로 상기 도 5a에서 제 1레지스터(507) 내지 제 6레지스터(517)를 나타낸다.
상기
Figure 112004033442666-pat00031
를 구한 후, 제 1순환시프트(501)의 입력된 비트 열들을 왼쪽으로 상기 셀(Cell)행렬의 크기 k인 4비트씩 순환시프트하고, 상기 제 2순환시프터와 제 3순환시프터(505)를 같이 4비트씩 순환시프트하여 상기 방법을 반복하면
Figure 112004033442666-pat00032
를 구할 수 있다. 이런 방법으로 상기 제 2패리티 비트 열
Figure 112004033442666-pat00033
을 구할 수 있게 된다.
마지막으로 상기 셀(Cell)행렬을 구현한 레지스터에 대해 알아본다.
도 6에서
Figure 112007077909665-pat00034
(521)내지
Figure 112007077909665-pat00035
(531)은 상기 5a의 제 1레지스터 내지 제 6레지스터를 상세히 나타내었다. 본 실시 예에서는 상기 셀(Cell)은 상술한 바와 같이 입력 비트열의 순서를 재배치하는 역할을 하므로 쉽게 구현이 가능하다. 예를 들어 상기 도 5b에서
Figure 112007077909665-pat00036
(521)은 첫번째 비트는 두번째 비트 위치로, 두번째 비트는 세번째 비트 위치로, 세번째 비트는 네번째 비트 위치로 네번째 비트는 첫번째 비트 위치로 출력하는 레지스터임을 알 수 있다. 이처럼 상기 셀(Cell)행렬을 구현한 레지스터는 단순히 입력 비트들의 위치만 바꾸면 되므로 쉽게 구현이 가능하다. 여기서 제 2패리티 비트열을 구하는 것은 상기 <수학식 5>에서 보는 바와 같이 제 6레지스터는 역 행렬을 구해야한다. 그러나 상기 제 6레지스터를 항등 행렬로 생성할 경우 상기 시스템을 더욱 간단히 구현할 수 있다. 여기서 상기 제 6레지스터는 최종적으로 제 2패리티 비트 열을 구하는 연산을 하므로 본 발명에서 제 2패리티 레지스터라고 호칭하기로 한다.
상술한 바와 같이 본 발명은 LDPC코드의 부호화시 생성 행렬의 구하지않고 패리티 검사 행렬만으로 부호화가 가능하다. 또한 본 발명에 따른 상기 패리티 검사 행렬을 구현시 제 1 패리티 벡터를 연산하는 전처리부(Pre-processor)의 구현에 필요한 메모리와 셀(Cell)행렬과 같이 간단한 시프트 레지스터만으로 부호화기의 구현이 가능하므로 LDPC 부호화기의 복잡도를 현저히 감소시킨다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다, 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명의 효과는 LDPC부호의 부호화시 생성 행렬을 구현할 필요가 없고, 패리티 검사 행렬을 생성시 필요한 시드(Seed)행렬와 셀(Cell)행렬은 간단한 시프트레지스터로 구현할 수 있으므로, 시스템의 복잡도가 현저히 감소시키는 효율적인 부호화기의 설계가 가능하다.
본 발명의 다른 효과는 패리티 검사 행렬을 구성시 각각 4사이클과 6사이클을 제거된 시드(Seed)행렬과 셀(Cell)행렬로 이루어 지므로 반복 복호 수행시 독립성 증가로 성능을 향상시킬 수 있다.
또한 일반적으로 시스템의 구현을 용이하게 하기 위해 패리티 검사 행렬을 균일한 방법으로 생성하지만, 균일 패리티 검사 행렬에서 셀(Cell)행렬만 변경을 함으로써 비균일 LDPC부호를 쉽게 생성할 수 있어 시스템의 성능을 향상시킬 수 있다.

Claims (14)

  1. 정보어 부분과 제 1패리티 부분과 제 2패리티 부분으로 구성되는 저밀도 패리티 검사(LDPC: Low Density Parity Check : LDPC)부호의 패리티 검사 행렬을 생성하는 방법에 있어서,
    미리 정해진 부호율과 부호길이에 따라 부호화에 필요한 짧은 길이의 순환 행렬인 시드(Seed) 행렬의 열(Column) 길이, 상기 시드 행렬의 행(row) 길이, 및 상기 시드 행렬의 각 원소 블록에 대체되는 정방행렬인 셀(Cell) 행렬의 크기를 포함하는 파라미터값들을 결정하는 과정과,
    상기 파라미터값들에 따라 상기 시드(Seed)행렬을 생성하는 과정과,
    상기 파라미터값들에 따라 다수의 상기 셀(Cell)행렬들을 생성하는 과정과,
    상기 생성된 셀(Cell)행렬들을 상기 시드(Seed)행렬의 원소중 '1'의 위치에 대체하는 과정과,
    상기 셀(Cell)행렬과 같은 크기의 영 행렬을 상기 시드(Seed)행렬의 원소중 '0'의 위치에 대체하는 과정과,
    상기 대체된 시드(Seed)행렬을 이용하여 상기 패리티 검사 행렬을 생성하는 과정을 포함하는 패리티 검사 행렬 생성 방법.
  2. 삭제
  3. 제 1항에 있어서, 상기 시드(Seed)행렬을 생성하는 과정은,
    상기 정방 행렬을 적어도 2개 구성하는 과정과,
    상기 각 정방 행렬의 첫번째 행의 원소중 '1'사이의 거리를 조정하는 과정과,
    상기 '1'사이의 거리를 조정한 상기 정방 행렬의 다음 행부터 순차적으로 순환 시프트하여 상기 시드 행렬을 생성하는 과정을 포함하는 패리티 검사 행렬 생성 방법.
  4. 제 3항에 있어서, 상기 2개의 정방 행렬은 상기 정보어비트와 매핑되는 행렬과 패리티에 매핑되는 행렬을 포함하는 패리티 검사 행렬 생성 방법.
  5. 제 3항에 있어서, 상기 각 정방 행렬의 첫번째 원소중 '1'사이의 거리를 조정하는 과정은,
    상기 정방 행렬의 원소'1'사이의 거리를 증가 수열(incremental sequence)의 형태로 구성하는 과정과,
    상기 증가 수열로 구성된 각 정방 행렬을 서로 서로소(disjoint)상태로 구성하는 과정을 포함하는 패리티 검사 행렬 생성 방법.
  6. 삭제
  7. 제 1항에 있어서, 상기 생성된 셀(Cell)행렬은,
    상기 셀(Cell)행렬들의 '1'인 원소가 하기 수학식들을 만족하는 행렬로 구성되는 것을 특징으로 하며,
    Figure 112009020022515-pat00060
    Figure 112009020022515-pat00061
    여기서, R은 상기 셀(Cell)행렬,
    Figure 112009020022515-pat00062
    는 '0'이 아닌 원소들의 개수를 나타내는 해밍웨이트(Hamming Weight)함수, diag는 행렬의 대각선의 원소를 나타내는 대각(diagonal)를 나타내는 패리티 검사 행렬 생성 방법
  8. 삭제
  9. 비트 열의 길이가 k이고 소정의 상기 비트 열들을 가지는 정보어 비트 열을 입력하여 상기 정보 비트 열에 의해 제 1및 제 2패리티 비트 열을 생성하는 부호화 장치에서 상기 정보어 비트 열을 이용하여 제 1패리티 비트 열을 연산하고, 상기 정보 비트 열과 상기 제 1패리티 비트 열에 의해 상기 제 2패리티 비트 열을 생성하는 저밀도 패리티 검사(Low Density Parity Check : LDPC)부호화 장치에 있어서,
    상기 정보어 비트 열이 입력되고, k의 단위로 순환 시프트(circular shift)되는 제 1순환 시프터와,
    상기 정보어 비트 열에 의해 결정된 상기 제 1패리티 비트열이 입력되고, k의 단위로 순환 시프트(circular shift)되는 제 2순환 시프터와,
    패리티 검사 행렬의 첫번째 행에 미리 정해진 방법에 의해 원소 '1'에 대응하면서 상기 정보어 비트 열과 상기 제 1패리티 비트 열의 순서를 미리 결정된 패턴에 의해 바꾸는 다수의 레지스터들과,
    상기 다수의 레지스터들의 출력값들을 비트단위로 가산하는 가산기와,
    상기 가산기의 출력 비트 열의 순서를 바꾸어 상기 제 2패리티 비트 열을 구하는 제 2패리티 레지스터와,
    상기 제 2패리티 레지스터의 출력 비트 열인 제 2패리티 비트 열이 입력되고, 상기 입력된 비트열을 k의 단위로 시프트(circular shift)되는 제 3순환 시프터를 포함하며,
    여기서, 상기 제 2순환 시프터와 상기 제 3순환 시프터에 입력되는 제 1패리티 비트 열과 제 2패리티 비트 열을 상기 k의 단위로 순환 시프트(circular shift)되는 저밀도 패리티 검사 부호화 장치.
  10. 제 9항에 있어서, 상기 다수의 레지스터들은 셀 행렬로 구현되며, 상기 셀 행렬의 '1'인 원소는 하기 수학식들을 만족하는 것을 특징으로 하며,
    Figure 112009020022515-pat00063
    Figure 112009020022515-pat00064
    여기서, R은 상기 셀(Cell)행렬,
    Figure 112009020022515-pat00065
    는 '0'이 아닌 원소들의 개수를 나타내는 해밍웨이트(Hamming Weight)함수, diag는 행렬의 대각선의 원소를 나타내는 대각(diagonal)를 나타내는 저밀도 패리티 검사 부호화 장치.
  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. 제 12항에 있어서, 상기 제 1패리티 비트 열은 하기 수학식에 따라 상기 정보어 비트열을 이용하여 구해지며,
    Figure 112009020022515-pat00066
    여기서, m은 상기 정보어 비트열이며, A,B,C,D,E,T는 상기 패리티 검사 행렬의 부분 블록 행렬들을 나타내며, 상기 제1 패리티 비트 열은
    Figure 112009020022515-pat00067
    으로 나타내며,
    Figure 112009020022515-pat00068
    은 상기 제1 패리티 비트열들 중 첫 번째 비트열을 나타내는 저밀도 패리티 검사 부호화 방법.
  14. 제 12항에 있어서, 상기 가산기의 출력 비트 열을 바꾸는 과정은,
    항등 행렬에 의해 연산되는 저밀도 패리티 검사 부호화 방법.
KR1020040058749A 2004-07-27 2004-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법 KR100918741B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040058749A KR100918741B1 (ko) 2004-07-27 2004-07-27 이동 통신 시스템에서 채널 부호화 장치 및 방법
US11/190,543 US7451374B2 (en) 2004-07-27 2005-07-27 Apparatus and method for channel coding in mobile communication system
EP05016320.3A EP1624582B1 (en) 2004-07-27 2005-07-27 Apparatus and method for channel coding in mobile communication system

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20060082134A KR20060082134A (ko) 2006-07-18
KR100918741B1 true KR100918741B1 (ko) 2009-09-24

Family

ID=35455846

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US7451374B2 (ko)
EP (1) EP1624582B1 (ko)
KR (1) KR100918741B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800775B1 (ko) * 2005-07-27 2008-02-01 삼성전자주식회사 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR100842597B1 (ko) * 2005-10-17 2008-07-01 삼성전자주식회사 저밀도 패리티 검사 부호의 패리티 검사 행렬 설계 방법
US7668248B2 (en) * 2005-10-19 2010-02-23 Texas Instruments Incorporated High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
EP2016683A4 (en) * 2006-04-27 2014-07-16 Texas Instruments Inc METHOD AND DEVICE FOR ASSIGNING REFERENCE SIGNALS IN A WIRELESS COMMUNICATION SYSTEM
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
JP5354979B2 (ja) * 2007-07-12 2013-11-27 パナソニック株式会社 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
JP5307137B2 (ja) * 2008-07-04 2013-10-02 三菱電機株式会社 検査行列生成装置、検査行列生成方法、検査行列生成プログラム、送信装置、受信装置及び通信システム
CN101741396B (zh) * 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
KR101702358B1 (ko) * 2011-01-06 2017-02-03 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR20120088369A (ko) * 2011-01-31 2012-08-08 삼성전자주식회사 방송 및 통신시스템에서 송?수신 방법 및 장치
KR102357881B1 (ko) 2014-09-29 2022-02-03 파나소닉 주식회사 시간 인터리버와 시간 디인터리버 및 시간 인터리빙 방법과 시간 디인터리빙 방법
EP3001572A1 (en) * 2014-09-29 2016-03-30 Panasonic Corporation Interleaving by concatenation of convolutional and block interleaving
CN105281835B (zh) * 2015-09-14 2017-11-07 哈尔滨工业大学 基于ldpc码的可见光通信方法
US11575390B2 (en) * 2021-07-02 2023-02-07 Hong Kong Applied Science and Technology Research Insitute Co., Ltd. Low-latency segmented quasi-cyclic low-density parity-check (QC-LDPC) decoder

Citations (2)

* 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 복호화 장치 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1370114A3 (en) * 1999-04-07 2004-03-17 Dolby Laboratories Licensing Corporation Matrix improvements to lossless encoding and decoding
KR20040033554A (ko) * 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7757150B2 (en) * 2004-08-13 2010-07-13 Nokia Corporation Structured puncturing of irregular low-density parity-check (LDPC) codes

Patent Citations (2)

* 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 복호화 장치 및 그 방법

Also Published As

Publication number Publication date
EP1624582A2 (en) 2006-02-08
EP1624582B1 (en) 2015-01-21
US7451374B2 (en) 2008-11-11
EP1624582A3 (en) 2007-02-07
KR20060082134A (ko) 2006-07-18
US20060026488A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
KR100641052B1 (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
CN102638274B (zh) 利用向量行分组的结构化ldpc设计操作发送器的设备及方法
EP2176758B1 (en) Generation of parity-check matrices
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
US20040093549A1 (en) Encoding method using a low density parity check code with a column weight of two
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR20080033381A (ko) 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기
KR20050118056A (ko) 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
EP1850484A1 (en) Basic matrix based on irregular ldcp, codec and generation method thereof
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
KR20070058480A (ko) 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법
US20050149845A1 (en) Method of constructing QC-LDPC codes using qth-order power residue
JP2010517444A (ja) 可変サイズのパケットのldpc符号化及び復号化
KR20090092892A (ko) Ldpc 코드를 이용한 복호화 방법
CN103401564A (zh) 编码器、解码器、发送装置、接收装置及其方法
WO2006115166A1 (ja) 符号装置および符号化方法
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
CN101373976A (zh) 生成ldpc校验矩阵的方法和设备
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
WO1999046862A1 (en) Technique for finding a starting state for a convolutional feedback encoder
CN107733441B (zh) 编码方法及装置、译码方法及装置
JP5523064B2 (ja) 復号装置及び方法
KR100800775B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee