KR100975696B1 - 통신 시스템에서 부호화 장치 및 방법 - Google Patents

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

Info

Publication number
KR100975696B1
KR100975696B1 KR1020070033912A KR20070033912A KR100975696B1 KR 100975696 B1 KR100975696 B1 KR 100975696B1 KR 1020070033912 A KR1020070033912 A KR 1020070033912A KR 20070033912 A KR20070033912 A KR 20070033912A KR 100975696 B1 KR100975696 B1 KR 100975696B1
Authority
KR
South Korea
Prior art keywords
vector
parity
vectors
exclusive
generating
Prior art date
Application number
KR1020070033912A
Other languages
English (en)
Other versions
KR20080090730A (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 KR1020070033912A priority Critical patent/KR100975696B1/ko
Priority to US12/098,765 priority patent/US8145972B2/en
Publication of KR20080090730A publication Critical patent/KR20080090730A/ko
Application granted granted Critical
Publication of KR100975696B1 publication Critical patent/KR100975696B1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 통신 시스템에서 부호화 방법 및 장치에 있어서, 입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하며, 상기 제1벡터를 역다중화하여 생성된 역다중화 벡터들과 제3벡터들을 배타적 논리합 연산하여 제2벡터들을 생성하며, 상기 제2벡터들을 순환 이동하여 상기 제3벡터들을 생성하고, 상기 제3벡터들을 다중화하여 제 1 패리티 부호어 벡터를 생성하는 제1패리티 부호어 벡터 생성부와, 상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제 1 벡터 및 상기 제 3 벡터를 미리 정해지는 생성 다항식으로 표현되는 나눗셈 회로에 입력하여 제 2 패리티 부호어 벡터를 생성하는 제2패리티 부호어 벡터 생성부를 포함한다.
Figure R1020070033912
부호기, LDPC, 정보 부호어 벡터, 패리티 부호어 벡터

Description

통신 시스템에서 부호화 장치 및 방법{APPARATUS AND METHOD FOR ENCODING IN A COMMUNICATION SYSTEM}
도 1은 본 발명의 실시예에 따른 송신 장치의 구조를 도시한 도면,
도 2는 본 발명의 실시예에 따른 수신 장치의 구조를 도시한 도면,
도 3은 본 발명의 실시예에 따른 패리티 검사 행렬의 패리티 파트를 도시한 도면,
도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬의 패리티 파트를 도시한 도면,
도 5는 본 발명의 실시예에 따른 나눗셈 회로를 도시한 도면,
도 6은 본 발명의 실시예에 따른 부호기의 구조를 도시한 도면,
도 7은 본 발명의 다른 실시예에 따른 부호기의 구조를 도시한 도면.
본 발명은 통신 시스템에 관한 것으로서, 특히 통신 시스템에서 부호화 방법 및 장치를 제공한다.
통신에서 가장 근본적인 문제는 채널(channel)을 통하여 얼마나 효율적이고 신뢰성 있게(reliably) 데이터(data)를 전송할 수 있느냐 하는 것이다. 최근에 활발하게 연구되고 있는 차세대 통신 시스템에서는 초기의 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다양한 정보를 처리하고 전송할 수 있는 고속 통신 시스템이 요구된다. 따라서 시스템에 적절한 채널 부호화 기법을 사용하여 시스템의 효율을 높이는 것이 필수적이다.
상기 통신 시스템에서 이와 같은 채널 부호화 방법의 하나로 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호가 있다.
상기 LDPC 부호는 터보 부호보다 우수한 성능, 낮은 복호 복잡도, 고속 처리가 가능하기 때문에 4세대 이동 통신 시스템에 적합한 부호화 방식으로 많은 관심을 받고 있다.
LDPC부호는 1962년 Gallager에 의해 처음 제안되었으며, 패리티 검사 행렬(Parity Check Matrix) H의 원소들의 대부분이 '0'인 선형 블록 부호(Linear block code)로서 당시의 기술력으로는 구현이 불가능한 부호 복잡도로 인해 잊혀져 왔다. 그러나 Mackay와 Neal은 이를 재발견하였고, Gallager의 간단한 확률적(Prababilistic) 복호법을 이용하여 성능이 매우 우수함을 보였다.
또한, 상기 LDPC 부호는 대부분의 엘리먼트들이 0의 값을 가지며, 상기 0의 값을 가지는 엘리먼트들 이외의 극히 소수의 엘리먼트들이 1의 값을 가지는 패리티 검사 행렬에 의해 정의된다. 즉, 상기 LDPC 부호의 패리티 검사 행렬은 매우 적은 개수의 무게(weight)들을 가지게 되며, 비교적 긴 길이를 가지는 블록 부호(block code)에서도 반복 복호를 통해 복호가 가능하며, 블록 부호의 블록 길이를 계속 증가시켜가면 섀넌(Shannon)의 채널 용량 한계에 근접하는 형태의 성능을 나타낸다. 하지만, 이와 같은 LDPC 부호 구현에 있어서 장애가 되는 요소 중 하나는 부호화 복잡도이다. 상기 부호화는 행렬 곱셈에 의해 수행되며, 부호 길이의 자승으로 복잡도를 증가시키게 된다는 문제점이 있었다.
따라서, 본 발명은 통신 시스템에서 부호화 방법 및 장치를 제공한다.
또한 본 발명은 부호화 복잡도를 감소하는 부호화 방법 및 장치를 제공한다.
본 발명의 장치는, 통신 시스템에서 부호화 장치에 있어서, 입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하며, 상기 제1벡터를 역다중화하여 생성된 역다중화 벡터들과 제3벡터들을 배타적 논리합 연산하여 제2벡터들을 생성하며, 상기 제2벡터들을 순환 이동하여 상기 제3벡터들을 생성하고, 상기 제3벡터들을 다중화하여 제 1 패리티 부호어 벡터를 생성하는 제1패리티 부호어 벡터 생성부와, 상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제 1 벡터 및 상기 제 3 벡터를 미리 정해지는 생성 다항식으로 표현되는 나눗셈 회로에 입력하여 제 2 패리티 부호어 벡터를 생성하는 제2패리티 부호어 벡터 생성부를 포함하는 부호화 장치를 포함한다.
본 발명의 다른 장치는, 통신 시스템에서 부호화 장치에 있어서, 입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하고, 상기 제1벡터를 제1배타적 논리합 연산기와 제2배타적 논리합 연산기로 출력하는 제1곱셈기와, 상기 제1배타적 논리합 연산기로부터 출력되는 제3벡터를 순환 이동하여 제2벡터를 생성하고, 상기 제2벡터를 제1스위치와 제2스위치로 출력하는 제1천이 레지스터와, 제1시간 구간들에서 0(zero) 벡터를 선택하고, 제2시간 구간들에서 상기 제2벡터를 선택하여, 상기 제1배타적 논리합 연산기로 출력하는 상기 제1스위치와, 상기 제1벡터와 상기 제1스위치로부터 출력되는 벡터를 배타적 논리합 연산하여 제3벡터를 생성하고, 상기 제3벡터를 상기 제1천이 레지스터로 출력하는 상기 제1배타적 논리합 연산기와, 상기 제1시간 구간들에서 상기 제2벡터를 제1패리티 부호어 벡터로서 제2곱셈기로 출력하는 상기 제2스위치와, 상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제4벡터를 상기 제2배타적 논리합 연산기로 출력하는 상기 제2곱셈기와, 상기 제2배타적 논리합 연산기로부터 출력되는 제6벡터를 순환 이동하여 제2패리티 부호어 벡터인 제5벡터를 생성하고, 상기 제5벡터를 제3스위치로 출력하는 제2천이 레지스터와, 상기 제1시간 구간들에서 0 벡터를 선택하고, 상기 제2시간 구간들에서 상기 제5벡터를 선택하여, 상기 제2배타적 논리합 연산기로 출력하는 상기 제3스위치와, 상기 제1벡터와 상기 제3벡터 및 상기 제4벡터를 배타적 논리합 연산하여 제6벡터를 생성하고, 상기 제6벡터를 상기 제2천이 레지스터로 출력하는 상기 제2배타적 논리합 연산기를 포함한다.
본 발명의 방법은, 통신 시스템에서 부호화 방법에 있어서, 입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하며, 상기 제1벡터를 역다중화하여 생성된 역다중화 벡터들과 제3벡터들을 배타적 논리합 연산하여 제2벡터들을 생성하며, 상기 제2벡터들을 순환 이동하여 상기 제3벡터들을 생성하고, 상기 제3벡터들을 다중화하여 제 1 패리티 부호어 벡터를 생성하며, 상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하며, 상기 제 1 벡터 및 상기 제 3 벡터를 미리 정해지는 생성 다항식으로 표현되는 나눗셈 회로에 입력하여 제 2 패리티 부호어 벡터를 생성함을 특징으로 한다.
본 발명의 다른 방법은, 통신 시스템에서 부호화 방법에 있어서, 입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하며, 제1배타적 논리합 연산기로부터 출력되는 제3벡터를 순환 이동하여 제2벡터를 생성하고, 제1시간 구간들에서 0(zero) 벡터를 선택하고, 제2시간 구간들에서 상기 제2벡터를 선택하며, 상기 제1배타적 논리합 연산기를 이용하여 상기 제1벡터와 상기 선택된 벡터를 배타적 논리합 연산함으로써 제3벡터를 생성하고, 상기 제1시간 구간들에서 상기 제2벡터를 제1패리티 부호어 벡터로서 출력하며, 상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제1벡터와 상기 제3벡터 및 상기 제4벡터를 배타적 논리합 연산하여 제6벡터를 생성하며, 상기 제6벡터를 순환 이동하여 제2패리티 부호어 벡터인 제5벡터를 생성하고, 상기 제1시간 구간들에서 0 벡터를 선택하고, 상기 제2시간 구간들에서 상기 제5벡터를 선택함을 특징으로 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 통신 시스템에서 부호화 복잡도를 감소하는 부호화 장치를 제공한다.
상기 본 발명에서 제안하는 부호화 장치는 블록 부호(block code)에 적용 가능하다. 예를 들어, 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호에 적용 가능하다. 본 발명에서 제안된 부호화 장치를 구현하기 위해 본 발명에서는 천이 레지스터(shift register)를 사용한다.
또한, 본 발명에서 제안된 부호화 장치는 패리티 검사 행렬의 패리티 부분에 차수(degree)가 2 이상인 열(column)들을 포함하는 경우에도 적용할 수 있다.
그러면 다음으로 본 발명에 따른 송신 장치와 수신 장치의 구조를 살펴보기로 한다.
도 1은 본 발명의 실시예에 따른 송신 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 송신 장치는 부호기(encoder)(111), 변조기(modulator)(113), 송신기(transmitter)(115)를 포함한다.
상기 신호 송신 장치에서 송신하고자 하는 정보 벡터가 발생되면, 상기 정보 벡터는 상기 부호화기(111)로 전달된다. 상기 부호화기(111)는 상기 정보 벡터를 미리 설정되어 있는 부호화 방식으로 부호화하여 최종 LDPC 부호어 벡터로 생성한 후 상기 변조기(113)로 출력한다. 또한, 본 발명에 따른 상기 부호기의 구조는 하기에서 상세히 설명하기로 하며, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 변조기(113)는 상기 LDPC 부호어 벡터를 미리 설정되어 있는 변조 방식 으로 변조하여 변조 벡터로 생성하여 상기 송신기(115)로 출력한다. 상기 송신기(115)는 상기 변조기(113)에서 출력한 변조 벡터를 입력하여 송신 신호 처리한 후 안테나를 통해 신호 수신 장치로 송신한다.
도 2는 본 발명의 실시예에 따른 수신 장치의 구조를 도시한 도면이다.
도 2를 참조하면, 본 발명의 수신 장치는 수신기(receiver)(211), 복조기(demodulator)(213), 복호기(decoder)(215)를 포함한다.
상기 신호 수신 장치에 대응하여 상기 신호 송신 장치에서 송신한 신호는 상기 신호 수신 장치의 안테나를 통해 수신되고, 상기 안테나를 통해 수신된 신호는 상기 수신기(211)로 전달된다.
상기 수신기(211)는 상기 안테나를 통해 수신된 신호를 수신 신호 처리한 후 상기 복조기(213)로 출력한다.
상기 복조기(213)는 상기 수신기(211)에서 출력한 신호를 입력하여 상기 신호 송신 장치의 변조기(113)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조한 후 상기 복호기(215)로 출력한다.
상기 복호기(215)는 상기 복조기(213)에서 출력한 신호를 입력하여 상기 신호 송신 장치의 부호기(111)에서 적용한 부호화 방식에 상응하는 복호 한 후 그 복호한 신호를 복원된 정보 벡터로 출력한다.
한편, 상기 송신 장치와 상기 수신 장치가 암호화 방식을 추가로 적용하는 경우에는 송신 장치의 부호기에 암호기(encryption module)를 추가하여 암호화된 신호를 송신할 수 있고, 이에 상응한 수신 장치의 복호기는 판독기(descryption module)를 추가하여 암호화된 신호를 상기 암호화에 상응하는 판독을 하여 수신할 수 있다.
본 발명에 따른 패리티 검사 행렬(parity check matrix), H를 하기의 수학식 1에 나타내었다.
Figure 112007026504390-pat00001
상기 패리티 검사 행렬은 정보 파트(information part)와 패리티 파트(parity part)를 포함한다. 상기
Figure 112008059086572-pat00114
은 정보 파트이고, 상기
Figure 112008059086572-pat00115
은 제 1 패리티 파트이고 상기
Figure 112008059086572-pat00116
는 제 2 패리티 파트이다. 상기
Figure 112008059086572-pat00117
은 메시지 파트(message part) 또는 시스터매틱 파트(systematic part)라고도 칭하며, 정보 벡터(information vector)를 LDPC 부호어 벡터로 생성할 경우 상기 정보 벡터에 매핑되는 패리티 검사 행렬의 파트를 나타낸다. 상기 제 1 패리티 파트는 제 1 패리티 벡터(parity vector)에 매핑되는 패리티 검사 행렬의 파트이고, 상기 제 2 패리티 파트는 제 2 패리티 벡터에 매핑되는 패리티 검사 행렬의 파트를 나타낸다. 상기 제 1 패리티 파트는 열 무게(column weight)가 3인 열들로 이루어진 부분행렬이며, 상기 제 2 패리티 파트는 열 무게가 2인 열들로 이루어진 부분행렬을 나타낸다.
본 발명의 부호기는 LDPC 부호를 포함한 모든 블록 부호를 부호화하며, 상기 부호기에서 사용되는 패리티 검사 행렬의 패리티 파트는 하기의 조건을 만족한다.
1. 제 1 패리티 파트는 각 행의 행 무게(row weight)가 1보다 작거나 같아야 한다.
2. 제 2 패리티 파트는 하삼각 행렬(lower triangular matrix)의 형태를 가지고 있어야 한다.
다음으로 본 발명의 실시예에 따른 상기한 두 가지 조건을 만족하는 제 1 패리티 파트와 제 2 패리티 파트를 하기의 도 3과 도 4를 참조하여 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 패리티 검사 행렬의 패리티 파트를 도시한 도면이다.
삭제
도 3을 참조하면, 제 1 패리티 파트 각 행의 행 무게는 1보다 작거나 같으며, 제 2 패리티 파트는 하삼각 행렬의 형태이다. 상기 패리티 파트들은 상기 조건을 모두 만족한다.
도 4는 본 발명의 다른 실시예에 따른 패리티 검사 행렬의 패리티 파트를 도시한 도면이다.
도 4를 참조하면, 제 1 패리티 파트 각 행의 행 무게는 1보다 작거나 같으며, 제 2 패리티 파트는 하삼각 행렬의 형태이다. 상기 패리티 파트들은 상기 조건을 모두 만족한다.
도 3과 도 4의 패리티 파트들에서 차수가 3인 열의 개수를 L이라 하고, 총 패리티 심볼의 개수를 M이라고 하면, 제 1 패리티 파트는 M X L 행렬이 되고, 제 2 패리티 파트는 M X (M - L) 행렬이 된다. 다음으로 부호어 벡터, c를 하기의 수학식 2에 나타내었다.
Figure 112007026504390-pat00016
상기 부호어 벡터는 정보 부호어 벡터, 즉 정보 심볼과 패리티 부호어 벡터 즉, 패리티 심볼을 포함한다. 상기 c는 부호어 벡터이고, 상기
Figure 112008059086572-pat00118
은 정보 부호어 벡터이고, 상기
Figure 112008059086572-pat00119
은 제 1 패리티 심볼이고, 상기
Figure 112008059086572-pat00120
는 패리티 부호어 벡터이다. 상기 제 1 패리티 부호어 벡터는 차수가 3인 열이고, 상기 제 2 패리티 부호어 벡터는 차수가 2인 패리티 열이다.
다음으로 블록 부호의 특성으로 인해 패리티 검사 행렬과 부호어 벡터 간의 관계를 하기의 수학식 3에 나타내었다.
Figure 112007026504390-pat00022
수학식 3에서
Figure 112008059086572-pat00121
임을 가정한다. 상기 s는 패리티 검사 행렬의 정보 파트의 전치 행렬과 정보 부호어 벡터를 곱한 벡터이다. 상기 획득한 수학식 4는 하기에 나타내었다.
Figure 112007026504390-pat00024
수학식 4에서
Figure 112008059086572-pat00025
의 열 웨이트(column weight)가 2이므로,
Figure 112008059086572-pat00026
Figure 112008059086572-pat00027
의 j번째 행이라고 할 때,
Figure 112008059086572-pat00028
을 만족하는 몇 개의 행을 선택하는 것이 가능하다. 이러한 행들의 집합을
Figure 112008059086572-pat00029
(
Figure 112008059086572-pat00030
)라 정의하면, 하기의 수학식 5가 성립한다.
Figure 112007026504390-pat00031
상기 수학식 5에서 j는
Figure 112007026504390-pat00032
에서 선택된 행의 인덱스를 나타낸다.
또한, 상기
Figure 112008059086572-pat00033
에서 3개의 원소(element)를 선택한 집합을
Figure 112008059086572-pat00034
(
Figure 112008059086572-pat00035
)라 하면,
Figure 112008059086572-pat00036
의 열 무게는 3이고 행 무게는 1보다 작거나 같으므로
Figure 112008059086572-pat00037
의 열에서 1인 요소를
Figure 112008059086572-pat00038
로 선택한다.
Figure 112008059086572-pat00039
Figure 112008059086572-pat00040
의 i번째 원소(
Figure 112008059086572-pat00041
)하면, 상기
Figure 112008059086572-pat00042
는 하기의 수학식 6에 나타내었다.
Figure 112007026504390-pat00043
상기 수학식 6에서 상기
Figure 112007026504390-pat00044
는 간단한
Figure 112007026504390-pat00045
의 합으로 나타낼 수 있다.
예를 들어, 도 3에서 행렬의 첫 번째, 두 번째 열에 해당하는
Figure 112008059086572-pat00046
의 원소를 각각
Figure 112008059086572-pat00047
Figure 112008059086572-pat00048
로 가정하면, 상기
Figure 112008059086572-pat00049
과 상기
Figure 112008059086572-pat00050
는 하기의 수학식 7과 같이 나타낼 수 있다.
Figure 112007026504390-pat00051
Figure 112007026504390-pat00052
또한, 도 4에서 행렬의 첫 번째, 두 번째 열에 해당하는
Figure 112008059086572-pat00053
의 원소를 각각
Figure 112008059086572-pat00054
,
Figure 112008059086572-pat00055
로 가정하면, 상기
Figure 112008059086572-pat00056
과 상기
Figure 112008059086572-pat00057
는 하기의 수학식 8과 같이 나타낼 수 있다.
Figure 112007026504390-pat00058
Figure 112007026504390-pat00059
상기 수학식 7과 상기 수학식 8에서
Figure 112008059086572-pat00060
는 i번째 행이고, 1의 위치에 해당한다. 또한, 상기 수학식 8은 상기 수학식 4를 적용하여 획득한 결과이다. 도 4에서 1, 2, 3, 4 행의 합을 살펴보면, 이를 확인할 수 있다.
따라서, 상기
Figure 112008059086572-pat00061
을 획득하면, 상기
Figure 112008059086572-pat00062
는 슬라이딩 윈도우(sliding window) 방식 또는 백워드 치환(backward substitution) 방식을 사용하여 획득할 수 있다. 본 발명에서는 일예로, 슬라이딩 윈도우 방식을 이용한 시변환 나눗셈 회로를 사용하였다.
블록 부호의 일종인 순환부호는 나눗셈 회로를 통해 구현할 수 있으며, 이와 같은 나눗셈 회로를 하기의 도 5에 나타내었다.
도 5는 본 발명의 실시예에 따른 나눗셈 회로를 도시한 도면이다.
도 5를 참조하면, 나눗셈 회로는 배타적 논리합(XOR: eXclusive OR, 이하 'XOR'라 칭하기로 한다) 연산기들(511, 541, 543, 545), 천이 레지스터(shift register)들(521, 523, 525) 및 곱셈기들(531, 533, 535)을 포함한다.
상기 제 1 XOR 연산기(511)는 벡터 s와 제 2 XOR 연산기(541)에서 출력되는 신호를 XOR 연산하여 제 1 XOR 연산 신호를 출력한다. 상기 벡터 s는 패리티 검사 행렬의 정보 파트의 전치 행렬과 입력된 정보 벡터를 곱한 벡터이고,
Figure 112008059086572-pat00122
내지
Figure 112008059086572-pat00123
로 나타낼 수 있다.
상기 제 1 천이 레지스터(521)는 상기 제 1 XOR 연산 신호를 순차적으로 순환 이동하여 제 2 천이 레지스터(523)로 출력한다.
즉, 상기 제 1 천이 레지스터(521)는 상기 제 2 천이 레지스터(523)로 입력되며, 각 천이 레지스터의 출력은 다음에 위치한 각 천이 레지스터로 입력된다. 그리하여, 각 천이 레지스터들의 출력은 제 w 천이 레지스터(525)까지 순차적으로 출력된다.
상기 천이 레지스터들(521, 523, 525)은 입력되는 상기 제 1 XOR 신호를 순차적으로 각각 순환 이동한다. 그리고, 상기 제 w 천이 레지스터(525)는 패리티 벡터들을 출력한다.
또한, 상기 제 1 천이 레지스터(521) 내지 상기 제 w 레지스터(525)는 순환 이동된 각각의 제 1 XOR 신호들을 제 1 곱셈기(531) 내지 제 w 곱셈기(535) 각각으로 출력한다.
상기 제 1 곱셈기(531) 내지 상기 제 w 곱셈기(535)는 상기 순환 이동된 각각의 제 1 XOR 신호들에 가중치 인자 즉,
Figure 112008059086572-pat00124
내지
Figure 112008059086572-pat00125
를 각각 곱하여 가중치 인자 곱셈 신호들을 생성한다. 상기 가중치 인자는 도 5의 나눗셈 회로를 다항식으로 구성하는 경우 생성 다항식의 계수가 된다. 이에 상기 제 1 곱셈기(531)는 가중치 계수
Figure 112008059086572-pat00126
, 제 2 곱셈기(533)는 가중치 계수
Figure 112008059086572-pat00127
, 제 w 곱셈기(535)는 가중치 계수
Figure 112008059086572-pat00128
를 곱한다.
상기 가중치 인자 곱셈 신호들은 제 2 XOR 연산기(541) 내지 제 w+1 XOR 연산기(545) 각각으로 출력되며, 각 XOR 연산기(541, 542, 545)는 XOR 연산을 수행한 값을 상기 제 1 XOR 연산기(511)로 출력한다.
이때 상기 제 w+1 XOR 연산기(545)는 상기 제 w 곱셈기(535)의 출력을 XOR 연산하여 제 w XOR 연산기(543)로 출력한다. 상기 제 w XOR 연산기(543)는 상기 제 w-1 곱셈기(미도시)와 상기 제 w+1 XOR 연산기(535)의 출력을 입력받고, XOR 연산을 수행하여 상기 제 2 XOR 연산기(541)로 출력한다. 상기 제 2 XOR 연산기(541)는 상기 제 1 곱셈기(531)와 상기 제 w XOR 연산기(543)의 출력을 입력받고, XOR 연산을 수행하여 상기 제 1 XOR 연산기(511)로 출력한다.
상기 XOR 연산기들(511, 541, 543, 545)의 XOR 연산 동작은 일예로, 입력되는 정보 비트들이 같은 값을 갖는 경우 비트 '0'을 출력하고, 정보 비트들이 다른 값을 가지면 비트 '1'을 출력하는 XOR 연산을 수행한다.
또한, 도 5의 나눗셈 회로는 다항식으로 구성하는 것이 가능하며, 상기 다항식을 생성다항식이라 칭한다. 상기 생성 다항식을
Figure 112008059086572-pat00070
라 가정하면, 상기 생성 다항식은 하기의 수학식 9에 나타내었다.
Figure 112007026504390-pat00071
수학식 9에서 상기 생성 다항식의 계수 는 천이 레지스터들과 XOR 연산기 사이의 곱셈기들을 통해 연산된다. 이에 따라서, 본 발명의 부호기는 생성 다항식으로 나타낼 수 있는 나눗셈 회로를 사용하여 구현할 수 있으며, 상기 생성 다항식의 계수는 시간에 따라 변화(time-varying)할 수 있다. 따라서, 상기 나눗셈 회로는 일예로 시간 변환 나눗셈 동작을 수행하는 시간 변환 나눗셈 회로가 될 수 있다. 본 발명에서 시간 변환하는 계수 즉, 다항식의 계수는 일예로, 패리티 검사 행렬의 패리티 파트를 사용하여 획득한다.
그러면, 다음으로 본 발명의 실시예에 따른 부호기의 구조를 하기에 도 6과 도 7을 참조하여 살펴보기로 한다.
도 6은 본 발명의 실시예에 따른 부호기의 구조를 도시한 도면이다.
도 6을 참조하면, 본 발명의 부호기는 정보 부호어 벡터 생성부, 행렬곱 계산부, 제 1 패리티 부호어 벡터(
Figure 112008059086572-pat00129
) 생성부, 제 2 패리티 부호어 벡터(
Figure 112008059086572-pat00130
) 생성부를 포함한다.
상기 행렬곱 계산부는 곱셈기(611)를 포함하고, 상기 제 1 패리티 부호어 벡터 생성부는 역다중화기(demultiplexer)(613), 제 1 XOR 연산기(615) 내지 제 L XOR(617) 연산기, 제 1 천이 레지스터(619) 내지 제 L 천이 레지스터(621), 다중화 기(multiplexer)(623), 모듈로 카운터(625)를 포함하고, 상기 제 2 패리티 부호어 벡터 생성부는 제 2 곱셈기(631), 제 1 버퍼(627), 제 2 버퍼(629), 제 1 XOR 연산기(623), 제 1 천이 레지스터(635) 내지 제 w 천이 레지스터(639), 제 3 곱셈기(641) 내지 제 w 곱셈기(645), 제 2 XOR 연산기(647) 내지 제 w+1 XOR 연산기(651)를 포함한다.
여기서 상기 제 1 패리티 부호어 벡터 생성부와 상기 제 2 패리티 부호어 벡터 생성부의 XOR 연산기들과 천이 레지스터들의 명칭은 각 패리티 부호어 벡터 생성부의 구조에서 설명의 편의를 위하여 동일하게 기재한 것으로 하기에서는 식별 부호를 통해 구분하기로 한다.
상기 정보 부호어 벡터 생성부는 상기 부호기에 입력되는 정보 벡터를 정보 부호어 벡터(m)로 사용한다.
상기 행렬곱 계산부의 곱셈기(611)는 입력되는 정보 벡터(m)를 정보 파트의 전치(transpose) 행렬(
Figure 112008059086572-pat00076
)을 곱하여 생성한 벡터(
Figure 112008059086572-pat00077
내지
Figure 112008059086572-pat00078
)를 상기 제 1 패리티 부호어 벡터 생성부의 역다중화기(613)와 상기 제 2 패리티 부호어 벡터 생성부의 제 1 버퍼(627)로 출력한다.
상기 제 1 패리티 부호어 벡터 생성부의 동작을 살펴보기로 한다. 상기 모듈로 카운터(623)는 상기 역다중화기(613)에서 신호를 역다중화 하기 위한 선택 신호 또는 상기 다중화기(623)에 입력되는 신호를 다중화하기 위한 선택 신호를 제공한다. 또한, 상기 모듈로 카운터(623)는 상기 XOR 연산기들 또는 천이 레지스터들의 개수에 해당하는 개수 일예로, L 개의 선택 신호를 출력한다.
상기 역다중화기(613)는 입력되는 정보 벡터와 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱한 벡터를 입력받고, 입력받은 상기 벡터를 상기 모듈로 카운터(623)의 선택 신호를 사용하여 역다중화하고, 상기 역다중화된 각각의 벡터를 상기 제 1 XOR 연산기(615) 내지는 제 L XOR 연산기(617)로 출력한다.
상기 제 1 XOR 연산기(615) 내지 제 L XOR 연산기(617)는 상기 제 1 천이 레지스터(615) 내지 상기 제 L 천이 레지스터(619) 각각의 출력 신호를 각각 피드백받고, 상기 역다중화기(613)의 출력 벡터를 수신하여 XOR 연산을 수행한다. 그리고, 상기 제 1 XOR 연산기(615) 내지 제 L XOR 연산기(617)의 출력은 각각 상기 제 1 천이 레지스터(615) 내지 상기 제 L 천이 레지스터(619)로 입력된다.
상기 제 1 천이 레지스터(615) 내지 상기 제 L 천이 레지스터(619)는 입력되는 신호를 순환 이동하여 상기 다중화기(623)로 각각 출력한다.
상기 다중화기(623)는 상기 모듈로 카운터(625)에서 출력되는 선택 신호를 사용하여 상기 다중화기에 입력되는 신호를 다중화하여 제 1 패리티 부호어 벡터를 생성한다.
다음으로, 상기 제 2 패리티 부호어 벡터 생성부의 동작을 살펴보기로 한다. 상기 제 2 곱셈기(631)는 상기 다중화기(623)에서 출력되는 제 1 패리티 부호어 벡터에 제 1 패리티 파트의 전치 행렬(
Figure 112008059086572-pat00081
)을 곱하여 상기 제 2 버퍼(629)로 출력한다. 상기 제 2 버퍼(629)는 상기 곱셈기(631)에서 출력되는 벡터를 저장하고, 상기 저장된 벡터를 상기 제 1 XOR 연산기(623)로 출력한다.
상기 제 1 버퍼(627)는 상기 곱셈기(611)의 출력 벡터 즉, 상기
Figure 112007026504390-pat00082
내지 상기
Figure 112007026504390-pat00083
를 저장하고, 상기 저장된
Figure 112007026504390-pat00084
내지
Figure 112007026504390-pat00085
을 상기 제 1 XOR 연산기(623)로 출력한다.
상기 제 1 버퍼(627)와 상기 제 2 버퍼(629)의 출력 신호는 도 5에서 설명한 나눗셈 회로와 유사한 나눗셈 회로에 입력 즉, 상기 제 1 XOR 연산기(623)로 입력된다.
이에 상기 제 1 XOR 연산기(623)에서는 입력되는 신호를 XOR 연산을 수행한다.
상기 제 1 XOR 연산기(623)는 상기 제 1 버퍼(627), 상기 제 2 버퍼(629), 상기 제 2 XOR 연산기(647)의 출력을 입력받아 XOR 연산을 수행하고, 상기 XOR 연산을 수행한 결과 값을 상기 제 1 천이 레지스터(635)로 출력한다.
상기 제 1 천이 레지스터(635)의 출력은 상기 제 2 천이 레지스터(637)로 입력되며, 각 천이 레지스터의 출력은 다음에 위치한 각 천이 레지스터로 입력된다. 그리하여, 각 천이 레지스터들의 출력은 제 w 천이 레지스터(639)까지 순차적으로 출력된다.
상기 천이 레지스터들(635, 637, 639)은 입력되는 상기 제 1 XOR 연산기(623)의 출력을 순차적으로 각각 순환 이동한다. 그리고, 상기 제 w 천이 레 지스터(639)는 제 2 패리티 부호어 벡터를 출력한다.
또한, 상기 제 1 천이 레지스터(635) 내지 상기 제 w 레지스터(639)의 출력은 각각 제 1 곱셈기(641) 내지 제 w 곱셈기(645) 각각으로 입력된다.
상기 제 1 곱셈기(641) 내지 상기 제 w 곱셈기(645)는 상기 천이 레지스터들(635, 637, 639)의 출력들에 가중치 인자 즉,
Figure 112008059086572-pat00086
내지
Figure 112008059086572-pat00087
를 각각 곱한다. 상기 가중치 인자는 나눗셈 회로를 다항식으로 구성하는 경우 생성 다항식의 계수가 된다. 이에 상기 제 1 곱셈기(641)는 가중치 계수
Figure 112008059086572-pat00088
, 제 2 곱셈기(643)는 가중치 계수
Figure 112008059086572-pat00089
, 제 w 곱셈기(645)는 가중치 계수
Figure 112008059086572-pat00090
를 곱한다.
상기 곱셈기들(641, 643, 645)의 출력은 제 2 XOR 연산기(647) 내지 제 w+1 XOR 연산기(651) 각각으로 출력되며, 각 XOR 연산기(647, 649, 651)는 XOR 연산을 수행한 값을 상기 제 1 XOR 연산기(623)로 출력한다.
이때 상기 제 w+1 XOR 연산기(651)는 상기 제 w 곱셈기(645)의 출력을 XOR 연산하여 제 w XOR 연산기(649)로 출력한다. 상기 제 w XOR 연산기(649)는 상기 제 w-1 곱셈기(미도시)와 상기 제 w+1 XOR 연산기(651)의 출력을 입력받고, XOR 연산을 수행하여 상기 제 2 XOR 연산기(647)로 출력한다. 상기 제 2 XOR 연산기(647)는 상기 제 1 곱셈기(641)와 상기 제 w XOR 연산기(649)의 출력을 입력받고, XOR 연산을 수행하여 상기 제 1 XOR 연산기(623)로 출력한다.
상기 XOR 연산기들(615, 617, 623, 647, 649, 651)의 XOR 연산 동작은 일예 로, 입력되는 정보 비트들이 같은 값을 갖는 경우 비트 '0'을 출력하고, 정보 비트들이 다른 값을 가지면 비트 '1'을 출력하는 XOR 연산을 수행한다.
도 6의 부호기 구조를 사용하여 입력되는 정보 비트를 정보 부호어 벡터, 패리티 부호어 벡터를 포함하는 부호어 벡터를 생성하는 부호화를 수행하는 것이 가능하다.
도 7은 본 발명의 다른 실시예에 따른 부호기의 구조를 도시한 도면이다.
도 7을 참조하면, 본 발명의 부호기는 정보 부호어 벡터 생성부, 행렬곱 계산부, 제 1 패리티 부호어 벡터(
Figure 112008059086572-pat00091
) 생성부, 제 2 패리티 부호어 벡터(
Figure 112008059086572-pat00092
) 생성부를 포함한다.
상기 행렬곱 계산부는 제 1 곱셈기(711)를 포함하고, 상기 제 1 패리티 부호어 벡터 생성부는 제 1 XOR 연산기(713), 제 1 천이 레지스터(715), 제 1 스위치(719), 제 2 스위치(721)를 포함하고, 상기 제 2 패리티 부호어 벡터 생성부는 제 2 곱셈기(727), 제 1 버퍼(723), 제 2 버퍼(725), 제 2 XOR 연산기(729), 제 2 천이 레지스터(731), 제 3 스위치(733)를 포함한다.
상기 행렬곱 계산부의 곱셈기(711)는 입력되는 정보 벡터(m)을 패리티 검사 행렬의 정보 파트(
Figure 112008059086572-pat00093
)에 대한 전치 행렬(
Figure 112008059086572-pat00094
)을 곱하여 생성한 벡터(
Figure 112008059086572-pat00095
내지
Figure 112008059086572-pat00096
)를 상기 제 1 패리티 부호어 벡터 생성부의 제 1 XOR 연산기(713)와 상기 제 2 패리티 부호어 벡터 생성부의 제 1 버퍼(723)로 출력한다.
상기 정보 부호어 벡터 생성부는 정보 벡터를 정보 부호어 벡터(m)으로 사용한다.
상기 제 1 패리티 부호어 벡터 생성부의 동작을 살펴보기로 한다. 상기 제 1 XOR 연산기(713)는 입력되는 신호를 상기 제 1 천이 레지스터(715)로 출력한다. 그리고, 상기 제 1 XOR 연산기(713)는 상기 제 1 천이 레지스터(715)의 출력을 피드백받고, 상기 제 1 XOR 연산기(713)에 입력되는 신호와 XOR 연산을 수행한다.
상기 제 1 천이 레지스터(715)의 출력이 상기 제 1 XOR 연산기(713)에 입력되는 경우에는 제 1 스위치(719)를 구성하여 각 시간에 따라 '0(zero)'신호 또는 상기 제 1 천이 레지스터(715)의 피드백 신호를 스위칭한다. 여기서 상기 '0'신호는 일예로, 상기 제 1 스위치(719)에 연결된 '0'신호 또는 0 삽입기(미도시) 등을 통해 구현할 수 있다.
상기 제 1 천이 레지스터(715)는 상기 제 2 스위치(721)를 통해 각 시간에 따라 신호를 스위칭하여 제 1 패리티 부호어 벡터(
Figure 112007026504390-pat00097
)를 출력한다.
다음으로, 상기 제 2 패리티 부호어 벡터 생성부의 동작을 살펴보기로 한다. 상기 제 2 곱셈기(727)는 상기 다중화기(725)에서 출력되는 제 1 패리티 부호어 벡터를 제 1 패리티 파트(
Figure 112007026504390-pat00098
)의 전치 행렬(
Figure 112007026504390-pat00099
)을 곱하여 상기 제 2 버퍼(723)로 출력한다. 상기 제 2 버퍼(725)는 상기 곱셈기(727)에서 출력되는 벡터를 저장하고, 상기 저장된 벡터를 상기 제 2 XOR 연산기(729)로 출력한다.
상기 제 1 버퍼(723)는 상기 제 1 곱셈기(711)의 출력 벡터 즉, 상기
Figure 112007026504390-pat00100
내지 상기
Figure 112007026504390-pat00101
를 저장하고, 상기 저장된
Figure 112007026504390-pat00102
내지
Figure 112007026504390-pat00103
을 상기 제 2 XOR 연산기(729)로 출력한다.
상기 제 1 버퍼(723)과 상기 제 2 버퍼(725)의 출력 신호는 상기 제 2 XOR 연산기(729)로 입력된다.
상기 제 2 XOR 연산기(729)는 입력되는 신호를 상기 제 2 천이 레지스터(731)로 출력한다. 그리고, 상기 제 2 XOR 연산기(729)는 상기 제 2 천이 레지스터(731)의 출력을 피드백받고, 상기 제 2 XOR 연산기(729)에 입력되는 신호와 XOR 연산을 수행한다.
상기 제 2 천이 레지스터(731)의 출력이 상기 제 2 XOR 연산기(729)에 입력되는 경우에는 제 3 스위치(733)를 구성하여 각 시간에 따라 '0(zero)'신호 또는 상기 제 2 천이 레지스터(731)의 피드백 신호를 스위칭한다. 여기서 상기 '0'신호는 일예로, 상기 제 3 스위치(733)에 연결된 '0'신호 또는 0 삽입기(미도시) 등을 통해 구현할 수 있다.
상기 제 2 천이 레지스터(731)는 제 2 패리티 부호어 벡터(
Figure 112007026504390-pat00104
)를 출력한다.
여기서 상기 제 1 패리티 부호어 벡터 연산기 또는 상기 제 2 패리티 부호어 벡터 연산기는 일예로, 상술한 바와 같은 차등 부호화를 수행하는 차등 부호기(differential endcoder)를 이용할 수 있으며, 주기적으로 레지스터를 리셋 시켜주는 기능을 필요로 하게 된다. 상기 차등 부호기는 XOR 연산기, 레지스터, 스위치를 포함한다.
도 6과 도 7에서 부호화를 통해 생성된 코드워드(c)는 정보 부호화 벡터(m), 제 1 패리티 파트 부호어 벡터(
Figure 112008059086572-pat00105
), 제 2 패리티 부호어 벡터(
Figure 112008059086572-pat00106
)를 포함한다. 일예로, 상기 제 1 패리티 파트 부호어 벡터는 열의 무게가 3이며, 상기 제 2 패리티 파트 부호어 벡터는 열의 무게가 2이다. M은 패리티 심볼들의 개수를 나타내고, w는 윈도우 크기를 나타내고, L은 열의 무게가 3인 패리티 파트의 수를 나타낸다.
본 발명의 부호기를 사용하면 패리티 파트의 차수가 3 이상 열들을 포함하는 패리티 검사 행렬을 사용한 부호화가 가능하다.
한편, 상기 부호기에 상응하는 복호기에서는 상기 부호화에 사용한 패리티 검사 행렬을 사용하여 복호화를 수행하면, 상기 부호기에서 부호화한 정보 벡터를 복원할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명은, 통신 시스템에서 부호화 장치를 제안하여 부호기를 구현하는 경우 부호화 복잡도가 감소한 부호기를 구현하는 것이 가능하다는 이점을 갖는다. 또한, 차수가 3차 이상의 열을 포함하는 패리티 검사 행렬을 사용한 부호화가 가능하다는 이점을 갖는다.

Claims (26)

  1. 통신 시스템에서 부호화 장치에 있어서,
    입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하며, 상기 제1벡터를 역다중화하여 생성된 역다중화 벡터들과 제3벡터들을 배타적 논리합 연산하여 제2벡터들을 생성하며, 상기 제2벡터들을 순환 이동하여 상기 제3벡터들을 생성하고, 상기 제3벡터들을 다중화하여 제 1 패리티 부호어 벡터를 생성하는 제1패리티 부호어 벡터 생성부와,
    상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제 1 벡터 및 상기 제 3 벡터를 미리 정해지는 생성 다항식으로 표현되는 나눗셈 회로에 입력하여 제 2 패리티 부호어 벡터를 생성하는 제2패리티 부호어 벡터 생성부를 포함하는 부호화 장치.
  2. 제1항에 있어서,
    상기 제1패리티 부호어 벡터 생성부는;
    상기 제1 벡터를 역다중화하여 상기 역다중화 벡터들을 생성하는 역다중화기와,상기 제2벡터들 각각을 순환 이동하여 상기 제3벡터들을 생성하는 천이 레지스터들과,
    상기 역다중화된 제 1 벡터들과 상기 제 3 벡터들을 배타적 논리합 연산하여 상기 제2벡터들을 생성하는 제1배타적 논리합 연산기들과,
    상기 제3벡터들을 다중화하여 상기 제1패리티 부호어 벡터를 생성하는 다중화기와,
    상기 역다중화기로 상기 제1벡터를 역다중화하기 위한 선택 신호 및 상기 다중화기로 상기 제3벡터들을 다중화하기 위한 선택 신호를 출력하는 모듈로 카운터를 포함하는 부호화 장치.
  3. 제 1항에 있어서,
    상기 제 1 패리티 파트는 열 무게가 3 이상인 행렬임을 특징으로 하는 부호화 장치.
  4. 제 3항에 있어서,
    상기 제 1 패리티 파트는 각 행의 행 무게가 1이하임을 특징으로 하는 부호화 장치.
  5. 통신 시스템에서 부호화 장치에 있어서,
    입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하고, 상기 제1벡터를 제1배타적 논리합 연산기와 제2배타적 논리합 연산기로 출력하는 제1곱셈기와,
    상기 제1배타적 논리합 연산기로부터 출력되는 제3벡터를 순환 이동하여 제2벡터를 생성하고, 상기 제2벡터를 제1스위치와 제2스위치로 출력하는 제1천이 레지스터와,
    제1시간 구간들에서 0(zero) 벡터를 선택하고, 제2시간 구간들에서 상기 제2벡터를 선택하여, 상기 제1배타적 논리합 연산기로 출력하는 상기 제1스위치와,
    상기 제1벡터와 상기 제1스위치로부터 출력되는 벡터를 배타적 논리합 연산하여 제3벡터를 생성하고, 상기 제3벡터를 상기 제1천이 레지스터로 출력하는 상기 제1배타적 논리합 연산기와,
    상기 제1시간 구간들에서 상기 제2벡터를 제1패리티 부호어 벡터로서 제2곱셈기로 출력하는 상기 제2스위치와,
    상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하고, 상기 제4벡터를 상기 제2배타적 논리합 연산기로 출력하는 상기 제2곱셈기와,
    상기 제2배타적 논리합 연산기로부터 출력되는 제6벡터를 순환 이동하여 제2패리티 부호어 벡터인 제5벡터를 생성하고, 상기 제5벡터를 제3스위치로 출력하는 제2천이 레지스터와,
    상기 제1시간 구간들에서 0 벡터를 선택하고, 상기 제2시간 구간들에서 상기 제5벡터를 선택하여, 상기 제2배타적 논리합 연산기로 출력하는 상기 제3스위치와,
    상기 제1벡터와 상기 제3벡터 및 상기 제4벡터를 배타적 논리합 연산하여 제6벡터를 생성하고, 상기 제6벡터를 상기 제2천이 레지스터로 출력하는 상기 제2배타적 논리합 연산기를 포함하는 부호화 장치.
  6. 제 5 항에 있어서,
    상기 제 1 패리티 파트는 열 무게가 3 이상인 행렬임을 특징으로 하는 부호화 장치.
  7. 제 6 항에 있어서,
    상기 제 1 패리티 파트는 각 행의 행 무게가 1이하임을 특징으로 하는 부호화 장치.
  8. 제1항에 있어서,
    상기 생성 다항식의 계수는 시간에 따라 변화됨을 특징으로 하는 부호화 장치.
  9. 제1항에 있어서,
    상기 나눗셈 회로는 상기 제1벡터와 상기 제3벡터와, 제5벡터를 논리합 연산하여 제6벡터를 생성하는 제2배타적 논리합 연산기와,
    상기 제6벡터를 순차적으로 순환 이동하여 상기 제2패리티 부호어 벡터를 생성하는 천이 레지스터들과,
    상기 천이 레지스터들 각각의 출력들에 상기 생성 다항식의 계수 각각을 곱하여 제7벡터들을 생성하는 곱셈기들과,
    상기 제7벡터들을 순차적으로 배타적 논리합 연산하여 상기 제5벡터를 생성하는 제3배타적 논리합 연산기들을 포함함을 특징으로 하는 부호화 장치.
  10. 제1항에 있어서,
    상기 제1패리티 부호어 벡터는 다음과 같은 수학식을 이용하여 생성됨을 특징으로 하는 부호화 장치.
    <수학식 1>
    Figure 112010007899581-pat00131
    상기
    Figure 112010007899581-pat00132
    은 상기 제1패리티 부호어 벡터인
    Figure 112010007899581-pat00133
    의 i번째 원소를 나타내며, 상기
    Figure 112010007899581-pat00134
    는 상기 제1벡터 중에서 j번째 행을 나타내며, 상기
    Figure 112010007899581-pat00135
    Figure 112010007899581-pat00136
    에서 3개의 원소를 선택한 집합이고, 상기
    Figure 112010007899581-pat00137
    Figure 112010007899581-pat00138
    임.
  11. 제1항에 있어서,
    상기 생성 다항식은 다음과 같은 수학식으로 나타냄을 특징으로 하는 부호화 장치.
    <수학식 2>
    Figure 112010007899581-pat00139
    상기
    Figure 112010007899581-pat00140
    는 상기 생성 다항식을 나타내며, 상기
    Figure 112010007899581-pat00141
     내지
    Figure 112010007899581-pat00142
    는 상기 생성 다항식의 계수를 나타냄.
  12. 제5항에 있어서,
    상기 생성 다항식의 계수는 시간에 따라 변화됨을 특징으로 하는 부호화 장치.
  13. 제5항에 있어서,
    상기 제1패리티 부호어 벡터는 다음과 같은 수학식을 이용하여 생성됨을 특징으로 하는 부호화 장치.
    <수학식 1>
    Figure 112010007899581-pat00143
    상기
    Figure 112010007899581-pat00144
    은 상기 제1패리티 부호어 벡터인
    Figure 112010007899581-pat00145
    의 i번째 원소를 나타내며, 상기
    Figure 112010007899581-pat00146
    는 상기 제1벡터 중에서 j번째 행을 나타내며, 상기
    Figure 112010007899581-pat00147
    Figure 112010007899581-pat00148
    에서 3개의 원소를 선택한 집합이고, 상기
    Figure 112010007899581-pat00149
    Figure 112010007899581-pat00150
    임.
  14. 통신 시스템에서 부호화 방법에 있어서,
    입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하는 과정과,
    상기 제1벡터를 역다중화하여 생성된 역다중화 벡터들과 제3벡터들을 배타적 논리합 연산하여 제2벡터들을 생성하는 과정과,
    상기 제2벡터들을 순환 이동하여 상기 제3벡터들을 생성하는 과정과,
    상기 제3벡터들을 다중화하여 제 1 패리티 부호어 벡터를 생성하는 과정과,
    상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하는 과정과,
    상기 제 1 벡터 및 상기 제 3 벡터를 미리 정해지는 생성 다항식으로 표현되는 나눗셈 회로에 입력하여 제 2 패리티 부호어 벡터를 생성하는 과정을 포함하는부호화 방법.
  15. 제14항에 있어서,
    상기 제1벡터의 역다중화와 상기 제3벡터들의 다중화는 상기 역다중화하기 위한 선택 신호와 상기 다중화하기 위한 선택 신호에 따라 수행됨을 특징으로 하는 부호화 방법.
  16. 제 14항에 있어서,
    상기 제 1 패리티 파트는 열 무게가 3 이상인 행렬임을 특징으로 하는 부호화 방법.
  17. 제 16항에 있어서,
    상기 제 1 패리티 파트는 각 행의 행 무게가 1이하임을 특징으로 하는 부호화 방법.
  18. 제14항에 있어서,
    상기 생성 다항식의 계수는 시간에 따라 변화됨을 특징으로 하는 부호화 방법.
  19. 제14항에 있어서,
    상기 나눗셈 회로는 상기 제1벡터와 상기 제3벡터와, 제5벡터를 논리합 연산하여 제6벡터를 생성하는 과정과,
    천이 레지스터들을 이용하여 상기 제6벡터를 순차적으로 순환 이동함으로써 상기 제2패리티 부호어 벡터를 생성하는 과정과,
    상기 천이 레지스터들 각각의 출력들에 상기 생성 다항식의 계수 각각을 곱하여 제7벡터들을 생성하는 과정과,
    상기 제7벡터들을 순차적으로 배타적 논리합 연산하여 상기 제5벡터를 생성하는 과정을 포함함을 특징으로 하는 부호화 방법.
  20. 제14항에 있어서,
    상기 제1패리티 부호어 벡터는 다음과 같은 수학식을 이용하여 생성됨을 특징으로 하는 부호화 방법.
    <수학식 1>
    Figure 112010007899581-pat00151
    상기
    Figure 112010007899581-pat00152
    은 상기 제1패리티 부호어 벡터인
    Figure 112010007899581-pat00153
    의 i번째 원소를 나타내며, 상기
    Figure 112010007899581-pat00154
    는 상기 제1벡터 중에서 j번째 행을 나타내며, 상기
    Figure 112010007899581-pat00155
    Figure 112010007899581-pat00156
    에서 3개의 원소를 선택한 집합이고, 상기
    Figure 112010007899581-pat00157
    Figure 112010007899581-pat00158
    임.
  21. 제14항에 있어서,
    상기 생성 다항식은 다음과 같은 수학식으로 나타냄을 특징으로 하는 부호화 방법.
    <수학식 2>
    Figure 112010007899581-pat00159
    상기
    Figure 112010007899581-pat00160
    는 상기 생성 다항식을 나타내며, 상기
    Figure 112010007899581-pat00161
     내지
    Figure 112010007899581-pat00162
    는 상기 생성 다항식의 계수를 나타냄.
  22. 통신 시스템에서 부호화 방법에 있어서,
    입력된 정보 벡터에 패리티 검사 행렬의 정보 파트의 전치 행렬을 곱하여 제1벡터를 생성하는 과정과,
    제1배타적 논리합 연산기로부터 출력되는 제3벡터를 순환 이동하여 제2벡터를 생성하는 과정과,
    제1시간 구간들에서 0(zero) 벡터를 선택하고, 제2시간 구간들에서 상기 제2벡터를 선택하는 과정과,
    상기 제1배타적 논리합 연산기를 이용하여 상기 제1벡터와 상기 선택된 벡터를 배타적 논리합 연산함으로써 제3벡터를 생성하는 과정과,
    상기 제1시간 구간들에서 상기 제2벡터를 제1패리티 부호어 벡터로서 출력하는 과정과,
    상기 제1패리티 부호어 벡터에 상기 패리티 검사 행렬의 제1패리티 파트의 전치행렬을 곱하여 제4벡터를 생성하는 과정과,
    상기 제1벡터와 상기 제3벡터 및 상기 제4벡터를 배타적 논리합 연산하여 제6벡터를 생성하는 과정과,
    상기 제6벡터를 순환 이동하여 제2패리티 부호어 벡터인 제5벡터를 생성하는 과정과,
    상기 제1시간 구간들에서 0 벡터를 선택하고, 상기 제2시간 구간들에서 상기 제5벡터를 선택하는 과정을 포함하는 부호화 방법.
  23. 제 22 항에 있어서,
    상기 제 1 패리티 파트는 열 무게가 3 이상인 행렬임을 특징으로 하는 부호화 방법.
  24. 제 23 항에 있어서,
    상기 제 1 패리티 파트는 각 행의 행 무게가 1이하임을 특징으로 하는 부호화 방법.
  25. 제22항에 있어서,
    상기 생성 다항식의 계수는 시간에 따라 변화됨을 특징으로 하는 부호화 방법.
  26. 제22항에 있어서,
    상기 제1패리티 부호어 벡터는 다음과 같은 수학식을 이용하여 생성됨을 특징으로 하는 부호화 방법.
    <수학식 1>
    Figure 112010007899581-pat00163
    상기
    Figure 112010007899581-pat00164
    은 상기 제1패리티 부호어 벡터인
    Figure 112010007899581-pat00165
    의 i번째 원소를 나타내며, 상기
    Figure 112010007899581-pat00166
    는 상기 제1벡터 중에서 j번째 행을 나타내며, 상기
    Figure 112010007899581-pat00167
    Figure 112010007899581-pat00168
    에서 3개의 원소를 선택한 집합이고, 상기
    Figure 112010007899581-pat00169
    Figure 112010007899581-pat00170
    임.
KR1020070033912A 2007-04-05 2007-04-05 통신 시스템에서 부호화 장치 및 방법 KR100975696B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070033912A KR100975696B1 (ko) 2007-04-05 2007-04-05 통신 시스템에서 부호화 장치 및 방법
US12/098,765 US8145972B2 (en) 2007-04-05 2008-04-07 Apparatus and method for coding in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070033912A KR100975696B1 (ko) 2007-04-05 2007-04-05 통신 시스템에서 부호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080090730A KR20080090730A (ko) 2008-10-09
KR100975696B1 true KR100975696B1 (ko) 2010-08-12

Family

ID=40151774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070033912A KR100975696B1 (ko) 2007-04-05 2007-04-05 통신 시스템에서 부호화 장치 및 방법

Country Status (2)

Country Link
US (1) US8145972B2 (ko)
KR (1) KR100975696B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321752B1 (en) * 2008-11-12 2012-11-27 Marvell International Ltd. Integrated 2-level low density parity check (LDPC) codes
KR101785656B1 (ko) 2010-03-04 2017-10-16 엘지전자 주식회사 Ack/nack 신호를 전송하는 방법 및 이를 위한 장치
US9705532B2 (en) * 2013-03-15 2017-07-11 Arris Enterprises Llc Parallel low-density parity check (LDPC) accumulation
US10116430B1 (en) * 2016-09-01 2018-10-30 Xilinx, Inc. Alignment marker independent data alignment for a receiver
CN113114273B (zh) * 2021-04-14 2022-11-18 深圳市统先科技股份有限公司 Ldpc码的校验矩阵提取方法及***、设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050021108A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
KR20060050384A (ko) * 2004-08-10 2006-05-19 삼성전자주식회사 블록 저밀도 패리티 검사 부호 부호화/복호 장치 및 방법
KR20060061145A (ko) * 2004-12-01 2006-06-07 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4617985B2 (ja) * 2005-04-25 2011-01-26 ソニー株式会社 符号装置および符号化方法
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
KR20050021108A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR20060050384A (ko) * 2004-08-10 2006-05-19 삼성전자주식회사 블록 저밀도 패리티 검사 부호 부호화/복호 장치 및 방법
KR20060061145A (ko) * 2004-12-01 2006-06-07 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치

Also Published As

Publication number Publication date
US8145972B2 (en) 2012-03-27
KR20080090730A (ko) 2008-10-09
US20110047432A1 (en) 2011-02-24

Similar Documents

Publication Publication Date Title
KR101445080B1 (ko) 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
RU2232463C2 (ru) Устройство и способ кодирования/декодирования канала в системе мобильной связи множественного доступа с кодовым разделением каналов
KR100421164B1 (ko) 이동통신시스템에서 전송율 정보 부호화 및 복호화 장치 및 방법
JP5161857B2 (ja) Ldpc符号の符号化
KR100975558B1 (ko) 통신 시스템에서 신호 송수신 장치 및 방법
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
US7337385B2 (en) Decoding apparatus and method for decoding the data encoded with an LDPC code
US8099644B2 (en) Encoders and methods for encoding digital data with low-density parity check matrix
US8539304B1 (en) Parallel encoder for low-density parity-check (LDPC) codes
CN102870330B (zh) 编码设备、纠错码配置方法及其程序
CA2560852A1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
CA2559818A1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100975696B1 (ko) 통신 시스템에서 부호화 장치 및 방법
TW200302638A (en) Method and apparatus for weighted non-binary repeat accumulate coding and space-time coding
WO2002029976A1 (en) APPARATUS AND METHOD FOR GENERATING (n,3) CODE AND (n,4) CODE USING SIMPLEX CODES
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
CA2493430A1 (en) Apparatus for decoding an error correction code in a communication system and method thereof
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
KR20070076473A (ko) 통신 시스템에서 신호 송수신 장치 및 방법
KR102181553B1 (ko) 전자장치에서 부호화 및 복호화를 위한 방법 및 장치
CN103138769B (zh) 一种具有不等错误保护的编码方法
KR100874484B1 (ko) 준순환 저밀도 패리티 검사 부호화 방법 및 장치
KR101425506B1 (ko) 보완적인 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
KR102328268B1 (ko) 무선통신 시스템을 위한 짧은 블록 부호화 및 복호화 장치 및 방법
KR101411720B1 (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: 20130719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 8