KR101449750B1 - 저밀도 패리티 검사 부호 생성 장치 및 방법 - Google Patents

저밀도 패리티 검사 부호 생성 장치 및 방법 Download PDF

Info

Publication number
KR101449750B1
KR101449750B1 KR1020080020742A KR20080020742A KR101449750B1 KR 101449750 B1 KR101449750 B1 KR 101449750B1 KR 1020080020742 A KR1020080020742 A KR 1020080020742A KR 20080020742 A KR20080020742 A KR 20080020742A KR 101449750 B1 KR101449750 B1 KR 101449750B1
Authority
KR
South Korea
Prior art keywords
parity check
information vector
zero
stopping
check matrix
Prior art date
Application number
KR1020080020742A
Other languages
English (en)
Other versions
KR20090095413A (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 KR1020080020742A priority Critical patent/KR101449750B1/ko
Priority to US12/396,857 priority patent/US8296636B2/en
Publication of KR20090095413A publication Critical patent/KR20090095413A/ko
Application granted granted Critical
Publication of KR101449750B1 publication Critical patent/KR101449750B1/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/1105Decoding
    • H03M13/1142Decoding using trapping sets
    • 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

Landscapes

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

Abstract

본 발명은 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에서, 입력 정보 벡터의 길이가 패리티 검사 행렬의 사용 정보 벡터 길이 미만일 경우, 상기 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하고, 상기 패리티 검사 행렬을 사용하여 b 개의 Sd 스탑핑 집합들을 선택하고, 상기 b개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정한다.
스탑핑 집합, 영 삽입, 영 제거, 입력 정보 벡터 길이, 사용 정보 벡터 길이

Description

저밀도 패리티 검사 부호 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING A LOW DENSITY PARITY CHECK CODE}
본 발명은 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호 생성 장치 및 방법에 관한 것이다.
차세대 통신 시스템은 이동 단말기(MS: Mobile Station, 이하 'MS'라 칭하기로 한다)들에게 다양한 고속 대용량 서비스를 제공하는 형태로 발전해나가고 있다. 차세대 통신 시스템의 대표적인 예로는 IEEE(Institute of Electrical and Electronics Engineers) 802.16 통신 시스템과, Mobile WiMAX(Worldwide Interoperability for Microwave Access) 통신 시스템과, IEEE 802.11 통신 시스템 등이 있다. 여기서, 상기 Mobile WiMAX 통신 시스템은 상기 IEEE 802.16 통신 시스템을 기반으로 하는 통신 시스템이며, 상기 IEEE 802.16 통신 시스템은 IEEE 802.16 표준을 사용하는 통신 시스템을 나타낸다.
특히, 차세대 통신 시스템에서는 고속 대용량 데이터 송수신 지원을 위해 저 밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호의 사용을 적극적으로 고려하고 있다. 차세대 통신 시스템에서 상기 LDPC 부호의 사용을 적극적으로 고려하는 이유는 상기 LDPC 부호의 경우 병렬 구현이 용이하여 다른 채널 부호들, 예를 들면 터보 부호(Turbo code), 길쌈 부호(convolutional code) 등에 비해 높은 처리율(throughput)을 갖는 복호 장치의 구현이 가능하기 때문이다.
한편, 차세대 통신 시스템에서는 고속 대용량 데이터 송수신 지원을 위해 하이브리드 자동 반복 요구(HARQ: Hybrid Automatic Repeat reQuest, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안된 바 있으며, 상기 HARQ 방식 및 AMC 방식 등과 같은 방식들을 사용하기 위해서는 다양한 부호율(code rate)들을 지원해야만 한다.
그런데, 상기 LDPC 부호는 부호화율 면에 있어서 단점을 가진다. 이에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 LDPC 부호는 크기가 고정되어 있는 패리티 검사 행렬(parity-check matrix)을 사용하여 생성되므로, 상기 LDPC 부호로 생성하고자 하는 정보 벡터(information vector)의 길이 역시 고정되어야만 한다. 따라서, 입력 정보 벡터의 길이가 상기 패리티 검사 행렬을 사용할 때 요구되는 요구 정보 벡터 길이와 일치하지 않을 경우에는, 상기 입력 정보 벡터의 길이를 상기 요구 정보 벡터 길이와 일치시켜야만 한다. 일 예로, 상기 입력 정보 벡터의 길이가 상기 요구 정보 벡터 길이에 비해 짧을 경우에는, 상기 입력 정보 벡터에 영(zero)을 삽입하여 상기 영 삽입된 정보 벡터의 길이가 상기 요구 정보 벡터의 길이와 동일해지도록 해야 한다.
그런데, 현재까지는 상기 입력 정보 벡터에 영을 삽입하는 위치에 대해서는 구체적으로 제안된 바가 없다.
본 발명은 LDPC 부호 생성 장치 및 방법을 제안한다.
본 발명에서 제안하는 장치는; 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에 있어서, 입력 정보 벡터의 길이가 패리티 검사 행렬의 사용 정보 벡터 길이 미만일 경우, 상기 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하고, 상기 패리티 검사 행렬을 사용하여 b 개의 Sd 스탑핑 집합들을 선택하고, 상기 b개의 Sd 스탑핑 집합 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정하고, 상기 영 삽입할 위치에 대한 정보를 출력하는 제어기를 포함한다. 또한, 본 발명에서 제안하는 다른 장치는; 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에 있어서, 입력 정보 벡터에 b개의 영을 삽입하여 사용 정보 벡터를 생성하는 영 삽입기와, 상기 사용 정보 벡터를 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 부호화기를 포함하며, 상기 b개의 영이 삽입되는 위치는 b개의 변수 노드들에 대응하는 위치이며, 상기 b개의 변수 노드들은 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개씩 선택된 변수 노드를 포함하며, 상기 Sd 스탑핑 집합들은 상기 패리티 검사 행렬을 사용하여 선택됨을 특징으로 한다
본 발명에서 제안하는 방법은; 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에서 LDPC 부호 생성 방법에 있어서, 입력 정보 벡터의 길이가 패리티 검사 행렬의 사용 정보 벡터 길이 미만일 경우, 상기 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하는 과정과, 상기 패리티 검사 행렬을 사용하여 b 개의 Sd 스탑핑 집합들을 선택하는 과정과, 상기 b개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정하는 과정을 포함한다. 또한, 본 발명에서 제안하는 다른 방법은; 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에서 LDPC 부호 생성 방법에 있어서, 입력 정보 벡터에 b개의 영을 삽입하여 사용 정보 벡터를 생성하는 과정과, 상기 사용 정보 벡터를 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 과정을 포함하며, 상기 b개의 영이 삽입되는 위치는 b개의 변수 노드들에 대응하는 위치이며, 상기 b개의 변수 노드들은 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개씩 선택된 변수 노드를 포함하며, 상기 Sd 스탑핑 집합들은 상기 패리티 검사 행렬을 사용하여 선택됨을 특징으로 한다
본 발명은 LDPC 부호화시 다양한 정보 벡터 길이를 지원하기 위해 입력 정보 벡터에 영을 삽입할 경우, 그 영 삽입 위치를 제어하여 LDPC 부호의 성능을 향상시킨다는 이점을 가진다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호 생성 장치 및 방법을 제안한다. 또한, 본 발명은 LDPC 부호 생성시 다양한 정보 벡터(information vector) 길이를 지원하기 위해 입력 정보 벡터에 영(zero)을 삽입할 경우 영이 삽입되는 위치를 제어하는 장치 및 방법을 제안한다.
본 발명을 설명하기에 앞서, 본 발명에서 사용할 용어들에 대해서 설명하면 다음과 같다.
첫 번째로, 사이클(cycle)에 대해서 설명하기로 한다.
먼저, 사이클이란 LDPC 부호의 이분(bipartite, 이하 'bipartite'라 칭하기로 한다) 그래프에서 변수 노드(variable node)와 검사 노드(check node)가 에지(edge)로 연결되어 생성된 루프(loop)를 나타낸다. 여기서, 상기 사이클의 길이(length)는 상기 루프를 구성하는 에지들의 개수로 정의된다. 일 예로, 상기 사이클의 길이가 '2d'라고 가정할 경우, 길이 2d의 사이클은 d개의 변수 노드와 d개의 검사 노드가 에지로 연결되어 생성된 루프를 나타낸다.
두 번째로, 사이클 집합(cycle set)에 대해서 설명하기로 한다.
먼저, Cd 사이클 집합은 d개의 변수 노드를 포함하며, 상기 Cd 사이클 집합 이 포함하는 d개의 변수 노드와 이웃하는 검사 노드는 1개 이상의 사이클을 생성한다. 그러면 여기서 도 1을 참조하여 상기 사이클 집합에 대해서 설명하기로 한다.
도 1은 LDPC 부호의 패리티 검사 행렬 및 그 bipartite 그래프를 도시한 도면이다.
도 1을 참조하면, H는 LDPC 부호의 패리티 검사 행렬을 나타내며, v1,v2,v3,v4,v5는 상기 패리티 검사 행렬에 대응되는 bipartite 그래프가 포함하는 변수 노드들을 나타내며, c1,c2,c3는 상기 bipartite 그래프가 포함하는 검사 노드들을 나타낸다. 도 1에서, v1-c1-v2-c2가 길이 4의 사이클을 생성하며, v1, v2는 C2 사이클 집합이 된다.
세 번째로, 스탑핑 집합(stopping set)에 대해서 설명하기로 한다.
Sd 스탑핑 집합은 d개의 변수 노드를 포함하며, 상기 Sd 스탑핑 집합이 포함하는 d개의 변수 노드와 이웃하는 모든 검사 노드들은 상기 d개의 변수 노드에 적어도 2번 연결된다. 여기서, 검사 노드에 단 1개의 변수 노드만 연결되어 있는 bipartite 그래프를 제외하면, 모든 스탑핑 집합은 사이클을 포함한다는 것은 이미 널리 알려진 사실이며, 일반적으로 스탑핑 집합은 다수의 사이클을 포함한다. 그러면 여기서 도 1을 참조하여 스탑핑 집합에 대해서 설명하기로 한다.
도 1에서, 변수 노드들 v1, v2, v3에 이웃하는, 즉 연결되어 있는 검사 노드는 c1, c2, c3이며, 상기 검사 노드들c1, c2, c3는 변수 노드들 v1, v2, v3에 각각 2번 이상 연결된다. 따라서 v1, v2, v3는 S3 스탑핑 집합을 생성하게 된다.
또한, 도 1을 참조하여 상기 스탑핑 집합에 대해서 설명하면, 상기 스탑핑 집합이 포함하는 변수 노드에 대응되는 패리티 검사 행렬의 열(column)들을 모두 가산하여 생성된 열이 포함하는 엘리먼트(element)들의 값은 모두 2 이상이 된다. 이는 상기 스탑핑 집합이 포함하는 변수 노드들에 연결되어 있는 검사 노드들에 대응하는 엘리먼트의 값이 2 이상이 됨을 나타낸다. 일 예로, 상기 패리티 검사 행렬에서 S3 스탑핑 집합이 포함하는 변수 노드들 v1, v2, v3에 대응되는 열들을 모두 가산하여 생성된 열이 포함하는 엘리먼트들은 하기 수학식 1과 같이 나타낼 수 있다.
Figure 112008016356104-pat00001
상기 수학식 1에 나타낸 바와 같이 상기 변수 노드들 v1, v2, v3에 해당하는 패리티 검사 행렬의 열들을 모두 가산하여 생성된 열의 엘리먼트들의 값은 모두 2 이상이므로, 상기 변수 노드들 v1, v2, v3 에 연결되어 있는 검사 노드들의 값이 모두 2 이상이 됨을 알 수 있다.
따라서, Sd 스탑핑 집합을 결정하는 방법은 다음과 같다.
먼저, 패리티 검사 행렬에서 d개의 변수 노드들에 대응되는 열들을 모두 가 산하여 생성된 열이 포함하는 엘리먼트들의 값이 모두 2 이상이 되면, 상기 d개의 변수 노드들이 Sd 스탑핑 집합을 생성한다고 결정하고, 이와는 달리 모두 2 이상이 되지 않으면, 상기 d개의 변수 노드들이 Sd 스탑핑 집합을 생성하지 않는다고 결정하는 방법이다.
그러면 여기서 도 2를 참조하여 본 발명의 실시예에 따른 Sd 스탑핑 집합을 결정하는 방법에 대해서 설명하기로 한다.
도 2는 부호화율 1/5인 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.
도 2를 참조하면, 상기 패리티 검사 행렬의 크기는
Figure 112008016356104-pat00002
이고, 상기 패리티 검사 행렬이 포함하는 열의 웨이트(weight)들은 9, 3, 2 분포를 가진다. 즉, 열 인덱스(index) 0 부터 3까지는 그 열 웨이트가 9이고, 열 인덱스 4부터 7까지는 그 열 웨이트가 3이고, 열 인덱스 8부터 39까지는 그 열 웨이트가 2이다. 도 2에 도시되어 있는 패리티 검사 행렬이 포함하는 블록들중 '1'이 기재되어 있지 않은 블록들은 모두 '0'의 값을 가지는 엘리먼트들만을 포함함을 나타낸다.
한편, 도 2에 도시되어 있는 패리티 검사 행렬을 사용하여 생성되는 LDPC 부호의 부호어 벡터(codeword vector)를 정보 벡터(information vector)와 패리티 벡터(parity vector)로 구분하여 생각하면, 상기 부호어 벡터는 하기 수학식 2와 같이 나타낼 수 있다.
Figure 112008016356104-pat00003
도 2에서, 상기 패리티 검사 행렬에 대응되는 bipartite 그래프가 포함하는 변수 노드를 vi(단i=0~39)라 정의하면, 변수 노드들 v3, v5, v6, v7에 대응되는 열들을 모두 가산하여 생성된 열이 포함하는 엘리먼트들의 값이 모두 2 이상이 되므로, 상기 변수 노드들 v3, v5, v6, v7이 S4 스탑핑 집합을 생성함을 알 수 있다.
네 번째로, 선형 종속 집합(linearly dependent set)에 대해서 설명하기로 한다.
먼저, Ld 선형 종속 집합은 d개의 변수 노드를 포함한다. 여기서, 패리티 검사 행렬에서 상기 d개의 변수 노드에 대응되는 열들은 선형 종속이고, 상기 d개의 변수 노드에 대응되는 열들의 임의의 부분 집합은 선형 독립이다. dmin의 최소 거리(minimum distance)를 갖는 LDPC 부호는 적어도 하나의 Ldmin 선형 종속 집합을 가지고, d < dmin인 Ld 선형 종속 집합을 가지지는 못한다. 여기서, Ld 선형 종속 집합을 생성하는 변수 노드의 집합이 항상 Sd 스탑핑 집합을 생성함은 이미 널리 알려진 사실이다.
여기서 도 1을 참조하여 선형 종속 집합에 대해서 설명하기로 한다.
도 1을 참조하면, 변수 노드들 v3, v5는 L2 선형 종속 집합임을 알 수 있다. 따라서 도 1에 도시되어 있는 패리티 검사 행렬은 2의 최소 거리를 갖는 LDPC 부호임을 알 수 있다.
한편, LDPC 부호에서 임계 길이, 일 예로 4 이하의 길이를 가지는 사이클을 갖는 것은 복호시 다른 변수 노드들로부터의 복호 정보를 획득하는 것이 불가능하기 때문에, LDPC 부호의 성능을 증가시키기 위한 설계시 회피해야하는 요소로 잘 알려져 있다.
또한 LDPC 부호의 성능을 향상시키기 위해서는 상기 LDPC 부호의 최소 거리인 dmin을 최대화시키는 것이 중요하다.
도 1에는 부호어 벡터(codeword vector), 즉 LDPC 부호의 길이가 5인 경우의 패리티 검사 행렬이 도시되어 있고, 도 2에는 부호어 벡터의 길이가 40인 경우의 패리티 검사 행렬이 도시되어 있고, 도 3에는 부호어 벡터의 길이가 38인 경우의 패리티 검사 행렬이 도시되어 있지만, 실제로는 부호어 벡터의 길이가 수천에서 수만 사이이고, 정보 벡터의 길이 역시 수백에서 수천 사이이다.
이렇게, 정보 벡터의 길이와 부호어 벡터의 길이가 길기 때문에 현재의 컴퓨팅 파워로는 최소 거리를 계산하여 성능이 우수한 LDPC 부호를 검출해내는 것은 난이하다. 즉, LDPC 부호의 성능을 향상시키기 위해 Ld 선형 종속 집합의 d를 실제적으로 계산하여 그 값을 증가시키는 것은 난이하다.
따라서, 상기 Sd 스탑핑 집합과 Ld 선형 종속 집합의 포함 관계를 고려할 경우, 최소 거리를 증가시키기 위해서는 설계하고자 하는 패리티 검사 행렬에서 최소 개수의 변수 노드를 포함하는 Ld 선형 종속 집합의 d를 증가시키는 것 대신에 간접적인 방법으로 d가 작은 Sd 스탑핑 집합을 제거하여, d가 큰 Sd 스탑핑 집합들만을 남기는 것으로 최소 거리인 d를 증가시킬 수 있음을 알 수 있다.
결과적으로, 상기 LDPC 부호를 설계하는 과정에서 상기와 같은 방법으로 LDPC 부호의 성능을 향상시킬 수 있다.
한편, LDPC 부호의 패리티 검사 행렬이 이미 결정되어 있을 경우, 스탑핑 집합을 검출하는 것이 선형 종속 집합을 검출하는 것에 비해 용이하다. 즉, LDPC 부호의 최소 거리를 검출하는 것은 난이하지만, 해당 LDPC 부호에 존재하는 모든 스탑핑 집합 중 일부의 d가 작은 Sd 스탑핑 집합을 검출해내는 것은 비교적 용이하다. 따라서, LDPC 부호를 설계할 때 상대적으로 d가 작은 Sd 스탑핑 집합을 제거하여 LDPC 부호의 성능을 증가시킬 수 있다. 실제적으로, LDPC 부호를 설계할 때, 어느 정도까지는 d가 작은 Sd 스탑핑 집합을 제거하는 것이 가능하지만, 제거한다 하더라도 일반적으로 LDPC 부호의 bipartite 그래프 상에는 항상 Sd 스탑핑 집합이 존재한다.
따라서, 본 발명에서는 스탑핑 집합이 포함하는 변수 노드에 대응되는 위치를 영 삽입 위치로 결정함으로써 LDPC 부호의 성능을 증가시키도록 하는 방법을 제안한다. 상기 스탑핑 집합의 특성 상 복호 장치에서 스탑핑 집합이 포함하는 변수 노드들 중 적어도 하나의 변수 노드에 대응되는 정보 비트만이라도 복원 가능하다 면, 스탑핑 집합이 포함하는 모든 변수 노드들에 대응되는 정보 비트들이 복원되지 않을 가능성은 매우 작아진다. 따라서, 도 2와 도 3을 참조하여 스탑핑 집합이 포함하는 변수 노드들 중 특정 변수 노드에 대응하는 위치에 영을 삽입하는 방법에 대해서 설명하기로 한다. 여기서, 스탑핑 집합을 검출하고, 정보 벡터에 영이 삽입되는 위치를 결정하는 동작은 부호화 장치가 수행함은 물론이다.
첫 번째로, 도 2를 참조하여 부호화기가 정보 벡터에 1개의 영을 삽입하는 방법에 대해서 설명하기로 한다.
먼저, 입력 정보 벡터의 길이가 7이라고 가정하기로 한다. 그런데, 도 2에 도시되어 있는 패리티 검사 행렬은 그 정보 벡터의 길이가 8일 경우에 사용 가능한 패리티 검사 행렬이다. 따라서, 상기 길이 7의 정보 벡터에 1개의 영이 삽입되어야만 한다. 이하, 설명의 편의상 실제 LDPC 부호로 생성하기를 원하는 정보 벡터를 '입력 정보 벡터'라고 칭하기로 하고, 결정된 패리티 검사 행렬을 사용하기 위해 필요로 되는 정보 벡터를 '사용 정보 벡터'라고 칭하기로 한다. 한편, 상기 부호화 장치는 도 2의 패리티 검사 행렬에서 검출한 스탑핑 집합들 중 최소 d값을 가지는 Sd 스탑핑 집합이 포함하는 변수 노드들 중 선택 방식을 사용하여 1개의 변수 노드에 대응되는 위치를 영이 삽입되는 위치로 결정한다. 여기서, 상기 선택 방식은 1개의 변수 노드를 임의로 선택하여 결정하는 방식이다.
일 예로, S4 스탑핑 집합인 v3, v5, v6, v7가 상기 패리티 검사 행렬에서 검출한 스탑핑 집합 중 최소 d값을 가지는 Sd 스탑핑 집합이라고 가정할 경우, 상기 변 수노드들 v3, v5, v6, v7중 상기 선택 방식을 사용하여 선택된 1개의 한 변수 노드에 대응되는 위치가 영이 삽입되는 위치가 되는 것이다. 일 예로, 상기 변수 노드들 v3, v5, v6, v7이 중 v3이 선택된다고 가정하면, 상기 부호화 장치는 상기 입력 정보 벡터에 영을 삽입할 때 상기 v3에 대응되는 위치에 0을 삽입한다.
즉, 본 발명의 실시예에서 부호화 장치는 입력 정보 벡터에 1개의 영을 삽입할 경우 패리티 검사 행렬에서 검출한 스탑핑 집합들 중 최소 d값을 가지는 Sd 스탑핑 집합이 포함하는 변수 노드들 중 선택 방식을 사용하여 선택된 1개의 변수 노드에 대응되는 위치를 영을 삽입하는 위치로 결정한다.
두 번째로, 도 3을 참조하여 부호화 장치가 입력 정보 벡터에 2개 이상의 영을 삽입하는 방법에 대해서 설명하기로 한다.
도 3을 참조하면, 상기 패리티 검사 행렬의 크기는
Figure 112008016356104-pat00004
이고, 도 3에 도시되어 있는 패리티 검사 행렬이 포함하는 블록들중 '1'이 기재되어 있지 않은 블록들은 모두 '0'의 값을 가지는 엘리먼트들만을 포함함을 나타낸다.
한편, 도 3에 도시되어 있는 패리티 검사 행렬을 사용하여 생성되는 LDPC 부호의 부호어 벡터를 정보 벡터와 패리티 벡터로 구분하여 생각하면, 상기 부호어 벡터는 하기 수학식 3과 같이 나타낼 수 있다.
Figure 112008016356104-pat00005
먼저, 입력 정보 벡터의 길이가 16이라고 가정하기로 한다. 그런데, 도 3에 도시되어 있는 패리티 검사 행렬은 그 사용 정보 벡터의 길이가 20일 경우에 사용 가능한 패리티 검사 행렬이다. 따라서, 상기 길이 16의 정보 벡터에 4개의 영이 삽입되어야만 한다. 이 경우, 도 3의 패리티 검사 행렬에서 검출한 스탑핑 집합들 중 총 4개의 Sd 스탑핑 집합들을 검출한다. 여기서, 상기 총 4개의 Sd 스탑핑 집합은 패리티 검사 행렬에서 기검출한 스탑핑 집합들 중 최소 d값을 가지는 Sd 스탑핑 집합부터 순차적으로 큰 d 값을 가지는 Sd 스탑핑 집합이며, 상기 총 4개의 Sd 스탑핑 집합 각각이 포함하는 변수 노드들은 서로 다르다. 그리고, 상기 검출한 총 4개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하여 그 선택한 변수 노드에 대응하는 위치를 영을 삽입하는 위치로 결정한다.
일 예로, 도 3에서 최소 d 값을 가지는 Sd 스탑핑 집합부터 순차적으로 큰 d 값을 가지는 총 4개의 Sd 스탑핑 집합이 v0, v1, v2, v19, v3, v4, v5, v18, v6, v7, v8, v17, v9, v10, v11, v13, v16라고 가정하면, 상기 부호화 장치는 상기 v0, v1, v2, v19, v3, v4, v5, v18, v6, v7, v8, v17, v9, v10, v11, v13, v16 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 그 선택한 변수 노드에 대응되는 위치를 영을 삽입하는 위치로 결정한다. 일 예로 도 3에서 노드 v0, v3, v6, v9 를 영을 삽입하는 위치로 선택한다고 가정하면, 상기 변수 노드 v0, v3, v6, v9 에 대응되는 위치에 영 이 삽입된다.
즉, 본 발명의 실시예에서 입력 정보 벡터에 N(단,
Figure 112008016356104-pat00006
)개의 영을 삽입할 경우 스탑핑 집합들 중 총 N개의 Sd 스탑핑 집합들을 검출한다. 여기서, 상기 총 N 개의 Sd 스탑핑 집합은 패리티 검사 행렬에서 찾은 것 중 최소 d값을 가지는 Sd 스탑핑 집합부터 순차적으로 큰 d 값을 가지는 Sd 스탑핑 집합이며, 상기 총 N개의 Sd 스탑핑 집합 각각이 포함하는 변수 노드들은 서로 다르다. 그리고, 상기 검출한 총 N개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하여 그 선택한 변수 노드에 대응하는 위치를 영을 삽입하는 위치로 결정한다.
그러면 여기서 도 4를 참조하여 본 발명의 실시예에 따라 입력 정보 벡터에 영을 삽입하는 위치를 결정하는 방법에 대해서 정리하여 설명하면 다음과 같다.
도 4는 본 발명의 실시예에 따라 입력 정보 벡터에 영을 삽입하는 위치를 결정하는 과정을 도시한 순서도이다.
도 4를 참조하면, 먼저 411단계에서 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하고 413단계로 진행한다. 여기서, 상기 입력 정보 벡터의 길이와 패리티 검사 행렬의 사용 정보 벡터의 길이를 사용하여 b를 결정한다. 상기 413단계에서 상기 패리티 검사 행렬에서 기검출한 스탑핑 집합들 중 최소의 d값을 가지는 Sd 스탑핑 집합부터 순차적으로 큰 d 값을 가지는 총 b 개의 Sd 스탑핑 집합들을 선택하 고 415단계로 진행한다. 여기서, 상기 총 b개의 Sd 스탑핑 집합 각각이 포함하는 변수 노드들이 서로 다르도록 상기 b개의 Sd 스탑핑 집합을 선택하는 것이다. 이렇게, 총 b개의 Sd 스탑핑 집합 각각이 포함하는 변수 노드들이 서로 다르도록 상기 b개의 Sd 스탑핑 집합을 선택하는 이유는 상기 b개의 Sd 스탑핑 집합 각각이 포함하는 변수 노드들이 동일한 변수 노드들을 포함할 경우, 그 동일한 변수 노드에 대응되는 위치에 영이 삽입되면 복호 장치가 상기 동일한 변수 노드를 포함하는 모든 스탑핑 집합이 포함하는 변수 노드들에 대응되는 정보 비트를 복구하는 것이 가능해 진다. 상기 415단계에서 상기 선택한 b개의 Sd 스탑핑 집합 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정하고 종료한다.
도 4에 별도로 도시하지는 않았으나 상기 부호화 장치가 영 삽입된 정보 벡터를 패리티 검사 행렬을 사용하여 부호화함으로써 부호어 벡터, 즉 LDPC 부호를 생성함은 물론이다.
다음으로 도 5를 참조하여 본 발명의 실시예에 따른 부호화 장치 내부 구조에 대해서 설명하기로 한다.
도 5는 본 발명의 실시예에 따른 부호화 장치 내부 구조를 도시한 도면이다.
도 5를 참조하면, 먼저 상기 부호화 장치는 제어기(511)와, 메모리(513)와, 영 삽입기(515)와, 부호화기(517)를 포함한다. 상기 부호화 장치로 입력 정보 벡터 가 입력되면, 상기 입력 정보 벡터는 상기 영 삽입기(515)로 전달된다. 그리고, 상기 제어기(511)는 상기 영 삽입기(515)로 전달된 입력 정보 벡터의 길이를 상기 부호화 장치가 사용하는 패리티 검사 행렬의 사용 정보 벡터의 길이와 비교하여 영을 삽입할 개수 b를 결정한다. 또한, 상기 메모리(513)는 상기 도 4에서 설명한 바와 같은 방식으로 결정된 영을 삽입할 위치를 저장하고, 상기 제어기(511)는 그 결정된 영 삽입 위치에 대한 정보를 상기 영 삽입기(515)로 출력한다. 그러면 상기 영 삽입기(515)는 상기 제어기(511)에서 출력한 영 삽입 위치 정보에 상응하게 상기 입력 정보 벡터에 영을 삽입하고, 그 영 삽입한 정보 벡터를 상기 부호화기(517)로 출력한다. 상기 부호화기(517)는 상기 영 삽입된 정보 벡터를 상기 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호로 생성한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 LDPC 부호의 패리티 검사 행렬 및 그 bipartite 그래프를 도시한 도면
도 2는 부호화율 1/5인 LDPC 부호의 패리티 검사 행렬을 도시한 도면
도 3은 부호화율 10/19인 LDPC 부호의 패리티 검사 행렬을 도시한 도면
도 4는 본 발명의 실시예에 따라 부호화 장치가 입력 정보 벡터에 영을 삽입하는 위치를 결정하는 과정을 도시한 순서도
도 5는 본 발명의 실시예에 따른 부호화 장치 내부 구조를 도시한 도면

Claims (16)

  1. 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에서 LDPC 부호 생성 방법에 있어서,
    입력 정보 벡터의 길이가 패리티 검사 행렬의 사용 정보 벡터 길이 미만일 경우, 상기 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하는 과정과,
    상기 패리티 검사 행렬을 사용하여 b 개의 Sd 스탑핑 집합들을 선택하는 과정과,
    상기 b개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정하는 과정을 포함하는 LDPC 부호 생성 방법.
  2. 제1항에 있어서,
    상기 b개의 Sd 스탑핑 집합들 각각에서 상기 1개의 변수 노드를 선택하기 위해 사용되는 상기 선택 방식은 랜덤 방식을 포함함을 특징으로 하는 LDPC 부호 생성 방법.
  3. 제1항에 있어서,
    상기 입력 정보 벡터에 상기 결정한 영 삽입 위치에 상응하게 영을 삽입하여 사용 정보 벡터를 생성하는 과정을 더 포함함을 특징으로 하는 LDPC 부호 생성 방법.
  4. 제1항에 있어서, 상기 사용 정보 벡터를 상기 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 과정을 더 포함함을 특징으로 하는 LDPC 부호 생성 방법.
  5. 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에 있어서,
    입력 정보 벡터의 길이가 패리티 검사 행렬의 사용 정보 벡터 길이 미만일 경우, 상기 입력 정보 벡터에 영을 삽입할 개수인 b를 결정하고, 상기 패리티 검사 행렬을 사용하여 b 개의 Sd 스탑핑 집합들을 선택하고, 상기 b개의 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개의 변수 노드를 선택하고, 상기 선택한 b개의 변수 노드들에 대응하는 위치를 영을 삽입할 위치로 결정하고, 상기 영 삽입할 위치에 대한 정보를 출력하는 제어기를 포함하는 LDPC 부호 생성 장치.
  6. 제5항에 있어서,
    상기 b개의 Sd 스탑핑 집합들 각각에서 상기 1개의 변수 노드를 선택하기 위해 사용되는 상기 선택 방식은 랜덤 방식을 포함함을 특징으로 하는 LDPC 부호 생성 장치.
  7. 제5항에 있어서,
    상기 입력 정보 벡터에 상기 정보에 상응하게 영을 삽입하여 사용 정보 벡터를 생성하는 영 삽입기를 더 포함함을 특징으로 하는 LDPC 부호 생성 장치.
  8. 제7항에 있어서,
    상기 영 삽입기는 부호화기로 영 삽입된 정보를 출력함을 특징으로 하는 LDPC 부호 생성 장치.
  9. 제5항에 있어서,
    상기 사용 정보 벡터를 상기 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 부호화기를 더 포함함을 특징으로 하는 LDPC 부호 생성 장치.
  10. 제5항에 있어서,
    영들이 삽입될 위치들을 저장하는 메모리를 더 포함함을 특징으로 하는 LDPC 부호 생성 장치.
  11. 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에서 LDPC 부호 생성 방법에 있어서,
    입력 정보 벡터에 b개의 영을 삽입하여 사용 정보 벡터를 생성하는 과정과,
    상기 사용 정보 벡터를 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 과정을 포함하며,
    상기 b개의 영이 삽입되는 위치는 b개의 변수 노드들에 대응하는 위치이며, 상기 b개의 변수 노드들은 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개씩 선택된 변수 노드를 포함하며, 상기 Sd 스탑핑 집합들은 상기 패리티 검사 행렬을 사용하여 선택됨을 특징으로 하는 LDPC 부호 생성 방법.
  12. 제11항에 있어서,
    상기 b개의 Sd 스탑핑 집합들 각각에서 상기 1개의 변수 노드를 선택하기 위해 사용되는 상기 선택 방식은 랜덤 방식을 포함함을 특징으로 하는 LDPC 부호 생성 방법.
  13. 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호 생성 장치에 있어서,
    입력 정보 벡터에 b개의 영을 삽입하여 사용 정보 벡터를 생성하는 영 삽입기와,
    상기 사용 정보 벡터를 패리티 검사 행렬을 사용하여 부호화함으로써 LDPC 부호를 생성하는 부호화기를 포함하며,
    상기 b개의 영이 삽입되는 위치는 b개의 변수 노드들에 대응하는 위치이며, 상기 b개의 변수 노드들은 Sd 스탑핑 집합들 각각에서 선택 방식을 사용하여 1개씩 선택된 변수 노드를 포함하며, 상기 Sd 스탑핑 집합들은 상기 패리티 검사 행렬을 사용하여 선택됨을 특징으로 하는 LDPC 부호 생성 장치.
  14. 제13항에 있어서,
    상기 b개의 Sd 스탑핑 집합들 각각에서 상기 1개의 변수 노드를 선택하기 위해 사용되는 상기 선택 방식은 랜덤 방식을 포함함을 특징으로 하는 LDPC 부호 생성 장치.
  15. 제13항에 있어서,
    상기 영 삽입기는 상기 부호화기로 영 삽입된 정보를 출력함을 특징으로 하는 LDPC 부호 생성 장치.
  16. 제13항에 있어서,
    영들이 삽입될 위치들을 저장하는 메모리를 더 포함함을 특징으로 하는 LDPC 부호 생성 장치.
KR1020080020742A 2008-03-05 2008-03-05 저밀도 패리티 검사 부호 생성 장치 및 방법 KR101449750B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080020742A KR101449750B1 (ko) 2008-03-05 2008-03-05 저밀도 패리티 검사 부호 생성 장치 및 방법
US12/396,857 US8296636B2 (en) 2008-03-05 2009-03-03 Apparatus and method for generating low density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080020742A KR101449750B1 (ko) 2008-03-05 2008-03-05 저밀도 패리티 검사 부호 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090095413A KR20090095413A (ko) 2009-09-09
KR101449750B1 true KR101449750B1 (ko) 2014-10-15

Family

ID=41054859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080020742A KR101449750B1 (ko) 2008-03-05 2008-03-05 저밀도 패리티 검사 부호 생성 장치 및 방법

Country Status (2)

Country Link
US (1) US8296636B2 (ko)
KR (1) KR101449750B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450613B2 (en) 2010-11-10 2016-09-20 Infineon Technologies Ag Apparatus and method for error correction and error detection
US8539321B2 (en) 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060004143A (ko) * 2004-07-08 2006-01-12 이준창 재활용 플라스틱 선별방법
KR20070037249A (ko) * 2005-09-30 2007-04-04 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4198904B2 (ja) * 2001-06-11 2008-12-17 富士通株式会社 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
US7225392B2 (en) * 2002-03-04 2007-05-29 Lucent Technologies Inc. Error correction trellis coding with periodically inserted known symbols
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR100856235B1 (ko) * 2005-09-26 2008-09-03 삼성전자주식회사 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
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
KR100984289B1 (ko) * 2005-12-07 2010-09-30 포항공과대학교 산학협력단 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
US7480852B2 (en) * 2006-10-13 2009-01-20 Cisco Technology, Inc. Method and system for improving decoding efficiency in wireless receivers
KR100981501B1 (ko) * 2006-11-06 2010-09-10 연세대학교 산학협력단 통신 시스템에서 신호 송신 장치 및 방법
DK2469746T3 (da) * 2008-03-03 2019-08-05 Samsung Electronics Co Ltd Fremgangsmåde og apparat til modtagning af indkodet styringsinformation i et trådløst kommunikationssystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060004143A (ko) * 2004-07-08 2006-01-12 이준창 재활용 플라스틱 선별방법
KR20070037249A (ko) * 2005-09-30 2007-04-04 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법

Also Published As

Publication number Publication date
US20090228758A1 (en) 2009-09-10
US8296636B2 (en) 2012-10-23
KR20090095413A (ko) 2009-09-09

Similar Documents

Publication Publication Date Title
US11463111B2 (en) Encoding/decoding method, device, and system
KR101445080B1 (ko) 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
CN101944067B (zh) 存储数据的方法和存储器系统
EP2482464B1 (en) Encoding apparatus, decoding apparatus, encoding method, decoding method, and communication system
EP3474472B1 (en) Encoding method, device, and apparatus
CN109257140B (zh) 一种极化信道可靠度排序的方法、极化码编码方法及装置
CN112953558B (zh) 一种Polar码编码方法及装置
CN102623067A (zh) 用于基于闪存的存储器系统的软解码系统和方法
US8832525B2 (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
US10560123B2 (en) Method for generating a sequence for a pola code and medium therefor and method and apparatus for transmitting data using thereof
WO2018146552A1 (en) Crc aided decoding of polar codes
WO2019001436A1 (zh) 一种Polar码的编码方法及装置
KR101449750B1 (ko) 저밀도 패리티 검사 부호 생성 장치 및 방법
CN112996099B (zh) 抗时隙删除的极化时隙aloha的发送与接收方法
CN108206722B (zh) 高码率数据发送方法和装置
JP2020515166A (ja) 無線通信システムにおいてldpc符号のパリティ検査行列に基づいて符号化を行う方法及びそれを用いる端末
CN107733439B (zh) 一种ldpc编码方法、编码装置及通信设备
CN110768748B (zh) 回旋码解码器及回旋码解码方法
KR101630114B1 (ko) 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법
CN113794479B (zh) 极化调节卷积码的生成方法及相关设备
CN113131947B (zh) 译码方法、译码器和译码装置
CN110708077B (zh) Ldpc码大数逻辑译码方法、装置和译码器
JP2009182421A (ja) 復号化方法及び復号化装置
US8508391B1 (en) Code word formatter of shortened non-binary linear error correction code
CN113438191A (zh) 一种sm-scma系统上行链路的零码字辅助球形译码方法、系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 5