KR101268061B1 - 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 - Google Patents

다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 Download PDF

Info

Publication number
KR101268061B1
KR101268061B1 KR1020110107780A KR20110107780A KR101268061B1 KR 101268061 B1 KR101268061 B1 KR 101268061B1 KR 1020110107780 A KR1020110107780 A KR 1020110107780A KR 20110107780 A KR20110107780 A KR 20110107780A KR 101268061 B1 KR101268061 B1 KR 101268061B1
Authority
KR
South Korea
Prior art keywords
state
metric
bits
bit
branch
Prior art date
Application number
KR1020110107780A
Other languages
English (en)
Other versions
KR20130043723A (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 KR1020110107780A priority Critical patent/KR101268061B1/ko
Publication of KR20130043723A publication Critical patent/KR20130043723A/ko
Application granted granted Critical
Publication of KR101268061B1 publication Critical patent/KR101268061B1/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Landscapes

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

Abstract

개시된 기술은 데이터의 부호화(encoding) 방법에 관한 것으로서, 보다 상세하지만 제한됨 없이는, 다상 누산 코드(multiple state accumulate code)를 이용한 부호화 방법 및 복호화 방법에 관한 것이다. 실시예들 중에서, 다상-누산 코드를 이용한 부호화 방법은 (a) 부호화 상태를 초기화 하는 단계; (b) 입력되는 정보 비트들에 따라 상기 부호화 상태를 변경하는 단계; (c) 상기 부호화 상태에 기반하여 패리티 비트들을 결정하는 단계; (d) 새로이 입력되는 정보 비트들을 이용하여 상기 (b) 단계 및 상기 (c) 단계를 수행함을 적어도 1회 반복하는 단계; 및 (e) 상기 (b) 단계 내지 상기 (d) 단계에서 입력된 정보 비트들 및 결정된 패리티 비트들을 기반으로 부호어를 생성하는 단계를 포함한다.

Description

다상-누산 코드를 이용한 부호화 방법 및 복호화 방법{ENCOING AND DECODING METHOD USING MULTIPLE STATE ACCUMULATE CODE}
개시된 기술은 데이터의 부호화(encoding) 방법에 관한 것으로서, 보다 상세하지만 제한됨 없이는, 다상 누산 코드(multiple state accumulate code)를 이용한 부호화 방법 및 복호화 방법에 관한 것이다.본 명세서에서 새로이 제안하는 다상-누산 코드는 부호화(encoding) 및 복호화(decoding) 연산 처리 속도를 빠르게 할 수 있고, 오류 정정 성능을 향상시킬 수 있다는 장점이 있다. 본 명세서에 개시된 기술은 다양한 범위에 응용될 수 있지만, 특히 강화된 프로세서를 가진 통신 단말기에서 병렬 프로세스를 통한 연산속도 향상, 및 저장 공간을 효율적으로 사용하는 데 활용될 수 있다.
통신에 있어서 일반적으로 부호화(encoding)라 함은 송신 측에서 송신된 데이터가 통신 채널을 통하여 전송되는 과정에서 발생하는 신호의 일그러짐, 손실 등에 의한 오류에도 불구하고 수신 측에서 원래의 데이터를 복원할 수 있도록 하기 위해 송신 측에서 데이터를 처리 하는 과정을 의미한다. 원래의 데이터의 크기를 줄여서 전송과 저장 등을 용이하게 하는 소스 부호화(source coding)와 구분하여 이를 채널 부호화(channel coding)라 한다. 복호화(decoding)는 부호화되어 송신된 신호를 수신 측에서 원래의 데이터로 복원하는 과정이다. 부호화를 한다는 것은 통상 길이 K의 정보 시퀀스(정보 비트들)를 길이 N의 코드로 만드는 것이다. 신호 전송경로가 불안정한 무선 랜(LAN)이나 이동통신의 경우 코드의 길이 N을 정보시퀀스 길이 K 보다 상당히 크게 만든다. 즉, 부호화된 코드에는 전송되어야 할 데이터가 상당히 반복되어 있다. 양방향 통신에서, 정보 시퀀스를 포함하는 데이터를 전송함에 있어서 수신 측이 데이터를 복원하지 못하게 되면 송신 측은 데이터를 다시 전송한다. 이러한 데이터의 반복 전송은 전송속도를 떨어트리게 되므로, 이러한 반복 전송을 줄일 수 있는 채널 부호화 기술들이 연구되어 왔다.
채널 부호화는 블록부호(block codes)와 콘볼루션 부호(convolution codes)로 크게 나누어진다. 블록부호는 K비트의 입력 정보(data sequences)를 N비트의 출력부호(codes)로 만들어내는 것이다. 콘볼루션 부호는 코드화시킬 때 현재 입력되는 신호에 과거의 일부 신호를 함께 활용하는 방식이다. 콘볼루션 부호를 기반으로 병렬 부호화와 인터리빙(interleaving)을 통해 성능을 더욱 발전시킨 것이 터보코드(turbo codes)이다. 터보코드(turbo codes)는 통신 채널의 비트 오류 확률(probability)을 최소로 유지하는 사상에 기반을 둔 오류 정정 부호 (ECC: error correction code)의 하나이다. 터보코드는 1993년 Berrou 등이 제안한 것으로 비교적 간단한 구조를 가지면서도 매우 우수한 오류 정정 성능을 제공하므로 고성능의 오류 정정 부호 방식이 요구되는 통신 시스템에 적용되고 있다.
최근에는 저밀도 패리티 검사(LDPC : low-density parity-check) 코드가 통신 시스템에 적용되기 시작하였다. LDPC 코드는 길이 K의 정보시퀀스를 길이 N의 부호어로 만든다. 부호어 중 정보 시퀀스를 제외한 (N-K) 길이의 패리티 비트는 패리티 검사 행렬 (parity-check matrix) H를 사용하여 만들 수 있다. 패리티 검사 행렬 H는 크기가 (N-K) x N 이고, 1보다는 0이 많은 저밀도의 성질을 갖고 있다. LDPC 코드를 이용한 부호화 방법에서는 패리티 검사 행렬 H을 어떻게 만드는지가 가장 중요한 요소이다. 통상, 불규칙 LDPC 코드들은 규칙 LDPC 코드들보다 양호한 성능을 제공한다. 여기서 규칙적이라는 것은 LDPC 코드를 위하여 이용되는 패리티 검사 행렬 H의 모든 행들(rows)이 동일한 수의 1들을 가지고 H의 모든 열들(columns)이 동일한 수의 1들을 가진다는 것을 의미하며, 그렇지 않으면 LDPC 코드는 불규칙인 것으로 간주된다. 여기서 행 또는 열에서 1들의 수는 행 또는 열의 가중치라 칭한다. 블록 길이 104 이상의 불규칙 LDPC (low-density parity-check) 코드는 터보코드(turbo codes)보다 나은 성능을 보이는 것이 입증되었다.
그러나, 패리티 검사 행렬 H는 대략 1000×2000 이상의 크기를 갖기 때문에 부호화 및 복호화 과정에서 많은 연산이 요구되고, 구현이 매우 복잡하며, 많은 저장 공간을 요구하는 문제점이 있다. 다시 말해, 데이터 블록의 크기가 증가하면 LDPC의 오류정정 능력은 강해지지만, 프로세서가 처리해야 하는 연산량 및 요구하는 저장 공간 또한 증가한다는 문제점이 있다. 이러한 문제점을 해결하기 위한 기술로 대한민국 공개특허 제10-2007-0058438호(무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화, 복호화 방법 및 그 장치)가 있다.
불규칙 반복 누산(Irregular-Repeat-Accumulate: IRA) 코드는 터보코드 또는 LDPC 코드의 일종으로 분류되며 비교적 간단한 형태이면서도 용량한계에 근접하는 성능을 보인다. 불규칙 반복 누산(IRA) 코드는 불규칙 LDPC 코드보다 다소 성능이 떨어지지만 부호화가 간단하다는 장점이 있다. IRA 코드에서 사용되는 에러 정정 코드인 누산 코드(Accumulate Code)는, 누산기(accumulator)를 이용하여 간단한 인코딩을 가능하게 한다. 그러나 Accumulate 코드를 사용하는 경우에도, 블록의 크기가 매우 크면, 연산이 복잡하다는 문제가 여전히 존재한다. 따라서, 종래의 부호화 방법에 비하여 연산 속도 및 오류 정정 성능을 향상시킬 수 있는 새로운 오류 정정 코드가 요구된다.
개시된 기술이 이루고자 하는 기술적 과제는 연산 속도 및 성능을 향상시킬 수 있는 부호화 방법 및 복호화 방법을 제공하는 데 있다. 또한, 병렬연산을 활용하면 연산 처리속도를 높일 수 있으므로, 개시된 기술에서는 병렬 연산에 적합한 코드를 제공하고자 한다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제1 측면은 (a) 부호화 상태를 초기화 하는 단계; (b) 입력되는 정보 비트들에 따라 상기 부호화 상태를 변경하는 단계; (c) 상기 부호화 상태에 기반하여 패리티 비트들을 결정하는 단계; (d) 새로이 입력되는 정보 비트들을 이용하여 상기 (b) 단계 및 상기 (c) 단계를 수행함을 적어도 1회 반복하는 단계; 및 (e) 상기 (b) 단계 내지 상기 (d) 단계에서 입력된 정보 비트들 및 결정된 패리티 비트들을 기반으로 부호어를 생성하는 단계를 포함하는 부호화 방법을 제공한다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제2 측면은 (a)정보 비트들과 패리티 비트들을 포함하는 비트 그룹이 복수 개 결합된 부호화 신호를 수신하는 단계; (b)상기 부호화 신호를 나타내는 가지들(branches) 및 상기 부호화 신호에 대응하여 시간에 따라 천이하는 부호화 상태를 나타내는 상태들(states)을 포함하는 트렐리스에 기반하여, 수신된 신호로부터 가지 메트릭(metric)을 산출하는 단계; (c)상기 부호화 신호 중 상기 패리티 비트들에 상응하는 가지 메트릭들을 기초로 인워드 상태 메트릭들을 산출하는 단계; (d)상기 부호화 신호 중 상기 정보 비트들에 상응하는 가지 메트릭들 및 상기 인워드 상태 메트릭들을 기초로 포워드 상태 메트릭들 및 백워드 상태 메트릭들을 산출하는 단계; 및 (e)상기 가지 메트릭들, 포워드 상태 메트릭들 및 백워드 상태 메트릭들의 값을 기초로 상기 정보 비트들의 값을 결정하는 단계를 포함하는 복호화 방법을 제공한다.
개시된 기술의 실시 예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시 예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
개시된 기술의 일 실시 예에 따른 다상-누산 코드는 종래의 코딩 방식(예컨대, Accumulate code)보다 향상된 오류 정정 성능을 보이면서도 연산속도가 빠르다는 장점이 있다. 또한, 다상-누산 코드를 이용한 부호화 또는 복호화 방법은 필요로 하는 저장 공간이 종래에 비하여 작으며, 병렬 프로세싱이 용이하여 하드웨어 구현에 유리하다는 장점이 있다.
도 1은 개시된 기술의 일 실시예에 따라, 부호기(encoder)가 다상 누산 코드를 이용하여 부호화하는 방법을 설명하기 위한 순서도이다.
도 2는 개시된 기술의 일 실시예에 따라, 부호화 상태가 변경되는 과정 및 패리티 비트들이 결정되는 과정을 설명하기 위한 도면이다.
도 3은 개시된 기술의 일 실시예에 따라 부호기의 레지스터 값이 변경되는 과정을 설명하기 위한 도면이다.
도 4는 개시된 기술의 일 실시예에 따라, 부호화 상태 수가 4인 경우 상태 결정부를 설명하기 위한 도면이다.
도 5는 개시된 기술의 일 실시예에 따라, 다상-누산 코드를 이용하여 복호화 하는 방법을 설명하기 위한 순서도이다.
도 6은 트렐리스 다이어그램에 기반하여 복호화를 수행하는 순서를 설명하기 위한 도면이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
“제1”, “제2” 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
종래의 부호화 및 복호화 방법은 많은 연산이 필요하고, 구현이 매우 복잡하며, 많은 저장 공간을 필요로 한다는 등 여러 가지 문제점을 가지고 있다. 개시된 기술에서는 종래의 누산(Accumulate) 코드보다 향상된 오류 정정 성능을 보이면서도 연산속도가 빠르고, 병렬 프로세싱이 용이한 부호화 방식으로, 다상-누산 코드를 이용한 부호화 방법을 제안한다. 또한 개시된 기술에서는, 새로이 제안된 부호화 방식에 따른 코드를 복호화하는 방법으로, 2차원 BCJR 복호화 방법을 새로이 제안한다. 이하, 개시된 기술에서 제안하는 부호화 및 복호화 방법을 도면을 참조하여 설명한다.
도 1은 개시된 기술의 일 실시예에 따라, 부호기(encoder)가 다상 누산 코드를 이용하여 부호화하는 방법을 설명하기 위한 순서도이다. 설명의 편의를 위하여, 본 명세서에서는 부호기가 블록 단위로 정보 비트들을 부호화하되, 한 블록의 정보 비트들에 대한 패리티 비트들을 생성하기 위해 부호기에 입력되는 정보 비트들은 G개의 그룹으로 나뉘어져 있으며 각 그룹에 포함된 정보 비트들이 순차적으로 부호기에 입력된다고 가정한다. i번째 그룹에 포함된 정보 비트들의 수는 Ki로 표시한다. 부호기는 각 그룹에 포함된 Ki개의 정보 비트들이 모두 입력될 때마다 NP개의 패리티 비트들을 생성한다. 한 블록은 G개의 그룹을 포함하므로 부호기는 Ki개의 정보 비트들을 입력 받아 NP개의 패리티 비트들을 생성하는 과정을 G회 반복한다. i번째 그룹의 l번째 정보 비트가 입력되는 시간 t는 편의상 t=(i,l)로 표시한다. 한 블록의 정보 비트들에 대한 부호화 과정을 수행할 때 마다 입력되는 정보 비트의 수 K는
Figure 112011082369835-pat00001
개 이고, 한 블록에 대하여 누적 생성되는 패리티 비트들의 수는
Figure 112011082369835-pat00002
개이다. 이러한 경우, 다상 누산 코드의 부호율은
Figure 112011082369835-pat00003
이 된다. 부호기는 입력된 정보 비트들과 누적하여 생성된 패리티 비트들을 함께 전송함으로써 정보 비트들의 전송 오류를 정정할 수 있도록 한다. 이와 같은 다상-누산 코드를 이용하면 효율적으로 부호화를 할 수 있다는 장점이 있다. 즉, 개시된 기술에 따르면 종래의 부호화 방법에 비하여 부호화 속도를 향상시킬 수 있으며 오류 정정 성능이 향상된다는 장점이 있다. 한 번에 결정되는 패리티 비트들의 수(NP)는 2 이상의 정수로서, 오류정정 성능, 부호화 속도, 연산 속도, 필요로 하는 저장 공간 등을 고려하여 적절한 수로 결정될 수 있다. 이하, NP의 수가 2이고, 상태수 Ns가 4인 4상-누산 코드의 경우를 중심으로 설명하나, 이에 한정되는 것은 아니며 NP는 3, 4 등의 정수가 될 수 있으며, Ns는 8, 16등의 정수가 될 수 있다.
도 1을 참조하여 부호기가 한 그룹의 정보 비트들을 부호화 하는 과정을 구체적으로 설명한다. 부호기는 한 블록의 정보 비트들에 대한 부호화 과정이 시작될 때 마다, 즉, t=(1,1)일 때 마다 부호화 상태를 초기화 한다(S110). 부호기는 한 블록에 대하여 첫 번째 그룹의 첫 비트가 입력될 때에만 부호화 상태를 초기화한다. 부호기는 두 번째 그룹의 첫 비트가 입력될 때부터는 부호화 상태를 초기화 하지 않고 이전 그룹의 마지막 비트의 입력에 따른 부호화 상태를 그대로 유지한다. 일례로, 부호기는 부호화 상태를 상태 0(Zero State)로 초기화 할 수 있다.
부화기는 각 그룹에 대하여 입력되는 정보 비트들에 따라 부호화 상태를 변경한다(S120). 일 실시예에 따라, S122 단계에서, 부호기는 해당 그룹에 포함된 정보 비트들 중 이전에 입력되지 않은 어느 하나의 비트를 입력 받는다. 도 1에서 확인할 수 있듯이 i번째 그룹의 경우, S122 단계는 S124 단계와 함께 Ki만큼 반복되는데, 매 반복마다 i번째 그룹의 정보 비트들이 순차적으로 입력될 수 있다. S122 단계에서 입력 받은 비트에 따라, 부호기의 부호화 상태가 현재 상태에서 다음 상태로 변경된다(S124). 부호화 상태가 가질 수 있는 상태 수는 Ns 이다. 현재 상태는 이전에 입력된 비트들을 기초로 Ns 개의 상태들 중 어느 하나의 상태로 결정된다. 현재 상태는, 첫 번째 그룹의 첫 번째 반복에서는 예컨대 상태 0으로 초기화 되며, 그 이후의 반복에서는 이전 반복에서 변경된 상태가 현재 상태가 된다. 다음 상태는, 현재 상태와 현재 입력되는 비트에 따라 결정된다. 다음 상태는 현재 상태에 상응하는 두 개의 상태들 중 현재 입력되는 비트에 따라 결정되는 어느 하나의 상태가 된다. 일 실시 예에 따라, Ns가 4인 경우 입력 비트들에 따라 부호화 상태가 변경되는 과정이 도 2에 예시되어 있다. 도 2의 실시 예에서는 현재 상태가 상태 0일 때(S=0), 다음 상태는 상태 0 또는 상태 2(S=0 or S=2)가 될 수 있는데, 입력 비트가 0인 경우 다음 상태는 상태 0, 입력 비트가 1인 경우 다음 상태는 상태 2가 된다. 즉, 현재 상태에 따라, 다음 상태가 될 수 있는 두 개의 상태가 있고, 부호기는 현재 상태에 상응하는 두 개의 상태들 중 입력 받는 비트에 따라 결정되는 하나의 상태로 천이한다.
Ki번의 반복 중 k번째 반복에서의 현재 상태(Sk)와 다음 상태(k+1 번째 반복에서의 상태, Sk +1)가 수학식 1과 같이 표현될 때, 현재 상태와 다음 상태 간에는 실시 예에 따라, 수학식 2 또는 수학식 3과 같은 관계가 성립될 수 있다.
Figure 112011082369835-pat00004
Sk의 값이 N개의 비트로 표현될 때, dN -1,k는 N개의 비트 중 최상위 비트를, d0,k는 N개의 비트 중 최하위 비트를 나타낸다. 마찬가지로, Sk +1의 값이 N개의 비트로 표현될 때, dN -1,k+ 1는 N개의 비트 중 최상위 비트를, d0 ,k+ 1는 N개의 비트 중 최하위 비트를 나타낸다.
Figure 112011082369835-pat00005
ik는 k번째 반복에서 입력 받은 정보 비트,
Figure 112011082369835-pat00006
는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, dk 는 d0 ,k 내지 dN -1,k중 선택되는 적어도 하나의 비트를 XOR 연산한 결과 값을 나타낸다. 일례로, dk 는 d0 ,k 내지 dN -1,k 비트들을 모두 XOR 연산한 결과일 수 있으며, 다른 일례로, dk 는 d0 ,k 내지 dN -1,k 비트들 중 d0 ,k, d2 ,k 등 홀수 번째 비트들을 XOR 연산한 결과일 수 있다.
Figure 112011082369835-pat00007
이때, a1 내지 aN -1은 0 또는 1의 값을 가지고, d0 ,k의 계수는 항상 1이다. a1 내지 aN -1 값은 구현 예에 따라, 모두 1의 값을 가질 수도 있으며, 일부(예컨대, 홀수 번째 값)는 0 나머지 (예컨대, 짝수 번째)는 1의 값을 가지도록 할 수도 있다.
보다 구체적으로, 상태 수(Ns)가 4, 패리티 비트의 수(NP)가 2인 경우 중에서 도 2의 실시 예와 같이 상태가 천이되는 경우를 예를 들어 설명한다. k번째 반복에서의 현재 상태가 두 개의 비트 [d1 , kd0 ,k]로 표현되고, 그 다음 상태가 [d1 ,k+1d0 ,k+1]로 표현될 때, 각 상태를 나타내는 비트들 간의 관계는 수학식 4와 같이 나타낼 수 있다.
Figure 112011082369835-pat00008
이때, 현재 상태 값이 0[00]이라면, 다음 상태 값은 입력 비트가 0인 경우 0[00], 입력 비트가 1인 경우 2[10]가 된다. 현재 상태 값이 1[01]이라면, 다음 상태 값은 입력 비트가 0인 경우 2[10], 입력 비트가 1인 경우 0[00]이 된다. 현재 상태 값이 2[10]이라면, 다음 상태 값은 입력 비트가 0인 경우 3[11], 입력 비트가 1인 경우 1[01]이 된다. 마지막으로, 현재 상태 값이 3[11]이라면, 다음 상태 값은 입력 비트가 0인 경우 1[01], 입력 비트가 1인 경우 3[11]이 된다.
상태 수(Ns)가 4, 패리티 비트의 수(NP)가 2인 경우 중에서, 다른 일 실시예에 따른 상태 천이 규칙은 수학식 5와 같이 나타낼 수 있다.
Figure 112011082369835-pat00009
S122 단계 및 S124 단계는 i번째 그룹인 경우 미리 설정된 횟수인 Ki회 만큼 반복한다. Ki개의 정보 비트들이 입력되면, 부호기는 Ki번째 입력된 비트에 의해 Ki번째 변경된 부호화 상태 St(이때, t=(i,Ki+1))에 기반하여 i번째 패리티 비트들을 결정한다(S130). 일 실시예에 따라, 부호기는 Ki번째 변경된 부호화 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 i번째 패리티 비트들로 결정한다. 예컨대, Ki번째 변경된 부호화 상태가 초기화 상태(예를 들어, 초기화 상태는 상태 0, S=0)로 수렴하도록 하는 입력 비트들의 값이 i번째 패리티 비트들이 된다. 보다 구체적으로, NS가 4이고, NP가 2이며, 수학식 4와 같이 상태가 천이하는 도 2의 경우, i번째 패리티 비트들은 다음과 같이 결정된다. Ki번째 변경된 부호화 상태의 값이 상태 0인 경우 [00], Ki번째 변경된 부호화 상태의 값이 상태 1인 경우 [10], Ki번째 변경된 부호화 상태의 값이 상태 2인 경우 [11], Ki번째 변경된 부호화 상태의 값이 상태 3인 경우 [01]이 된다. 도 2를 참조하면, 결정된 i번째 패리티 비트들이 Ki번째 반복 이후에 입력 비트로 들어간다고 가정했을 때, Ki번째 변경된 부호화 상태가 결국 미리 설정된 상태인 상태 0으로 수렴하여 상태 천이가 종료하는 것을 확인할 수 있다(220). 도 2 및 위에서 설명한 예에서는 상태 0으로 수렴하는 경우를 설명하였으나, 수렴되는 상태는 이에 한정되는 것은 아니며 다른 상태로 수렴하는 것으로 결정하여도 무관하다. 한편, 상태 수가 NS인 경우, 패리티 비트들의 비트 수 NP는 log2Ns이 된다.
부호기는 새로이 입력되는 정보 비트들을 이용하여 S120 및 S130을 복수 회 반복한다. 예컨대, 부호기는 i값을 하나씩 증가시키면서 다음 그룹에 대하여 S120 단계 및 S130 단계를 G회 반복한다(S140). S120 단계 및 S130 단계가 반복될 때에는 부호화 상태의 초기화를 수행하지 않으므로, i+1번째 반복에서의 초기 상태는 i번째 반복에서의 마지막 상태(Ki번째 변경된 부호화 상태)와 동일하다. S120 단계 및 S130 단계를 G회 반복되면, Np개의 패리티 비트 그룹이 G개 생성된다. 한 블록의 정보 비트들을 부호화 하기 위하여 부호기에 입력되는 전체 비트 수는 부호화할 정보 비트들의 수(Kd)와 같을 수도 있으며, 부호화할 정보 비트들의 수에 임의의 정수를 곱한 수(n×Kd)와 같을 수도 있다. 예컨대, Kd개의 부호화할 정보 비트들이 임의의 수 n만큼 반복된 비트들이 G개의 그룹으로 나뉘어 부호기에 입력될 수도 있다.
패리티 비트들이 결정되면, 부호기는 S120 단계에서 입력된 정보 비트들 및 S130 단계에서 결정된 패리티 비트들을 기반으로 부호어를 생성한다(S150). 부호기는 S120 단계에서 반복하여 입력되는 정보 비트들 중 적어도 일부 비트들과 S130 단계에서 결정되는 패리티 비트들을 결합하여 부호어를 생성할 수 있다. 일례로, 부호기는 S120 단계 및 S130 단계가 반복됨에 따라, S120 단계에서 새로이 입력되는 정보 비트들의 그룹 뒤에 S130 단계에서 새로이 결정되는 패리티 비트들의 그룹을 결합하는 과정을 반복하여 부호어를 생성할 수 있다.
도 2는 개시된 기술의 일 실시예에 따라, 부호화 상태가 변경되는 과정 및 패리티 비트들이 결정되는 과정을 설명하기 위한 도면이다. 도 2는 앞에서 언급한 바와 같이 NS가 4이고, NP가 2이며, 수학식 4와 같이 상태가 천이되는 경우의 트렐리스(trellis) 다이어그램이다. 도 2에는 정보 비트가 입력됨에 따라 상태가 천이하는 반복적인 과정이 시간 흐름에 따라 펼쳐져 있다. 트렐리스 다이어그램은 가지들(branches) 및 상태들(states)을 포함한다. 가지들은 부호화 신호, 또는 부호화 신호에 따른 상태 천이를 나타낸다. 상태들은 부호화 신호에 대응하여 시간에 따라 천이하는 부호화 상태를 나타낸다. 도 2에서, 정보 비트의 입력에 따른 부호화 상태는 원형으로 표시되고, 각 상태 간을 연결하는 화살표 중 실선 화살표는 비트 0이 입력된 경우를, 점선 화살표는 비트 1이 입력된 경우를 나타낸다. 한 블록에 대한 부호화가 시작될 때마다 부호화 상태는 상태 0으로 초기화된다. 이후, 정보 비트가 입력되면, 현재 상태 및 입력되는 비트의 값에 따라 다음 상태로 천이 된다. t=(1,1)에서, 현재 상태 값은 초기화 값인 상태 0이다. 이후, 0이 입력되는 경우 상태 0으로, 1이 입력되는 경우 상태 2로 천이한다. 1이 입력되었다고 가정하는 경우, t=(1,2)에서의 현재 상태 값은 상태 2가 된다. 이후, 마찬가지로 0이 입력되는 경우 상태 3으로, 1이 입력되는 경우 상태 1로 천이 된다. 만약 0이 입력되었다고 가정하면, t=(1,3)에서의 현재 상태 값은 상태 3이 된다. 이와 같이 정보 비트들이 입력됨에 따라 상태 천이가 반복된다. 한 그룹에 대하여 미리 설정된 횟수, 예컨대 첫 번째 그룹의 경우 K1번 만큼 정보 비트들이 입력되면 K1번째 반복에서 변경된 부호화 상태 St(이때, t=(1,K1+1))에 따라 NP 비트의 패리티 비트들을 결정한다. 예를 들어, t=(1,K1+1)에서의 상태 값이 2인 경우, 패리티 비트들은 [11]이 된다. 패리티 비트들은 K1 번째 반복에서 변경된 부호화 상태 St(이때, t=(1,K1+1))의 상태 값을 특정 상태, 예컨대, 상태 0으로 수렴하게 만드는 입력 비트들의 값으로 결정된다. 도 2를 참조하면, K1 번째 반복에서 변경된 부호화 상태가 상태 2인 경우, 비트 1이 입력되면 상태 1이 되고, 상태 1에서 다시 비트 1이 입력되면 상태 0(zero state)이 되는 것을 확인할 수 있다. 첫 번째 그룹에 대한 패리티 비트들이 결정되면, 두 번째 그룹의 정보 비트들을 순차적으로 입력 받으면서 전술한 과정을 반복한다. 이때, 첫 번째 그룹의 마지막 정보 비트의 입력에 의해 변경된 부호화 상태가 두 번째 그룹의 초기 부호화 상태가 된다. 두 번째 패리티 비트들이 결정되면, 마찬가지로 이후의 모든 그룹들에 대하여 전술한 과정이 반복된다. 이와 같이, 각 그룹의 정보 비트들이 하나씩 입력됨에 따라 변경되는 부호화 상태를 기반으로 패리티 비트 값이 결정되므로, 수신 측에서는 반대로 패리티 비트들을 이용하여 전송된 데이터의 오류가 있는지 여부를 판단할 수 있다.
도 3은 개시된 기술의 일 실시예에 따라 부호기의 레지스터 값이 변경되는 과정을 설명하기 위한 도면이다. 부호기의 레지스터에 저장된 값이 부호화 상태를 나타낸다. 레지스터(310)는 부호화 상태를 나타내는 비트들을 저장한다. 연산부(320)는 부호기에 어느 하나의 비트가 입력되면, 부호기로 입력되는 비트(information bit, i) 및 부호화 상태를 나타내는 비트들(즉, 레지스터에 값이 저장된 비트들, do, d1,... 중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행한다. 일례로, 레지스터(310)에 저장된 모든 비트들과 입력 비트 간 XOR 연산할 수도 있으며, 다른 일례로 D0 레지스터에 저장된 비트와 입력 비트 간 XOR 연산할 수도 있다. 즉, 레지스터(310)의 각 저장공간 D0 내지 DN -1은 선택적으로 연산부(320)와 연결되어 저장된 비트 값을 연산부(320)에 제공한다. 일 실시 예에 따라, 레지스터(310)는 순환 시프트 레지스터(Recursive Shift Register)로서, 부호기에 정보 비트가 입력될 때마다 저장된 비트들이 한 비트씩 하위 비트 자리로 이동하고, 연산부(320)에서 수행되는 연산 결과가 최상위 비트 자리로 입력됨으로써 부호화 상태를 나타내는 비트들을 갱신할 수 있다. 레지스터(310) 및 연산부(320)의 동작은 수학식 2 또는 수학식 3과 같이 표현될 수 있다.
도 4는 개시된 기술의 일 실시예에 따라, 부호화 상태 수가 4인 경우 상태 결정부를 설명하기 위한 도면이다. 부호화 상태 수 NS가 4 인 경우 패리티 비트 수 NP 및 부호화 상태를 나타내는 비트 수는 2이므로 레지스터는 두 개의 저장 공간 D1, D0를 가진다. 연산부는 입력 비트(i) 및 부호화 상태를 나타내는 비트들, 즉, 레지스터 D1, D0에 값이 저장된 비트들(d1, d0)중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행한다. 일례로 도 4의 (a)는 입력 비트 i, 레지스터에 저장된 비트 값들인 d1, d0 세 비트의 XOR 연산을 수행한다. 이를 수학식으로 나타내면 수학식 4와 같다. 다른 일례로 도 4의 (b)는 입력 비트 i와 레지스터에 저장된 비트 값인 d0 간의 XOR 연산을 수행한다. 이를 수학식으로 나타내면 수학식 5와 같다.
도 5는 개시된 기술의 일 실시예에 따라, 다상-누산 코드를 이용하여 복호화 하는 방법을 설명하기 위한 순서도이다. IRA 코드에서 Accumulate 코드의 패리티 체크를 위해 tanh 규칙을 사용하였던 것과 달리, 개시된 기술에 따른 다상-누산 코드는, BCJR 알고리즘을 사용하여 복호화할 수 있다. 개시된 기술에서는 다상-누산 코드의 복호화 방법으로 2차원 BCJR 알고리즘을 새로이 제안한다. 이하, 이해를 돕기 위하여 복호기가 도 2의 트렐리스 다이어그램에 따른 다상-누산 코드를 이용하여 부호화된 신호를 수신한 경우 복호화하는 과정을 예를 들어 설명한다.
S510 단계에서, 복호기는 복수의 정보 비트 그룹들에 포함된 정보 비트들과 정보 비트 그룹들 각각에 상응하는 패리티 비트 그룹들에 포함된 패리티 비트들이 결합된 부호화 신호를 수신한다. 수신된 신호는 수학식 6과 같이 표시될 수 있다.
Figure 112011082369835-pat00010
편의상 수신된 신호를 G개의 그룹으로 나누고, i번째 그룹에 포함된 비트들의 수를 m(i)라 한다. 일 실시예에 따라 각 그룹에는 Ki개의 정보 비트들과 NP개의 패리티 비트들이 차례로 포함될 수 있다. 이때, Ki와 NP의 합은 m(i)와 같다. 또한, 설명의 편의를 위하여 부호화 신호 중 i번째 그룹의 l번째 비트가 입력된 시간 t를 2차원적 시간 인덱스인 t=(i,l)로 표시한다. 각 i에 대하여 t=(i,1),...,t=(i,Ki)는 정보 비트가 입력된 시간이며, t=(i,Ki+1),...,t=(i,m(i))은 패리티 비트가 입력된 시간이다.
부호화된 신호는, 도 2의 트렐리스 다이어그램와 같은 상태 천이 및 패리티 비트 생성 규칙에 따라 생성된 패리티 비트들이 정보 비트들과 결합되어 생성된 신호이다. 이때, 부호기는 일례로 도 4의 (a)와 같은 RSR(Recursive Shift Register)를 이용하여 구현되었을 수 있다. 도 2의 천이 규칙, 또는 도 4와 같은 구조는 송신 측과 수신 측이 공통적으로 알고 있는 정보이므로, 수신 측에서도 도 2와 같은 트렐리스를 동일하게 구성할 수 있다.
복호기는 도 2의 트렐리스를 기반으로 수신 신호에 2차원 BCJR 알고리즘을 적용하여 수신 신호를 복호화한다. 도 2의 트렐리스는 일반적인 트렐리스와 달리, 정보 비트들이 입력됨에 따른 부호화 상태 천이를 나타내는 메인 가지들(210)과 패리티 비트들이 입력됨에 따른 부호화 상태 천이를 나타내는 보조 가지들(220)을 포함한다. 보조 가지들(220)은 시간 t=(i,Ki+1)인 때마다 메인 가지들(210)로부터 분기된다. 즉, 도 2에서, i번째 보조 가지가 메인 가지와 분기되는 분기 상태의 시점은 t=(i,Ki+1)로 나타낼 수 있으며, i번째 보조 가지의 최종 상태의 시점은 t=(i,m(i)+1)로 나타낼 수 있다. 경우에 따라, Ki는 m(i)-NP로 표현될 수도 있다.
BCJR 알고리즘에 따르면 수신 비트열을 기반으로 사후 확률을 계산하여 전송 비트의 연판정(soft decision)값을 얻을 수 있다. 시간 t에서의 사후 확률은 시간 t에서의 사후 천이 확률들의 합으로 계산될 수 있다. 시간 t에서의 사후 확률은 수학식 7과 같다.
Figure 112011082369835-pat00011
여기서, 사후 확률 P(dt=d)는 시간 t에서의 전송 비트 값이 d(d는 0또는 1)일 확률이다. σ(st,d)는 시간 t에서의 사후 천이 확률로, σ(st=j,d)는 시간 t에서의 상태(st)가 상태 j이고, 시간 t에서의 전송 비트(dt)가 d일 확률을 의미한다. st는 상태 수 Ns 만큼 주어진 부호화 상태들 중 어느 하나의 값을 가진다. 본 실시 예에서 st는 상태 0, 상태 1, 상태 2, 상태 3 중 어느 하나의 값을 가진다.
개시된 기술에서 제안하는 2차원 BCJR 복호 알고리즘에 따르면, 메인 가지에서의 사후 천이 확률과 보조 가지에서의 사후 천이 확률은 서로 다른 값을 기초로 산출된다. 시간 t일 때, 메인 가지에서의 사후 천이 확률은 수학식 8과 같이 산출되고, 보조 가지에서의 사후 천이 확률은 수학식 12와 같이 산출될 수 있다.
Figure 112011082369835-pat00012
여기서, α(st)는 시간 t에서의 부호화 상태인 st의 포워드 상태 메트릭으로, 수학식 9와 같이 정의된다.
Figure 112011082369835-pat00013
α(st=j)는 시간 t 이전의 수신 신호가 주어졌을 때, 시간 t에서 부호화 상태가 상태 j에 머물러 있을 확률을 나타낸다. 포워드 상태 메트릭은 정보 비트들을 나타내는 가지, 즉 메인 가지와 연결된 상태에서만 정의된다.
β(st +1)는 시간 t+1에서의 부호화 상태인 st +1의 백워드 상태 메트릭으로, 수학식 10과 같이 정의된다.
Figure 112011082369835-pat00014
β(st +1=j)은 시간 t+1 이후의 수신 신호가 주어졌을 때, 시간 t+1에서 부호화 상태가 상태 j에 머물러 있을 확률을 나타낸다. 백워드 상태 메트릭 또한 마찬가지로 정보 비트들을 나타내는 가지와 연결된 상태에서만 정의된다. γ(st, st +1)는 관점에 따라, γ(st,d)라고 표현할 수도 있는데, 시간 t에서의 가지 메트릭으로 수학식 11과 같이 정의된다.
Figure 112011082369835-pat00015
가지 메트릭은 수신 신호가 주어졌을 때, 정보 비트가 각 가지와 같을 확률을 나타낸다. 예컨대, γ(st=i, st +1=j)는 시간 t에서 상태 i이고 시간 t+1에서 상태 j일 확률을 나타낸다. γ(st=i,d)는 시간 t에서 상태 i이고 시간 t에서 입력되는 전송 비트가 d일 확률이다. 이때, 전송 비트 d는 st=i로부터 st=j로 천이되도록 하는 비트 값으로서, st=i일때, 입력 비트가 d이면, st +1=j가 되는 관계가 있다. 즉, γ(st, st +1) 또는 γ(st,d)는 동일한 가지 메트릭을 나타낸다. 수학식 8과 같이 정보 비트들을 나타내는 모든 가지에 대하여 사후 천이 확률을 구하면 각 가지에 해당하는 시간 t에서의 전송 비트 값(정보 비트 값)은 수학식 7에 따라 산출되는 사후 확률에 따라 결정된다.
수학식 12는 보조 가지에서의 사후 천이 확률을 산출하는 수식이다.
Figure 112011082369835-pat00016
패리티 비트를 나타내는 보조 가지에서의 사후 천이 확률이 산출되면, 각 가지에 해당하는 시간 t에서의 전송 비트 값(패리티 비트 값)은 수학식 7에 따라 산출되는 사후 확률에 따라 결정된다. 여기서, μ(st)와 λ(st +1)는 패리티 비트를 나타내는 가지와 연결된 상태에 관한 상태 메트릭으로 각각 시간 t에서의 아웃워드 상태 메트릭, 시간 t+1에서의 인워드 상태 메트릭이라 한다. 아웃워드 상태 메트릭은 수학식 13에, 인워드 상태 메트릭에 대한 정의는 수학식14에 표시된다.
Figure 112011082369835-pat00017
Figure 112011082369835-pat00018
아웃워드 상태 메트릭과 인워드 상태 메트릭은 패리티 비트들을 나타내는 가지, 즉 보조 가지와 연결된 상태에서만 정의된다. i번째 보조 가지에서 산출되는 아웃워드 상태 메트릭 μ(s(i,l)=j)는 전체 수신 열에서 t=(i,l)부터 t=(i,m(i))까지의 수신 열을 제외한 수신 신호가 주어졌을 때, t=(i,l)에서 상태 j에 머물러 있을 확률을 나타낸다. 아웃워드 상태 메트릭은 이전 상태의 아웃워드 상태 메트릭을 기초로 순차적으로 산출된다. 인워드 상태 메트릭 λ(s(i,l)=j)은 t=(i,l)부터 t=(i,m(i))까지의 수신 신호가 주어졌을 때, t=(i,l)에서 상태 j에 머물러 있을 확률을 나타낸다. 인워드 상태 메트릭은 다음 상태의 인워드 상태 메트릭을 기초로 역순으로 산출된다. 수학식 12에서의 γ(st, st +1) 또는 γ(st,d)는 패리티 비트를 나타내는 가지에서의 가지 메트릭이며, 수신 신호가 주어졌을 때, 패리티 비트가 각 가지와 같을 확률을 나타낸다.
트렐리스 다이어그램에 기반하여 복호화를 수행하는 순서를 도 6을 참조하여 설명한다. 도 6은 도 2의 트렐리스를 단순화하여 표현한 도면이다. 도 2의 다이어그램은 각 시간 t까지 입력될 수 있는 정보 비트들의 모든 경우와, 시간 t까지 입력된 정보 비트들에 따라 시간 t에서 부호화 상태가 가질 수 있는 모든 상태를 표시하였다. 도 6의 다이어그램은 각 시간 t까지 입력되는 정보 비트와 시간 t에서의 부호화 상태를 각각 하나의 화살표와 하나의 원으로 간단히 표시하였다. 도 6의 화살표는 0 또는 1의 값을 가지며, 각각의 원은 상태 0에서 상태 3까지의 값을 가질 수 있다. 도 6에 표시된 바와 같이, 개시된 기술에 따른 2차원 BCJR 알고리즘에서는 인워드 반복연산(inward recursion), 포워드 반복연산(forward recursion), 백워드 반복연산(backward recursion), 아웃워드 반복연산(outward recursion) 순으로 복호화를 진행한다. 이때, 실시예에 따라, 포워드 반복연산과 백워드 반복연산의 순서는 바뀔 수 있다. 인워드 반복연산은 각 보조 가지의 최종 상태에서부터 인워드 상태 메트릭 값을 역순으로 산출하는 과정이다. 포워드 반복연산은 메인 가지의 첫 번째 상태에서부터 포워드 상태 메트릭 값을 순차적으로 산출하되, 분기 상태에서는 인워드 상태 메트릭의 값을 반영하여 포워드 상태 메트릭을 산출하는 과정이다. 백워드 반복연산은 포워드 반복연산과 반대의 순서로 백워드 상태 메트릭 값을 산출하되, 포워드 반복연산과 마찬가지로, 분기 상태에서는 인워드 상태 메트릭의 값을 반영하여 백워드 상태 메트릭을 산출하는 과정이다. 아웃워드 반복연산은 메인 가지와 보조 가지가 분기되는 시점의 분기 상태에서부터 인워드 반복 연산과 반대의 순서로 아웃워드 상태 메트릭 값을 순차적으로 산출하는 과정이다. 이와 같은 순서에 따라 각 상태 메트릭을 산출하는 방법을 구체적으로 설명한다.
각 상태 메트릭을 산출하기에 앞서, 복호기는 도 2 또는 도 6의 트렐리스 다이어그램에 기반하여, 수신된 신호로부터 각 가지들에 상응하는 가지 메트릭들을 산출한다. 가지 메트릭 γ(st=i,d)은 사전 확률과 전송 비트가 d일 때 수신 신호의 확률밀도함수를 이용하여 산출된다. 예컨대, 도 2에서 가지 메트릭 γ(st=i,d)는, dt=0일 확률과 dt=1일 확률이 모두 0.5이고, st가 각 부호화 상태에 있을 확률이 모두 동일하다고 가정하면, 주어진 확률밀도함수에서의 수신신호에 상응하는 값으로 산출될 수 있다.
가지 메트릭이 산출되면, 복호기는 전술한 바와 같은 순서로 각 상태 메트릭을 산출한다. 우선 인워드 상태 메트릭을 산출하는 방법은 다음과 같다. 인워드 상태 메트릭은 패리티 비트들을 나타내는 각 보조 가지 별로 산출된다. 인워드 상태 메트릭은 각 보조 가지의 최종 수렴 상태 바로 이전의 상태 s(i.l)(이때, l=m(i))에서부터 메인 가지와 보조 가지가 분기되는 시점에서의 분기 상태 s(i,l)(이때, l=Ki+1 또는 l=m(i)-NP+1)까지 수학식 15와 같이 역순으로 산출된다.
Figure 112011082369835-pat00019
각 보조 가지는 특정 상태, 예를 들어 상태 0으로 수렴한다고 가정하면, s(i,m(i)+1)는 상태 0 값을 가진다. 따라서, λ(s(i,m(i)+1))는 s(i,m(i)+1)가 상태 0일 때, 1값을, s(i,m(i)+1)가 나머지 상태에서는 0값을 가진다.
모든 보조 가지들에 대하여 인워드 상태 메트릭을 산출한 뒤, 복호기는 정보 비트들에 상응하는 가지 메트릭들 및 인워드 상태 메트릭들을 기초로 포워드 상태 메트릭들 및 백워드 상태 메트릭들을 산출한다.
포워드 상태 메트릭은 포워드 반복 연산에 의하여 t=(i,1)에서부터 t=(i,Ki+1)까지 각 상태에 대하여 순차적으로 계산된다. 또한, i값이 1인 때부터 i값이 G일 때 까지 i가 하나씩 증가하며 상기 계산이 반복된다. 각 정보 비트 그룹의 첫 번째 비트에 상응하는 상태인 s(i,1)의 포워드 상태 메트릭은 수학식 16과 같은 조건을 이용하여 산출할 수 있다.
Figure 112011082369835-pat00020
이때, Sinit은 부호화 상태의 초기 값이다. Sinit이 상태 0이라 가정하면, α(s(1,1))는 s(1,1)가 상태 0일 때 1값을, s(1,1)가 나머지 상태일 때에는 0값을 가진다. 또한, t=(i,1)에서의 상태는 t=(i-1,Ki -1+1)에서의 상태와 동일하므로,
Figure 112011082369835-pat00021
이다.
각 정보 비트 그룹에서 분기 상태를 제외한, 이후의 포워드 상태 메트릭은 수학식 17과 같이 산출된다. 즉, α(st=j)는 임의의 상태 값을 가지는 st -1로부터 상태 값이 j인 st로 향하는 모든 가지에 대하여, 각 가지에 해당하는 가지 메트릭과 해당하는 st -1의 포워드 상태 메트릭의 곱들의 합으로 산출된다. 이때, t는 매 i에 대하여 (i,2),...,(i,Ki) 값을 가질 수 있다.
Figure 112011082369835-pat00022
마지막으로, 각 정보 비트 그룹에서 분기 상태의 포워드 상태 메트릭은 수학식 18과 같이 인워드 상태 메트릭의 값이 반영되어 산출된다. 즉, 분기 상태는 보조 가지와 메인 가지가 교차하는 지점이므로, 분기 상태에서 포워드 상태 메트릭은 보조 가지로부터 산출되어온 인워드 상태 메트릭 값과 메인 가지로부터 산출되어온 포워드 상태 메트릭 값을 곱한 값으로 산출된다.
Figure 112011082369835-pat00023
이때, 분기 시점인 t는 t=(i,Ki+1), 또는, Ki=m(i)-NP 이므로 t=(i,m(i)-NP+1)이다. 마찬가지로, t-1=(i,Ki) 또는 (i,m(i)-NP)이다.
백워드 상태 메트릭은 백워드 반복 연산에 의하여 t=(i,Ki+1)에서부터 t=(i, 1)까지 각 상태에 대하여 역순으로 계산된다. 또한, i값이 G인 때부터 i값이 1일 때 까지 i가 하나씩 감소하며 상기 계산이 반복된다. 각 정보 비트 그룹의 마지막 비트에 따라 변경된 상태인 t=(i,Ki+1)에서의 상태에 대한 포워드 상태 메트릭은 수학식 16과 같은 조건을 이용하여 산출할 수 있다.
Figure 112011082369835-pat00024
따라서, t=(i,Ki+1)에서의 상태는 t=(i+1,1)에서의 상태와 동일하므로,
Figure 112011082369835-pat00025
이다.
각 정보 비트 그룹에서 분기 상태를 제외한, 나머지 백워드 상태 메트릭은 수학식 20과 같이 산출된다. 즉, β(st=j)는 임의의 상태 값을 가지는 st +1로부터 상태 값이 j인 st로 향하는 모든 역방향 가지에 대하여, 각 가지에 해당하는 가지 메트릭과 해당하는 st +1의 백워드 상태 메트릭의 곱들의 합으로 산출된다. 이때, t는 매 i에 대하여 (i,Ki),...,(i,2) 값을 가질 수 있다.
Figure 112011082369835-pat00026
마지막으로, 각 정보 비트 그룹에서 분기 상태의 포워드 상태 메트릭은 수학식 21과 같이 인워드 상태 메트릭의 값이 반영되어 산출된다. 즉, 분기 상태는 보조 가지와 메인 가지가 교차하는 지점이므로, 분기 상태에서 백워드 상태 메트릭은 보조 가지로부터 산출되어온 인워드 상태 메트릭 값과 메인 가지로부터 산출되어온 백워드 상태 메트릭 값을 곱한 값으로 산출된다.
Figure 112011082369835-pat00027
아웃워드 상태 메트릭은 패리티 비트들에 상응하는 가지 메트릭들을 기초로 산출된다. 아웃워드 상태 메트릭은 인워드 상태 메트릭과 마찬가지로 패리티 비트들을 나타내는 각 보조 가지 별로 산출하되, 인워드 상태 메트릭과 반대 방향으로 수행된다. 아웃워드 상태 메트릭은 메인 가지와 보조 가지가 분기되는 각각의 시점에서의 분기 상태 s(i,l)(이때, l=Ki+1 또는 l=m(i)-NP+1)에서부터 각 보조 가지의 최종 상태 바로 이전의 상태 s(i.l)(이때, l=m(i))까지 순차적으로 산출된다.
각 분기 상태에서의 아웃워드 상태 메트릭은 각 분기 상태에서의 포워드 상태 메트릭과 백워드 상태 메트릭의 곱과 같다. 이를 수식으로 표현하면 수학식 22와 같다.
Figure 112011082369835-pat00028
분기 상태 다음 상태부터의 아웃워드 상태 메트릭은 수학식 23과 같이 순차적으로 산출된다.
Figure 112011082369835-pat00029
가지 메트릭 및 상태 메트릭들이 산출되면 정보 비트들 또는 패리티 비트들에 해당하는 전송 비트의 값을 결정할 수 있다. 일 실시 예에 따라, 정보 비트들은 수학식 7과 수학식 8에 따라 가지 메트릭, 포워드 상태 메트릭 및 백워드 상태 메트릭의 곱을 기초로 결정될 수 있다. 다른 일 실시 예에 따라, 패리티 비트들은 수학식 7과 수학식 12에 따라 가지 메트릭과 아웃워드 상태 메트릭, 인워드 상태 메트릭의 곱을 기초로 결정될 수 있다.
이러한 개시된 기술인 시스템 및 장치는 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.

Claims (24)

  1. (a) 부호화 상태를 초기화 하는 단계;
    (b) 입력되는 정보 비트들에 따라 상기 부호화 상태를 변경하는 단계;
    (c) 상기 부호화 상태에 기반하여 패리티 비트들을 결정하는 단계;
    (d) 새로이 입력되는 정보 비트들을 이용하여 상기 (b) 단계 및 상기 (c) 단계를 수행함을 적어도 1회 반복하는 단계; 및
    (e) 상기 (b) 단계 내지 상기 (d) 단계에서 입력된 정보 비트들 및 결정된 패리티 비트들을 기반으로 부호어를 생성하는 단계를 포함하되,
    상기 (b) 단계는,
    (b1) 이전에 입력되지 않은 어느 하나의 비트를 입력 받는 단계;
    (b2) 상기 입력 받는 비트에 따라 상기 부호화 상태가 현재 상태에서 다음 상태로 변경되는 단계;
    (b3) 상기 입력 받는 단계 및 상기 변경되는 단계를 적어도 1회 반복하는 단계를 포함하는 부호화 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 (e) 단계는,
    상기 (b) 단계에서 입력되는 정보 비트들 중 적어도 일부 비트들과 상기 (c) 단계에서 결정되는 패리티 비트들을 결합하는 부호화 방법.
  4. 제1항에 있어서, 상기 (e) 단계는,
    상기 (b) 단계 및 상기 (c) 단계가 반복됨에 따라, 상기 (b) 단계에서 새로이 입력되는 정보 비트들의 그룹 및 상기 (c) 단계에서 새로이 결정되는 패리티 비트들의 그룹을 번갈아 결합하는 과정을 반복하여 상기 부호어를 생성하는 부호화 방법.
  5. 제1항에 있어서, 상기 (c) 단계는,
    상기 부호화 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상기 패리티 비트들로 결정하는 부호화 방법.
  6. 제1항에 있어서, 상기 (c) 단계는,
    상기 부호화 상태가 초기 부호화 상태로 수렴하도록 하는 입력 비트들의 값을 상기 패리티 비트들로 결정하는 부호화 방법.
  7. 제1항에 있어서, 상기 (b2) 단계는,
    상기 부호화 상태가 상기 현재 상태에 상응하는 두 개의 상태들 중 상기 입력 받는 비트에 따라 결정되는 어느 하나의 상태로 변경되는 단계인 부호화 방법.
  8. 제1항에 있어서, 상기 (b) 단계가 한 번 수행되는 동안 k번째 수행되는 상기 (b2) 단계에서,
    상기 현재 상태가 N 개의 비트 [dN-1,k…d0,k]로 표현될 때, 상기 다음 상태는,
    dn,k+1=dn+1,k (여기서, n=0,...,N-2)
    Figure 112012104753625-pat00030
    (여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
    Figure 112012104753625-pat00031
    는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, dk 는 d0,k 내지 dN-1,k중 선택되는 적어도 하나의 비트를 XOR 연산한 결과 값을 나타냄)에 따라 결정된 N 개의 비트 [dN-1,k+1…d0,k+1]로 표현되는 부호화 방법.
  9. 제1항에 있어서, 상기 (b) 단계가 한 번 수행되는 동안 k번째 수행되는 상기 (b2) 단계에서,
    상기 복수 회 반복 중 k번째 반복에서의 상기 현재 상태가 N 개의 비트 [dN-1,k…d0,k]로 표현될 때,
    dn,k+1=dn+1,k (여기서, n=0,...,N-2)
    Figure 112012104753625-pat00032
    (여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
    Figure 112012104753625-pat00033
    는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, a1 내지 aN-1은 0 또는 1의 값을 가짐)에 따라 결정된 N 개의 비트 [dN-1,k+1…d0,k+1]로 표현되는 부호화 방법.
  10. 제1항에 있어서, 상기 (b2) 단계는,
    상기 어느 하나의 비트가 입력되면, 상기 입력 받는 비트 및 상기 현재 상태를 나타내는 비트들 중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행하는 단계; 및
    레지스터에 저장되는 상기 현재 상태를 나타내는 비트들을, 한 비트씩 하위 비트 자리로 이동시키고, 상기 XOR 연산의 결과를 최상위 비트 자리에 저장하여 상기 레지스터의 값을 상기 다음 상태를 나타내는 비트의 값으로 갱신하는 단계를 포함하는 부호화 방법.
  11. (a)정보 비트들과 패리티 비트들을 포함하는 비트 그룹이 복수 개 결합된 부호화 신호를 수신하는 단계;
    (b)상기 부호화 신호를 나타내는 가지들(branches) 및 상기 부호화 신호에 대응하여 시간에 따라 천이하는 부호화 상태를 나타내는 상태들(states)을 포함하는 트렐리스에 기반하여, 수신된 신호로부터 가지 메트릭(metric)을 산출하는 단계;
    (c)상기 부호화 신호 중 상기 패리티 비트들에 상응하는 가지 메트릭들을 기초로 인워드 상태 메트릭들을 산출하는 단계;
    (d)상기 부호화 신호 중 상기 정보 비트들에 상응하는 가지 메트릭들 및 상기 인워드 상태 메트릭들을 기초로 포워드 상태 메트릭들 및 백워드 상태 메트릭들을 산출하는 단계; 및
    (e)상기 가지 메트릭들, 포워드 상태 메트릭들 및 백워드 상태 메트릭들의 값을 기초로 상기 정보 비트들의 값을 결정하는 단계를 포함하는 복호화 방법.
  12. 제11항에 있어서, 상기 인워드 상태 메트릭은,
    상기 상태들 중 상기 패리티 비트들을 나타내는 가지와 연결된 상태에 대한 상태 메트릭이되, 상기 인워드 상태 메트릭은 다음 상태의 인워드 상태 메트릭을 기초로 역순으로 산출되는 상태 메트릭인 복호화 방법.
  13. 제11항에 있어서, 상기 인워드 상태 메트릭은,
    Figure 112011082369835-pat00034
    (여기서, λ(s(i,l))는 시간 (i,l)에서의 인워드 상태 메트릭, s(i,l)는 시간 (i,l)에서의 상태, m(i)는 i번째 비트 그룹에 포함된 비트들의 수,
    Figure 112011082369835-pat00035
    , 시간 (i,l)은 i번째 그룹의 l번째 비트가 입력된 시간, l은 Ki+1 이상 m(i) 이하의 정수, Ki는 i번째 비트 그룹에 포함된 정보 비트들의 수를 나타냄)인 복호화 방법.
  14. 제11항에 있어서,
    (f)상기 부호화 신호 중 상기 패리티 비트들에 상응하는 가지 메트릭들을 기초로 아웃워드 상태 메트릭들을 산출하는 단계; 및
    (g)상기 가지 메트릭들, 상기 인워드 상태 메트릭들 및 상기 아웃워드 상태 메트릭들의 값을 기초로 상기 패리티 비트들의 값을 결정하는 단계를 더 포함하는 복호화 방법.
  15. 제14항에 있어서, 상기 아웃워드 상태 메트릭은,
    상기 상태들 중 상기 패리티 비트들을 나타내는 가지와 연결된 상태에 대한 상태 메트릭이되, 상기 아웃워드 상태 메트릭은 이전 상태의 아웃워드 상태 메트릭을 기초로 순차적으로 산출되는 상태 메트릭인 복호화 방법.
  16. 제11항에 있어서, 상기 아웃워드 상태 메트릭은,
    Figure 112011082369835-pat00036
    (여기서, μ(s(i,l))는 시간 (i,l)에서의 인워드 상태 메트릭, s(i,l)는 시간 (i,l)에서의 상태,
    Figure 112011082369835-pat00037
    ,
    Figure 112011082369835-pat00038
    , m(i)는 i번째 비트 그룹에 포함된 비트들의 수, 시간 (i,l)은 i번째 그룹의 l번째 비트가 입력된 시간, l은 Ki+1 이상 m(i) 이하의 정수, Ki는 i번째 비트 그룹에 포함된 정보 비트들의 수를 나타냄)인 복호화 방법.
  17. 제11항에 있어서, 상기 (c) 단계는,
    Figure 112011082369835-pat00039
    (이때, λ(s)는 상태 s의 인워드 상태 메트릭, s(i,l)는 시간 (i,l)에서의 상태, s(i,l+1)는 s(i,l)의 다음 상태, γ(s(i,l), s(i,l+1))은 상태 s(i,l)와 s(i,l+1)를 연결하는 가지의 가지 메트릭, 시간 (i,l)은 i번째 그룹의 l번째 비트가 입력된 시간, l은 m(i)부터 m(i)-NP+1까지의 정수, m(i)는 i번째 비트 그룹에 포함된 비트들의 수, NP는 i번째 비트 그룹에 포함된 패리티 비트들의 수를 나타냄)에 따라 인워드 상태 매트릭들을 산출하는 단계를 포함하는 복호화 방법.
  18. 제11항에 있어서, 상기 (d) 단계는,
    Figure 112011082369835-pat00040
    (이때, α(s)는 상태 s의 포워드 상태 메트릭, s(i,1)는 t=(i,1)에서의 상태,
    Figure 112011082369835-pat00041
    는 t=(i-1,Ki -1+1)에서의 상태, Ki는 i번째 비트 그룹에 포함된 정보 비트들의 수, i는 1보다 큰 정수를 나타냄)에 따라 상태 s(i.1)의 포워드 상태 메트릭을 산출하는 단계를 포함하는 복호화 방법.
  19. 제11항에 있어서, 상기 (d) 단계는,
    Figure 112011082369835-pat00042
    (이때, α(st)는 상태 st의 포워드 상태 메트릭, λ(st)는 상태 st의 인워드 상태 메트릭, γ(st -1,st)는 st - 1와 st를 연결하는 가지의 가지 메트릭, t=(i,Ki+1), t-1=(i,Ki), Ki는 i번째 비트 그룹에 포함된 정보 비트들의 수를 나타냄)에 따라 정보 비트들을 나타내는 메인 가지들에서 패리티 비트들을 나타내는 보조 가지들이 분기되는 시점에서의 포워드 상태 메트릭을 산출하는 단계를 포함하는 복호화 방법.
  20. 제11항에 있어서, 상기 (d) 단계는,
    Figure 112011082369835-pat00043
    (이때, β(s)는 상태 s의 백워드 상태 메트릭,
    Figure 112011082369835-pat00044
    는 t=(i,Ki+1)에서의 상태, s(i+1,1)는 t=(i+1,1)에서의 상태, Ki는 i번째 비트 그룹에 포함된 정보 비트들의 수를 나타냄)에 따라 i번째 비트 그룹의 마지막 정보 비트에 의해 천이된 상태의 백워드 상태 매트릭을 산출하는 단계를 포함하는 복호화 방법.
  21. 제11항에 있어서, 상기 (d) 단계는,
    Figure 112011082369835-pat00045
    (이때, β(st)는 상태 st의 백워드 상태 메트릭, λ(st)는 상태 st의 인워드 상태 메트릭, γ(st,st +1)는 st와 st + 1를 연결하는 가지의 가지 메트릭, t=(i,1), t+1=(i,2)를 나타냄)에 따라 정보 비트들을 나타내는 메인 가지들에서 패리티 비트들을 나타내는 보조 가지들이 분기되는 시점에서의 백워드 상태 메트릭을 산출하는 단계를 포함하는 복호화 방법.
  22. 제14항에 있어서, 상기 (f) 단계는,
    l=Ki+1인 경우,
    Figure 112011082369835-pat00046

    l값이 Ki+2 이상 m(i) 이하의 정수인 경우,
    Figure 112011082369835-pat00047
    (이때, μ(s(i,l)), α(s(i,l)), β(s(i,l))는 각각 상태 s(i,l)의 아웃워드 상태 메트릭, 포워드 상태 메트릭, 백워드 상태 메트릭, s(i,l)은 시간 (i,l)에서의 상태, γ(s(i,l-1), s(i,l))은 상태 s(i,l-1)과 s(i,l)를 연결하는 가지의 가지 메트릭, Ki는 i번째 그룹의 정보 비트들의 수를 나타냄)에 따라 아웃워드 상태 매트릭들을 산출하는 단계를 포함하는 복호화 방법.
  23. 제11항에 있어서, 상기 (e) 단계는,
    Figure 112011082369835-pat00048
    (이때, σ(st ,st +1)는 상태 st에서 상태 st+1로의 사후 천이 확률, α(st)는 상태 st의 포워드 상태 메트릭, β(st +1)는 상태 st +1의 백워드 상태 메트릭, γ(st, st +1)은 상태 st과 st + 1를 연결하는 가지의 가지 메트릭을 의미함)에 따라 산출되는 사후 천이 확률을 기초로 시간 t에서의 정보 비트 값을 결정하는 단계를 포함하는 복호화 방법.
  24. 제14항에 있어서, 상기 (f) 단계는,
    Figure 112011082369835-pat00049
    (이때, σ(st ,st +1)는 상태 st에서 상태 st+1로의 사후 천이 확률, μ(st)는 상태 st의 아웃워드 상태 메트릭, λ(st +1)는 상태 st +1의 인워드 상태 메트릭, γ(st, st +1)은 상태 st과 st + 1를 연결하는 가지의 가지 메트릭을 의미함)에 따라 산출되는 사후 천이 확률을 기초로 시간 t에서의 패리티 비트 값을 결정하는 단계를 포함하는 복호화 방법.
KR1020110107780A 2011-10-21 2011-10-21 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 KR101268061B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110107780A KR101268061B1 (ko) 2011-10-21 2011-10-21 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110107780A KR101268061B1 (ko) 2011-10-21 2011-10-21 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20130043723A KR20130043723A (ko) 2013-05-02
KR101268061B1 true KR101268061B1 (ko) 2013-05-28

Family

ID=48656387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110107780A KR101268061B1 (ko) 2011-10-21 2011-10-21 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR101268061B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101689387B1 (ko) 2015-03-10 2016-12-23 주식회사 셀모티브 표면에 메탈폼층을 구비한 금속 기재 제조방법 및 이에 의해 제조된 금속 기재

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197691B2 (en) 2000-05-03 2007-03-27 University Of Southern California Reduced-latency soft-in/soft-out module
KR100794790B1 (ko) 2005-10-21 2008-01-21 삼성전자주식회사 듀얼 전송 스트림을 인코딩하는 트렐리스 인코딩 장치 및그 방법
US20080141095A1 (en) * 2004-10-26 2008-06-12 Agency For Science, Technology And Research. Method And System For Encoding And Decoding Information With Modulation Constraints And Error Control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197691B2 (en) 2000-05-03 2007-03-27 University Of Southern California Reduced-latency soft-in/soft-out module
US20080141095A1 (en) * 2004-10-26 2008-06-12 Agency For Science, Technology And Research. Method And System For Encoding And Decoding Information With Modulation Constraints And Error Control
US8078935B2 (en) 2004-10-26 2011-12-13 Agency For Science, Technology And Research Method and system for encoding and decoding information with modulation constraints and error control
KR100794790B1 (ko) 2005-10-21 2008-01-21 삼성전자주식회사 듀얼 전송 스트림을 인코딩하는 트렐리스 인코딩 장치 및그 방법

Also Published As

Publication number Publication date
KR20130043723A (ko) 2013-05-02

Similar Documents

Publication Publication Date Title
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
JP5203717B2 (ja) 符号器、復号器、符号化方法、及び、復号方法
US6751770B2 (en) Decoder for iterative decoding of binary cyclic codes
KR100594818B1 (ko) 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법
JP5354979B2 (ja) 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
KR101742451B1 (ko) 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US20040093549A1 (en) Encoding method using a low density parity check code with a column weight of two
US8103945B2 (en) Decoding method and decoding apparatus as well as program
WO2018179246A1 (en) Check bit concatenated polar codes
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR101657912B1 (ko) 비이진 저밀도 패리티 검사 코드의 복호화 방법
WO2021118395A1 (en) Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
US8392792B2 (en) Method for encoding low density parity check codes using result of checking previously specified parity bits
US20100185913A1 (en) Method for decoding ldpc code and the circuit thereof
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR101268061B1 (ko) 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법
JP4202161B2 (ja) 符号化装置および復号装置
JP5523064B2 (ja) 復号装置及び方法
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
KR101218658B1 (ko) 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법
JP5385944B2 (ja) 復号器
KR101257776B1 (ko) 상태-체크 코드를 이용한 부호화 방법 및 부호화 장치
KR101268060B1 (ko) 결합 상태-체크 코드를 이용한 부호화 방법 및 복호화 방법
KR101267654B1 (ko) 가변 부호어 길이를 지원하는 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
JP5490931B2 (ja) 符号器、復号器、符号化方法、及び、復号方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180411

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee