KR20150131540A - puncturing apparatus and puncturing method thereof - Google Patents

puncturing apparatus and puncturing method thereof Download PDF

Info

Publication number
KR20150131540A
KR20150131540A KR1020140058327A KR20140058327A KR20150131540A KR 20150131540 A KR20150131540 A KR 20150131540A KR 1020140058327 A KR1020140058327 A KR 1020140058327A KR 20140058327 A KR20140058327 A KR 20140058327A KR 20150131540 A KR20150131540 A KR 20150131540A
Authority
KR
South Korea
Prior art keywords
bits
columns
interleaver
row
puncturing
Prior art date
Application number
KR1020140058327A
Other languages
Korean (ko)
Other versions
KR102157667B1 (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 KR1020140058327A priority Critical patent/KR102157667B1/en
Priority to US14/604,138 priority patent/US9641198B2/en
Publication of KR20150131540A publication Critical patent/KR20150131540A/en
Priority to US15/581,377 priority patent/US10461778B2/en
Application granted granted Critical
Publication of KR102157667B1 publication Critical patent/KR102157667B1/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/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/13Linear 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Abstract

Disclosed is a puncturing apparatus. The present puncturing apparatus comprises: an interleaver which is configured with a plurality of rows and columns, writes inputted codeword bits in the columns, and performs interleaving by reading each row in the columns having codeword bits written therein; and a puncturing unit for puncturing the preset number of bits among bits outputted from the interleaver.

Description

천공 장치 및 그의 천공 방법 { PUNCTURING APPARATUS AND PUNCTURING METHOD THEREOF }≪ Desc / Clms Page number 1 > PUNCTURING APPARATUS AND PUNCTURING METHOD THEREOF &

본 발명은 천공 장치 및 그의 천공 방법에 관한 것으로, 더욱 상세하게는 일정한 개수의 비트를 천공하는 천공 장치 및 그의 천공 방법에 관한 것이다.The present invention relates to a perforating apparatus and a perforating method thereof, and more particularly, to a perforating apparatus for perforating a predetermined number of bits and a perforating method thereof.

극 부호(polar codes)는 2009 년 Arikan에 의해 개발된 오류정정부호(error correction codes)로, 이론적으로 이진 입력 이산 무기억 대칭 채널(binary-input discrete memoryless symmetric channel)에서 채널 용량을 달성하는 부호이다. 그러나, 극 부호는 2×2 커널(kernel) 행렬로 설계될 때, 부호의 길이가 2의 거듭제곱으로 제한된다는 단점이 있다. The polar codes are error correction codes developed by Arikan in 2009 and are theoretically codes that achieve channel capacity in a binary input discrete memoryless symmetric channel . However, when a pole code is designed with a 2x2 kernel matrix, there is a disadvantage that the length of the code is limited to a power of two.

극 부호는 채널 양극화(channel polarization) 현상에 기반하여 생성된 K×N 크기의 생성행렬(generator matrix) G를 통해 생성된다. 여기에서, G 행렬은 이진(binary) 값으로 구성된 행렬이며, N=2n(n은 1 이상의 자연수)이고, K는 N이하의 자연수이다. The polar sign is generated by a generator matrix G of K × N size generated based on the channel polarization phenomenon. Here, the G matrix is a matrix composed of binary values, where N = 2 n (n is a natural number of 1 or more), and K is a natural number of N or less.

이에 따라, 이진 값으로 구성된 길이 K의 행 벡터(row vector)인 u에 대응하는 극 부호어(polar codeword) x는 하기의 수학식 1과 같이 산출될 수 있다.Accordingly, a polar codeword x corresponding to u, which is a row vector of length K composed of binary values, can be calculated as Equation (1).

Figure pat00001
Figure pat00001

여기에서, 이진 값의 덧셈은 modulo-2 연산으로 수행되며, 극 부호어 x는 이진 값으로 구성된 길이 N의 행 벡터가 된다. 이때, u 값의 변화에 따라 극 부호어 x 또한 변하게 되는데, 이러한 u와 x의 맵핑(mapping) 관계를 극 부호라 지칭한다.Here, the addition of binary values is performed by a modulo-2 operation, and the polar codeword x is a row vector of length N consisting of binary values. At this time, the pole codeword x changes according to the change of the u value. The mapping relation of u and x is referred to as a polar code.

한편, 극 부호의 길이 N은 2의 거듭제곱 값만을 가지기 때문에, 부호의 길이가 제한된다는 문제점이 있다. On the other hand, since the length N of the polar sign has only a power value of 2, there is a problem that the length of the sign is limited.

이러한 문제점을 해결하기 위해 사용되는 방법 중 하나가 천공(puncturing) 기법이다. 천공은 부호의 길이 및 부호율(code rate)를 다양하게 변화시킬 수 있는 방법 중 하나로 부호어를 구성하는 비트 중 일부를 제거하여 전송하지 않는 방법이다. 이때, 천공되기 전의 부호를 모-부호(mother code)라 지칭할 수 있다.One of the methods used to solve this problem is the puncturing technique. Perforation is a method of varying the code length and code rate without removing some of the bits constituting the codeword. At this time, the code before puncturing can be referred to as a mother code.

한편, 도 1은 천공하는 비트들을 p라 할 때, K=4, N=8인 극 부호에 대하여 3 비트(=p)를 천공하는 일 예를 나타낸다. Meanwhile, FIG. 1 shows an example of puncturing 3 bits (= p) with respect to a polar sign having K = 4 and N = 8 when puncturing bits are p.

도 1을 참조하면, 생성행렬 G를 통해 생성된 u에 대응하는 극 부호어 x가 x0, x1, x2, x3, x4, x5, x6, x7 비트로 구성될 때, 8 개의 부호어 비트 중 x1, x4, x7 비트를 천공하면, 나머지 x0, x2, x3, x5, x6 비트만이 남게 된다. 1, when the pole codeword x corresponding to the generated u through the generation matrix G x 0, x 1, x 2, is x 3, x 4, x 5, x 6, x 7-bit configuration, Puncturing the x 1 , x 4 , and x 7 bits out of the eight codeword bits leaves only the remaining x 0 , x 2 , x 3 , x 5 , and x 6 bits.

이와 같은 천공기법은 한 비트 단위로 수행될 수 있기 때문에, 이론적으로는 N 보다 작은 모든 부호길이를 만들 수 있다. 한편, 천공을 수행할 때 N과 p에 따라 다양한 천공 패턴이 존재할 수 있으며, 같은 개수의 비트를 천공해도 천공 패턴에 따라 부호의 오율(error rate) 성능이 달라지기 때문에 어떤 비트를 천공할지를 결정하는 것은 중요하다.Since such a puncturing scheme can be performed on a bit-by-bit basis, theoretically, all code lengths smaller than N can be created. On the other hand, when puncturing is performed, various puncturing patterns may exist depending on N and p, and even if the same number of bits are punctured, error rate performance of code varies according to puncturing pattern, It is important.

극 부호를 위한 천공 방법 중 하나로 준-균일(quasi-uniform) 천공 기법이 있다. 준-균일 천공기법은 극 부호어 비트들의 인덱스를 비트-역순(bit-reversal)으로 정렬한 후, 해당하는 인덱스에 대응하는 부호어 비트들을 순서대로 천공하는 기법이다.One of the puncturing methods for polar codes is quasi-uniform puncturing. The quasi-uniform puncturing scheme is a technique for aligning the indexes of the polar codeword bits in bit-reversal order and then puncturing the codeword bits corresponding to the corresponding index in order.

비트-역순 정렬을 수행하기 위해서는 먼저 부호 길이 N=2n에 대하여 0,1,...,N-1의 비트 인덱스들을 n 비트로 표현한다. 예를 들어, 인덱스 0은 00...0, 인덱스 1은 00...1, ..., 인덱스 N-1은 11...1로 표현될 수 있다. 그리고, 변환된 n 비트들 각각을 모두 좌우 대칭 회전시킨 후 해당 비트들을 다시 십진수 인덱스로 바꾼다. In order to perform bit-reversed sorting, bit indexes of 0, 1, ..., N-1 are expressed by n bits with respect to a code length N = 2 n . For example, index 0 may be expressed as 00 ... 0, index 1 as 00 ... 1, ..., and index N-1 as 11 ... 1. Then, all the converted n bits are rotated symmetrically, and then the corresponding bits are changed to a decimal index again.

이와 같은 방법의 일 예로 N=4 또는 N=8에 대하여 비트-역순을 생성하는 방법을 도 2에 나타내었다. 구체적으로, 도 2(a)는 N=4 에 대하여 비트-역순을 생성하는 방법을 도시하였으며, 도 2(b)는 N=8에 대하여 비트-역순을 생성하는 방법을 도시하였다.An example of such a method is shown in FIG. 2 in which a bit-reversed order is generated for N = 4 or N = 8. Specifically, FIG. 2 (a) shows a method for generating a bit-reversed order for N = 4, and FIG. 2 (b) shows a method for generating a bit-reversed order for N = 8.

이와 같이 길이 N에 대하여 비트 인덱스들을 비트-역순으로 정렬한 후, 앞에서부터 순서대로 p 개의 부호어 비트들을 천공한다. 예를 들어, 도 2(a)의 경우 N=4, p=2일 때 준-균일 방법으로 천공하게 되면 x0, x2 비트가 천공되고, 도 2(b)의 경우 N=8, p=2일 때 준-균일 방법으로 천공하게 되면 x0, x4 비트가 천공될 수 있다.After aligning the bit indices in bit-reverse order with respect to length N, p codeword bits are punctured in order from the beginning. For example, in the case of FIG. 2 (a), when N = 4 and p = 2, if puncturing is performed by the quasi-uniform method, x 0 and x 2 bits are punctured and N = 8 and p = 2, then puncturing in a quasi-uniform manner would result in x 0 , x 4 bits being punctured.

한편, 준-균일 천공기법은 간단한 비트-역순 정렬 및 순차적 천공을 통해 다양한 길이의 극 부호 설계를 가능케 하지만, 천공 순서가 유일하게 결정된다는 문제점이 있다. 즉, 천공되는 비트의 순서가 하나만 달라져도 다른 방법으로 천공을 수행한 것이 된다. On the other hand, the quasi-uniform puncturing scheme allows the design of polar codes of various lengths through simple bit-reverse sorting and sequential puncturing, but there is a problem that the puncturing order is uniquely determined. That is, even if the order of the bits to be punctured is changed by one, the puncturing is performed by another method.

이에 따라, 실제로 준-균일 천공 기법을 회피하면서, 비슷한 오율 성능을 갖는 천공 기법을 설계하는 것은 어렵지 않다는 점에서, 이러한 문제점을 해결하기 위한 방안의 모색이 요청된다.Accordingly, it is not difficult to design a perforation technique having a similar erroneous performance while avoiding a quasi-uniform perforation technique. Therefore, a solution to such a problem is sought.

본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 천공기법 시 인터리버를 사용하여 다양한 형태의 극 부호 천공 패턴을 제공함에 있다.It is an object of the present invention to provide various types of pole-puncturing patterns using an interleaver in a puncturing technique.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 천공 장치는 복수의 열 및 행로 구성되어, 입력되는 부호어 비트들을 상기 복수의 열에 라이트(write)하고, 상기 부호어 비트들이 라이트된 복수의 열의 각 행을 리드(read)하여 인터리빙을 수행하는 인터리버 및 상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공하는 천공부를 포함한다.According to an aspect of the present invention, there is provided a puncturing apparatus including a plurality of columns and a plurality of rows, the apparatus comprising: a plurality of columns and rows for inputting codeword bits to the plurality of columns, An interleaver which performs interleaving by reading each row of the plurality of columns and a puncturing unit which punctures a predetermined number of bits among the bits output from the interleaver.

여기에서, 상기 인터리버는 상기 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 행까지 상기 입력되는 부호어 비트들을 순차적으로 라이트할 수 있다.Here, the interleaver may sequentially write the input codeword bits from the first row of the first column to the last row of the last column of the plurality of columns.

또한, 상기 인터리버는 상기 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬한 후, 상기 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드할 수 있다. The interleaver may rearrange the order of the plurality of columns in which the codeword bits are written, and sequentially read the codeword bits written in the respective rows of the plurality of columns in which the order is rearranged.

그리고, 상기 천공부는 상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공할 수 있다.The puncturing unit may sequentially puncture a predetermined number of bits out of the bits output from the interleaver.

한편, 본 발명의 일 실시 예에 따른 천공 방법은 복수의 열 및 행로 구성된 인터리버를 이용하여, 입력되는 부호어 비트들을 상기 복수의 열에 라이트(write)하고 상기 부호어 비트들이 라이트된 복수의 열의 각 행을 리드(read)하여 인터리빙을 수행하는 단계 및, 상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공하는 단계를 포함한다. Meanwhile, a puncturing method according to an embodiment of the present invention uses an interleaver composed of a plurality of columns and rows to write input codeword bits to the plurality of columns, Performing interleaving by reading a row and puncturing a predetermined number of bits out of bits output from the interleaver.

여기에서, 상기 인터리빙을 수행하는 단계는 상기 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 행까지 상기 입력되는 부호어 비트들을 순차적으로 라이트할 수 있다.The interleaving may sequentially write the input codeword bits from the first row of the first column to the last row of the last column of the plurality of columns.

또한, 상기 인터리빙을 수행하는 단계는 상기 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬한 후, 상기 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드할 수 있다.In addition, the interleaving may sequentially rearrange the order of the plurality of columns in which the codeword bits are written, and then sequentially write the codeword bits written in the respective rows of the plurality of ordered columns.

그리고, 상기 천공하는 단계는 상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공할 수 있다.The puncturing step may sequentially puncture a predetermined number of bits out of the bits output from the interleaver.

이상과 같은 본 발명의 다양한 실시 예에 따르면 극 부호를 천공함에 있어 인터리버를 이용한다는 점에서, 인터리버의 구조 및 동작 방식에 따라 다양한 종류의 극 부호에 대한 천공 패턴이 정의될 수 있다. According to various embodiments of the present invention, a puncturing pattern for various types of polar codes can be defined according to the structure and operation method of the interleaver in that an interleaver is used in puncturing a polarity code.

도 1은 극 부호에 대해 천공을 수행하는 일 예를 나타내는 도면,
도 2는 비트-역순을 생성하는 방법을 나타내는 도면,
도 3은 본 발명의 일 실시 예에 따른 천공 장치의 구성을 설명하기 위한 블록도,
도 4는 본 발명의 일 실시 예에 따른 인터리버의 구조를 설명하기 위한 도면,
도 5 내지 도 8은 본 발명의 일 실시 예에 따른 인터리버의 인터리빙 동작을 설명하기 위한 도면들, 그리고
도 9는 본 발명의 일 실시 예에 따른 천공 방법을 설명하기 위한 흐름도이다.
1 is a diagram showing an example of performing puncturing on a polar sign,
2 is a diagram illustrating a method for generating a bit-reversed order,
3 is a block diagram for explaining a configuration of a punching apparatus according to an embodiment of the present invention;
4 is a view for explaining a structure of an interleaver according to an embodiment of the present invention;
FIGS. 5 to 8 illustrate interleaving operations of an interleaver according to an embodiment of the present invention, and FIGS.
9 is a flowchart illustrating a puncturing method according to an embodiment of the present invention.

이하에서는 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

도 3은 본 발명의 일 실시 예에 따른 천공 장치의 구성을 설명하기 위한 블록도이다. 도 3에 따르면, 천공 장치(100)는 인터리버(110) 및 천공부(120)를 포함한다.3 is a block diagram for explaining a configuration of a punching apparatus according to an embodiment of the present invention. Referring to FIG. 3, the puncturing apparatus 100 includes an interleaver 110 and a perforation 120.

인터리버(110)는 입력되는 부호어 비트들에 대해 인터리빙을 수행한다. 이를 위해, 인터리버(110)는 복수의 열(column) 및 행(row)으로 구성될 수 있다.The interleaver 110 performs interleaving on the input codeword bits. For this purpose, the interleaver 110 may be composed of a plurality of columns and rows.

이 경우, 인터리버(110)를 구성하는 열 및 행의 개수는 입력되는 부호어 비트들의 비트 수에 기초하여 결정될 수 있다.In this case, the number of columns and rows constituting the interleaver 110 can be determined based on the number of bits of codeword bits input.

예를 들어, 입력되는 비트들이 극 부호에 의해 생성된 N=2n 비트의 부호어 비트들 x=[x0,x1,...,xN -1]인 경우를 가정한다. 이 경우, 도 4에 도시된 바와 같이 인터리버(110)는 Nc=2m(1≤m≤n-1) 개의 열들을 포함하며, 각 열은 Nr=N/Nc 개의 행으로 구성될 수 있다.For example, assume that the input bits are N = 2 n- bit codeword bits x = [x 0 , x 1 , ..., x N -1 ] generated by the polar sign. In this case, as shown in FIG. 4, the interleaver 110 includes N c = 2 m (1? M? N-1) columns, and each column is composed of N r = N / N c rows .

이와 같이, 인터리버(110)가 복수의 열 및 행으로 구성되는 경우, 인터리버(120)는 입력되는 부호어 비트들을 복수의 열에 라이트(write)하고, 부호어 비트들이 라이트된 복수의 열의 각 행을 리드(read)하여 인터리빙을 수행할 수 있다. 보다 구체적인 설명을 위해 도 5를 참조하도록 한다.In this manner, when the interleaver 110 is composed of a plurality of columns and rows, the interleaver 120 writes the input codeword bits into a plurality of columns, and outputs each row of the plurality of columns in which codeword bits are written And interleaving can be performed by reading. Reference is made to Fig. 5 for a more detailed description.

구체적으로, 인터리버(110)는 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 형까지 입력되는 비트들을 순차적으로 라이트할 수 있다.Specifically, the interleaver 110 can sequentially write bits input from the first row to the last column of the last column of the first column among the plurality of columns.

즉, 도 5(a)에 도시된 바와 같이, 인터리버(110)는 부호어 비트들 x=[x0,x1,...,xN-1]이 입력되면, 첫 번째 열의 첫 번째 행에 x0 비트를 라이트하고, 다음 행부터 x1,x2,... 비트를 열 방향으로 라이트하여 Nc 개의 부호어 비트를 첫 번째 열에 순차적으로 라이트할 수 있다. 5 (a), when the codeword bits x = [x 0 , x 1 , ..., x N-1 ] are input, the interleaver 110 outputs the first row Added to the bit x 0, and can light by one of x 1, x 2, ... bits to the light in the column direction N c codeword bits from the row in the first column.

이후, 인터리버(110)는 첫 번째 열의 마지막 행에 라이트된 비트의 다음 비트는 두 번째 열의 첫 번째 행부터 마지막 행까지 순차적으로 라이트할 수 있다. 그리고, 인터리버(110)는 이와 같은 동작을 세 번째 열, 네 번째 열,..., 마지막 열까지 반복하여, 모든 열의 각 행에 비트들을 열 방향으로 라이트할 수 있다.Thereafter, the interleaver 110 can sequentially write the next bit of the written bit in the last row of the first column from the first row to the last row of the second column. Then, the interleaver 110 repeats this operation to the third column, the fourth column, ..., the last column, and writes the bits in the column direction in each row of all the columns.

이와 같이, 인터리버(110)는 열의 첫 번째 행부터 마지막 행까지 비트들을 라이트하고, 해당 열의 모든 행에 비트들이 라이트되면 다음 열의 첫 번째 행부터 마지막 행까지 비트들을 라이트하여 모든 열의 각 행에 비트들을 라이트할 수 있다.In this way, the interleaver 110 writes bits from the first row to the last row of the column, writes the bits from the first row to the last row in the next column when bits are written to all the rows of the column, You can write.

이후, 인터리버(110)는 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬할 수 있다. Thereafter, the interleaver 110 may rearrange the order of the plurality of columns in which the codeword bits are written.

이 경우, 인터리버(110)는 도 5(b)와 같이 비트-역순을 통해 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬할 수 있다.In this case, the interleaver 110 may rearrange the order of the plurality of columns in which the codeword bits are written in bit-reverse order as shown in FIG. 5 (b).

구체적으로, 인터리버(110)는 2m 개로 이루어진 복수의 열 각각에 인덱스 0,1,...,2m-1를 부여하고, 각 열에 부여된 인덱스를 n 비트로 표현하고, 각 열에 대응되는 비트들 각각을 좌우 대칭시킨 후 해당 비트들을 다시 십진수 인덱스로 변경하여 복수의 열의 순서를 재정렬할 수 있다.More specifically, the interleaver 110 is 2 m dogs given a plurality of column indexes 0,1, ..., 2 m -1, and each consisting of, an index given to each column, and n bits representing the bit corresponding to each column And rearranging the plurality of columns by rearranging the corresponding bits to a decimal index.

예를 들어, 인터리버(110)가 4 개의 열로 구성되는 경우, 첫 번째 열부터 네 번째 열까지 순차적으로 인덱스 0,1,2,3가 부여될 수 있으며, 각 인덱스는 00,01,10,11 비트로 표현될 수 있다. 이에 따라 각 열에 대응되는 비트들 각각을 좌우 대칭시키면 00,10,01,11이 되고 이를 다시 십진수로 변경하면 0,2,1,3이 된다. 이에 따라, 인터리버(110)는 기존의 첫 번째 열이 첫 번째가, 기존의 두 번째 열이 세 번째가, 기존의 세 번째 열이 두 번째가, 기존의 네 번째 열이 네 번째가 되도록 복수의 열의 순서를 재정렬할 수 있다.For example, when the interleaver 110 is composed of four columns, the indexes 0, 1, 2, and 3 may be sequentially assigned from the first column to the fourth column. Lt; / RTI > Accordingly, if each bit corresponding to each column is symmetrically shifted, it becomes 00, 10, 01, and 11, and if it is changed to a decimal number, it becomes 0, 2, Accordingly, the interleaver 110 is arranged so that the first column is the first, the second column is the third, the third column is the second, and the fourth column is the fourth. You can rearrange the order of the columns.

한편, 상술한 예에서 복수의 열에 부호어 비트들을 라이트한 후, 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬하는 것으로 설명하였으나 이는 일 예에 불과하다. In the above example, the codeword bits are written in a plurality of columns, and the order of the plurality of columns in which the codeword bits are written is rearranged. However, this is merely an example.

즉, 천공 장치(100)에 인터리버(110)의 열들의 비트-역순에 따른 정렬 순서에 대한 정보가 기저장되어 있다면, 인터리버(110)는 입력되는 비트들을 복수의 열에 순차적으로 라이트한 후 비트들이 라이트된 복수의 열의 순서를 비트-역순에 따라 재정렬하는 방식이 아닌, 기저장된 정보를 이용하여 입력되는 비트들을 비트-역순에 따른 정렬 순서에 대응되는 열에 차례로 라이트할 수 있다.That is, if information on the sort order according to the bit-reversed order of the columns of the interleaver 110 is stored in the puncturing apparatus 100, the interleaver 110 sequentially writes the input bits into a plurality of columns, It is possible to sequentially write the bits inputted using the pre-stored information into the column corresponding to the sort order according to the bit-reverse order, instead of reordering the order of the plurality of columns written in bit-reverse order.

상술한 예에서, 인터리버(110)는 비트들이 라이트된 기존의 기존의 첫 번째 열이 첫 번째가, 비트들이 라이트된 기존의 두 번째 열이 세 번째가, 비트들이 라이트된 기존의 세 번째 열이 두 번째가, 비트들이 라이트된 기존의 네 번째 열이 네 번째가 되도록 복수의 열의 순서를 재정렬하는 것이 아니라, 입력되는 비트들을 기존의 첫 번째 열, 세 번째 열, 두 번째 열, 네 번째 열 순으로 라이트할 수도 있다.In the above example, the interleaver 110 determines that the existing first column in which the bits are written is first, the existing second column in which the bits are written is the third, and the existing third column in which the bits are written The second is to rearrange the input bits into the first, third, second, and fourth columns, not the order of the multiple columns so that the existing fourth column written with the bits is fourth. .

이후, 인터리버(110)는 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드할 수 있다.Thereafter, the interleaver 110 may sequentially read the codeword bits written to each row of the plurality of ordered columns.

구체적으로, 인터리버(110)는 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드할 수 있다. 즉, 인터리버(110)는 도 5(c)와 같이, 모든 열의 첫 번째 행에 라이트된 비트들을 행 방향으로 리드하고, 모든 열의 두 번째 행에 라이트된 비트들을 행 방향으로 리드하고,..., 모든 행의 마지막 행에 라이트된 비트들을 행 방향으로 리드할 수 있다. Specifically, the interleaver 110 may sequentially read the codeword bits written in each row of the plurality of ordered columns. That is, as shown in FIG. 5C, the interleaver 110 reads the bits written in the first row of all the columns in the row direction, reads the bits written in the second row of all the columns in the row direction, , The bits written to the last row of all the rows can be read in the row direction.

예를 들어, 도 6과 같이, 인터리버(110)로 부호어 비트들 x=[x0,x1,...,x15]이 입력되며, 인터리버(110)는 각각 4 개의 행으로 구성된 4 개의 열을 이용하여 인터리빙을 수행하는 것으로 가정한다. 즉, 인터리버(110)가 N=16, Nc=4인 경우에 대해 인터리빙을 수행하는 것으로 가정한다.For example, as shown in FIG. 6, codeword bits x = [x 0 , x 1 , ..., x 15 ] are input to the interleaver 110, and the interleaver 110 includes 4 It is assumed that the interleaving is performed using the four columns. That is, it is assumed that the interleaver 110 performs interleaving for N = 16 and Nc = 4.

먼저, 도 6(a)에 도시된 바와 같이, 인터리버(110)로 입력되는 부호어 비트들 x=[x0,x1,...,x15]은 첫 번째 열부터 네 번째 열 까지 순차적으로 라이트된다. 이후, 비트-역순 정렬에 의해 열들의 순서가 재정렬되어 도 6(b)와 같이 기존의 두 번째 열과 기존의 세 번째 열의 순서가 서로 변경된다. 즉, 기존의 첫 번째 열은 계속 첫 번째를 유지하고, 기존의 두 번째 열은 세 번째로 순서가 변경되고, 기존의 세 번째 열은 두 번째로 순서가 변경되고, 기존의 네 번째 열은 계속 네 번째를 유지할 수 있다.First, as shown in FIG. 6 (a), codeword bits x = [x 0 , x 1 , ..., x 15 ] input to the interleaver 110 are sequentially output from the first column to the fourth column Lt; / RTI > Thereafter, the order of the columns is rearranged by bit-reverse sorting so that the order of the existing second column and the existing third column are changed as shown in FIG. 6 (b). That is, the existing first column continues to maintain the first, the existing second column is changed to the third order, the existing third column is changed to the second, and the existing fourth column continues I can keep the fourth.

이후, 도 6(c)와 같이 4 개의 열의 첫 번째 행부터 네 번째 행 순으로 비트들을 리드하면, 인터리버(110)에서는 [x0,x8,x4,x12,x1,x9,x5,x13,x2,x10,x6,x14,x3,x11,x7,x15]와 같은 순서를 갖는 부호어 비트들이 출력될 수 있다.Since, in Fig. 6 when read, the bits in the fourth row in order from the first row of four column as shown in (c), the interleaver (110) [x 0, x 8, x 4, x 12, x 1, x 9, x 5, x 13, x 2 , x 10, x 6, x 14, x 3, x 11, x 7, there codeword bits can be output with the same order as x 15].

천공부(120)는 인터리버(110)에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공(puncturing)할 수 있다. 여기에서, 천공이라 함은 부호어 비트들 중에서 일부를 제거하여 전송하지 않는 것으로, 천공 장치(100)는 천공되는 비트들의 개수 등에 대한 정보를 기저장하고 있을 수 있다.The puncturing unit 120 may puncture a predetermined number of bits among the bits output from the interleaver 110. Herein, the puncturing means does not transmit a part of the codeword bits, and the puncturing apparatus 100 may store information on the number of punctured bits and the like.

구체적으로, 천공부(120)는 인터리버(110)에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공할 수 있다. 즉, 천공부(120)는 인터리버(110)에서 출력되는 비트들 순으로 기설정된 개수의 비트를 천공할 수 있다.Specifically, the perforator 120 may sequentially puncture a predetermined number of bits among the bits output from the interleaver 110. That is, the puncturing unit 120 punctures a predetermined number of bits in the order of the bits output from the interleaver 110.

예를 들어, 상술한 바와 같이 [x0,x8,x4,x12,x1,x9,x5,x13,x2,x10,x6,x14,x3,x11,x7,x15]와 같은 순서를 갖는 부호어 비트들이 인터리버(110)에서 출력되고, p 개의 비트가 천공되는 경우를 가정한다. 이 경우, 천공부(120)는 x0 비트부터 순차적으로 p 개의 비트를 천공할 수 있다. For example, as described above, [x 0 , x 8 , x 4 , x 12 , x 1 , x 9 , x 5 , x 13 , x 2 , x 10 , x 6 , x 14 , x 3 , x 11 , x 7 , x 15 ] are output from the interleaver 110 and p bits are punctured. In this case, the puncturing unit 120 may puncture p bits sequentially from x 0 bits.

이에 따라, 부호어의 길이가 N인 모-부호를 천공하여, T 개의 다른 길이를 갖는 극 부호를 설계할 수 있게 된다. 단, 가장 짧은 부호어의 길이는 N/2 보다 크며, 다른 길이를 갖는 T 개의 천공된 극 부호의 길이(L1,L2,...,LT)는 N/2<L1<L2<...<LT<N이 될 수 있다.Thus, it is possible to design a polar code having T different lengths by puncturing a mother code having a codeword length of N. [ The lengths (L 1 , L 2 , ..., L T ) of the T punctured poles with different lengths are N / 2 <L 1 <L 2 <... <L T <N.

이와 같이 본 발명의 일 실시 예에 따르면 극 부호를 천공함에 있어 인터리버를 이용한다는 점에서, 인터리버의 구조 및 동작 방식에 따라 다양한 종류의 극 부호에 대한 천공 패턴이 정의될 수 있다. According to an embodiment of the present invention, a puncturing pattern for various types of polar codes can be defined according to the structure and operation method of the interleaver in that an interleaver is used in puncturing a polar code.

한편, 상술한 예에서는 인터리버(110)를 통해 부호어 비트들을 직접 인터리빙하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 인터리버(110)는 부호어 비트들 자체가 아닌 부호어 비트들의 인덱스를 인터리빙하고, 천공부(120)는 인터리버(110)에서 순차적으로 출력되는 인덱스를 갖는 부호어 비트들을 천공할 수도 있다. In the above example, codeword bits are directly interleaved through the interleaver 110, but this is merely an example. That is, the interleaver 110 interleaves the indexes of the codeword bits, not the codeword bits themselves, and the perforator 120 may puncture the codeword bits having the index sequentially output from the interleaver 110.

또한, 상술한 예에서 인터리버(110)는 복수 열의 첫 번째 행부터 마지막 행까지 순차적으로 리드하여 복수 열에 라이트되었던 비트들을 출력하는 것으로 설명하였으나 이는 일 예에 불과하다. In the above example, the interleaver 110 sequentially reads the bits from the first row to the last row of the plurality of columns and outputs the bits that have been written in a plurality of columns, but this is merely an example.

즉, 천공 장치(100)에는 경우에 따라 별도의 메모리를 구비하고, 인터리버(110)는 천공되는 비트의 비트 수에 따라 메모리(미도시)를 이용하여 리드 동작을 수행할 수 있다. 이와 같이, 인터리버(110)가 메모리(미도시)를 이용하여 리드 동작을 수행하는 경우, 인터리버(110)는 복수의 열의 순서를 재정하는 동작을 별도로 수행하지 않을 수 있다.That is, the puncturing apparatus 100 may be provided with a separate memory, and the interleaver 110 may perform a read operation using a memory (not shown) according to the number of bits to be punctured. In this manner, when the interleaver 110 performs a read operation using a memory (not shown), the interleaver 110 may not separately perform an operation of redefining the order of a plurality of columns.

구체적으로, 예를 들어, Li의 길이를 갖는 부호를 설계하기 위해 pi=N-Li 개의 비트를 천공하는 경우를 가정한다. Specifically, for example, assume that p i = NL i bits are punctured to design a code having a length of L i .

이 경우, pi가 2m보다 크거나 같고 2의 거듭제곱 형태를 갖는다면, 인터리버(110)는 상술한 바와 같이 복수의 열의 첫 번째 행부터 마지막 행까지 순차적으로 리드 동작을 수행할 수 있다.In this case, if p i is greater than or equal to 2 m and has a power of 2, the interleaver 110 may sequentially perform a read operation from the first row to the last row of the plurality of columns as described above.

다만, pi가 2m보다 작은 경우 또는, pi가 2m보다 크거나 같지만 2의 거듭제곱 형태가 되지 않는 경우, 인터리버(110)는 메모리(미도시)를 이용하여 리드 동작을 수행할 수 있다. 이하에서는, 인터리버(110)가 메모리(미도시)를 이용하여 리드 동작을 수행하는 방법에 대해 구체적으로 살펴보도록 한다.However, when p i is smaller than 2 m , or when p i is greater than or equal to 2 m but not in the form of a power of 2, the interleaver 110 can perform a read operation using a memory (not shown) have. Hereinafter, how the interleaver 110 performs a read operation using a memory (not shown) will be described in detail.

먼저,

Figure pat00002
를 z 보다 큰 최소의 정수를 구하는 연산 기호로 정의하고, mod(a,b)를 a를 b로 나누었을 때의 나머지를 구하는 연산 기호로 정의한다. first,
Figure pat00002
Is defined as an operation symbol for obtaining a minimum integer greater than z, and mod (a, b) is defined as an operation symbol for obtaining the remainder when a is divided by b.

이 경우,

Figure pat00003
과 같을 때, 인터리버(110)는 j-1 개의 행까지는 첫 번째 행부터 순차적으로 리드를 수행한다. 즉, 인터리버(110)는 부호어 비트들이 라이트된 복수의 열의 첫 번째 행에 라이트된 부호어 비트들을 리드하고, 복수의 열의 두 번째 행에 라이트된 부호어 비트들을 리드하고,..., 복수의 열의 j-1 번째 행에 라이트된 비트들을 리드하여, 복수의 열의 첫 번째 행부터 j-1 번째 행까지 각 행에 라이트된 비트들을 순차적으로 리드할 수 있다.in this case,
Figure pat00003
, The interleaver 110 sequentially reads from the first row to j-1 rows. That is, the interleaver 110 reads the codeword bits written in the first row of the plurality of columns in which the codeword bits are written, reads the codeword bits written in the second row of the plurality of columns, The bits written in the j-1 &lt; th &gt; row of the column of the column of the first row to the j-1 &lt; th &gt;

이후, 인터리버(110)는 mod(pi,Nc) 개의 천공될 비트가 라이트된 열의 위치에 대한 정보를 저장하고 있는 메모리(미도시)를 이용하여, j 번째 행에 대한 리드 동작을 수행할 수 있다. Thereafter, the interleaver 110 performs a read operation for the j-th row using a memory (not shown) storing information on the positions of columns in which the modulated bits (p i , N c ) are written .

이를 위해, 메모리(미도시)에는 mod(pi,Nc) 개의 천공될 비트들이 라이트되는 열의 위치에 대한 정보가 기저장되어 있을 수 있다. To this end, the memory (not shown) may store information on the positions of columns in which mod (p i , N c ) bits to be punctured are written.

이 경우, 인터리버(110)는 j 번째 행에 대한 리드 시 기저장된 위치 정보를 이용하여 천공될 비트들이 라이트된 열부터 리드를 수행할 수 있다.In this case, the interleaver 110 may perform reading from the column in which the bits to be punctured are written using the position information stored at the time of reading for the j-th row.

예를 들어, N=16, Nc=4이고, pi=6인 경우를 가정한다. 이 경우, j=

Figure pat00004
=2이고, mod(6,4)=2가 된다.For example, assume that N = 16, Nc = 4, and p i = 6. In this case, j =
Figure pat00004
= 2, and mod (6, 4) = 2.

이 경우, 도 7과 같이 인터리버(110)는 네 개의 열의 첫 번째 행에 라이트된 부호어 비트들을 리드하여 x0,x4,x8,x12를 출력할 수 있다. 이후, 인터리버(110)는 두 번째 행에 대한 리드 시, 메모리(미도시)에 기저장된 위치에 대한 정보를 이용하여 리드 동작을 수행할 수 있다.In this case, as shown in FIG. 7, the interleaver 110 may read the codeword bits written in the first row of the four columns and output x 0 , x 4 , x 8 , and x 12 . Thereafter, the interleaver 110 may perform the read operation using the information on the location previously stored in the memory (not shown) when reading the second row.

예를 들어, 메모리(미도시)에 2=mod(6,4) 개의 천공될 비트가 라이트된 열의 위치에 대한 정보로, 천공될 비트가 라이트된 열의 인덱스 2,4가 기저장된 경우, 인터리버(110)는 기저장된 위치에 대한 정보를 이용하여 두 번째 행에 대한 리드 시 천공될 비트들이 라이트된 열부터 리드를 수행할 수 있다. 즉, 인터리버(110)는 두 번째 행의 경우, 두 번째 열에 라이트된 x5를 리드하고 네 번째 열에 라이트된 x13을 리드하고, 나머지 열들에 라이트된 비트들을 순차적으로 리드할 수 있다. For example, if 2 = mod (6, 4) punctured bits are stored in the memory (not shown) and the indexes 2 and 4 of the column to which the bit to be punctured has been stored are stored, 110 can perform reading from the column in which the bits to be punctured at the time of reading for the second row are written using the information about the previously stored position. That is, in the case of the second row, the interleaver 110 may read x 5 written in the second column, read x 13 written in the fourth column, and sequentially read the bits written in the remaining columns.

이에 따라, 인터리버(110)에서 [x0,x4,x8,x12,x5,x13,...] 순으로 비트들이 출력될 수 있으며, 결국, 천공부(120)에 의해 인터리버(110)에서 출력되는 비트들 중 x0,x4,x8,x12,x5,x13가 천공될 수 있다.Accordingly, the bits may be output in the order of [x 0 , x 4 , x 8 , x 12 , x 5 , x 13 , ...] in the interleaver 110, X 0 , x 4 , x 8 , x 12 , x 5 , and x 13 among the bits output from the bitstream generator 110 may be punctured.

다른 예로, 메모리(미도시)에는 mod(pi,Nc) 개의 천공될 비트들이 서로 인접한 열들에 라이트된 경우 이들 천공된 비트들 중에서 하나가 라이트되는 열의 위치에 대한 정보가 기저장될 수 있다.As another example, in a memory (not shown), when mod (p i , N c ) bits to be punctured are written to adjacent columns, information about the position of the column in which one of these punctured bits is written may be stored .

이 경우, 인터리버(110)는 j 번째 행에 대한 리드 시 기저장된 위치 정보를 이용하여 천공될 비트들이 라이트된 열부터 리드를 수행할 수 있다.In this case, the interleaver 110 may perform reading from the column in which the bits to be punctured are written using the position information stored at the time of reading for the j-th row.

예를 들어, N=16, Nc=4이고, pi=6인 경우를 가정한다. 이 경우, j=

Figure pat00005
=2이고, mod(6,4)=2가 된다.For example, assume that N = 16, Nc = 4, and p i = 6. In this case, j =
Figure pat00005
= 2, and mod (6, 4) = 2.

이 경우에도, 도 8과 같이 인터리버(110)는 네 개의 열의 첫 번째 행에 라이트된 부호어 비트들을 리드하여 x0,x4,x8,x12를 출력할 수 있다. 이후, 인터리버(110)는 두 번째 행에 대한 리드 시, 메모리(미도시)에 기저장된 위치에 대한 정보를 이용하여 리드 동작을 수행할 수 있다.8, the interleaver 110 may read the codeword bits written in the first row of the four columns and output x 0 , x 4 , x 8 , and x 12 . Thereafter, the interleaver 110 may perform the read operation using the information on the location previously stored in the memory (not shown) when reading the second row.

예를 들어, 메모리(미도시)에 2=mod(6,4) 개의 비트 중 하나가 라이트된 열의 위치에 대한 정보로, 천공될 비트가 라이트된 열의 인덱스 2가 기저장된 경우, 인터리버(110)는 기저장된 위치에 대한 정보를 이용하여 두 번째 행에 대한 리드 시 천공될 비트들이 라이트된 열부터 2 개의 비트를 순차적으로 리드할 수 있다.For example, when the index 2 of the column to which the bit to be punctured is pre-stored is stored in the memory (not shown) as information on the position of the column in which one of 2 = mod (6, 4) bits is written, Can sequentially read two bits from the column in which the bits to be punctured in the read operation for the second row are written using the information on the previously stored position.

즉, 인터리버(110)는 두 번째 행의 경우, 두 번째 열에 라이트된 x5를 리드하고 두 번째 열과 순차적으로 인접한 세 번째 열에 라이트된 x9를 리드하고, 나머지 열들에 라이트된 비트들을 순차적으로 리드할 수 있다. That is, in the case of the second row, the interleaver 110 reads x 5 written in the second column, reads x 9 written in the third column sequentially adjacent to the second column, and sequentially writes the bits written in the remaining columns can do.

이에 따라, 인터리버(110)에서 [x0,x4,x8,x12,x5,x9,...] 순으로 비트들이 출력될 수 있으며, 결국, 천공부(120)에 의해 인터리버(110)에서 출력되는 비트들 중 x0,x4,x8,x12,x5,x9가 천공될 수 있다.Accordingly, the bits may be outputted in the order of [x 0 , x 4 , x 8 , x 12 , x 5 , x 9 , ...] in the interleaver 110, X 0 , x 4 , x 8 , x 12 , x 5 , and x 9 of the bits output from the demodulator 110 may be punctured.

한편, 상술한 예에서는 인터리버(110)가 메모리(미도시)를 이용하여 리드 동작을 수행하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 메모리(미도시)에는 천공될 비트들에 대한 인덱스가 기저장된 경우, 천공부(120)는 인터리버(110)에서 출력되는 부호어 비트들 중에서 메모리(미도시)에 기저장된 인덱스를 갖는 비트들을 천공할 수도 있다.In the above example, the interleaver 110 performs the read operation using a memory (not shown), but this is merely an example. In other words, when an index of bits to be punctured is stored in a memory (not shown), the puncturing unit 120 extracts bits having an index pre-stored in a memory (not shown) among codeword bits output from the interleaver 110, Lt; / RTI &gt;

도 9는 본 발명의 일 실시 예에 따른 천공 방법을 설명하기 위한 흐름도이다. 9 is a flowchart illustrating a puncturing method according to an embodiment of the present invention.

먼저, 복수의 열 및 행으로 구성된 인터리버를 이용하여 입력되는 부호어 비트들을 상기 복수의 열에 라이트하고, 상기 부호어 비트들이 라이트된 복수의 열의 각 행을 리드하여 인터리빙을 수행한다(S910).In operation S910, codeword bits input into the plurality of columns are written using an interleaver configured by a plurality of columns and rows, and each row of the plurality of columns in which the codeword bits are written is read and interleaved.

구체적으로, 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 행까지 입력되는 부호어 비트들을 순차적으로 라이트할 수 있다. 그리고, 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬한 후, 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드할 수 있다.Specifically, codeword bits input from the first row to the last row of the last column of the first column among the plurality of columns can be sequentially written. Then, the codeword bits can be rearranged in the order of the plurality of columns in which the codeword bits are written, and then the codeword bits written in each row of the plurality of ordered columns can be sequentially read.

이후, 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공한다(S920). 이 경우, 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공할 수 있다.Thereafter, a predetermined number of bits are punctured from the bits output from the interleaver (S920). In this case, it is possible to sequentially puncture a predetermined number of bits out of the bits output from the interleaver.

한편, 입력되는 부호어 비트들을 인터리빙하고 이를 천공하는 구체적인 방법에 대해서는 상술한 바 있다.Concrete methods for interleaving and puncturing the input codeword bits have been described above.

한편, 본 발명에 따른 천공 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다. Meanwhile, a non-transitory computer readable medium having a program for sequentially performing the puncturing method according to the present invention may be provided.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.A non-transitory readable medium is a medium that stores data for a short period of time, such as a register, cache, memory, etc., but semi-permanently stores data and is readable by the apparatus. In particular, various applications or programs may be stored on non-volatile readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM,

또한, 천공 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 천공 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 천공 장치에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다. Also, although a bus is not shown in the above-described block diagram of the punching apparatus, the communication between the respective elements in the punching apparatus may be performed through a bus. The punching apparatus may further include a processor such as a CPU, a microprocessor, or the like that performs the various steps described above.

또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

100 : 천공 장치 110 : 인터리버
120 : 천공부
100: Perforation device 110: Interleaver
120: Thorough study

Claims (8)

천공 장치에 있어서,
복수의 열 및 행로 구성되어, 입력되는 부호어 비트들을 상기 복수의 열에 라이트(write)하고, 상기 부호어 비트들이 라이트된 복수의 열의 각 행을 리드(read)하여 인터리빙을 수행하는 인터리버; 및,
상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공(puncturing)하는 천공부;를 포함하는 천공 장치.
In the punching apparatus,
An interleaver configured by a plurality of columns and rows for writing input codeword bits to the plurality of columns and for reading each row of the plurality of columns in which the codeword bits are written to perform interleaving; And
And a puncturing unit puncturing a predetermined number of bits among the bits output from the interleaver.
제1항에 있어서,
상기 인터리버는,
상기 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 행까지 상기 입력되는 부호어 비트들을 순차적으로 라이트하는 것을 특징으로 하는 천공 장치.
The method according to claim 1,
The interleaver includes:
And sequentially writes the input codeword bits from the first row of the first column to the last row of the last column of the plurality of columns.
제1항에 있어서,
상기 인터리버는,
상기 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬한 후, 상기 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드하는 것을 특징으로 하는 천공 장치.
The method according to claim 1,
The interleaver includes:
Rearranges the order of the plurality of columns in which the codeword bits are written, and sequentially reads the codeword bits written into each row of the plurality of columns in which the order is rearranged.
제1항에 있어서,
상기 천공부는,
상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공하는 것을 특징으로 하는 천공 장치.
The method according to claim 1,
Wherein the perforations
And punctures a predetermined number of bits sequentially out of bits output from the interleaver.
천공 장치의 천공 방법에 있어서,
복수의 열 및 행로 구성된 인터리버를 이용하여 입력되는 부호어 비트들을 상기 복수의 열에 라이트(write)하고, 상기 부호어 비트들이 라이트된 복수의 열의 각 행을 리드(read)하여 인터리빙을 수행하는 단계; 및,
상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 천공(puncturing)하는 단계;를 포함하는 천공 방법.
In the punching method of the punching apparatus,
Writing interleaved codeword bits into the plurality of columns using an interleaver configured by a plurality of columns and rows and reading and interleaving each row of the plurality of columns in which the codeword bits are written; And
Puncturing a predetermined number of bits among the bits output from the interleaver.
제5항에 있어서,
상기 인터리빙을 수행하는 단계는,
상기 복수의 열 중 첫 번째 열의 첫 번째 행부터 마지막 열의 마지막 행까지 상기 입력되는 부호어 비트들을 순차적으로 라이트하는 것을 특징으로 하는 천공 방법.
6. The method of claim 5,
The step of performing the interleaving includes:
Wherein the input codeword bits are sequentially written from the first row of the first column to the last row of the last column of the plurality of columns.
제5항에 있어서,
상기 인터리빙을 수행하는 단계는,
상기 부호어 비트들이 라이트된 복수의 열의 순서를 재정렬한 후, 상기 순서가 재정렬된 복수의 열의 각 행에 라이트된 부호어 비트들을 순차적으로 리드하는 것을 특징으로 하는 천공 방법.
6. The method of claim 5,
The step of performing the interleaving includes:
And rearranging the order of the plurality of columns in which the codeword bits are written, and sequentially reading the codeword bits written into each row of the plurality of columns in which the order is rearranged.
제5항에 있어서,
상기 천공하는 단계는,
상기 인터리버에서 출력되는 비트들 중에서 기설정된 개수의 비트를 순차적으로 천공하는 것을 특징으로 하는 천공 방법.

6. The method of claim 5,
Wherein the boring comprises:
And puncturing a predetermined number of bits sequentially out of bits output from the interleaver.

KR1020140058327A 2014-05-15 2014-05-15 Puncturing apparatus and puncturing method thereof KR102157667B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140058327A KR102157667B1 (en) 2014-05-15 2014-05-15 Puncturing apparatus and puncturing method thereof
US14/604,138 US9641198B2 (en) 2014-05-15 2015-01-23 Interleaving and puncturing apparatus and method thereof
US15/581,377 US10461778B2 (en) 2014-05-15 2017-04-28 Interleaving and puncturing apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140058327A KR102157667B1 (en) 2014-05-15 2014-05-15 Puncturing apparatus and puncturing method thereof

Publications (2)

Publication Number Publication Date
KR20150131540A true KR20150131540A (en) 2015-11-25
KR102157667B1 KR102157667B1 (en) 2020-09-18

Family

ID=54539371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140058327A KR102157667B1 (en) 2014-05-15 2014-05-15 Puncturing apparatus and puncturing method thereof

Country Status (2)

Country Link
US (2) US9641198B2 (en)
KR (1) KR102157667B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190129134A (en) * 2017-04-10 2019-11-19 퀄컴 인코포레이티드 Efficient Interleaver Design for Polar Codes
KR20200003185A (en) * 2017-05-05 2020-01-08 지티이 코포레이션 Method and apparatus, device, and storage medium for sequence determination
KR20200016380A (en) * 2017-06-16 2020-02-14 후아웨이 테크놀러지 컴퍼니 리미티드 Rate Matching Method and Apparatus and Raid De-Matching Method and Apparatus
US10608667B2 (en) 2017-02-28 2020-03-31 Research & Business Foundation Sungkyunkwan University Method of low complexity SCL decoding for polar codes and apparatus thereof

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171204B2 (en) 2016-05-13 2019-01-01 Mediatek Inc. Coded bit puncturing for polar codes
WO2017206055A1 (en) * 2016-05-31 2017-12-07 华为技术有限公司 Puncturing method and device
US10291264B2 (en) 2016-06-17 2019-05-14 Huawei Technologies Co., Ltd. Systems and methods for rate matching when using general polar codes
US10579452B2 (en) * 2016-06-17 2020-03-03 Huawei Technologies Co., Ltd. Systems and methods for rate matching via a heterogeneous kernel when using general polar codes
EP3273602B1 (en) * 2016-07-19 2022-01-26 MediaTek Inc. Low complexity rate matching design for polar codes
CN109075803B (en) * 2016-07-27 2020-11-06 华为技术有限公司 Polar code encoding with puncturing, shortening and extension
CN107733554B (en) 2016-08-11 2020-09-25 华为技术有限公司 Rate matching method and device for polar code
CN114884611A (en) * 2016-08-11 2022-08-09 华为技术有限公司 Method, device and equipment for polarization coding
CN109644006B (en) 2016-08-12 2021-09-14 华为技术有限公司 Apparatus and method for encoding data and decoding data
CN117375766A (en) * 2016-09-14 2024-01-09 华为技术有限公司 Information transmission method, transmitting terminal equipment and receiving terminal equipment
WO2018152694A1 (en) 2017-02-22 2018-08-30 Qualcomm Incorporated Mutual-information based recursive polar code construction
US10476525B2 (en) * 2017-01-09 2019-11-12 Qualcomm Incorporated Low latency bit-reversed polar codes
US10312946B2 (en) * 2017-02-06 2019-06-04 Mitsubishi Electric Research Laboratories, Inc. Soft-output decoding of codewords encoded with polar code
CN110249539B (en) 2017-02-06 2023-07-04 联发科技股份有限公司 Polar code interleaving and bit selection
WO2018145242A1 (en) 2017-02-07 2018-08-16 Qualcomm Incorporated A low complexity puncturing method for low-rate polar codes
CN109644008B (en) * 2017-02-10 2023-06-20 瑞典爱立信有限公司 Circular buffer rate matching for polar codes
CN108574561B (en) * 2017-03-14 2020-11-17 华为技术有限公司 Method and device for coding polarization code
KR20200002799A (en) 2017-03-22 2020-01-08 아이디에이씨 홀딩스, 인크. Subblock Interleaving for Polar Coding Systems, Procedures and Signals
CN109412608B (en) 2017-03-24 2019-11-05 华为技术有限公司 Polar coding method and code device, interpretation method and code translator
CN109150397B (en) * 2017-03-24 2019-08-27 华为技术有限公司 A kind of method and device constructing polarization code sequence
CN115173992A (en) 2017-03-25 2022-10-11 华为技术有限公司 Method and device for rate matching
CN108809482B (en) * 2017-04-28 2023-09-01 华为技术有限公司 Rate matching method and device for Polar codes
KR102394139B1 (en) * 2017-06-16 2022-05-04 삼성전자 주식회사 Method for generating a sequence for a polar code and medium therefor and method and apparatus for transmitting data using thereof
US10742350B2 (en) 2017-06-19 2020-08-11 Samsung Electronics Co., Ltd. Method and apparatus of rate-matching for communication and broadcasting systems
KR102378324B1 (en) 2017-06-19 2022-03-25 삼성전자 주식회사 Method and apparatus of rate-matching for communication and broadcasting systems
CN107342846B (en) 2017-06-27 2023-01-13 华为技术有限公司 Coding method, wireless device and chip
BR112020001893A2 (en) * 2017-08-04 2020-07-28 Qualcomm Incorporated efficient interleaver designs for polar codes
US10903938B2 (en) * 2017-08-21 2021-01-26 Mediatek Inc. Techniques of additional bit freezing for polar codes with rate matching
WO2019037841A1 (en) * 2017-08-23 2019-02-28 Huawei Technologies Co., Ltd. Device and method for generating a multi-kernel polar code
CN109525255B (en) * 2017-09-18 2022-04-05 华为技术有限公司 Interleaving method and interleaving apparatus
US10666392B2 (en) * 2018-03-29 2020-05-26 Huawei Technologies Co., Ltd. Apparatus and methods for rate matching in polar coding
WO2019191923A1 (en) * 2018-04-04 2019-10-10 Qualcomm Incorporated Techniques and apparatuses for codeword bit selection for rate-compatible polar coding
CN108880752B (en) * 2018-06-15 2021-05-25 安徽大学 Polarization code puncture communication method for information bit fixing situation
KR20210099388A (en) 2020-02-04 2021-08-12 한국전자통신연구원 Ldpc decoding method and ldpc decoding apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617770B1 (en) * 2003-12-24 2006-08-28 삼성전자주식회사 Improved channel coding method and device
KR20080112088A (en) * 2007-06-20 2008-12-24 엘지전자 주식회사 Method of performing interleaving
KR20140035386A (en) * 2011-06-15 2014-03-21 소니 주식회사 Data processor and data-processing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10030407B4 (en) * 1999-07-14 2011-09-01 Lg Electronics Inc. Method for optimal rate adaptation in a mobile communication system
JP4097852B2 (en) * 1999-08-26 2008-06-11 株式会社フィリップスエレクトロニクスジャパン Data writing / reading method, deinterleaving method, data processing method, memory, and memory driving device
US7586993B2 (en) * 2001-12-06 2009-09-08 Texas Instruments Incorporated Interleaver memory selectably receiving PN or counter chain read address
AU2002342666A1 (en) * 2002-09-09 2004-04-30 Telefonaktiebolaget Lm Ericsson (Publ) Speed and memory optimised interleaving
US7139862B2 (en) * 2003-02-24 2006-11-21 Nokia Corporation Interleaving method and apparatus with parallel access in linear and interleaved order

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617770B1 (en) * 2003-12-24 2006-08-28 삼성전자주식회사 Improved channel coding method and device
KR20080112088A (en) * 2007-06-20 2008-12-24 엘지전자 주식회사 Method of performing interleaving
KR20140035386A (en) * 2011-06-15 2014-03-21 소니 주식회사 Data processor and data-processing method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608667B2 (en) 2017-02-28 2020-03-31 Research & Business Foundation Sungkyunkwan University Method of low complexity SCL decoding for polar codes and apparatus thereof
KR20190129134A (en) * 2017-04-10 2019-11-19 퀄컴 인코포레이티드 Efficient Interleaver Design for Polar Codes
KR20200130524A (en) * 2017-04-10 2020-11-18 퀄컴 인코포레이티드 An efficient interleaver design for polar codes
US11558149B2 (en) 2017-04-10 2023-01-17 Qualcomm Incorporated Efficient interleaver design for polar codes
KR20200003185A (en) * 2017-05-05 2020-01-08 지티이 코포레이션 Method and apparatus, device, and storage medium for sequence determination
KR20210054596A (en) * 2017-05-05 2021-05-13 지티이 코포레이션 Method and apparatus for sequence determination, device and storage medium
US11271592B2 (en) 2017-05-05 2022-03-08 Zte Corporation Method and apparatus for sequence determination, device and storage medium
JP2022037127A (en) * 2017-05-05 2022-03-08 中興通訊股▲ふん▼有限公司 Sequence determination method and apparatus, device, and storage medium
KR20200016380A (en) * 2017-06-16 2020-02-14 후아웨이 테크놀러지 컴퍼니 리미티드 Rate Matching Method and Apparatus and Raid De-Matching Method and Apparatus
US11265018B2 (en) 2017-06-16 2022-03-01 Huawei Technologies Co., Ltd. Method and device for transmitting data
US11689220B2 (en) 2017-06-16 2023-06-27 Huawei Technologies Co., Ltd. Method and device for interleaving data

Also Published As

Publication number Publication date
US20170230063A1 (en) 2017-08-10
KR102157667B1 (en) 2020-09-18
US10461778B2 (en) 2019-10-29
US20150333769A1 (en) 2015-11-19
US9641198B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
KR20150131540A (en) puncturing apparatus and puncturing method thereof
Gabrys et al. Asymmetric Lee distance codes for DNA-based storage
CN107305586B (en) Index generation method, index generation device and search method
RU2015103856A (en) DATA PROCESSING DEVICE AND DATA PROCESSING METHOD
US8438448B2 (en) Decoding method and device for low density generator matrix codes
GB2583040A (en) Data object rewrite to sequential storage media
RU2015132106A (en) DATA PROCESSING DEVICE AND DATA PROCESSING METHOD
JP2021508138A5 (en)
KR102098202B1 (en) Encoding apparatus and encoding method thereof
RU2010134401A (en) METHOD AND DEVICE FOR CODING AND DECODING A CHANNEL IN THE SYSTEM OF COMMUNICATION WITH THE USE OF CODES WITH A LOW DENSITY OF CHECKS FOR PARITY
CN105827251A (en) Parity check code encoder
RU2011115420A (en) DEVICE AND METHOD OF DATA PROCESSING AND PROGRAM
CN105975607A (en) Picture storing and reading methods and picture storing system
WO2012163070A1 (en) Two-dimensional run-length limited codec with protection characters and method for using same
RU2015145972A (en) DATA PROCESSING DEVICE AND DATA PROCESSING METHOD
CN103051341A (en) Data encoding device, data encoding method, data decoding device and data decoding method
CN109840162A (en) Memory device and its operating method
WO2015116136A1 (en) Data storing in memory arrays
Tang et al. Error-correcting codes for short tandem duplication and edit errors
EP3136607A1 (en) A method and a system for encoding and decoding of suffix tree and searching within encoded suffix tree
JP3515036B2 (en) Interleaving method, interleaving device, turbo coding method, and turbo coding device
CN116707540A (en) Rate matching processing method and device for Polar codes
JP2007158463A (en) Interleave method, interleave device and deinterleave device
WO2015133095A1 (en) Apparatus for generating parity check code, coding method, coding apparatus, and storage medium
CN113839678A (en) Huffman decoding system, method, equipment and computer readable storage medium

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