KR20130037523A - Method and apparatus for encoing using state-check code - Google Patents

Method and apparatus for encoing using state-check code Download PDF

Info

Publication number
KR20130037523A
KR20130037523A KR1020110101970A KR20110101970A KR20130037523A KR 20130037523 A KR20130037523 A KR 20130037523A KR 1020110101970 A KR1020110101970 A KR 1020110101970A KR 20110101970 A KR20110101970 A KR 20110101970A KR 20130037523 A KR20130037523 A KR 20130037523A
Authority
KR
South Korea
Prior art keywords
state
bits
check
bit
iteration
Prior art date
Application number
KR1020110101970A
Other languages
Korean (ko)
Other versions
KR101257776B1 (en
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 KR1020110101970A priority Critical patent/KR101257776B1/en
Publication of KR20130037523A publication Critical patent/KR20130037523A/en
Application granted granted Critical
Publication of KR101257776B1 publication Critical patent/KR101257776B1/en

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/033Theoretical methods to calculate these checking 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
    • 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

PURPOSE: A coding method and a coding device are provided to reduce a storage space, to improve a calculation speed and performance, and to offer a proper code for parallel calculation by increasing a calculation processing speed through parallel computation. CONSTITUTION: A state-check coding method includes a stage(S110) of receiving one previously un-inputted bit of information bits, a stage(S120) of transitioning from the current state to the next state according to the received bit, a stage(S130) of repeating the receiving stage and the transitioning stage multiple times, a stage(S140) of determining a stage-check bit according to the transitioned stage in the last repetition, and a stage(S150) of generating a code word by combining the information bits and the stage-check bits. [Reference numerals] (AA) Start; (BB) End; (S110) Inputting one of information bits; (S120) Transiting the current state according to the input bit; (S130) Number of times of repeating satisfied?; (S140) Determining SC bits according to the transited state; (S150) Generating a code word by combining the information bits and the SC bits;

Description

상태-체크 코드를 이용한 부호화 방법 및 부호화 장치{METHOD AND APPARATUS FOR ENCOING USING STATE-CHECK CODE}Encoding method and encoding apparatus using state-check code {METHOD AND APPARATUS FOR ENCOING USING STATE-CHECK CODE}

개시된 기술은 데이터의 부호화(encoding) 방법에 관한 것으로서, 보다 상세하지만 제한됨 없이는, 상태 체크 코드(state-check codes, SC 코드)를 이용한 상태-체크 부호화 방법 및 상태-체크 부호화 장치에 관한 것이다. 본 명세서에서 새로이 제안하는 상태-체크 코드는 부호화(encoding) 및 복호화(decoding) 연산 처리 속도를 빠르게 할 수 있고, 필요로 하는 저장 공간을 줄일 수 있으며, 오류 정정 성능을 향상시킬 수 있다는 장점이 있다. 본 명세서에 개시된 기술은 다양한 범위에 응용될 수 있지만, 특히 강화된 프로세서를 가진 통신 단말기에서 병렬 프로세스를 통한 연산속도 향상, 및 저장 공간을 효율적으로 사용하는 데 활용될 수 있다.The disclosed technique relates to a method of encoding data, and more particularly, but without limitation, relates to a state-check encoding method and a state-check encoding apparatus using state-check codes (SC codes). The state-check code newly proposed in the present specification can speed up encoding and decoding operations, reduce storage space, and improve error correction performance. . Although the technology disclosed herein can be applied to various ranges, it can be utilized to improve the operation speed through parallel processes and to efficiently use storage space, especially in a communication terminal having an enhanced processor.

통신에 있어서 일반적으로 부호화(encoding)라 함은 송신 측에서 송신된 데이터가 통신 채널을 통하여 전송되는 과정에서 발생하는 신호의 일그러짐, 손실 등에 의한 오류에도 불구하고 수신 측에서 원래의 데이터를 복원할 수 있도록 하기 위해 송신 측에서 데이터를 처리 하는 과정을 의미한다. 원래의 데이터의 크기를 줄여서 전송과 저장 등을 용이하게 하는 소스 부호화(source coding)와 구분하여 이를 채널 부호화(channel coding)라 한다. 복호화(decoding)는 부호화되어 송신된 신호를 수신 측에서 원래의 데이터로 복원하는 과정이다. 부호화를 한다는 것은 통상 길이 K의 정보 시퀀스(정보 비트들)를 길이 N의 코드로 만드는 것이다. 신호 전송경로가 불안정한 무선 랜(LAN)이나 이동통신의 경우 코드의 길이 N을 정보시퀀스 길이 K 보다 상당히 크게 만든다. 즉, 부호화된 코드에는 전송되어야 할 데이터가 상당히 반복되어 있다. 양방향 통신에서, 정보 시퀀스를 포함하는 데이터를 전송함에 있어서 수신 측이 데이터를 복원하지 못하게 되면 송신 측은 데이터를 다시 전송한다. 이러한 데이터의 반복 전송은 전송속도를 떨어트리게 되므로, 이러한 반복 전송을 줄일 수 있는 채널 부호화 기술들이 연구되어 왔다.In communication, encoding is generally used to recover original data at the receiving end despite errors caused by distortion, loss, or the like of the data transmitted from the transmitting side through the communication channel. It means the process of processing the data in the sender to make sure that it is. This is called channel coding, which is distinguished from source coding that reduces the size of original data to facilitate transmission and storage. Decoding is a process of restoring the encoded and transmitted signal to the original data at the receiving side. To encode is usually to make an information sequence of length K (information bits) into a code of length N. In wireless LAN or mobile communication where signal transmission path is unstable, code length N is made significantly larger than information sequence length K. That is, the data to be transmitted is repeatedly repeated in the coded code. In two-way communication, if a receiving side fails to recover data in transmitting data including an information sequence, the transmitting side transmits the data again. Since repetitive transmission of such data causes a drop in transmission speed, channel coding techniques for reducing such repetitive transmission have been studied.

채널 부호화는 블록부호(block codes)와 콘볼루션 부호(convolution codes)로 크게 나누어진다. 블록부호는 K비트의 입력 정보(data sequences)를 N비트의 출력부호(codes)로 만들어내는 것이다. 콘볼루션 부호는 코드화시킬 때 현재 입력되는 신호에 과거의 일부 신호를 함께 활용하는 방식이다. 콘볼루션 부호를 기반으로 병렬 부호화와 인터리빙(interleaving)을 통해 성능을 더욱 발전시킨 것이 터보코드(turbo codes)이다. 터보코드(turbo codes)는 통신 채널의 비트 오류 확률(probability)을 최소로 유지하는 사상에 기반을 둔 오류 정정 부호 (ECC: error correction code)의 하나이다. 터보코드는 1993년 Berrou 등이 제안한 것으로 비교적 간단한 구조를 가지면서도 매우 우수한 오류 정정 성능을 제공하므로 고성능의 오류 정정 부호 방식이 요구되는 통신 시스템에 적용되고 있다. Channel coding is roughly divided into block codes and convolution codes. The block code generates K bits of data sequences into N bits of output codes. The convolution code is a method of using some signals from the past with the current input signal when coding. Turbo codes are further developed through parallel coding and interleaving based on convolutional codes. Turbo codes are one of error correction codes (ECC) based on the idea of keeping the bit error probability of a communication channel to a minimum. The turbo code, proposed by Berrou et al. In 1993, has a relatively simple structure and provides very good error correction performance, and has been applied to a communication system requiring a high performance error correction code method.

최근에는 저밀도 패리티 검사(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)보다 나은 성능을 보이는 것이 입증되었다. Recently, low-density parity-check (LDPC) codes have been applied to communication systems. The LDPC code makes an information sequence of length K a codeword of length N. A parity bit having a length of (NK) excluding an information sequence among codewords may be generated using a parity-check matrix H. The parity check matrix H is (NK) x N in size and has a low density property with more zeros than one. In the encoding method using the LDPC code, how to make the parity check matrix H is the most important factor. Typically, irregular LDPC codes provide better performance than regular LDPC codes. Regular here means that all rows of parity check matrix H used for LDPC code have the same number of 1s and all columns of H have the same number of 1s, otherwise LDPC code Is considered to be irregular. Here the number of 1s in a row or column is referred to as the weight of the row or column. Irregular low-density parity-check (LDPC) codes with block lengths greater than 10 4 have been shown to perform better than turbo codes.

그러나, 패리티 검사 행렬 H는 대략 1000×2000 이상의 크기를 갖기 때문에 부호화 및 복호화 과정에서 많은 연산이 요구되고, 구현이 매우 복잡하며, 많은 저장 공간을 요구하는 문제점이 있다. 다시 말해, 데이터 블록의 크기가 증가하면 LDPC의 오류정정 능력은 강해지지만, 프로세서가 처리해야 하는 연산량 및 요구하는 저장 공간 또한 증가한다는 문제점이 있다. 이러한 문제점을 해결하기 위한 기술로 대한민국 공개특허 제10-2007-0058438호(무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화, 복호화 방법 및 그 장치)가 있다.However, since the parity check matrix H has a size of about 1000 × 2000 or more, many operations are required in the encoding and decoding process, implementation is very complicated, and requires a lot of storage space. In other words, as the size of the data block increases, the error correction capability of the LDPC becomes stronger, but there is a problem that the amount of computation and processing space required by the processor also increase. As a technique for solving such a problem, Korean Patent Laid-Open Publication No. 10-2007-0058438 (Encoding, Decoding Method and Apparatus Using Low Density Parity Check Code in a Wireless Communication System).

개시된 기술이 이루고자 하는 기술적 과제는 저장공간을 줄이면서, 연산 속도 및 성능을 향상시킬 수 있는 부호화 방법 및 부호화 장치를 제공하는 데 있다. 또한, 병렬연산을 통하여 연산 처리속도를 높일 수 있으므로, 개시된 기술에서는 병렬 연산에 적합한 코드를 제공하고자 한다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide an encoding method and an encoding apparatus capable of improving operation speed and performance while reducing storage space. In addition, since the operation processing speed can be increased through parallel operation, the disclosed technology provides a code suitable for parallel operation.

상기의 기술적 과제를 이루기 위하여 개시된 기술의 제1 측면은 정보 비트들 중 이전에 입력되지 않은 어느 하나의 비트를 입력 받는 단계; 상기 입력 받는 비트에 따라 현재 상태에서 다음 상태로 천이하는 단계; 상기 입력 받는 단계 및 상기 천이하는 단계를 복수 회 반복하는 단계; 마지막 반복에서 천이된 상태에 따라 상태-체크 비트들을 결정하는 단계; 및 상기 정보 비트들 및 상기 상태-체크 비트들을 결합하여 부호어를 생성하는 단계를 포함하는 상태-체크 부호화 방법을 제공한다.A first aspect of the disclosed technology to achieve the above technical problem is a step of receiving any one of the information bits previously not input; Transitioning from a current state to a next state according to the received bit; Repeating the step of receiving the input and the transitioning a plurality of times; Determining state-check bits according to the state transitioned at the last iteration; And generating a codeword by combining the information bits and the state-check bits.

상기의 기술적 과제를 이루기 위하여 개시된 기술의 제2 측면은 입력되는 정보 비트들에 따라 부호화 상태를 결정하는 상태 결정부; 상기 결정된 부호화 상태에 따라 상태-체크 비트들을 결정하되, 상기 결정된 부호화 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상기 상태-체크 비트들로 결정하는 상태-체크 비트 결정부; 및 상기 정보 비트들 및 상기 상태-체크 비트들을 결합하여 부호어를 생성하는 부호어 생성부를 포함하는 상태-체크 부호화 장치를 제공한다.A second aspect of the disclosed technology to achieve the above technical problem is a state determination unit for determining the encoding state according to the input information bits; A state-check bit determining unit determining state-check bits according to the determined encoding state, and determining, as the state-check bits, values of input bits for causing the determined encoding state to converge to a preset state; And a codeword generator that generates a codeword by combining the information bits and the state-check bits.

개시된 기술의 실시 예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시 예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다. Embodiments of the disclosed technique may have effects that include the following advantages. It should be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, since the embodiments of the disclosed technology are not meant to include all such embodiments.

개시된 기술의 일 실시 예에 따른 상태-체크 코드(SC 코드)는 한 번의 연산 과정으로 종래의 패리티 비트보다 많은 비트 수를 가지는 상태-체크 비트(SC 비트)를 생성한다. 이러한 상태-체크 코드를 사용하여 부호화 또는 복호화 하는 경우, 종래의 코딩 방식(예컨대, LDPC 코드)보다 향상된 오류 정정 성능을 보이면서도 연산속도가 빠르다는 장점이 있다. 또한, 상태-체크 코드를 이용한 부호화 또는 복호화 방법은 필요로 하는 저장 공간이 종래에 비하여 작으며, 병렬 프로세싱이 용이하다는 장점이 있다.A state-check code (SC code) according to an embodiment of the disclosed technology generates a state-check bit (SC bit) having a larger number of bits than conventional parity bits in one operation. In the case of encoding or decoding using such a state-check code, there is an advantage that the operation speed is high while showing an improved error correction performance than a conventional coding scheme (eg, LDPC code). In addition, the encoding or decoding method using the state-check code has an advantage that the required storage space is smaller than in the related art, and parallel processing is easy.

도 1은 개시된 기술의 일 실시예에 따라, 부호화장치가 상태-체크 코드를 이용하여 부호화하는 방법을 설명하기 위한 순서도이다.
도 2는 개시된 기술의 일 실시예에 따라, 부호화 상태가 천이되는 과정 및 상태-체크 비트가 결정되는 과정을 설명하기 위한 도면이다.
도 3은 개시된 기술의 일 실시예에 따라 상태-체크 코드를 이용하여 상태-체크 부호화하는 장치를 설명하기 위한 블록도이다.
도 4는 개시된 기술의 일 실시예에 따른 상태 결정부를 설명하기 위한 도면이다.
도 5는 개시된 기술의 일 실시예에 따라, 부호화 상태 수가 4인 경우 상태 결정부를 설명하기 위한 도면이다.
도 6은 개시된 기술의 일 실시예에 따라, 상태-체크 코드를 이용하여 복호화 하는 방법을 설명하기 위한 도면이다.
1 is a flowchart for describing a method of encoding by a encoding apparatus using a state-check code, according to an embodiment of the disclosed technology.
2 is a diagram for describing a process of transitioning an encoding state and a process of determining a state-check bit, according to an embodiment of the disclosed technology.
3 is a block diagram illustrating an apparatus for state-check encoding using a state-check code according to an embodiment of the disclosed technique.
4 is a view for explaining a state determination unit according to an embodiment of the disclosed technology.
FIG. 5 is a diagram for describing a state determiner when the number of encoded states is 4, according to an embodiment of the disclosed technology.
6 is a diagram for describing a method of decoding using a state-check code, according to an embodiment of the disclosed technology.

개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.The description of the disclosed technique is merely an example for structural or functional explanation and the scope of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

“제1”, “제2” 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms " first ", " second ", and the like are used to distinguish one element from another and should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "include" or "have" refer to features, numbers, steps, operations, components, parts, or parts thereof described. It is to be understood that the combination is intended to be present, but not to exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Each step may occur differently from the stated order unless the context clearly dictates the specific order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the disclosed technology belongs, unless otherwise defined. Terms such as those defined in the commonly used dictionaries should be construed as consistent with the meanings in the context of the related art, and should not be construed as having ideal or overly formal meanings unless expressly defined in this application. .

LDPC 코드는 블록 길이가 104 이상인 경우에는 터보 코드보다 향상된 성능을 보이지만, 부호화 및 복호화 과정에서 많은 연산이 필요하고, 구현이 매우 복잡하며, 많은 저장 공간을 필요로 한다는 등 여러 가지 문제점을 가지고 있다. 개시된 기술에서는 종래의 LDPC 코드보다 향상된 오류 정정 성능을 보이면서도 연산속도가 빠르고, 병렬 프로세싱이 용이한 부호화 방식을 제안한다. 개시된 기술에서는, 기존의 패리티-체크 개념에 대응되는 상태-체크 개념을 새로이 도입하여 상태-체크 코드를 이용한 부호화를 수행한다. 이하, 개시된 기술에서 새로이 제안하는 상태-체크 코드를 도면을 참조하여 설명한다. The LDPC code shows better performance than the turbo code when the block length is 10 4 or more, but it has various problems such as requiring a lot of operations in the encoding and decoding process, implementation is very complicated, and requires a lot of storage space. . The disclosed technology proposes an encoding scheme that shows faster error correction performance than conventional LDPC codes and has a faster operation speed and easier parallel processing. In the disclosed technology, a state-check concept corresponding to an existing parity-check concept is newly introduced to perform encoding using a state-check code. Hereinafter, a state-check code newly proposed by the disclosed technology will be described with reference to the accompanying drawings.

도 1은 개시된 기술의 일 실시예에 따라, 부호화장치가 상태-체크 코드를 이용하여 부호화하는 방법을 설명하기 위한 순서도이다. 개시된 기술에 따르면, 입력되는 비트들에 따라, 부호화 상태가 결정되고, 결정된 최종 부호화 상태에 따라, 상태-체크 비트들을 결정하여, 입력된 비트들과 상태-체크 비트들을 함께 전송함으로써 입력 비트들의 전송 오류를 정정할 수 있도록 한다. 입력 비트들에 대한 한 번의 연산 과정으로 한 비트의 패리티 비트를 생성하는 종래의 패리티 체크 방식과 달리, 개시된 기술에 따르면 입력 비트들에 대한 한 번의 연산 과정을 통하여 복수의 상태-체크 비트를 생성할 수 있다. 따라서, 상태-체크 코드를 이용하면, 종래에 비하여 오류 정정의 성능 및 효율성이 향상된다. 상태-체크 비트의 수(NSC)는 2 이상의 정수로서, 오류정정 성능, 부호화 속도, 연산 속도, 필요로 하는 저장 공간 등을 고려하여 적절한 수로 결정될 수 있다. 이하, NSC의 수가 2인 경우를 중심으로 설명하나, 이에 한정되는 것은 아니며 NSC는 3, 4 등의 정수가 될 수도 있다.1 is a flowchart for describing a method of encoding by a encoding apparatus using a state-check code, according to an embodiment of the disclosed technology. According to the disclosed technique, an encoding state is determined according to input bits, and according to the determined final encoding state, transmission of input bits by determining state-check bits and transmitting together input bits and state-check bits. Allows you to correct errors. Unlike the conventional parity check method of generating one bit parity bit with one operation on input bits, the disclosed technique generates a plurality of state-check bits through one operation on input bits. Can be. Thus, using the state-check code improves the performance and efficiency of error correction as compared to the prior art. The number of state-check bits N SC is an integer of 2 or more, and may be determined as an appropriate number in consideration of error correction performance, encoding speed, computation speed, storage space required, and the like. Hereinafter, a description will be given focusing on the case where the number of N SCs is 2, but the present invention is not limited thereto, and the N SCs may be integers such as 3 and 4.

부호화장치는 정보 비트들 중 이전에 입력되지 않은 어느 하나의 비트를 입력 받는다(S110). 도 1에서 확인할 수 있듯이 S110 단계는 S120 단계와 함께 미리 설정된 횟수만큼 반복되는데, 매 반복마다 정보 비트들 중 새로운 비트가 입력된다. 일례로, 부호화장치는 정보 비트들을 각각 순차적으로 하나씩 입력 받을 수 있다. 다른 일례로, 부호화 장치는 모든 정보 비트들이 아닌, 부호화할 정보 비트들 중 미리 선택된 특정 비트들을, 순차적으로 하나씩 입력 받을 수도 있다. The encoding apparatus receives any one of the information bits not previously input (S110). As shown in FIG. 1, step S110 is repeated a predetermined number of times with step S120, and a new bit of information bits is input for each iteration. For example, the encoding apparatus may receive one information bit in sequence. As another example, the encoding apparatus may receive one or more predetermined bits selected in advance among information bits to be encoded instead of all the information bits.

부호화장치는 입력 받는 비트에 따라 현재 상태에서 다음 상태로 천이한다(S120). 부호화 상태가 가질 수 있는 상태 수는 Ns 이다. 현재 상태는 이전에 입력된 비트들을 기초로 Ns 개의 상태들 중 어느 하나의 상태로 결정된다. 현재 상태는, 첫 번째 반복에서는 Zero State로 초기화 되며, 그 이후의 반복에서는 이전 반복에서 천이된 상태가 현재 상태가 된다. 다음 상태는, 현재 상태에 상응하는 두 개의 상태들 중 현재 입력되는 비트에 따라 결정되는 어느 하나의 상태가 된다. 일 실시 예에 따라, Ns가 4인 경우 입력 비트들에 따라 부호화 상태가 천이되는 과정이 도 2에 예시되어 있다. 도 2의 실시 예에서는 현재 상태가 상태 0일 때(S=0), 다음 상태는 상태 0 또는 상태 2(S=0 or S=2)가 될 수 있는데, 입력 비트가 0인 경우 다음 상태는 상태 0, 입력 비트가 1인 경우 다음 상태는 상태 2가 된다. 즉, 현재 상태에 따라, 다음 상태가 될 수 있는 두 개의 상태가 있고, 부호화장치는 현재 상태에 상응하는 두 개의 상태들 중 입력 받는 비트에 따라 결정되는 하나의 상태로 천이한다. The encoding apparatus transitions from the current state to the next state according to the received bit (S120). The number of states that an encoding state can have is N s . The current state is determined as one of N s states based on previously input bits. The current state is initialized to Zero State in the first iteration, and the state transitioned from the previous iteration becomes the current state in subsequent iterations. The next state is any one of two states corresponding to the current state, which is determined according to the currently input bit. According to an embodiment, when N s is 4, a process of transitioning an encoding state according to input bits is illustrated in FIG. 2. In the embodiment of FIG. 2, when the current state is state 0 (S = 0), the next state may be state 0 or state 2 (S = 0 or S = 2). If state 0 and the input bit is 1, the next state is state 2. That is, according to the current state, there are two states that can be the next state, and the encoding apparatus transitions to one state determined according to an input bit among two states corresponding to the current state.

현재 상태(k 번째 반복에서의 상태, Sk)와 다음 상태(k+1 번째 반복에서의 상태, Sk +1)가 수학식 1과 같이 표현될 때, 현재 상태와 다음 상태 간에는 실시예에 따라, 수학식 2 또는 수학식 3과 같은 관계가 성립될 수 있다.When the current state (state at the k-th iteration, S k ) and the next state (state at the k + 1 iteration, S k +1 ) are expressed as in Equation 1, there is an embodiment between the current state and the next state. Accordingly, a relationship such as Equation 2 or Equation 3 can be established.

Figure pat00001
Figure pat00001

Sk의 값이 N개의 비트로 표현될 때, dN -1,k는 N개의 비트 중 최상위 비트를, d0,k는 N개의 비트 중 최하위 비트를 나타낸다. 마찬가지로, Sk +1의 값이 N개의 비트로 표현될 때, dN -1,k+ 1는 N개의 비트 중 최상위 비트를, d0 ,k+ 1는 N개의 비트 중 최하위 비트를 나타낸다.When the value of S k is represented by N bits, d N -1, k represents the most significant bit of the N bits, and d 0, k represents the least significant bit of the N bits. Similarly, when the value of S k +1 is represented by N bits, d N −1, k + 1 represents the most significant bit of the N bits, and d 0 , k + 1 represents the least significant bit of the N bits.

Figure pat00002
Figure pat00002

ik는 현재의 반복에서 입력 받은 정보 비트,

Figure pat00003
는 배타적 논리합(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 연산한 결과일 수 있다.i k is the information bit received in the current iteration,
Figure pat00003
Means an exclusive OR (XOR) operation, and d k Represents a result of performing an XOR operation on at least one bit selected from d 0 , k to d N -1, k . For example, d k May be the result of performing an XOR operation on all of d 0 , k to d N −1, k bits. As another example, d k May be the result of performing an XOR operation on odd bits, such as d 0 , k , d 2 , k , among d 0 , k to d N −1, k bits.

Figure pat00004
Figure pat00004

이때, a1 내지 aN -1은 0 또는 1의 값을 가지고, d0 ,k의 계수는 항상 1이다. a1 내지 aN -1 값은 구현 예에 따라, 모두 1의 값을 가질 수도 있으며, 일부(예컨대, 홀수 번째 값)는 0 나머지 (예컨대, 짝수 번째)는 1의 값을 가지도록 할 수도 있다.At this time, a 1 to a N -1 have a value of 0 or 1 , and the coefficient of d 0 , k is always 1. The values a 1 to a N -1 may all have a value of 1, depending on the implementation, and some (eg, odd-numbered) may have a value of 0 for the remainder (eg, even-numbered). .

보다 구체적으로, 상태 수(Ns)가 4, 상태-체크 비트의 수(NSC)가 2인 경우 중에서 도 2의 실시 예와 같이 상태가 천이되는 경우를 예를 들어 설명한다. k번째 반복에서의 현재 상태가 두 개의 비트 [d1 , kd0 ,k]로 표현되고, 그 다음 상태가 [d1,k+1d0,k+1]로 표현될 때, 각 상태를 나타내는 비트들 간의 관계는 수학식 4와 같이 나타낼 수 있다.More specifically, a case in which the state transitions as in the embodiment of FIG. 2 from the case where the state number N s is 4 and the number of state-check bits N SC is 2 will be described as an example. When the current state at the k th iteration is represented by two bits [d 1 , k d 0 , k ] and the next state is represented by [d 1, k + 1 d 0, k + 1 ], each state The relationship between the bits representing may be represented by Equation 4.

Figure pat00005
Figure pat00005

이때, 현재 상태 값이 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]이 된다.At this time, if the current state value is 0 [00], the next state value is 0 [00] when the input bit is 0 and 2 [10] when the input bit is 1. If the current state value is 1 [01], the next state value is 2 [10] when the input bit is 0, and 0 [00] when the input bit is 1. If the current state value is 2 [10], the next state value is 3 [11] when the input bit is 0 and 1 [01] when the input bit is 1. Finally, if the current state value is 3 [11], the next state value is 1 [01] when the input bit is 0 and 3 [11] when the input bit is 1.

상태 수(Ns)가 4, 상태-체크 비트의 수(NSC)가 2인 경우 중에서, 다른 일 실시예에 따른 상태 천이 규칙은 수학식 5와 같이 나타낼 수 있다. Among the cases where the number of states N s is 4 and the number of state-check bits N SC is 2, the state transition rule according to another embodiment may be represented by Equation 5.

Figure pat00006
Figure pat00006

입력 받는 단계(S110) 및 천이하는 단계(S120)는 미리 설정된 횟수만큼 복수 회 반복한다(S130). 미리 설정된 횟수는, 일례로, 부호화할 정보 비트들의 수와 같을 수 있다. 즉, 부호화할 정보 비트들이 모두 순차적으로 입력되는 경우에는, 정보 비트가 순차적으로 하나씩 입력되고(S110), 정보 비트가 하나씩 입력될 때마다, 상태 천이가 수행(S120)되며, 이러한 과정이 모든 정보 비트에 대하여 반복되므로 S110 단계 및 S120 단계는 정보 비트의 수만큼 반복된다. 다른 일례로, 미리 설정된 횟수는, 부호화할 정보 비트들의 수보다 작을 수 있다. 즉, 모든 정보 비트들이 아닌, 부호화할 정보 비트들 중 미리 선택된 특정 비트들이, 순차적으로 하나씩 입력되는 경우에는, 선택된 특정 비트들의 수만큼 S110 단계 및 S120 단계가 반복된다.The step of receiving the input (S110) and the step of transition (S120) is repeated a plurality of times a predetermined number of times (S130). The preset number of times may be, for example, equal to the number of information bits to be encoded. That is, when all of the information bits to be encoded are sequentially input, one information bit is sequentially input (S110), and each time the information bits are input one by one, state transition is performed (S120), and this process is performed by all information. Since steps are repeated for bits, steps S110 and S120 are repeated by the number of information bits. As another example, the preset number may be smaller than the number of information bits to be encoded. That is, when the predetermined bits of the information bits to be encoded, which are not all the information bits, are sequentially input one by one, steps S110 and S120 are repeated by the number of the selected specific bits.

부호화장치는 정보 비트들의 입력에 따라, 마지막 반복에서 천이된 상태 값을 기초로 상태-체크 비트들을 결정한다(S140). 일 실시예에 따라, 부호화장치는 마지막 반복에서 천이된 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상태-체크 비트들로 결정한다. 예컨대, 마지막 반복에서 천이된 상태가 Zero State(제 0상태, S=0)로 수렴하도록 하는 입력 비트들의 값이 상태-체크 비트가 된다. 보다 구체적으로, NS가 4이고, NSC가 2이며, 수학식 4와 같이 상태가 천이하는 도 2의 경우, 상태-체크 비트는 다음과 같이 결정된다. 마지막 반복에서 천이된 상태의 값이 상태 0인 경우, 상태 체크 비트는 [00], 마지막 반복에서 천이된 상태의 값이 상태 1인 경우, 상태 체크 비트는 [10], 마지막 반복에서 천이된 상태의 값이 상태 2인 경우, 상태 체크 비트는 [11], 마지막 반복에서 천이된 상태의 값이 상태 3인 경우, 상태 체크 비트는 [01]이 된다. 도 2를 참조하면, 상태-체크 비트가 마지막 반복 이후에 입력 비트로 들어간다고 가정했을 때, 마지막 반복에서의 상태가 결국 미리 설정된 상태인 zero state로 수렴하여 상태 천이가 종료하는 것을 확인할 수 있다. 도 2 및 위에서 설명한 예에서는 zero state로 수렴하는 경우를 설명하였으나, 수렴되는 상태는 이에 한정되는 것은 아니며 다른 상태로 수렴하는 것으로 결정하여도 무관하다. 한편, 상태 수가 NS인 경우, 상태-체크 비트들의 비트 수 NSC는 log2Ns이 된다.According to the input of the information bits, the encoding apparatus determines the state-check bits based on the state value transitioned in the last iteration (S140). According to an embodiment, the encoding apparatus determines, as state-check bits, values of input bits that cause the state transitioned at the last iteration to converge to a preset state. For example, the value of the input bits that causes the transitioned state in the last iteration to converge to the Zero State (S = 0) becomes the state-check bit. More specifically, in FIG. 2 where N S is 4, N SC is 2, and the state transitions as shown in Equation 4, the state-check bit is determined as follows. If the value of the transitioned state in the last iteration is state 0, the state check bit is [00]; if the value of the transitioned state in the last iteration is state 1, the state check bit is [10], the transition state in the last iteration If the value of is state 2, the state check bit is [11]. If the value of the state transitioned at the last iteration is state 3, the state check bit is [01]. Referring to FIG. 2, when it is assumed that the state-check bit enters the input bit after the last iteration, it can be confirmed that the state transition ends by converging to the zero state, which is a preset state. In FIG. 2 and the above-described example, the case of converging to the zero state has been described, but the converged state is not limited thereto and may be determined to converge to another state. On the other hand, when the number of states is N S , the number of bits N SC of the state-check bits is log 2 N s .

상태-체크 비트들이 결정되면, 부호화장치는 정보 비트들 및 상태-체크 비트들을 결합하여 부호어를 생성한다(S150). 정보 비트들의 비트 수가 K이고, 상태-체크 비트들의 비트 수가 NSC이면, 부호어의 비트 수는 K+NSC가 되고, 상태-체크 코드의 부호 율은

Figure pat00007
이 된다.
When the state-check bits are determined, the encoder generates a codeword by combining the information bits and the state-check bits (S150). If the number of bits of the information bits is K and the number of bits of the status-check bits is N SC , the number of bits of the codeword is K + N SC , and the code rate of the status-check code is
Figure pat00007
.

도 2는 개시된 기술의 일 실시예에 따라, 부호화 상태가 천이되는 과정 및 상태-체크 비트가 결정되는 과정을 설명하기 위한 도면이다. 도 2는 앞에서 언급한 바와 같이 NS가 4이고, NSC가 2이며, 수학식 4와 같이 상태가 천이되는 경우의 트렐리스(trellis) 다이어그램이다. 도 2에는 정보 비트가 입력됨에 따라 상태가 천이하는 반복적인 과정이 시간 흐름에 따라 펼쳐져 있다. 정보 비트의 입력에 따른 부호화 상태는 원형으로 표시되고, 각 상태 간을 연결하는 화살표 중 실선 화살표는 비트 0이 입력된 경우를, 점선 화살표는 비트 1이 입력된 경우를 나타낸다. 우선, 부호화 상태는 Zero State로 초기화된다. 이후, 정보 비트가 입력되면, 현재 상태 및 입력되는 비트의 값에 따라 다음 상태로 천이된다. T=t0에서, 현재 상태 값은 초기화 값인 상태 0이다. 이후, 0이 입력되는 경우 상태 0으로, 1이 입력되는 경우 상태 2로 천이한다. 1이 입력되었다고 가정하는 경우, T=t1에서의 현재 상태 값은 상태 2가 된다. 이후, 마찬가지로 0이 입력되는 경우 상태 3으로, 1이 입력되는 경우 상태 1로 천이된다. 만약 0이 입력되었다고 가정하면, T=t2에서의 현재 상태 값은 상태 3이 된다. 이와 같이 정보 비트들이 입력됨에 따라 상태 천이가 반복된다. 미리 설정된 횟수만큼 정보 비트들이 입력되면 마지막 반복에서의 부호화 상태에 따라 상태-체크 비트를 결정한다. 예를 들어, T=tK에서의 상태 값이 2인 경우, 상태-체크 비트는 [11]이 된다. 상태-체크 비트는 마지막 반복에서의 상태를 특정 상태, 즉, Zero State로 수렴하게 만드는 입력 비트의 값으로 결정된다. 도 2를 참조하면, 마지막 반복에서의 상태가 상태 2인 경우, 비트 1이 입력되면 상태 1이 되고, 상태 1에서 다시 비트 1이 입력되면 상태 0(zero state)가 되는 것을 확인할 수 있다. 이와 같이 마지막으로 정보 비트가 입력된 때의 부호화 상태에 따라 상태-체크 비트 값이 결정되므로, 수신 측에서는 반대로 상태-체크 비트를 이용하여 전송된 데이터의 오류가 있는지 여부를 판단할 수 있다.
2 is a diagram for describing a process of transitioning an encoding state and a process of determining a state-check bit, according to an embodiment of the disclosed technology. FIG. 2 is a trellis diagram when N S is 4, N SC is 2, and a state transitions as shown in Equation 4 as described above. In FIG. 2, an iterative process of transitioning states as information bits are input is unfolded over time. The encoding state according to the input of the information bits is displayed in a circle, and a solid arrow indicates a case where bit 0 is input and a dotted line arrow indicates when bit 1 is input. First, the coding state is initialized to zero state. Then, when the information bit is input, it is transitioned to the next state according to the current state and the value of the input bit. At T = t 0 , the current state value is state 0, which is an initialization value. Thereafter, when 0 is inputted, the state transitions to 0, and when 1 is inputted, state 2 is entered. Assuming 1 is entered, the current state value at T = t 1 is state 2. Thereafter, the state transitions to state 3 when 0 is input, and to state 1 when 1 is input. If 0 is entered, the current state value at T = t 2 is state 3. As the information bits are input as described above, the state transition is repeated. When the information bits are input a predetermined number of times, the state-check bit is determined according to the encoding state in the last iteration. For example, if the state value at T = t K is 2, the state-check bit is [11]. The state-check bit is determined by the value of the input bit that causes the state at the last iteration to converge to a particular state, that is, a zero state. Referring to FIG. 2, when the state in the last repetition is state 2, it can be confirmed that when bit 1 is inputted, state 1 is input, and when bit 1 is inputted again in state 1, it becomes state 0 (zero state). As described above, since the state-check bit value is determined according to the coding state when the information bit is last input, the reception side can determine whether there is an error in the transmitted data by using the state-check bit.

도 3은 개시된 기술의 일 실시예에 따라 상태-체크 코드를 이용하여 상태-체크 부호화하는 장치를 설명하기 위한 블록도이다. 도 3의 상태-체크 부호화 장치(300)는 상태 결정부(310), 상태-체크 비트 결정부(320), 부호어 생성부(330)를 포함한다. 도 3의 실시 예에 따른 상태-체크 부호화 장치(300)는 도 1의 부호화 방법에 따라 상태-체크 부호화하는 장치를 포함하므로 도 1에서 설명된 내용은 본 실시 예에서도 적용될 수 있다. 상태 결정부(310)는 입력되는 정보 비트들에 따라 부호화 상태를 결정한다. 일 실시 예에 따라, 상태 결정부(310)는, 현재 상태 및 현재 입력되는 비트에 따라 현재 상태를 갱신하는 과정을 복수 회 반복하여, 마지막 반복에서 갱신된 현재 상태를 부호화 상태로 결정한다. 이 때, 갱신하는 과정을 반복하는 횟수는 일례로, 정보 비트들의 비트 수와 같을 수 있으며, 다른 일례로 정보 비트들의 수보다 작을 수 있다. 상태 결정부(310)에 대한 구체적인 설명은 도 4를 참조하여 후술한다. 상태-체크 비트 결정부(320)는 상태 결정부(310)에서 결정된 부호화 상태에 따라 상태-체크 비트들을 결정한다. 일 실시예에 따라, 상태-체크 비트 결정부(320)는, 결정된 부호화 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상태-체크 비트들로 결정한다. 예컨대, 상태-체크 비트 결정부(320)는 결정된 부호화 상태가 제0 상태(Zero State)로 수렴하도록 하는 입력 비트들의 값을 상태-체크 비트들로 결정할 수 있다. 부호어 생성부(330)는 정보 비트들 및 상태-체크 비트들을 결합하여 부호어를 생성한다.
3 is a block diagram illustrating an apparatus for state-check encoding using a state-check code according to an embodiment of the disclosed technique. The state-check encoding apparatus 300 of FIG. 3 includes a state determiner 310, a state-check bit determiner 320, and a codeword generator 330. Since the state-check encoding apparatus 300 according to the embodiment of FIG. 3 includes an apparatus for state-check encoding according to the encoding method of FIG. 1, the description of FIG. 1 may also be applied to the present embodiment. The state determiner 310 determines an encoding state according to the input information bits. According to an embodiment of the present disclosure, the state determiner 310 repeats a process of updating the current state a plurality of times according to the current state and the currently input bit, and determines the current state updated in the last iteration as the encoding state. In this case, the number of times of repeating the updating process may be, for example, equal to the number of bits of the information bits, and may be smaller than the number of information bits as another example. A detailed description of the state determination unit 310 will be described later with reference to FIG. 4. The state-check bit determiner 320 determines the state-check bits according to the encoding state determined by the state determiner 310. According to an embodiment, the state-check bit determiner 320 determines, as state-check bits, values of input bits for causing the determined encoding state to converge to a preset state. For example, the state-check bit determiner 320 may determine, as state-check bits, values of input bits for causing the determined encoding state to converge to a zero state. The codeword generator 330 combines the information bits and the status-check bits to generate a codeword.

도 4는 개시된 기술의 일 실시예에 따른 상태 결정부를 설명하기 위한 도면이다. 일 실시예에 따라, 상태 결정부(310)는 레지스터(410) 및 연산부(420)를 포함하여 부호화 상태를 결정할 수 있다. 레지스터(410)는 부호화 상태를 나타내는 비트들을 저장한다. 연산부(420)는 상태 결정부(310)로 입력되는 비트(information bit, i) 및 부호화 상태를 나타내는 비트들(즉, 레지스터에 값이 저장된 비트들, do, d1,...)중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행한다. 일례로, 레지스터(410)에 저장된 모든 비트들과 입력 비트 간 XOR 연산할 수도 있으며, 다른 일례로 D0 레지스터에 저장된 비트와 입력 비트 간 XOR 연산할 수도 있다. 즉, 레지스터(410)의 각 저장공간 D0 내지 DN -1은 선택적으로 연산부(420)와 연결되어 저장된 비트 값을 연산부(420)에 제공한다. 이때, 일 실시 예에 따라, 레지스터(410)는 상태 결정부(310)에 정보 비트가 입력될 때마다 저장된 비트들이 한 비트씩 하위 비트 자리로 이동하고, 연산부(420)에서 수행되는 연산 결과가 최상위 비트 자리로 입력됨으로써 부호화 상태를 나타내는 비트들을 갱신하는 순환 시프트 레지스터(Recursive Shift Register)일 수 있다. 레지스터(410) 및 연산부(420)의 동작은 수학식 2 또는 수학식 3과 같이 표현될 수 있다. 4 is a view for explaining a state determination unit according to an embodiment of the disclosed technology. According to an embodiment, the state determiner 310 may include a register 410 and an operator 420 to determine an encoding state. The register 410 stores bits representing the coding state. The operation unit 420 may include one of bits (information bit i) input to the state determining unit 310 and bits indicating an encoding state (that is, bits stored in a register, d o , d 1 ,...) Perform an XOR operation between at least one bit. For example, an XOR operation may be performed between all bits stored in the register 410 and an input bit, and as another example, an XOR operation may be performed between an input bit and a bit stored in the D 0 register. That is, each storage space D 0 of the register 410 D N -1 is selectively connected to the operation unit 420 to provide the stored bit value to the operation unit 420. In this case, according to an exemplary embodiment, whenever the information bit is input to the state determiner 310, the register 410 moves the stored bits to the lower bit position by one bit, and the operation result performed by the operation unit 420 is changed. It may be a recursive shift register for updating the bits indicating the encoding state by being input to the most significant bit digit. The operation of the register 410 and the operation unit 420 may be expressed as Equation 2 or Equation 3 below.

도 5는 개시된 기술의 일 실시예에 따라, 부호화 상태 수가 4인 경우 상태 결정부를 설명하기 위한 도면이다. 부호화 상태 수 NS가 4 인 경우 상태-체크 비트 수 NSC 및 부호화 상태를 나타내는 비트 수는 2이므로 레지스터(410)는 두 개의 저장 공간 D1, D0를 가진다. 연산부(420)는 입력 비트(i) 및 부호화 상태를 나타내는 비트들, 즉, 레지스터 D1, D0에 값이 저장된 비트들(d1, d0)중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행한다. 일례로 도 5의 (a)는 입력 비트 i, 레지스터에 저장된 비트 값들인 d1, d0 세 비트의 XOR 연산을 수행한다. 이를 수학식으로 나타내면 수학식 4와 같다. 다른 일례로 도 5의 (b)는 입력 비트 i와 레지스터에 저장된 비트 값인 d0 간의 XOR 연산을 수행한다. 이를 수학식으로 나타내면 수학식 5와 같다.
FIG. 5 is a diagram for describing a state determiner when the number of encoded states is 4, according to an embodiment of the disclosed technology. When the coded state number N S is 4, the state-check bit number N SC and the number of bits indicating the coded state are 2, so the register 410 has two storage spaces D 1 and D 0 . The operation unit 420 may perform an XOR (exclusive OR) between at least one bit among the bits representing the input bit i and the encoding state, that is, bits d 1 and d 0 in which values are stored in the registers D 1 and D 0 . Perform the operation. For example, (a) of FIG. 5 performs an XOR operation of input bits i and three bits d 1 and d 0 which are bit values stored in a register. This is represented by Equation 4 below. As another example, FIG. 5B performs an XOR operation between input bit i and d 0 , a bit value stored in a register. This is represented by Equation 5 below.

도 6은 개시된 기술의 일 실시예에 따라, 상태-체크 코드를 이용하여 복호화 하는 방법을 설명하기 위한 도면이다. 개시된 기술에 따른 상태-체크 코드는 종래 LDPC 코드가 패리티 체크를 위해 tanh 규칙을 사용하였던 것과 달리, BCJR 알고리즘을 사용하여 복호화할 수 있다. 이하, 이해를 돕기 위하여 복호기가 도 2의 상태-체크 코드를 이용하여 수신 데이터를 복호화하는 과정을 예를 들어 설명한다.6 is a diagram for describing a method of decoding using a state-check code, according to an embodiment of the disclosed technology. The state-check code according to the disclosed technique can be decoded using the BCJR algorithm, unlike the conventional LDPC code using the tanh rule for parity check. Hereinafter, for the sake of understanding, the process of decoding the received data using the state-check code of FIG. 2 will be described as an example.

복호기는 상태-체크 코드를 이용하여 부호화된 신호를 제공받는다. 부호화된 신호는, 도 2와 같은 상태 천이 및 상태-체크 비트 생성 규칙에 따라 생성된 상태-체크 비트들이 정보 비트들과 결합되어 생성된 신호이다. 이때, 부호화기는 일례로 도 5의 (a)와 같은 RSR(Recursive Shift Register)를 이용하여 구현되었을 수 있다. 도 2의 천이 규칙, 또는 도 5와 같은 구조는 송신 측과 수신 측이 공통적으로 알고 있는 정보이므로, 수신 측에서도 도 2와 같은 트렐리스를 도 6과 같이 동일하게 구성할 수 있다. 복호기는 도 6의 트렐리스를 기반으로 수신 신호에 BCJR 알고리즘을 적용하여 수신 신호를 복호화한다. BCJR 알고리즘에 따르면 수신 비트열을 기반으로 사후 확률을 계산하여 전송 비트의 연판정(soft decision)값을 얻을 수 있다. T=tk에서의 사후 확률은 T=tk에서의 사후 천이 확률들의 합으로 계산될 수 있다. T=tk에서의 사후 확률은 수학식 6과 같고, T=tk에서의 사후 천이 확률은 수학식 7과 같다. The decoder is provided with a coded signal using a state-check code. The encoded signal is a signal generated by combining the state-check bits generated according to the state transition and state-check bit generation rules of FIG. 2 with information bits. In this case, the encoder may be implemented by using a recursive shift register (RSR) as shown in FIG. Since the transition rule of FIG. 2 or the structure shown in FIG. 5 is information that the transmitting side and the receiving side have in common, the trellis as shown in FIG. 2 may be configured in the same manner as in FIG. 6. The decoder decodes the received signal by applying the BCJR algorithm to the received signal based on the trellis of FIG. 6. According to the BCJR algorithm, a soft decision value of a transmission bit may be obtained by calculating a post probability based on a received bit string. Posterior probability at T = t k can be computed as the sum of post-transition probability at T = t k. The posterior probability at T = t k is shown in Equation 6, and the posterior transition probability at T = t k is shown in Equation 7.

Figure pat00008
Figure pat00008

여기서, 사후 확률 P(dk=d)는 T=tk에서의 전송 비트 값이 d(d는 0또는 1)일 확률이다. σ(sk,d)는 T=tk에서의 사후 천이 확률이며, σ(sk=i,d)는 T=tk에서의 상태(sk)가 상태 i이고, T=tk에서의 전송 비트(dk)가 d일 확률을 의미한다. sk는 주어진 부호화 상태들(S) 중 어느 하나의 값을 가지며, 본 실시 예에서는 상태 0, 상태 1, 상태 2, 상태 3 중 어느 하나의 값을 가진다.Here, the posterior probability P (d k = d) is a probability that the transmission bit value at T = t k is d (d is 0 or 1). σ and (s k, d) the probability of post-transition at T = t k, σ (s k = i, d) is a state i (s k) state at T = t k, at T = t k Means the probability that the transmission bit d k of d is d. s k has a value of any one of the given encoding states S, and in this embodiment, has a value of any one of state 0, state 1, state 2, and state 3.

Figure pat00009
Figure pat00009

여기서, α(sk=i)는 T=tk 이전의 수신 신호가 주어졌을 때, T=tk에서 상태 i에 머물러 있을 확률을 나타내며 순방향 상태 메트릭이라 한다. β(sk +1=j)은 T=tk +1 이후의 수신 신호가 주어졌을 때, T=tk에서 상태 j에 머물러 있을 확률을 나타내며 역방향 상태 메트릭이라 한다. γ(sk, sk +1)는 관점에 따라, γ(sk,d)라고 표현할 수도 있는데, γ(sk=i, sk +1=j) 또는 γ(sk=i,d)는 T=tk에서의 수신 신호가 주어졌을 때, T=tk에서 상태 i이고, 전송 비트가 d일 확률로 가지 메트릭이라 한다. 이때, 전송 비트 d는 sk=i로부터 sk=j로 천이되도록 하는 비트 값으로서, sk=i일때, 입력 비트가 d이면, sk +1=j가 되는 관계가 있다.Where α (s k = i) is T = t k Given the previous received signal, it represents the probability of staying in state i at T = t k and is called the forward state metric. β (s k + 1 = j) represents the probability of staying in state j at T = t k when a received signal after T = t k +1 is referred to as a backward state metric. γ (s k , s k +1 ) may be expressed as γ (s k , d) depending on the point of view, and γ (s k = i, s k +1 = j) or γ (s k = i, d ) is referred to as the branch metric to the probability, given the received signal at t = T k, and state i at T = t k, the transmission bit d. At this time, the transmission bit d is a bit value for transitioning from s k = i to s k = j. When s k = i, if the input bit is d, s k +1 = j.

복호기는 도 6의 트렐리스 다이어그램에 기반하여, 트렐리스를 구성하는 각 가지들에 상응하는 가지 메트릭들을 산출한다. 가지 메트릭 γ(sk=i,d)은 사전 확률과 전송 비트가 d일 때 수신 신호의 확률밀도함수를 이용하여 산출된다. 예컨대, 도 6에서 가지 메트릭 γ(sk=i,d)는, dk=0일 확률과 dk=1일 확률이 모두 0.5이고, sk가 각 부호화 상태에 있을 확률이 모두 동일하다고 가정하면, 주어진 확률밀도함수에서의 수신신호에 상응하는 값으로 산출될 수 있다.The decoder calculates branch metrics corresponding to each branch constituting the trellis, based on the trellis diagram of FIG. 6. The branch metric γ (s k = i, d) is calculated using the probability density function of the received signal when the prior probability and the transmission bit are d. For example, in FIG. 6, it is assumed that the branch metric γ (s k = i, d) has both a probability that d k = 0 and a probability that d k = 1 are 0.5, and the probability that s k is in each encoding state is the same. In this case, it can be calculated as a value corresponding to the received signal at a given probability density function.

복호기는 최초 상태 값, 최종 상태 값 및 가지 메트릭 값을 기반으로 순방향 상태 메트릭 및 역방향 상태 메트릭을 산출한다. 순방향 상태 메트릭은 Forward Recursion에 의하여 α(s0)부터 α(sN)까지 순차적으로 계산된다. 도 6의 경우, 초기 상태 값이 상태 0(s0=0)이라는 것을 알고 있으므로, α(s0)은 s0=0인 경우 1, 나머지 s0=1, 2, 3인 경우는 0으로 초기화된다. α(sk=i)는 임의의 상태 값을 가지는 sk-1로부터 상태 값이 i인 sk로 향하는 모든 가지에 대하여, 각 가지에 해당하는 가지 메트릭과 해당하는 sk -1의 순방향 상태 메트릭의 곱들의 합으로 산출된다. 이를 수식으로 나타내면 수학식 8과 같다. The decoder calculates the forward state metric and the reverse state metric based on the initial state value, the final state value, and the branch metric value. The forward state metric is calculated sequentially from α (s 0 ) to α (s N ) by Forward Recursion. In the case of FIG. 6, since it is known that the initial state value is state 0 (s 0 = 0), α (s 0 ) is 1 when s 0 = 0, and 0 when the remaining s 0 = 1, 2, 3 It is initialized. α (k = s i) is the forward of s k -1, which for all kinds leading to the state s k value of i from k-1 s has an arbitrary state value, and the branch metric for each state of It is calculated as the sum of the products of the metric. This can be expressed as an equation (8).

Figure pat00010
Figure pat00010

일례로, 도 6에서 α(s3=1)는, α(s2=2)γ(s2=2,1)+α(s2=3)γ(s2=3,0)로 산출된다. For example, in FIG. 6, α (s 3 = 1) is calculated as α (s 2 = 2) γ (s 2 = 2,1) + α (s 2 = 3) γ (s 2 = 3,0). do.

역방향 상태 메트릭은 Backward Recursion에 의하여 β(sN)부터 β(s0)까지 역순으로 반복적으로 계산된다. 도 6의 경우, 최종 상태 값이 상태 0(sN=0)이라는 것을 알고 있으므로, β(sN)은 sN=0인 경우 1, 나머지 sN=1, 2, 3인 경우는 0으로 초기화된다. β(sk=i)는 임의의 상태 값을 가지는 sk +1로부터 상태 값이 i인 sk로 향하는 모든 역방향 가지에 대하여, 각 가지에 해당하는 가지 메트릭과 해당하는 sk +1의 역방향 상태 메트릭의 곱들의 합으로 산출된다. 이를 수식으로 나타내면 수학식 9과 같다. The reverse state metric is repeatedly calculated in reverse order from β (s N ) to β (s 0 ) by Backward Recursion. In FIG. 6, since it is known that the final state value is state 0 (s N = 0), β (s N ) is 1 when s N = 0, and 0 when the remaining s N = 1, 2, 3 It is initialized. β (k = s i) is the reverse of s k +1 that for all of the reverse leading to s k in state s k +1 having the value of i from an arbitrary state value, and the branch metric for each of It is calculated as the sum of the products of the state metrics. This is expressed as an equation (9).

Figure pat00011
Figure pat00011

가지 메트릭, 순방향 메트릭, 역방향 메트릭이 모두 산출되면, 각 시간에 대하여 수학식 7과 같이 사후 천이 확률을 산출한다. 수학식 6과 같이 각 시간에서 d에 대한 사후 천이 확률을 모두 더하면, 전송 비트가 d일 사후 확률을 구할 수 있다. 복호기는 사후 확률에 따라 각 전송 비트의 값을 결정한다. 도 6에서는 일 실시예에 따라, BCJR 알고리즘에 따라 상태-체크 부호를 복호화하는 방법을 설명하였으나 복호화 방법이 이에 한정되는 것은 아니다.
When the branch metric, the forward metric, and the reverse metric are all calculated, a post-transition probability is calculated for each time as shown in Equation (7). As shown in Equation 6, the sum of the post-transition probabilities for d at each time can be obtained. The decoder determines the value of each transmission bit according to the posterior probability. In FIG. 6, a method of decoding the state-check code according to the BCJR algorithm has been described, but the decoding method is not limited thereto.

이러한 개시된 기술인 시스템 및 장치는 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.While the system and apparatus disclosed herein have been described with reference to the embodiments shown in the drawings for purposes of clarity of understanding, they are illustrative only and various modifications and equivalent embodiments can be made by those skilled in the art. I will understand that. Accordingly, the true scope of protection of the disclosed technology should be determined by the appended claims.

Claims (19)

정보 비트들 중 이전에 입력되지 않은 어느 하나의 비트를 입력 받는 단계;
상기 입력 받는 비트에 따라 현재 상태에서 다음 상태로 천이하는 단계;
상기 입력 받는 단계 및 상기 천이하는 단계를 복수 회 반복하는 단계;
마지막 반복에서 천이된 상태에 따라 상태-체크 비트들을 결정하는 단계; 및
상기 정보 비트들 및 상기 상태-체크 비트들을 결합하여 부호어를 생성하는 단계를 포함하는 상태-체크 부호화 방법.
Receiving any one of the information bits not previously input;
Transitioning from a current state to a next state according to the received bit;
Repeating the step of receiving the input and the transitioning a plurality of times;
Determining state-check bits according to the state transitioned at the last iteration; And
And combining the information bits and the state-check bits to generate a codeword.
제1항에 있어서, 상기 결정하는 단계는,
상기 마지막 반복에서 천이된 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상기 상태-체크 비트들로 결정하는 상태-체크 부호화 방법.
The method of claim 1, wherein the determining step,
And determining the values of the input bits as the state-check bits to cause the transitioned state in the last iteration to converge to a preset state.
제1항에 있어서, 상기 결정하는 단계는,
상기 마지막 반복에서 천이된 상태가 제0 상태(Zero State)로 수렴하도록 하는 입력 비트들의 값을 상기 상태-체크 비트들로 결정하는 상태-체크 부호화 방법.
The method of claim 1, wherein the determining step,
And determining the values of the input bits as the state-check bits to cause the transitioned state in the last iteration to converge to a zero state.
제1항에 있어서, 상기 천이하는 단계는,
상기 현재 상태에 상응하는 두 개의 상태들 중 상기 입력 받는 비트에 따라 결정되는 하나의 상태로 천이하는 단계인 상태-체크 부호화 방법.
The method of claim 1, wherein the step of transitioning,
And transitioning to a state determined according to the received bit among two states corresponding to the current state.
제1항에 있어서, 상기 천이하는 단계는,
k번째 반복에서의 상기 현재 상태가 N 개의 비트 [dN -1,k…d0 ,k]로 표현될 때,
dn ,k+1=dn +1,k (여기서, n=0,…,N-2)
Figure pat00012
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00013
는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, dk 는 d0 ,k 내지 dN -1,k중 선택되는 적어도 하나의 비트를 XOR 연산한 결과 값을 나타냄)에 따라 결정된 N 개의 비트 [dN -1,k+1…d0 ,k+1]로 표현되는 상기 다음 상태로 천이하는 상태-체크 부호화 방법.
The method of claim 1, wherein the step of transitioning,
The current state in the k-th iteration is N bits [d N -1, k ... d 0 , k ]
d n , k + 1 = d n + 1, k (where n = 0,…, N-2)
Figure pat00012
Where i k is the information bit received in the current iteration,
Figure pat00013
Means an exclusive OR (XOR) operation, and d k Denotes a value obtained by performing XOR operation on at least one bit selected from d 0 , k to d N -1, k ), wherein N bits [d N −1, k + 1 ... d 0 , k + 1 ] state-check encoding method for transitioning to the next state.
제1항에 있어서, 상기 천이하는 단계는,
k번째 반복에서의 상기 현재 상태가 N 개의 비트 [dN -1,k…d0 ,k]로 표현될 때,
dn ,k+1=dn +1,k (여기서, n=0,…,N-2)
Figure pat00014
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00015
는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, a1 내지 aN-1은 0 또는 1의 값을 가짐)에 따라 결정된 N 개의 비트 [dN -1,k+1…d0 ,k+1]로 표현되는 상기 다음 상태로 천이하는 상태-체크 부호화 방법.
The method of claim 1, wherein the step of transitioning,
The current state in the k-th iteration is N bits [d N -1, k ... d 0 , k ]
d n , k + 1 = d n + 1, k (where n = 0,…, N-2)
Figure pat00014
Where i k is the information bit received in the current iteration,
Figure pat00015
Denotes an exclusive OR (XOR) operation, where a 1 to a N-1 have a value of 0 or 1), N bits [d N −1, k + 1 ... d 0 , k + 1 ] state-check encoding method for transitioning to the next state.
제1항에 있어서, 상기 천이하는 단계는,
k번째 반복에서의 상기 현재 상태가 두 개의 비트 [d1 , kd0 ,k]로 표현될 때,
d0 ,k+1=d1 ,k
Figure pat00016
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00017
는 배타적 논리합(exclusive OR, XOR) 연산을 나타냄)에 따라 결정된 두 개의 비트 [d1,k+1d0,k+1]로 표현되는 상기 다음 상태로 천이하는 상태-체크 부호화 방법.
The method of claim 1, wherein the step of transitioning,
When the current state at the k th iteration is represented by two bits [d 1 , k d 0 , k ],
d 0 , k + 1 = d 1 , k
Figure pat00016
Where i k is the information bit received in the current iteration,
Figure pat00017
Transitions to the next state represented by two bits [d 1, k + 1 d 0, k + 1 ] determined according to an exclusive OR (XOR) operation.
제1항에 있어서, 상기 천이하는 단계는,
k번째 반복에서의 상기 현재 상태가 두 개의 비트 [d1 , kd0 ,k]로 표현될 때,
d0 ,k+1=d1 ,k
Figure pat00018
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00019
는 배타적 논리합(exclusive OR, XOR) 연산을 나타냄)에 따라 결정된 두 개의 비트 [d1 ,k+1d0 ,k+1]로 표현되는 상기 다음 상태로 천이하는 상태-체크 부호화 방법.
The method of claim 1, wherein the step of transitioning,
When the current state at the k th iteration is represented by two bits [d 1 , k d 0 , k ],
d 0 , k + 1 = d 1 , k
Figure pat00018
Where i k is the information bit received in the current iteration,
Figure pat00019
Transitions to the next state represented by two bits [d 1 , k + 1 d 0 , k + 1 ] determined according to an exclusive OR (XOR) operation.
제1항에 있어서,
상기 입력 받는 단계 및 상기 천이하는 단계를 반복하는 횟수는 상기 정보 비트들의 비트 수와 같은 상태-체크 부호화 방법.
The method of claim 1,
The number of times of repeating the receiving step and the transition step is equal to the number of bits of the information bits.
제1항에 있어서,
상기 입력 받는 단계 및 상기 천이하는 단계를 반복하는 횟수는 상기 정보 비트들의 비트 수 보다 작은 상태-체크 부호화 방법.
The method of claim 1,
And the number of times of repeating the receiving and the transitioning steps is smaller than the number of bits of the information bits.
입력되는 정보 비트들에 따라 부호화 상태를 결정하는 상태 결정부;
상기 결정된 부호화 상태에 따라 상태-체크 비트들을 결정하되, 상기 결정된 부호화 상태가 미리 설정된 상태로 수렴하도록 하는 입력 비트들의 값을 상기 상태-체크 비트들로 결정하는 상태-체크 비트 결정부; 및
상기 정보 비트들 및 상기 상태-체크 비트들을 결합하여 부호어를 생성하는 부호어 생성부를 포함하는 상태-체크 부호화 장치.
A state determination unit to determine an encoding state according to input information bits;
A state-check bit determining unit determining state-check bits according to the determined encoding state, and determining, as the state-check bits, values of input bits for causing the determined encoding state to converge to a preset state; And
And a codeword generator for generating a codeword by combining the information bits and the state-check bits.
제11항에 있어서, 상기 상태-체크 비트 결정부는,
상기 결정된 부호화 상태가 제0 상태(Zero State)로 수렴하도록 하는 입력 비트들의 값을 상기 상태-체크 비트들로 결정하는 상태-체크 부호화 장치.
The apparatus of claim 11, wherein the state-check bit determiner comprises:
And a state-check bit determining a value of input bits for causing the determined encoding state to converge to a zero state.
제11항에 있어서, 상기 상태 결정부는,
상기 부호화 상태를 나타내는 비트들을 저장하는 레지스터; 및
상기 입력되는 비트 및 상기 부호화 상태를 나타내는 비트들 중 적어도 하나의 비트 간의 XOR(배타적 논리합) 연산을 수행하는 연산부를 포함하되,
상기 레지스터는 상기 상태 결정부에 비트가 입력될 때마다 저장된 비트들이 한 비트씩 하위 비트 자리로 이동하고, 상기 연산부에서 수행되는 연산 결과가 최 상위 비트 자리로 입력되어 상기 부호화 상태를 나타내는 비트들을 갱신하는 순환 시프트 레지스터(Recursive Shift Register)인 상태-체크 부호화 장치.
The method of claim 11, wherein the state determination unit,
A register for storing bits representing the encoding state; And
And an operation unit configured to perform an XOR operation between at least one of the input bits and the bits representing the encoding state.
Whenever a bit is input to the state determining unit, the register moves the stored bits to the lower bit position by one bit, and the operation result performed by the operation unit is input to the highest bit position to update the bits indicating the encoding state. A state-check encoding device which is a recursive shift register.
제11항에 있어서,
상기 상태 결정부는, 현재 상태 및 현재 입력되는 비트에 따라 상기 현재 상태를 갱신하는 과정을 복수 회 반복하여, 마지막 반복에서 갱신된 상기 현재 상태를 상기 부호화 상태로 결정하는 상태-체크 부호화 장치.
The method of claim 11,
And the state determination unit repeats the process of updating the current state a plurality of times in accordance with a current state and a currently input bit, and determines the current state updated in the last iteration as the encoding state.
제14항에 있어서, 상기 상태 결정부는,
k번째 반복에서의 상기 현재 상태를 나타내는 N 개의 비트 [dN -1,k…d0 ,k]를
dn ,k+1=dn +1,k (여기서, n=0,…,N-2)
Figure pat00020
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00021
는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, dk 는 d0 ,k 내지 dN -1,k중 선택되는 적어도 하나의 비트를 XOR 연산한 결과 값을 나타냄)에 따라 결정된 N 개의 비트 [dN -1,k+1…d0 ,k+1]로 갱신하는 상태-체크 부호화 방법.
The method of claim 14, wherein the state determination unit,
N bits representing the current state in the k-th iteration [d N -1, k ... d 0 , k ]
d n , k + 1 = d n + 1, k (where n = 0,…, N-2)
Figure pat00020
Where i k is the information bit received in the current iteration,
Figure pat00021
Means an exclusive OR (XOR) operation, and d k Denotes a value obtained by performing XOR operation on at least one bit selected from d 0 , k to d N -1, k ), wherein N bits [d N −1, k + 1 ... d 0 , k + 1 ].
제14항에 있어서, 상기 상태 결정부는,
k번째 반복에서의 상기 현재 상태를 나타내는 N 개의 비트 [dN -1,k…d0 ,k]를
dn ,k+1=dn +1,k (여기서, n=0,…,N-2)
Figure pat00022
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00023
는 배타적 논리합(exclusive OR, XOR) 연산을 의미하고, a1 내지 aN-1은 0 또는 1의 값을 가짐)에 따라 결정된 N 개의 비트 [dN -1,k+1…d0 ,k+1]로 갱신하는 상태-체크 부호화 장치.
The method of claim 14, wherein the state determination unit,
N bits representing the current state in the k-th iteration [d N -1, k ... d 0 , k ]
d n , k + 1 = d n + 1, k (where n = 0,…, N-2)
Figure pat00022
Where i k is the information bit received in the current iteration,
Figure pat00023
Denotes an exclusive OR (XOR) operation, where a 1 to a N-1 have a value of 0 or 1), N bits [d N −1, k + 1 ... d 0 , k + 1 ].
제14항에 있어서, 상기 상태 결정부는,
k번째 반복에서의 상기 현재 상태를 나타내는 두 개의 비트 [d1 , kd0 ,k]를
d0 ,k+1=d1 ,k
Figure pat00024
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00025
는 배타적 논리합(exclusive OR, XOR) 연산을 나타냄)에 따라 결정된 두 개의 비트 [d1 ,k+1d0 ,k+1]로 갱신하는 상태-체크 부호화 장치.
The method of claim 14, wherein the state determination unit,
two bits [d 1 , k d 0 , k ] representing the current state at the k th iteration
d 0 , k + 1 = d 1 , k
Figure pat00024
Where i k is the information bit received in the current iteration,
Figure pat00025
Represents an exclusive OR (XOR) operation). The state-check encoding apparatus updates with two bits [d 1 , k + 1 d 0 , k + 1 ].
제14항에 있어서, 상기 상태 결정부는,
k번째 반복에서의 상기 현재 상태를 나타내는 두 개의 비트 [d1 , kd0 ,k]를
d0 ,k+1=d1 ,k
Figure pat00026
(여기서, ik는 현재의 반복에서 입력 받은 정보 비트,
Figure pat00027
는 배타적 논리합(exclusive OR, XOR) 연산을 나타냄)에 따라 결정된 두 개의 비트 [d1,k+1d0,k+1]로 갱신하는 상태-체크 부호화 장치.
The method of claim 14, wherein the state determination unit,
two bits [d 1 , k d 0 , k ] representing the current state at the k th iteration
d 0 , k + 1 = d 1 , k
Figure pat00026
Where i k is the information bit received in the current iteration,
Figure pat00027
Denotes an exclusive OR (XOR) operation). The state-check encoding apparatus updates with two bits [d 1, k + 1 d 0, k + 1 ].
제14항에 있어서,
상기 갱신하는 과정을 반복하는 횟수는 상기 정보 비트들의 비트 수 보다 작거나 같은 상태-체크 부호화 장치.
15. The method of claim 14,
And a number of times of repeating the updating process is less than or equal to the number of bits of the information bits.
KR1020110101970A 2011-10-06 2011-10-06 Method and apparatus for encoing using state-check code KR101257776B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110101970A KR101257776B1 (en) 2011-10-06 2011-10-06 Method and apparatus for encoing using state-check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110101970A KR101257776B1 (en) 2011-10-06 2011-10-06 Method and apparatus for encoing using state-check code

Publications (2)

Publication Number Publication Date
KR20130037523A true KR20130037523A (en) 2013-04-16
KR101257776B1 KR101257776B1 (en) 2013-04-24

Family

ID=48438493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110101970A KR101257776B1 (en) 2011-10-06 2011-10-06 Method and apparatus for encoing using state-check code

Country Status (1)

Country Link
KR (1) KR101257776B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2742568B1 (en) * 1995-12-15 1998-02-13 Catherine Quinquis METHOD OF LINEAR PREDICTION ANALYSIS OF AN AUDIO FREQUENCY SIGNAL, AND METHODS OF ENCODING AND DECODING AN AUDIO FREQUENCY SIGNAL INCLUDING APPLICATION
KR100191324B1 (en) * 1996-09-02 1999-06-15 윤종용 Recovery device of digital transmission signal
JPH10145244A (en) 1996-11-14 1998-05-29 Hitachi Ltd Encoding and decoding circuit and magnetic recording and reproducing device using it
JP5312886B2 (en) 2008-09-22 2013-10-09 株式会社横須賀テレコムリサーチパーク Encoding / decoding system, encoding circuit, decoding circuit, and tag communication apparatus

Also Published As

Publication number Publication date
KR101257776B1 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
CN111628785B (en) Method for generating soft information by decoder in hard selection hard decoding mode
US10326478B2 (en) Apparatus and method for encoding and decoding data in twisted polar code
JP5354979B2 (en) Low density parity check convolutional code (LDPC-CC) encoder and LDPC-CC decoder
JP5203717B2 (en) Encoder, decoder, encoding method, and decoding method
US7774689B2 (en) Encoding and decoding methods and systems
US11177834B2 (en) Communication method and apparatus using polar codes
US20100287453A1 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US20130139025A1 (en) Construction of multi rate low density parity check convolutional codes
EP2471183A1 (en) Method of communicating signal data in gnss using ldpc convolution codes and a system thereof
JP4832447B2 (en) Decoding apparatus and method using channel code
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
KR101657912B1 (en) Method of Decoding Non-Binary Low Density Parity Check Codes
JP2009201084A (en) Coder and transmission apparatus
JP4202161B2 (en) Encoding device and decoding device
KR101908389B1 (en) Error corrector coding and decoding
JP5523064B2 (en) Decoding apparatus and method
JP2002076921A (en) Method and apparatus for error correction code decoding
KR101268061B1 (en) Encoing and decoding method using multiple state accumulate code
CN114050835A (en) RS code encoding method based on parity check precoding
KR101267756B1 (en) Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same
JP5385944B2 (en) Decoder
KR101218658B1 (en) Encoing and decoding method using irregular repeat multiple state accumulate code
KR101257776B1 (en) Method and apparatus for encoing using state-check code
KR101268060B1 (en) Method for encoing and decoding using unitive state-check code
KR101221062B1 (en) Encoding and decoding method using variable length usc code

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