KR102509968B1 - Apparatus and method of transmission using harq in communication or broadcasting system - Google Patents

Apparatus and method of transmission using harq in communication or broadcasting system Download PDF

Info

Publication number
KR102509968B1
KR102509968B1 KR1020170128254A KR20170128254A KR102509968B1 KR 102509968 B1 KR102509968 B1 KR 102509968B1 KR 1020170128254 A KR1020170128254 A KR 1020170128254A KR 20170128254 A KR20170128254 A KR 20170128254A KR 102509968 B1 KR102509968 B1 KR 102509968B1
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
bits
ldpc
index
Prior art date
Application number
KR1020170128254A
Other languages
Korean (ko)
Other versions
KR20180107703A (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
Priority claimed from KR1020170101937A external-priority patent/KR20180107692A/en
Priority claimed from KR1020170116133A external-priority patent/KR20180107701A/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to PCT/KR2018/003311 priority Critical patent/WO2018174569A1/en
Priority to CN202111612568.5A priority patent/CN114553368B/en
Priority to CN201880020044.7A priority patent/CN110476381B/en
Priority to US15/933,220 priority patent/US10554337B2/en
Publication of KR20180107703A publication Critical patent/KR20180107703A/en
Priority to US16/752,134 priority patent/US11018805B2/en
Priority to US17/303,223 priority patent/US11677497B2/en
Publication of KR102509968B1 publication Critical patent/KR102509968B1/en
Application granted granted Critical
Priority to US18/332,452 priority patent/US12068851B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 본 발명은 LDCP 코드를 이용해 인코딩된 데이터에 HARQ를 적용할 경우 효과적인 재전송을 위한 방법을 개시한다. 본 발명은 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하는 단계, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하는 단계를 포함한다.The present disclosure relates to a 5G or pre-5G communication system for supporting a higher data rate after a 4G communication system such as LTE. The present invention discloses a method for effective retransmission when HARQ is applied to data encoded using an LDCP code. The present invention includes the steps of initially transmitting data encoded with a low density parity check (LDPC) code to a receiver, receiving a negative acknowledgment (NACK) from the receiver, determining retransmission related information for data retransmission, and the above and retransmitting data encoded with the LDPC code in response to the NACK based on retransmission related information.

Description

통신 또는 방송 시스템에서 HARQ 적용시 전송 방법 및 장치{APPARATUS AND METHOD OF TRANSMISSION USING HARQ IN COMMUNICATION OR BROADCASTING SYSTEM}Transmission method and apparatus when HARQ is applied in a communication or broadcasting system

본 발명은 통신 또는 방송 시스템에서 HARQ를 적용한 전송 방법 및 장치에 관한 것이다.The present invention relates to a transmission method and apparatus to which HARQ is applied in a communication or broadcasting system.

4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다.Efforts are being made to develop an improved 5G communication system or pre-5G communication system to meet the growing demand for wireless data traffic after the commercialization of the 4G communication system. For this reason, the 5G communication system or pre-5G communication system is being called a system after a 4G network (Beyond 4G Network) communication system or an LTE system (Post LTE).

높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.In order to achieve a high data rate, the 5G communication system is being considered for implementation in a mmWave band (eg, a 60 gigabyte (60 GHz) band). In order to mitigate the path loss of radio waves and increase the propagation distance of radio waves in the ultra-high frequency band, beamforming, massive MIMO, and Full Dimensional MIMO (FD-MIMO) are used in 5G communication systems. ), array antenna, analog beam-forming, and large scale antenna technologies are being discussed.

또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다. In addition, to improve the network of the system, in the 5G communication system, an evolved small cell, an advanced small cell, a cloud radio access network (cloud RAN), and an ultra-dense network , Device to Device communication (D2D), wireless backhaul, moving network, cooperative communication, Coordinated Multi-Points (CoMP), and interference cancellation etc. are being developed.

이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.In addition, in the 5G system, advanced coding modulation (Advanced Coding Modulation: ACM) methods FQAM (Hybrid FSK and QAM Modulation) and SWSC (Sliding Window Superposition Coding), advanced access technologies FBMC (Filter Bank Multi Carrier), NOMA (non-orthogonal multiple access), SCMA (sparse code multiple access), and the like are being developed.

통신/방송 시스템에서, 링크(link) 성능은 채널의 여러 가지 잡음(noise), 페이딩(fading) 현상 및 심벌 간 간섭(inter-symbol interference, ISI)에 의해 현저히 저하될 수 있다. 따라서 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신/방송 시스템들을 구현하기 위해서 잡음, 페이딩 및 심벌 간 간섭을 극복하기 위한 기술을 개발하는 것이 요구된다. 잡음 등을 극복하기 위한 연구의 일환으로 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호 (error correcting code)에 대한 연구가 활발히 이루어지고 있다.In a communication/broadcasting system, link performance can be significantly degraded by various noise, fading, and inter-symbol interference (ISI) of a channel. Therefore, it is required to develop a technology for overcoming noise, fading, and inter-symbol interference in order to implement high-speed digital communication/broadcasting systems that require high data throughput and reliability, such as next-generation mobile communication, digital broadcasting, and portable Internet. As part of research to overcome noise, etc., research on error correcting codes has been actively conducted recently as a method for increasing communication reliability by efficiently restoring distortion of information.

본 발명은 설계된 패리티 검사 행렬로부터 다양한 부호어 길이를 지원하는 LDPC 부호화 및 복호화 방법 및 장치를 제공한다. 또한 본 발명은 LDPC 부호를 기반으로 하는 HARQ 전송 방법 및 장치를 제공한다. The present invention provides an LDPC encoding and decoding method and apparatus supporting various codeword lengths from a designed parity check matrix. In addition, the present invention provides an HARQ transmission method and apparatus based on an LDPC code.

상기와 같은 문제점을 해결하기 위한 본 발명은 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하는 단계, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하는 단계를 포함하는 것을 특징으로 한다. The present invention for solving the above problems is the step of initially transmitting data encoded with LDPC (Low Density Parity Check) code to a receiver, receiving a negative acknowledgment (NACK) from the receiver, retransmission for data retransmission The method may include determining information, and retransmitting data encoded with the LDPC code in response to the NACK based on the retransmission related information.

또한 수신기의 데이터 수신 방법에 있어서, LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 송신기로부터 수신하는 단계, 상기 데이터 디코딩 결과에 기반해 상기 송신기로 부정 수신 확인(NACK)을 전송하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 정보를 기반으로 상기 NACK에 대응해 재전송되는 상기 LDPC 코드로 인코딩된 데이터를 재수신하는 단계를 포함하는 것을 특징으로 한다. In addition, in a method for receiving data by a receiver, receiving data encoded with a low density parity check (LDPC) code from a transmitter, transmitting a negative acknowledgment (NACK) to the transmitter based on a result of decoding the data, Retransmitting data Determining retransmission related information for the retransmission, and retransmitting data encoded with the LDPC code retransmitted in response to the NACK based on the retransmission information.

또한, 데이터를 전송하는 송신기에 있어서, 수신기와 신호를 송수신하는 송수신부 및 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하고, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하고, 데이터 재전송을 위한 재전송 관련 정보를 결정하고, 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하도록 제어하는 제어부를 포함하는 것을 특징으로 한다. In addition, in a transmitter for transmitting data, a transmitter and receiver for transmitting and receiving a signal with a receiver and data encoded with an LDPC (Low Density Parity Check) code are initially transmitted to the receiver, and a negative acknowledgment (NACK) is received from the receiver, and a control unit that determines retransmission-related information for data retransmission and controls data encoded with the LDPC code to be retransmitted in response to the NACK based on the retransmission-related information.

또한, 데이터를 수신하는 수신기에 있어서, 송신기와 신호를 송수신하는 송수신부 및 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 송신기로부터 수신하고, 상기 데이터 디코딩 결과에 기반해 상기 송신기로 부정 수신 확인(NACK)을 전송하고, 데이터 재전송을 위한 재전송 관련 정보를 결정하고, 상기 재전송 정보를 기반으로 상기 NACK에 대응해 재전송되는 상기 LDPC 코드로 인코딩된 데이터를 재수신하도록 제어하는 제어부를 포함하는 것을 특징으로 한다. In addition, in a receiver for receiving data, a transceiver for transmitting and receiving a signal with a transmitter and receiving data encoded with a low density parity check (LDPC) code from the transmitter, and based on a result of decoding the data, the transmitter confirms negative reception ( NACK), determines retransmission-related information for data retransmission, and controls retransmission of data encoded with the LDPC code retransmitted in response to the NACK based on the retransmission information. do.

본 발명은 가변 길이와 가변 레이트에 대해 적용할 수 있는 LDPC 부호를 기반으로 HARQ 방식을 지원할 수 있다.The present invention can support a HARQ scheme based on an LDPC code applicable to a variable length and variable rate.

도 1은 시스테메틱(systematic) LDPC 부호어 구조도를 도시한 도면이다.
도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 태너 그래프(tanner graph)로 도시한 도면이다.
도 3은 패리티 검사 행렬의 기본적인 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 송신 장치의 블록 구성도이다.
도 5 는 본 발명의 일 실시 예에 따른 수신 장치의 블록 구성도이다.
도 6a 및 6b는 본 발명에서 사용되는 LDPC 패리티 검사 행렬의 특징을 기술한 도면이다.
도 7a 및 7b는 LDPC 복호화를 위해 임의의 검사 노드와 변수 노드에서 수행되는 메시지 패싱 동작을 도시한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 9a 및 9b는 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 10은 LDPC 부호어 및 상기 재전송을 위한 기설정된 특정 비트의 위치를 도시한 도면이다.
도 11a 및 11b는 부호율에 따라 재전송시 중복되는 부호어를 도시한 도면이다.
도 11c는 인터리버를 달리 사용하는 경우에 전송되는 부호어를 도시한 도면이다.
도 12a 및 12b는 초기 부호율에 따라 재전송 시작점을 결정하는 방법을 도시한 도면이다.
도 13a는 본 발명에 따른 rv 값의 위치를 결정하는 방법을 기술한 순서도이다.
도 13b는 본 발명의

Figure 112017096413308-pat00001
값에 따라 전송되는 비트를 도시한 도면이다.
도 14a는 재전송되는 심볼이 동일한 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 14b는 재전송되는 심볼이 동일하지 않을 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 15는 각 심볼마다 순환 쉬프트를 적용하는 방법을 도시한 도면이다.
도 16a는 본 발명을 수행하는 장치를 도시한 블록도이다.
도 16b는 본 발명의 실시예에 따른 변조 심볼 매핑 방법을 도시한 순서도이다.
도 17은 본 발명의 실시예에 따른 데이터 재전송 방법을 도시한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타내는 블록도이다.
도 19는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타내는 블록도이다.
도 20은 본 발명의 실시예에 따른 복호화 장치를 도시한 블록도이다.
도 21 및 22는 본 발명의 실시예에 따라 동작할 수 있는 송신기 및 수신기를 도시한 도면이다.
도 23은 본 발명에 따라 신호 전송시 특정 BLER을 만족시키는 SNR 값을 도시한 도면이다.
도 24는 블록 인터리버를 도시한 도면이다.
도 25는 본 발명에 따른 송신 순서를 도시한 도면이다. 1 is a diagram showing a structure of a systematic LDPC codeword.
2 is a diagram showing an example of a parity check matrix H1 of an LDPC code having 4 rows and 8 columns and a Tanner graph thereof.
3 is a diagram showing the basic structure of a parity check matrix.
4 is a block diagram of a transmission device according to an embodiment of the present invention.
5 is a block diagram of a receiving device according to an embodiment of the present invention.
6A and 6B are diagrams describing characteristics of the LDPC parity check matrix used in the present invention.
7A and 7B are diagrams illustrating a message passing operation performed in an arbitrary check node and a variable node for LDPC decoding.
8 is a flowchart illustrating a transmission method according to an embodiment of the present invention.
9a and 9b are flowcharts illustrating a transmission method according to an embodiment of the present invention.
FIG. 10 is a diagram showing positions of LDPC codewords and preset specific bits for the retransmission.
11A and 11B are diagrams illustrating overlapping codewords upon retransmission according to code rates.
11C is a diagram illustrating codewords transmitted when an interleaver is used differently.
12A and 12B are diagrams illustrating a method of determining a retransmission start point according to an initial code rate.
13A is a flowchart illustrating a method for determining the location of an rv value according to the present invention.
Figure 13b is the present invention
Figure 112017096413308-pat00001
It is a diagram showing bits transmitted according to values.
14A is a diagram illustrating a modulation symbol mapping method when retransmitted symbols are the same.
14B is a diagram illustrating a modulation symbol mapping method when retransmitted symbols are not identical.
15 is a diagram illustrating a method of applying a cyclic shift to each symbol.
16A is a block diagram illustrating an apparatus for implementing the present invention.
16B is a flowchart illustrating a modulation symbol mapping method according to an embodiment of the present invention.
17 is a diagram illustrating a data retransmission method according to an embodiment of the present invention.
18 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention.
19 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.
20 is a block diagram illustrating a decryption apparatus according to an embodiment of the present invention.
21 and 22 are diagrams illustrating a transmitter and receiver capable of operating in accordance with an embodiment of the present invention.
23 is a diagram showing SNR values satisfying a specific BLER during signal transmission according to the present invention.
24 is a diagram illustrating a block interleaver.
25 is a diagram showing a transmission sequence according to the present invention.

이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. And, in describing the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

본 발명의 주요한 요지는 유사한 기술적 배경을 가지는 여타의 시스템에도 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 발명의 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.The main gist of the present invention can be applied to other systems having similar technical backgrounds with slight modifications within the scope of the present invention, which is the judgment of a person skilled in the art of the present invention. It will be possible.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.

1960년대에 Gallager에 의해서 처음 소개된 저밀도 패리티 체크(Low Density Parity Check, 이하 LDPC) 부호는 당시 기술 수준에서 구현하기 어려운 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 제안된 터보(turbo) 부호가 셰논(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 LDPC 부호가 재연구되면서 LDPC 부호에 대응되는 태너(Tanner) 그래프 상에서 합-곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 LDPC 부호 또한 셰논의 채널 용량에 근접하는 성능을 가지게 됨이 밝혀졌다. Low Density Parity Check (LDPC) codes, first introduced by Gallager in the 1960s, have long been forgotten due to complexity that was difficult to implement at the technical level at the time. However, iterative decoding ( A lot of research has been conducted on iterative decoding) and graph-based channel coding. Taking this as an opportunity, as the LDPC code was re-researched in the late 1990s, when decoding is performed by applying iterative decoding based on the sum-product algorithm on the Tanner graph corresponding to the LDPC code, the LDPC code is obtained. It has also been found to have performance approaching Shannon's channel capacity.

LDPC 부호는 일반적으로 패리티 검사 행렬(parity-check matrix)로 정의되며 태너 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다. An LDPC code is generally defined as a parity-check matrix and can be expressed using a bipartite graph commonly referred to as a Tanner graph.

도 1은 시스테메틱(systematic) LDPC 부호어 구조도를 도시한 도면이다.1 is a diagram showing a structure of a systematic LDPC codeword.

도 1에 따르면, LDPC 부호는 Kldpc 개 비트 혹은 심볼로 구성되어 있는 정보어(102)를 입력받아 LDPC 부호화를 하여 Nldpc 개 비트 혹은 심볼로 구성되어 있는 부호어(100)(codeword)를 생성한다. 이하 설명의 편의를 위해, Kldpc 개 비트를 포함하는 정보어(102)를 입력받아 Nldpc 개 비트로 구성되는 부호어(100)가 생성되는 것으로 가정한다. 즉, Kldpc 개의 입력 비트인 정보어

Figure 112017096413308-pat00002
(102)를 LDPC 부호화하면, 부호어
Figure 112017096413308-pat00003
(100)가 생성된다. 즉, 부호어는 다수의 비트로 구성되어 있는 비트열이며, 부호어 비트는 부호어를 구성하는 각각의 비트를 의미한다. 또한, 정보어는 다수의 비트로 구성되어 있는 비트열이며, 정보어 비트는 정보어를 구성하는 각각의 비트를 의미한다. 이때, 시스테메틱 부호인 경우, 부호어
Figure 112017096413308-pat00004
로 구성된다. 여기에서,
Figure 112017096413308-pat00005
는 패리티 비트(104)이고, 패리티 비트의 개수 Nparity는 Nparity=Nldpc - Kldpc이다.According to FIG. 1, the LDPC code receives an information word 102 composed of K ldpc bits or symbols, performs LDPC encoding, and generates a codeword 100 (codeword) composed of N ldpc bits or symbols do. For convenience of description below, it is assumed that the codeword 100 composed of N ldpc bits is generated by receiving the information word 102 including K ldpc bits. That is, an information word that is K ldpc input bits
Figure 112017096413308-pat00002
If (102) is LDPC-encoded, the codeword
Figure 112017096413308-pat00003
(100) is created. That is, the codeword is a bit string composed of a plurality of bits, and the codeword bits refer to each bit constituting the codeword. In addition, the information word is a bit string composed of a plurality of bits, and the information word bits mean each bit constituting the information word. In this case, in the case of a systematic code, a codeword
Figure 112017096413308-pat00004
consists of From here,
Figure 112017096413308-pat00005
is the parity bit 104, and the number of parity bits N parity is N parity = N ldpc - K ldpc .

LDPC 부호는 선형 블록 부호(linear block code)의 일종으로 아래의 수학식 1과 같은 조건을 만족하는 부호어를 결정하는 과정을 포함한다.The LDPC code is a type of linear block code and includes a process of determining a codeword that satisfies the condition of Equation 1 below.

[수학식 1][Equation 1]

Figure 112017096413308-pat00006
Figure 112017096413308-pat00006

여기에서,

Figure 112017096413308-pat00007
이다. From here,
Figure 112017096413308-pat00007
am.

수학식 1에서, H는 패리티 검사 행렬, C는 부호어, ci는 부호어의 i 번째 비트, Nldpc는 부호어 길이를 의미한다. 여기서 hi는 패리티 검사 행렬(H)의 i번째 열(column)을 의미한다. In Equation 1, H is a parity check matrix, C is a codeword, c i is the i th bit of the codeword, and N ldpc is the length of the codeword. Here, h i means the i-th column of the parity check matrix H.

패리티 검사 행렬 H는 LDPC 부호어의 비트 개수와 동일한 Nldpc 개의 열(column)로 구성되어 있다. 수학식 1은 패리티 검사 행렬의 i 번째 열(hi)과 i 번째 부호어 비트 ci의 곱의 합이 '0'이 됨을 의미하므로, i 번째 열(hi)은 i 번째 부호어 비트 ci와 관계가 있음을 의미한다.The parity check matrix H is composed of N ldpc columns equal to the number of bits of the LDPC codeword. Equation 1 means that the sum of the products of the ith column (h i ) of the parity check matrix and the ith codeword bit c i is '0', so the ith column (h i ) is the ith codeword bit c It means that there is a relationship with i .

도 2를 참조하여 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다.Referring to FIG. 2, a method of representing a graph of an LDPC code will be described.

도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 태너 그래프(Tanner graph)로 도시한 도면이다. 도 2를 참조하면, 패리티 검사 행렬 H1은 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하며, H1을 통해 생성된 부호는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트에 대응된다. 2 is a diagram showing an example of a parity check matrix H 1 of an LDPC code having 4 rows and 8 columns and a Tanner graph thereof. Referring to FIG. 2, since the parity check matrix H 1 has 8 columns, a codeword having a length of 8 is generated. corresponds to the bit.

도 2를 참조하면, 패리티 검사 행렬 H1을 기반으로 부호화 및 복호화하는 LDPC 부호의 태너 그래프는 8 개의 변수 노드(variable node)들 즉, x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)와 4 개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, LDPC 부호의 패리티 검사 행렬 H1의 i 번째 열과 j 번째 행은 각각 변수 노드 xi와 j 번째 검사 노드에 대응된다. 또한, LDPC 부호의 패리티 검사 행렬 H1의 j 번째 열과 j 번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 도 2와 같이 태너 그래프 상에서 변수 노드 xi와 j 번째 검사 노드를 연결하는 선분(edge)이 존재함을 의미한다. Referring to FIG. 2, the Tanner graph of the LDPC code encoded and decoded based on the parity check matrix H 1 has eight variable nodes, that is, x 1 (202), x 2 (204), x 3 ( 206), x 4 (208), x 5 (210), x 6 (212), x 7 (214), x 8 (216) and 4 check nodes (218, 220, 222, 224) is composed of Here, the i-th column and the j-th row of the parity check matrix H 1 of the LDPC code correspond to the variable node x i and the j-th check node, respectively. In addition, the value of 1 at the point where the j-th column and the j-th row of the parity check matrix H 1 of the LDPC code intersect, that is, the meaning of a non-zero value is the variable node x i and the j-th check on the Tanner graph as shown in FIG. This means that there is an edge connecting the nodes.

LDPC 부호의 태너 그래프에서 변수 노드와 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 LDPC 부호의 패리티 검사 행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 도 2에서 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 도 2의 변수 노드에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 열에서 0이 아닌 원소들의 개수는 상술한 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 도 2의 검사 노드들에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 행에서 0이 아닌 원소들의 개수는 상술한 차수들 6, 5, 5, 5와 순서대로 일치한다. The degree of the variable node and the check node in the Tanner graph of the LDPC code means the number of line segments connected to each node, which means that 0 is 0 in the column or row corresponding to the node in the parity check matrix of the LDPC code. equal to the number of non-entries. For example, in FIG. 2, the variable nodes x 1 (202), x 2 (204), x 3 (206), x 4 (208), x 5 (210), x 6 (212), x 7 (214) ), x 8 The degree of 216 is 4, 3, 3, 3, 2, 2, 2, 2 in order, respectively, and the order of check nodes 218, 220, 222, 224 is 6 in order, respectively. , becomes 5, 5, 5. In addition, the number of non-zero elements in each column of the parity check matrix H 1 of FIG. 2 corresponding to the variable node of FIG. They match in order, and the number of non-zero elements in each row of the parity check matrix H 1 of FIG. 2 corresponding to the check nodes of FIG. 2 coincides with the above-mentioned orders 6, 5, 5, and 5 in order. .

LDPC 부호는 도 2에서 나열한 bipartite 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다. 여기서, 합곱 알고리즘은 메시지 패싱 알고리즘(message passing algorithm)의 일종이며, 메시지 패싱 알고리즘이라 함은 이분 그래프 상에서 에지를 통해 메시지들을 교환하고, 변수 노드 혹은 검사 노드로 입력되는 메시지들로부터 출력 메시지를 계산하여 업데이트하는 알고리즘을 나타낸다.The LDPC code can be decoded using an iterative decoding algorithm based on a sum-product algorithm on the bipartite graph listed in FIG. 2 . Here, the multiplication algorithm is a kind of message passing algorithm, and the message passing algorithm is to exchange messages through an edge on a bipartite graph, calculate an output message from messages input to a variable node or check node, and Indicates the update algorithm.

여기에서, i 번째 변수 노드의 메시지를 기반으로 i 번째 부호화 비트의 값을 결정할 수 있다. i 번째 부호화 비트의 값은 경판정(hard decision)과 연판정(soft decision) 모두 가능하다. 그러므로, LDPC 부호어의 i 번째 비트인 ci의 성능은 태너 그래프의 i 번째 변수 노드의 성능에 대응되며, 이는 패리티 검사 행렬의 i 번째 열의 1의 위치 및 개수에 따라 결정될 수 있다. 다시 말해, 부호어의 Nldpc 개의 부호어 비트들의 성능은 패리티 검사 행렬의 1의 위치 및 개수에 의해 성능이 좌우 될 수 있으며, 이는 LDPC 부호의 성능은 패리티 검사 행렬에 따라 많은 영향을 받음을 의미한다. 따라서 우수한 성능을 갖는 LDPC 부호를 설계 하기 위해서는 좋은 패리티 검사 행렬을 설계하는 방법이 필요하다. Here, the value of the i-th coded bit may be determined based on the message of the i-th variable node. The value of the i-th coded bit can be both a hard decision and a soft decision. Therefore, the performance of i-th bit c i of the LDPC codeword corresponds to the performance of the i-th variable node of the Tanner graph, which can be determined according to the position and number of 1s in the i-th column of the parity check matrix. In other words, the performance of the N ldpc codeword bits of the codeword can be influenced by the location and number of 1s in the parity check matrix, which means that the performance of the LDPC code is greatly affected by the parity check matrix. do. Therefore, in order to design an LDPC code with excellent performance, a method for designing a good parity check matrix is required.

통신 및 방송 시스템에서 사용되는 패리티 검사 행렬은 구현의 용이성을 위해 통상적으로 준순환(quasi-cyclic) 형태의 패리티 검사 행렬을 사용하는 준순환 LDPC 부호(또는 QC-LDPC 부호, 이하 QC-LDPC 부호)가 많이 사용된다. A parity check matrix used in communication and broadcasting systems is a quasi-cyclic LDPC code (or QC-LDPC code, hereinafter QC-LDPC code) that typically uses a quasi-cyclic parity check matrix for ease of implementation. is used a lot

QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬(circulant permutation matrices)로 구성된 패리티 검사 행렬을 가짐을 특징으로 한다. The QC-LDPC code is characterized by having a parity check matrix composed of a zero matrix having a form of a small square matrix or circulant permutation matrices.

다음과 같은 참조문헌 [Myung2006]을 참고하여 보다 구체적으로 QC-LDPC 부호에 대해서 설명한다. The QC-LDPC code will be described in more detail with reference to the following reference [Myung2006].

Reference [Myung2006]Reference [Myung2006]

S. Myung, K. Yang, and Y. Kim, "Lifting Methods for Quasi-Cyclic LDPC Codes," IEEE Communications Letters. vol. 10, pp. 489-491, June 2006.S. Myung, K. Yang, and Y. Kim, "Lifting Methods for Quasi-Cyclic LDPC Codes," IEEE Communications Letters. vol. 10, p. 489-491, June 2006.

상기 참조문헌[Myung2006]을 살펴보면, 다음 수학식 2와 같이

Figure 112017096413308-pat00008
크기의 순열 행렬(permutation matrix)
Figure 112017096413308-pat00009
을 정의한다. 여기서
Figure 112017096413308-pat00010
는 행렬 상기 행렬 P에서의 i번째 행(row), j번째 열(column)의 원소(entry)를 의미한다.(0 ≤i, j < L) Looking at the above reference [Myung2006], as shown in Equation 2 below:
Figure 112017096413308-pat00008
size permutation matrix
Figure 112017096413308-pat00009
define here
Figure 112017096413308-pat00010
Means an entry of the i-th row and j-th column in the matrix P of the matrix P. (0 ≤i, j < L)

[수학식 2][Equation 2]

Figure 112017096413308-pat00011
Figure 112017096413308-pat00011

상기와 같이 정의된 순열 행렬 P에 대해서

Figure 112017096413308-pat00012
(0 ≤ i < L)는
Figure 112017096413308-pat00013
크기의 항등 행렬(identity matrix)의 각 원소들을 i 번 만큼 오른쪽 방향으로 순환 이동(circular shift) 시킨 형태의 순환 순열 행렬임을 알 수 있다. For the permutation matrix P defined as above
Figure 112017096413308-pat00012
(0 ≤ i < L) is
Figure 112017096413308-pat00013
It can be seen that it is a circular permutation matrix in the form of circular shifting each element of the identity matrix of size i times in the right direction.

가장 간단한 QC-LDPC 부호의 패리티 검사 행렬 H는 다음 수학식 3와 같은 형태로 나타낼 수 있다. The parity check matrix H of the simplest QC-LDPC code can be expressed in the form of Equation 3 below.

[수학식 3][Equation 3]

Figure 112017096413308-pat00014
Figure 112017096413308-pat00014

만일

Figure 112017096413308-pat00015
Figure 112017096413308-pat00016
크기의 0-행렬이라 정의할 경우, 상기 수학식 3에서 순환 순열 행렬 또는 0-행렬의 각 지수
Figure 112017096413308-pat00017
는 {-1, 0, 1, 2, ..., L-1} 값 중에 하나를 가지게 된다. 또한 상기 수학식 3의 패리티 검사 행렬 H는 열 블록이 n개, 행 블록이 m개이므로,
Figure 112017096413308-pat00018
크기를 가지게 됨을 알 수 있다. 또한 상기 순환 순열 행렬의 크기는 ZxZ로 표현될수도 있다.if
Figure 112017096413308-pat00015
second
Figure 112017096413308-pat00016
When defined as a 0-matrix of size, each index of the cyclic permutation matrix or 0-matrix in Equation 3 above
Figure 112017096413308-pat00017
has one of the values {-1, 0, 1, 2, ..., L-1}. In addition, since the parity check matrix H of Equation 3 has n column blocks and m row blocks,
Figure 112017096413308-pat00018
It can be seen that it has a size. Also, the size of the cyclic permutation matrix may be expressed as ZxZ.

통상적으로 상기 수학식 3의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은

Figure 112017096413308-pat00019
크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix) M(H)라 하고, 각 순환 순열 행렬 또는 0-행렬의 지수만을 선택하여 수학식 4와 같이 얻은
Figure 112017096413308-pat00020
크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 E(H)라 한다. Typically obtained by replacing each cyclic permutation matrix and the 0-matrix with 1 and 0 in the parity check matrix of Equation 3 above, respectively.
Figure 112017096413308-pat00019
A binary matrix of the size is referred to as the mother matrix M(H) of the parity check matrix H, and obtained as in Equation 4 by selecting only the index of each cyclic permutation matrix or 0-matrix.
Figure 112017096413308-pat00020
The integer matrix of the size is called the exponent matrix E(H) of the parity check matrix H.

[수학식 4][Equation 4]

Figure 112017096413308-pat00021
Figure 112017096413308-pat00021

한편, 패리티 검사 행렬에 따라 LDPC 부호의 성능이 결정될 수 있다. 따라서, 우수한 성능을 갖는 LDPC 부호를 위해 패리티 검사 행렬을 설계하는 것이 필요하다. 또한 다양한 입력 길이와 부호율을 지원 할 수 있는 LDPC 부호화 및 복호화 방법이 필요하다.Meanwhile, the performance of the LDPC code may be determined according to the parity check matrix. Therefore, it is necessary to design a parity check matrix for an LDPC code having excellent performance. In addition, an LDPC encoding and decoding method capable of supporting various input lengths and code rates is required.

상기 참조문헌[Myung2006]을 살펴보면, QC-LDPC 부호의 효율적인 설계를 위해서 리프팅(Lifting)이라 알려진 방법을 사용한다. 리프팅은 주어진 작은 모행렬로부터 순환 순열 행렬 또는 0-행렬의 크기를 결정하는 L 값을 특정한 규칙에 따라 설정함으로써 효율적으로 매우 큰 패리티 검사 행렬을 설계하는 방법이다. 기존 리프팅 방법과 이렇게 리프팅을 통해 설계된 QC-LDPC 부호의 특징을 간단히 정리하면 다음과 같다. Referring to the above reference [Myung2006], a method known as lifting is used for efficient design of QC-LDPC codes. Lifting is a method of efficiently designing a very large parity check matrix by setting an L value that determines the size of a cyclic permutation matrix or a 0-matrix from a given small parent matrix according to a specific rule. The existing lifting method and the characteristics of the QC-LDPC code designed through lifting are briefly summarized as follows.

먼저 LDPC 부호 C0가 주어져 있을 때 리프팅 방법을 통해 설계될 S개의 QC-LDPC 부호를 C1, ..., CS라 하고, 상기 각 QC-LDPC 부호의 패리티 검사 행렬의 행블록 및 열블록의 크기에 해당하는 값은 Lk라 한다. 여기서 C0는 C1, ..., CS 부호의 모행렬을 패리티 검사 행렬로 가지는 가장 작은 LDPC 부호에 해당하며 행블록 및 열블록의 크기에 해당하는 L0 값은 1이다. 또, 편의상 각 부호 Ck의 패리티 검사 행렬

Figure 112017096413308-pat00022
Figure 112017096413308-pat00023
크기의 지수 행렬
Figure 112017096413308-pat00024
을 가지며 각 지수
Figure 112017096413308-pat00025
들은 {-1, 0, 1, 2, ..., Lk - 1} 값 중에 하나로 선택된다. First, when an LDPC code C 0 is given, S QC-LDPC codes to be designed through the lifting method are referred to as C 1 , ..., C S , row and column blocks of the parity check matrix of each QC-LDPC code The value corresponding to the size of is called L k . Here, C 0 corresponds to the smallest LDPC code having the parent matrix of C 1 , ..., C S code as a parity check matrix, and the value of L 0 corresponding to the size of row and column blocks is 1. In addition, for convenience, the parity check matrix of each code C k
Figure 112017096413308-pat00022
Is
Figure 112017096413308-pat00023
exponential matrix of size
Figure 112017096413308-pat00024
and each index
Figure 112017096413308-pat00025
are selected as one of {-1, 0, 1, 2, ..., L k - 1} values.

참조문헌[Myung2006]을 살펴보면, 리프팅은 C0 → C1 →...→ CS와 같은 단계로 이루어지며 Lk +1 = qk + 1Lk (qk +1은 양의 정수, k=0,1,..., S-1)와 같은 특징을 가진다. 또한 리프팅 과정의 특성에 의해 CS의 패리티 검사 행렬

Figure 112017096413308-pat00026
만 저장하고 있으면 리프팅 방식에 따라 다음 수학식 5를 이용하여 상기 QC-LDPC 부호 C0, C1, ..., CS를 모두 나타낼 수 있다.Looking at the reference [Myung2006], lifting is performed in the same steps as C 0 → C 1 →...→ C S and L k +1 = q k + 1 L k (q k +1 is a positive integer, k=0,1,..., S-1). Also, by the characteristics of the lifting process, the parity check matrix of C S
Figure 112017096413308-pat00026
If only stored, all of the QC-LDPC codes C 0 , C 1 , ..., C S can be expressed using Equation 5 according to the lifting method.

[수학식 5][Equation 5]

Figure 112017096413308-pat00027
Figure 112017096413308-pat00027

[수학식 6][Equation 6]

Figure 112017096413308-pat00028
Figure 112017096413308-pat00028

상기 수학식 5 또는 6의 리프팅 방식은 각 QC-LDPC 부호 Ck의 패리티 검사 행렬에서 행블록 또는 열블록의 크기에 해당하는 Lk들이 서로 배수 관계(multiple)를 가지게 되어, 지수 행렬 또한 특정 방식에 의해 선택된다. 이와 같은 기존 리프팅 방식은 리프팅을 통해 설계된 각 패리티 검사 행렬의 대수적 또는 그래프 특성을 좋게 하여 오류 마루(error floor) 특성을 개선한 QC-LDPC 부호를 쉽게 설계할 수 있게 돕는다. In the lifting method of Equation 5 or 6, L k corresponding to the size of a row block or column block in the parity check matrix of each QC-LDPC code C k have a multiple relationship with each other, so that the exponential matrix also has a specific method is selected by Such an existing lifting method helps to easily design a QC-LDPC code with improved error floor characteristics by improving the algebraic or graph characteristics of each parity check matrix designed through lifting.

하지만, 각 Lk 값들이 서로 배수 관계에 있기 때문에 각 부호의 길이가 크게 제한되는 단점이 있다. 예를 들어 각 Lk 값들에 대해 Lk +1 = 2×Lk와 같은 최소한의 리프팅 방식을 적용하였다고 가정시, 이 경우 각 QC-LDPC 부호의 패리티 검사 행렬의 크기는

Figure 112017096413308-pat00029
만을 가질 수 있다. 즉, 리프팅을 10 단계 적용할 경우(S=10) 패리티 검사 행렬은 10개의 크기만을 가질 수 있게 된다. However, since each L k value is in a multiplicative relationship with each other, there is a disadvantage in that the length of each code is greatly limited. For example, assuming that a minimum lifting method such as L k +1 = 2 × L k is applied to each L k value, in this case, the size of the parity check matrix of each QC-LDPC code is
Figure 112017096413308-pat00029
can only have That is, when 10 steps of lifting are applied (S=10), the parity check matrix can have only 10 sizes.

이와 같은 이유로 기존 리프팅 방식은 다양한 길이를 지원하는 QC-LDPC 부호를 설계하는데 있어서 다소 불리한 특성을 가지고 있다. 하지만, 통상적으로 사용되는 이동 통신 시스템에서는 다양한 형태의 데이터 전송을 고려하여 매우 높은 수준의 길이 호환성(length compatibility)을 요구하게 된다. 이러한 이유로 기존 방식으로는 LDPC 부호를 이동 통신 시스템에서 적용하기 어려운 문제점이 있다.For this reason, the existing lifting method has somewhat disadvantageous characteristics in designing QC-LDPC codes supporting various lengths. However, a commonly used mobile communication system requires a very high level of length compatibility in consideration of various types of data transmission. For this reason, there is a problem in that it is difficult to apply the LDPC code in the mobile communication system in the conventional method.

먼저 리프팅 방법을 통해 설계될 S개의 LDPC 부호를 C1, ..., CS라 하고, 상기 각 LDPC 부호의 패리티 검사 행렬 Ci의 행블록 및 열블록의 크기에 해당하는 값은 Z라 한다. 또, 편의상 각 부호 Ci의 패리티 검사 행렬

Figure 112017096413308-pat00030
Figure 112017096413308-pat00031
크기의 지수 행렬
Figure 112017096413308-pat00032
을 가진다. 각 지수
Figure 112017096413308-pat00033
들은 {-1, 0, 1, 2, ..., Z-1} 값 중에 하나로 선택된다. (본 발명에서는 편의상 0-행렬을 나타내는 지수를 -1로 표현하고 있지만 시스템의 편의에 따라 다른 값으로 변경될 수 있다.) First, S LDPC codes to be designed through the lifting method are denoted by C 1 , ..., C S , and values corresponding to the size of the row block and column block of the parity check matrix C i of each LDPC code are denoted by Z . In addition, for convenience, the parity check matrix of each code C i
Figure 112017096413308-pat00030
Is
Figure 112017096413308-pat00031
exponential matrix of size
Figure 112017096413308-pat00032
have each index
Figure 112017096413308-pat00033
are selected as one of the values {-1, 0, 1, 2, ..., Z-1}. (In the present invention, the exponent representing the 0-matrix is expressed as -1 for convenience, but it can be changed to other values depending on the convenience of the system.)

따라서 가장 큰 패리티 검사 행렬을 가지는 LDPC 부호 CS의 지수 행렬은

Figure 112017096413308-pat00034
라 한다. (여기서
Figure 112017096413308-pat00035
는 Z 값 중 최대 값이라 한다) 이 때 Z값이
Figure 112017096413308-pat00036
보다 작을 때에 대한 각 LDPC 부호의 패리티 검사 행렬을 구성하는 순환 순열 행렬 및 0-행렬을 나타내는 지수는 다음과 같은 수학식 7 또는 수학식 8에 따라 결정될 수 있다. Therefore, the exponential matrix of LDPC code C S having the largest parity check matrix is
Figure 112017096413308-pat00034
say (here
Figure 112017096413308-pat00035
is the maximum value of Z values) At this time, the Z value is
Figure 112017096413308-pat00036
An exponent representing the 0-matrix and the cyclic permutation matrix constituting the parity check matrix of each LDPC code for the case of less than may be determined according to Equation 7 or Equation 8 below.

[수학식 7][Equation 7]

Figure 112017096413308-pat00037
Figure 112017096413308-pat00037

[수학식 8][Equation 8]

Figure 112017096413308-pat00038
Figure 112017096413308-pat00038

수학식 7 또는 수학식 8에서

Figure 112017096413308-pat00039
Figure 112017096413308-pat00040
Figure 112017096413308-pat00041
Figure 112017096413308-pat00042
에 대해 Z로 나눈 나머지를 의미한다.In Equation 7 or Equation 8
Figure 112017096413308-pat00039
Figure 112017096413308-pat00040
Figure 112017096413308-pat00041
Is
Figure 112017096413308-pat00042
is the remainder of division by Z.

하지만, [Myung2006]에서는 Z의 값을 서로 배수 관계가 만족하도록 한정하므로, 다양한 길이를 지원하는데 적합하지 않다. 예를 들어 패리티 검사 행렬

Figure 112017096413308-pat00043
의 지수 행렬
Figure 112017096413308-pat00044
또는 모행렬
Figure 112017096413308-pat00045
의 열의 개수 n이 36이라 하고, Z의 값을 1, 2, 4, 8, ……, 128과 같은 8 단계 리프팅을 통해 얻을 수 있는 길이의 종류는 36, 72, 144, ……, 4608
Figure 112017096413308-pat00046
이 되어 가장 짧은 길이와 가장 긴 길이의 차이가 매우 크게 된다. However, [Myung2006] restricts the values of Z so that the multiplicative relationship is satisfied, so it is not suitable for supporting various lengths. For example parity check matrix
Figure 112017096413308-pat00043
exponential matrix of
Figure 112017096413308-pat00044
or parent matrix
Figure 112017096413308-pat00045
Let the number of columns of n be 36, and the value of Z be 1, 2, 4, 8, ... … , the kinds of lengths that can be obtained through 8-step lifting such as 128 are 36, 72, 144, … … , 4608
Figure 112017096413308-pat00046
As a result, the difference between the shortest length and the longest length becomes very large.

본 발명에서는 Z의 값이 서로 배수 관계가 아닌 경우에도 상기 수학식 9 또는 수학식 10에 적용한 지수 방법을 그대로 적용할 수 있으며 성능 열화가 거의 없는 패리티 검사 행렬을 설계하는 방법을 제시한다. 참고로 상기 수학식 9 또는 수학식 10에 제시한 방법은 모듈로 연산에 기반한 리프팅 방식을 적용하였을 경우에 지수 변환 방법으로서, 참조문헌 [Myung2006]에 나타낸 것처럼 플로어링(flooring) 연산 또는 다른 연산에 기초하여 다양한 방법이 존재할 수 있음은 자명하다. 다음 수학식 9 또는 수학식 10은 Z값이

Figure 112017096413308-pat00047
보다 작을 때에 대해 플로어링 연산에 기반한 리프팅을 적용하여 설계한 패리티 검사 행렬의 지수 변환 방법을 나타낸다.In the present invention, even when the values of Z are not multiplicative with each other, the exponential method applied to Equation 9 or Equation 10 can be applied as it is, and a method of designing a parity check matrix with little performance degradation is proposed. For reference, the method presented in Equation 9 or Equation 10 is an exponential conversion method when a lifting method based on a modulo operation is applied, and as shown in reference [Myung2006], it is based on a floor operation or other operation. Thus, it is obvious that various methods may exist. The following Equation 9 or Equation 10 shows that the Z value is
Figure 112017096413308-pat00047
It shows the exponential conversion method of the parity check matrix designed by applying the flooring operation-based lifting to the case of less than .

[수학식 9][Equation 9]

Figure 112017096413308-pat00048
Figure 112017096413308-pat00048

[수학식 10][Equation 10]

Figure 112017096413308-pat00049
Figure 112017096413308-pat00049

이하에서는 길이에 대한 호환성 문제가 있는 기존 리프팅 방식의 문제점을 해결하기 위한 패리티 검사 행렬의 설계 방법 및 그 이용 방법에 대해서 설명한다.Hereinafter, a method of designing a parity check matrix and a method of using the parity check matrix to solve the problem of the existing lifting method having a compatibility problem with respect to length will be described.

먼저 본 발명에서는 변형된 리프팅 과정을 다음과 같이 정의한다. First, in the present invention, the modified lifting process is defined as follows.

1) Z 값들 중 최대 값을 Zmax 라 한다.1) The maximum value among Z values is Z max say

2) Zmax 의 약수 중 하나를 D라 한다. (

Figure 112017096413308-pat00050
)2) Let D be one of the divisors of Z max . (
Figure 112017096413308-pat00050
)

3) Z는 D, 2D, 3D, …, SD (= Zmax) 값 중 하나를 가진다. 3) Z is D, 2D, 3D, … , SD (= Z max ).

(편의상 Z = k×D에 대응되는 패리티 검사 행렬을 Hk, 상기 패리티 검사 행렬에 대응되는 LDPC 부호를 Ck라 한다.) (For convenience, let H k denote a parity check matrix corresponding to Z = k×D, and denote an LDPC code corresponding to the parity check matrix C k .)

상기에서 언급한 리프팅 방법 이외에도 다양한 리프팅 방법을 사용하여 가변 길이를 지원할 수 있다.In addition to the lifting methods mentioned above, various lifting methods can be used to support variable length.

다음으로 참조문헌 [Myung2005]을 참고하여 QC-LDPC 부호의 부호화 방법에 대해 더 자세히 설명한다. Next, the coding method of the QC-LDPC code will be described in detail with reference to the reference [Myung2005].

Reference [Myung2005]Reference [Myung2005]

S. Myung, K. Yang, and J. Kim, " Quasi-Cyclic LDPC Codes for Fast Encoding," IEEE Transactions on Information Theory, vol. 51, No.8, pp. 2894-2901, Aug. 2005.S. Myung, K. Yang, and J. Kim, " Quasi-Cyclic LDPC Codes for Fast Encoding," IEEE Transactions on Information Theory, vol. 51, No. 8, pp. 51; 2894-2901, Aug. 2005.

도 3은 본 발명에서 제안하는 패리티 검사 행렬의 기본적인 구조를 도시한 도면이다.3 is a diagram showing the basic structure of a parity check matrix proposed in the present invention.

상기 참조문헌 [Myung2005]을 살펴보면, 도 3과 같이 순환 순열 행렬로 구성된 특수한 형태의 패리티 검사 행렬이 정의되어 있다. 또한 상기 도 3의 패리티 검사 행렬에서 다음 수학식 11 또는 수학식 12의 관계를 만족하면 효율적인 부호화가 가능함이 나타나 있다. Referring to the above reference [Myung2005], as shown in FIG. 3, a special type of parity check matrix composed of a cyclic permutation matrix is defined. In addition, it is shown that efficient encoding is possible if the relationship of Equation 11 or Equation 12 is satisfied in the parity check matrix of FIG. 3 .

[수학식 11][Equation 11]

Figure 112017096413308-pat00051
Figure 112017096413308-pat00051

[수학식 12][Equation 12]

Figure 112017096413308-pat00052
Figure 112017096413308-pat00052

상기 수학식 11 및 수학식 12에서

Figure 112017096413308-pat00053
값은
Figure 112017096413308-pat00054
가 위치하고 있는 행(row)의 위치를 의미한다. In Equations 11 and 12 above,
Figure 112017096413308-pat00053
value is
Figure 112017096413308-pat00054
It means the position of the row where is located.

이와 같이 상기 수학식 7 및 수학식 8을 만족하게 되면, 참조문헌 [Myung2005] 상에서

Figure 112017096413308-pat00055
로 정의된 행렬이 항등 행렬이 되어 부호화 과정에서 효율적인 부호화가 가능함이 잘 알려져 있다. In this way, when the above Equations 7 and 8 are satisfied, in reference [Myung2005]
Figure 112017096413308-pat00055
It is well known that the matrix defined by becomes an identity matrix, enabling efficient coding in the coding process.

본 발명에서는 편의상 하나의 블록에 대응되는 순환 순열 행렬이 1 개인 경우만 설명하였으나 이하 하나의 블록에 여러 개의 순환 순열 행렬이 포함된 경우에도 동일한 발명을 적용할 수 있음을 밝혀둔다. In the present invention, for convenience, only the case of one cyclic permutation matrix corresponding to one block has been described, but it will be clarified that the same invention can be applied to a case in which several cyclic permutation matrices are included in one block.

도 4는 본 발명의 일 실시 예에 따른 송신 장치의 블록 구성도이다. 4 is a block diagram of a transmission device according to an embodiment of the present invention.

구체적으로, 도 4와 같이 송신 장치(400)는 가변 길이 입력 비트들을 처리하기 위해, 세그멘터이션부(410), 제로 패딩부(420), LDPC 인코더(430), 레이트 매칭부(440), 변조부(450)를 포함할 수 있다.Specifically, as shown in FIG. 4, the transmitter 400 includes a segmentation unit 410, a zero padding unit 420, an LDPC encoder 430, a rate matching unit 440, A modulator 450 may be included.

여기에서 도 4에 도시된 구성요소는 가변 길이 입력 비트들에 대한 인코딩 및 변조(encoding and modulation)를 수행하는 구성요소로서, 이는 일 예일 뿐이며, 경우에 따라 도 4에 도시된 구성요소 중 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.Here, the component shown in FIG. 4 is a component that encodes and modulates variable length input bits, and this is only an example. In some cases, some of the components shown in FIG. 4 It may be omitted or changed, and other components may be further added.

도 5 는 본 발명의 일 실시 예에 따른 수신 장치의 블록 구성도이다.5 is a block diagram of a receiving device according to an embodiment of the present invention.

구체적으로, 도 5와 같이 수신 장치(500)는 가변 길이 정보들을 처리하기 위해, 복조부(510), 레이트 디매칭부(520), LDPC 디코더(530), 제로 제거부(540) 및 디세그멘테이이션부(550)를 포함할 수 있다.Specifically, as shown in FIG. 5, the receiving device 500 includes a demodulation unit 510, a rate dematching unit 520, an LDPC decoder 530, a zero removal unit 540, and a deseg to process variable length information. Mention unit 550 may be included.

여기에서 도 5에 도시된 구성요소는 도 4에 도시된 구성요소에 대응되는 기능을 수행하는 구성요소로서, 이는 일 예일 뿐이고 경우에 따라 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.Here, the component shown in FIG. 5 is a component that performs a function corresponding to the component shown in FIG. 4, which is only an example, and in some cases may be omitted or changed, and other components may be added. It could be.

도 6a 및 6b는 본 발명에서 사용되는 LDPC 패리티 검사 행렬의 특징을 기술한 도면이다. 6A and 6B are diagrams describing characteristics of the LDPC parity check matrix used in the present invention.

다양한 부호율 및 IR(Incremental Redundancy)을 기반으로 하는 HARQ (Hybrid Automatic Repeat reQuest) 기법을 고려하여 설계된 패리티 검사 행렬의 실시 예를 도 6a 및 6b에 나타내었다. 도 6a 및 6b에 따르면, incremental redundancy bits 에 대응되는 패리티 검사 행렬의 차수는 1인 특징을 가지고 있다. 또한 상기 차수가 1인 열 블록들은 하나의 순환 순열 행렬과 ‘0’행렬로 구성된다. 상기 패리티 검사 행렬의 형태에 의하여 incremental redundancy bits들은 single parity check extension으로 생성된다. 상기 incremental redundancy bits는 초기 전송에도 전송 될 수 있다. Examples of parity check matrices designed in consideration of a hybrid automatic repeat request (HARQ) technique based on various code rates and IR (Incremental Redundancy) are shown in FIGS. 6A and 6B. 6A and 6B, the order of the parity check matrix corresponding to incremental redundancy bits is 1. In addition, the column blocks having an order of 1 are composed of one cyclic permutation matrix and a '0' matrix. According to the shape of the parity check matrix, incremental redundancy bits are generated as a single parity check extension. The incremental redundancy bits may also be transmitted during initial transmission.

도 6a에 따르면, 본 발명에서 사용되는 LDPC 패리티 검사 행렬은 부호율에 따라 그 크기가 달라지게 된다. 일례로 높은 부호율을 적용할 경우 패리티 검사 행렬은 부행렬 1(sub-matrix 1, 600)에 해당되며, 이는 정보어 비트와 패리티 1 비트를 위한 부분을 포함하고 있다. 그러나 이보다 낮은 부호율이 적용될 경우의 패리티 검사 행렬은 부행렬 2(610)에 해당하며 이는 부행렬 1이 포함하고 있는 부분뿐만 아니라 IR 비트와 싱글 패리티 검사 코드를 위한 시스테마틱 파트(systematic part)를 포함하게 되며, 패리티 검사 행렬에 포함된 상기 IR 비트와 시스테마틱 파트는 코딩 레이트가 낮아질수록 더욱 커지게 된다. According to FIG. 6A, the size of the LDPC parity check matrix used in the present invention varies according to the code rate. For example, when a high code rate is applied, the parity check matrix corresponds to sub-matrix 1 (sub-matrix 1, 600), which includes an information word bit and a part for parity 1 bit. However, when a code rate lower than this is applied, the parity check matrix corresponds to submatrix 2 (610), which includes not only the part included in submatrix 1 but also the systematic part for IR bits and single parity check codes. , and the IR bits and the systematic part included in the parity check matrix become larger as the coding rate decreases.

도 6b는 도 6a를 보다 자세히 도시한 것으로, 패리티 검사 행렬의 정보어 비트를 위한 부분은 Kb개의 열 블록으로 구성되어 있다. 또한 부행렬 2의 경우 Nb개의 열 블록으로 구성되어 있으며, 이 경우 부호어의 길이는 Nb × Z가 된다. FIG. 6B shows FIG. 6A in more detail, and the part for the information word bits of the parity check matrix is composed of K b column blocks. In addition, in the case of submatrix 2, it is composed of N b column blocks, and in this case, the length of the codeword is N b × Z.

단일 패리티 검사 부호와의 연접 방식을 적용한 패리티 검사 행렬은 확장성이 용이하기 때문에 IR(Incremental Redundancy) 기법을 적용하는데 장점이 있다. 상기 IR 기법은 HARQ (Hybrid Automatic Repeat reQuest) 지원을 위해 중요한 기술이기 때문에 효율적이면서 우수한 성능을 가지는 IR 기법은 HARQ 시스템의 효율성을 증가시킨다. 상기 패리티 검사 행렬들에 기초한 LDPC 부호들은 단일 패리티 검사 부호로 확장된 부분을 이용하여 새로운 패리티를 생성하여 전송함으로써 효율적이면서 우수한 성능의 IR 기법을 적용할 수 있다. A parity check matrix using a concatenation method with a single parity check code has an advantage in applying an incremental redundancy (IR) technique because scalability is easy. Since the IR technique is an important technique for supporting HARQ (Hybrid Automatic Repeat request), an efficient IR technique with excellent performance increases the efficiency of the HARQ system. The LDPC codes based on the parity check matrices generate and transmit a new parity using a part extended to a single parity check code, so that an efficient and high-performance IR technique can be applied.

참고로 본 발명에서 설명하는 패리티 검사 행렬에 대응되는 LDPC 부호에 단축(shortening)과 천공(puncturing)을 적절히 적용하면 다양한 블록 길이와 부호율을 가지는 LDPC 부호화 기법을 적용할 수 있음은 자명하다. 다시 말해, 패리티 검사 행렬에 대응되는 LDPC 부호에 적절한 단축을 적용하여 다양한 정보어 길이를 지원할 수 있으며, 천공을 적절히 적용하여 다양한 부호율을 지원할 수 있으며, 적절한 길이만큼 단일 패리티 검사 비트를 생성 및 전송함으로써 효율적인 IR 기법을 적용할 수 있다.For reference, it is obvious that LDPC encoding techniques having various block lengths and code rates can be applied if shortening and puncturing are appropriately applied to the LDPC codes corresponding to the parity check matrix described in the present invention. In other words, various information word lengths can be supported by appropriately shortening the LDPC code corresponding to the parity check matrix, and various code rates can be supported by appropriately applying puncturing, and a single parity check bit of an appropriate length is generated and transmitted By doing so, an efficient IR technique can be applied.

한편, LDPC 부호는 도 2에서 나열한 이분 그래프 상에서 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하여 복호될 수 있으며, 합곱 알고리즘은 메시지 패싱 알고리즘의 일종이다.Meanwhile, the LDPC code can be decoded using an iterative decoding algorithm based on the sum-product algorithm on the bipartite graph listed in FIG. 2, and the sum-product algorithm is a kind of message passing algorithm.

이하에서는 도 7a 및 7b를 참조하여 LDPC 복호화 시 일반적으로 사용되는 메시지 패싱 동작에 대해서 설명하기로 한다.Hereinafter, a message passing operation generally used in LDPC decoding will be described with reference to FIGS. 7A and 7B.

도 7a 및 7b는 LDPC 복호화를 위해 임의의 검사 노드와 변수 노드에서 수행되는 메시지 패싱 동작을 도시한 도면이다.7A and 7B are diagrams illustrating a message passing operation performed in an arbitrary check node and a variable node for LDPC decoding.

도 7a에는 검사 노드 m(700)과 검사 노드 m(700)에 연결되는 다수의 변수 노드들(710, 720, 730, 740)이 도시되어 있다. 또한, 도시되어 있는 Tn ',m은 변수 노드 n'(710)에서 검사 노드 m(700)으로 패싱되는 메시지를 나타내며, En,m은 검사 노드 m(700)에서 변수 노드 n(730)으로 패싱되는 메시지를 나타낸다. 여기서, 검사 노드 m(700)에 연결되어 있는 모든 변수 노드들의 집합을 N(m)이라고 정의하고, N(m)에서 변수 노드 n(730)을 제외한 집합을 N(m)\n이라고 정의하기로 한다. 7A shows a check node m (700) and a plurality of variable nodes (710, 720, 730, 740) connected to the check node m (700). In addition, shown T n ',m represents a message passed from variable node n' (710) to check node m (700), and E n,m is from check node m (700) to variable node n (730). Indicates the message passed to . Here, the set of all variable nodes connected to the inspection node m (700) is defined as N(m), and the set excluding the variable node n (730) from N(m) is defined as N(m)\n do it with

이 경우, 합곱 알고리즘에 기반한 메시지 업데이트(update) 규칙은 하기 수학식 13와 같이 나타낼 수 있다.In this case, the message update rule based on the sum-product algorithm can be expressed as in Equation 13 below.

[수학식 13][Equation 13]

Figure 112017096413308-pat00056
Figure 112017096413308-pat00056

여기에서, Sign(En,m)은 메시지 En,m의 부호(sign)를 나타내고, |En,m|은 메시지 En,m의 크기(magnitude)를 나타낸다. 한편, 함수

Figure 112017096413308-pat00057
는 하기의 수학식 14와 같이 나타낼 수 있다. Here, Sign(E n,m ) represents the sign of the message E n,m , and |E n,m | represents the magnitude of the message E n,m . On the other hand, the function
Figure 112017096413308-pat00057
Can be expressed as in Equation 14 below.

[수학식 14][Equation 14]

Figure 112017096413308-pat00058
Figure 112017096413308-pat00058

한편, 도 7b에는 변수 노드 x(750)과 변수 노드 x(750)에 연결되는 다수의 검사 노드들(760, 770, 780, 790)이 도시되어 있다. 또한, 도시되어 있는 Ey ',x은 검사 노드 y'(760)에서 변수 노드 x(750)로 패싱되는 메시지를 나타내며, Ty,x은 변수 노드 x(750)에서 변수 노드 y(780)로 패싱되는 메시지를 나타낸다. 여기서, 변수 노드 x(750)에 연결되어 있는 모든 변수 노드들의 집합을 M(x)이라고 정의하고, M(x)에서 검사 노드 y(780)을 제외한 집합을 M(x)\y라고 정의하기로 한다. 이 경우, 합곱 알고리즘에 기반한 메시지 업데이트(update) 규칙은 하기 수학식 15과 같이 나타낼 수 있다.Meanwhile, FIG. 7B illustrates a variable node x 750 and a plurality of check nodes 760, 770, 780, and 790 connected to the variable node x 750. In addition, the illustrated E y ',x represents a message passing from the inspection node y' (760) to the variable node x (750), and T y,x is the variable node x (750) to the variable node y (780) Indicates the message passed to . Here, the set of all variable nodes connected to the variable node x (750) is defined as M(x), and the set excluding the check node y (780) from M(x) is defined as M(x)\y do it with In this case, the message update rule based on the sum-product algorithm can be expressed as Equation 15 below.

[수학식 15][Equation 15]

Figure 112017096413308-pat00059
Figure 112017096413308-pat00059

여기에서, Ex는 변수 노드 x의 초기 메시지 값을 의미한다. Here, E x means the initial message value of variable node x.

또한, 노드 x의 비트 값을 판정할 경우에는 하기 수학식 16과 같이 나타낼 수 있다.In addition, when the bit value of node x is determined, it can be expressed as in Equation 16 below.

[수학식 16][Equation 16]

Figure 112017096413308-pat00060
Figure 112017096413308-pat00060

이 경우, Px값에 따라 노드 x에 대응하는 부호화 비트를 판정할 수 있다.In this case, the coded bit corresponding to the node x can be determined according to the value of P x .

도 7a 및 7b에서 상술한 방식은 일반적인 복호화 방법이라는 점에서 더 이상 구체적인 설명은 생략하도록 한다. 다만, 도 7a 및 7b에서 설명한 방법 외에도 변수 노드와 검사 노드에서의 패싱되는 메시지 값을 결정하는 데 있어 다른 방법이 적용될 수도 있다(Frank R. Kschischang, Brendan J. Frey, and Hans-Andrea Loeliger, "Factor Graphs and the Sum-Product Algorithm," IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 47, NO. 2, FEBRUARY 2001, pp498-519).Since the method described in FIGS. 7A and 7B is a general decoding method, further detailed description thereof will be omitted. However, in addition to the methods described in FIGS. 7A and 7B, other methods may be applied to determine the values of messages passed through variable nodes and check nodes (Frank R. Kschischang, Brendan J. Frey, and Hans-Andrea Loeliger, " Factor Graphs and the Sum-Product Algorithm," IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 47, NO. 2, FEBRUARY 2001, pp498-519).

아래에서는 상기 도 4를 기반으로 송신기 동작에 대해 구체적으로 설명한다. Below, the operation of the transmitter will be described in detail based on FIG. 4 .

구체적으로, 도 4와 같이, 송신 장치(400)는 가변 길이 입력 비트들을 처리하기 위해, 세그먼테이션부(410), 제로 패딩부(420), LDPC 인코더(430), 레이트 매칭부(440) 및 변조부(450)를 포함할 수 있다.Specifically, as shown in FIG. 4, the transmitter 400 includes a segmentation unit 410, a zero padding unit 420, an LDPC encoder 430, a rate matching unit 440, and a modulation to process variable length input bits. may include section 450 .

여기에서, 도 4 에 도시된 구성요소는, 가변 길이 입력 비트들에 대한 인코딩 및 변조(encoding and modulation)를 수행하는 구성요소로서, 이는 일 예일 뿐이며, 경우에 따라 도 4 에 도시된 구성요소 중 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다. Here, the component shown in FIG. 4 is a component that encodes and modulates variable length input bits, which is only an example, and in some cases, among the components shown in FIG. Some may be omitted or changed, and other components may be further added.

한편, 도 4에 도시된 LDPC 인코더(430)는 도 8에 도시된 LDPC 인코더(810)가 수행하는 동작을 수행할 수 있다.Meanwhile, the LDPC encoder 430 shown in FIG. 4 may perform an operation performed by the LDPC encoder 810 shown in FIG. 8 .

한편, 송신 장치(400)는 필요한 파라미터(가령, 입력 비트 길이, ModCod(modulation and code rate), 제로 패딩을 위한 파라미터, LDPC 코드의 부호율/코드 길이, 인터리빙(interleaving)을 위한 파라미터, 리피티션(repetition)을 위한 파라미터, 펑처링(Puncturing)을 위한 파라미터, 재전송을 위한 파라미터 및 변조 방식 등)를 결정하고, 결정된 파라미터를 기초로 부호화하여 도 5의 수신 장치(500)로 전송할 수 있다. On the other hand, the transmitter 400 provides necessary parameters (eg, input bit length, ModCod (modulation and code rate), parameters for zero padding, code rate/code length of LDPC code, parameters for interleaving, repeati parameters for repetition, parameters for puncturing, parameters for retransmission, modulation schemes, etc.) may be determined, encoded based on the determined parameters, and transmitted to the receiving device 500 of FIG. 5 .

입력 비트들의 수가 가변적이라는 점에서, 입력 비트들의 수가 기설정된 값보다 큰 경우, 입력 비트는 기설정된 값 이하의 길이를 갖도록 세그먼테이션(segmentation)될 수 있다. 또한 세그먼트된 블록 각각은 하나의 LDPC 코딩된 블록에 대응될 수 있다. 다만, 입력 비트들의 수가 기설정된 값보다 작거나 같은 경우, 입력 비트는 세그먼테이션되지 않는다. 입력 비트들은 하나의 LDPC 코딩된 블록에 대응될 수 있다.Since the number of input bits is variable, when the number of input bits is greater than a preset value, the input bits may be segmented to have a length less than or equal to the preset value. Also, each segmented block may correspond to one LDPC coded block. However, when the number of input bits is less than or equal to a preset value, the input bits are not segmented. Input bits may correspond to one LDPC coded block.

세그멘테이션 된 코드블록의 길이를 동일하게 함으로써, 각 코드블록의 LDPC 부호의 부호화 복호화 파라미터를 동일하게 하여 구현 복잡도를 낮출 수 있다. 또한 각 코드블록의 패딩되는 ‘0’비트들을 최대한 동일하게 함으로써 부호화 성능을 우수하게 할 수 있다. By making the lengths of the segmented code blocks the same, the implementation complexity can be reduced by making the encoding and decoding parameters of the LDPC code of each code block the same. In addition, encoding performance can be improved by making padded '0' bits of each code block as identical as possible.

레이트매칭부(440)의 입력 비트들은 상기 LDPC 인코딩부 (430)의 출력 비트들로 C =(i 0 , i 1 , i 2 , ... , i Kldpc -1, p 0 , p 1 , p 2 , ... , p Nldpc - Kldpc -1 ) 이다. i k (0≤k< K ldpc )는 LDPC 인코딩부 (430)의 입력 비트들을 의미하며 p k (0≤k< N ldpc - K ldpc )는 LDPC 패리티 비트들을 의미한다. 상기 레이트 매칭부(440)은 인터리버(441)와 펑처링/리피티션/제로 제거부(442)를 포함한다. The input bits of the rate matching unit 440 are the output bits of the LDPC encoding unit 430, and C = ( i 0 , i 1 , i 2 , ... , i Kldpc -1, p 0 , p 1 , p 2 , ... , p Nldpc - Kldpc -1 ). i k (0≤k< K ldpc ) means the input bits of the LDPC encoding unit 430 and p k (0≤k< N ldpc - K ldpc ) means LDPC parity bits. The rate matching unit 440 includes an interleaver 441 and a puncturing/repetition/zero removal unit 442.

변조부(450)는 레이트매칭부(440)에서 출력되는 비트열을 변조하여 수신 장치(가령, 도 5의 500)로 전송한다. The modulator 450 modulates the bit string output from the rate matching unit 440 and transmits the modulated bit string to a receiving device (eg, 500 in FIG. 5 ).

구체적으로, 변조부(450)는 레이트매칭부(440)에서 출력되는 비트들을 디멀티플렉싱(demultiplexing)하고, 이를 성상도(constellation)에 맵핑할 수 있다. Specifically, the modulator 450 may demultiplex the bits output from the rate matching unit 440 and map them to a constellation.

즉, 변조부(450)는 레이트매칭부(440)에서 출력되는 비트들을 시리얼-투-패러렐(serial-to-parallel) 변환하여, 일정한 개수의 비트로 구성된 셀(cell)을 생성할 수 있다. 여기에서, 각 셀을 구성하는 비트의 개수는 성상도에 맵핑되는 변조 심볼을 구성하는 비트의 개수와 동일할 수 있다.That is, the modulator 450 may serial-to-parallel-convert the bits output from the rate matching unit 440 to generate a cell composed of a certain number of bits. Here, the number of bits constituting each cell may be the same as the number of bits constituting a modulation symbol mapped to a constellation.

이후, 변조부(450)는 디멀티플렉싱된 비트들을 성상도에 맵핑할 수 있다. 즉, 변조부(450)는 디멀티플렉싱된 비트들을 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM, 4096-QAM 등의 다양한 변조 방식을 통해 변조하여 변조 심볼을 생성하고, 이를 성상점(constellation point)에 맵핑할 수 있다. 이 경우, 디멀티플렉싱된 비트들은 변조 심볼 개수만큼의 비트를 포함하는 셀을 구성한다는 점에서, 각 셀이 순차적으로 성상점에 맵핑될 수 있다.Then, the modulator 450 may map the demultiplexed bits to a constellation. That is, the modulator 450 modulates the demultiplexed bits through various modulation schemes such as QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM, and 4096-QAM to generate modulation symbols. It can be mapped to a constellation point. In this case, each cell may be sequentially mapped to a constellation point in that the demultiplexed bits constitute a cell including as many bits as the number of modulation symbols.

그리고, 변조부(450)는 성상도에 맵핑된 신호를 변조하여 수신 장치(500)로 전송할 수 있다. 예를 들어, 변조부(450)는 OFDM(Orthogonal Frequency Division Multiplexing) 방식으로 이용하여 성상도에 맵핑된 신호를 OFMD 프레임에 맵핑하고, 이를 할당된 채널을 통해 수신 장치(500)로 전송할 수 있다.Also, the modulator 450 may modulate the signal mapped to the constellation and transmit the modulated signal to the receiving device 500 . For example, the modulator 450 may map a signal mapped to a constellation to an OFMD frame using an orthogonal frequency division multiplexing (OFDM) method and transmit the mapped signal to the receiving device 500 through an assigned channel.

한편, 송신 장치(400)는 부호화, 인터리빙 및 변조에 이용되는 각종 파라미터를 기저장하고 있을 수 있다. 여기에서, 부호화에 이용되는 파라미터는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보가 될 수 있다. 그리고, 인터리빙에 이용되는 파리미터는 인터리빙 룰에 대한 정보가 될 수 있으며, 변조에 이용되는 파리미터는 변조 방식에 대한 정보가 될 수 있다. 또한 펑처링에 관한 정보는 펑처링 길이가 될 수 있다. 또한 리피티션에 관한 정보는 리피티션 길이가 될 수 있다. 상기 패리티 검사 행렬에 대한 정보는 본 발명에서 제시하는 패리티 행렬을 사용할 경우 상기 수학식 3과 수학식 4에 의한 순환 행렬의 지수 값을 저장할 수 있다.Meanwhile, the transmitter 400 may previously store various parameters used for encoding, interleaving, and modulation. Here, the parameters used for encoding may be information about the code rate of the LDPC code, the codeword length, and the parity check matrix. Also, a parameter used for interleaving may be information about an interleaving rule, and a parameter used for modulation may be information about a modulation method. Also, information about puncturing may be a puncturing length. In addition, the repetition-related information may be the repetition length. The information on the parity check matrix can store exponential values of the circulation matrices according to Equations 3 and 4 when the parity matrix proposed in the present invention is used.

이 경우, 송신 장치(400)를 구성하는 각 구성요소는 이러한 파라미터를 이용하여 동작을 수행할 수 있다.In this case, each component constituting the transmission device 400 may perform an operation using these parameters.

한편, 도시하지 않았지만 경우에 따라 송신 장치(400)는 송신 장치(400)의 동작을 제어하기 위한 제어부(미도시)를 더 포함할 수도 있다. Meanwhile, although not shown, in some cases, the transmitter 400 may further include a controller (not shown) for controlling the operation of the transmitter 400 .

본 발명에서는 상기 LDPC 부호에 기반한 HARQ (Hybrid Automatic Repeat reQuest) 지원을 위해 상기 레이트 매칭부(440) 방법 및 장치에 대해 기술한다.In the present invention, a method and apparatus of the rate matching unit 440 for supporting HARQ (Hybrid Automatic Repeat request) based on the LDPC code are described.

도 8은 본 발명에 따른 송신기 동작을 도시한 순서도이다. 이하에서는 도 8을 기반으로 본 발명에서 개시하는 LDPC 부호 기반의 전송 방법을 설명한다.8 is a flowchart illustrating transmitter operation according to the present invention. Hereinafter, an LDPC code-based transmission method disclosed in the present invention will be described based on FIG. 8 .

810 단계에서 송신기는 전송을 위한 변조 심볼의 변조 차수(modulation order)와 전송 블록 크기((Transport block size, TBS)와 rvidx(redundancy version index, 혹은 redundancy version)를 결정한다. 상기 값들은 제어 정보로 전송될 수도 있고 관련 파라미터들을 기반으로 소정의 규칙에 의해 결정될 수 있다. 상기 Redundancy version index(rvidx)는 redundancy version의 인덱스 값으로 기설정된 최대 값보다 작은 정수이며, 전송 시작 비트의 위치를 결정하는 파라미터이다. 상기 rvidx의 개수는 시스템에 따라 다를 수 있으며 LTE 표준 상에서는 rvidx가 0, 1, 2 또는 3으로 4개가 존재한다. 상기 rvidx는 송신기에서 매 전송시마다 결정하고 전송시 수신기에 알려줄 수 있다. 혹은 rvidx는 수신기에서 결정하여 송신기에 알려주고, 송신기는 결정된 rvidx를 사용할 수 있다. 또 다른 방법으로는 rvidx는 기설정된 순서와 재전송 횟수에 따라 결정될 수 있다. LTE 시스템에서 상향 링크 재전송시 rvidx 값 결정은 0, 2, 3, 1 순서대로 결정 되며 이 값은 modulo 4 연산에 의해 업데이트된다. 상기 변조 차수와 rvidx 는 860 단계에서 결정 할 수 있다.In step 810, the transmitter determines the modulation order of the modulation symbol for transmission, the transport block size (Transport block size, TBS), and rv idx (redundancy version index, or redundancy version). The values are control information The redundancy version index (rv idx ) is an index value of the redundancy version, which is an integer smaller than a preset maximum value, and determines the position of the transmission start bit. The number of rv idx may vary depending on the system, and in the LTE standard, there are four rv idx 0, 1, 2, or 3. The rv idx is determined by the transmitter at every transmission and transmitted to the receiver Alternatively, the rv idx may be determined by the receiver and notified to the transmitter, and the transmitter may use the determined rv idx . Alternatively, the rv idx may be determined according to a preset order and number of retransmissions. Uplink in LTE system During link retransmission, the rv idx value is determined in the order of 0, 2, 3, and 1, and this value is updated by calculating modulo 4. The modulation order and rv idx can be determined in step 860.

820 단계에서 송신기는 결정된 TBS 값을 기반으로 전송 블록(Transport Block, TB)을 코드 블록(Code Block, CB) 단위로 분할(segmentation)한다. 상기 segmentation 과정에 의하여 코드 블록 크기(Code Block Size, CBS)값이 결정된다. 830 단계에서 송신기는 상기 결정된 CBS 와 LDPC 부호의 패리티 검사 행렬의 파라미터에 의하여 패리티 검사 행렬의 정보어 파트의 열 블록(column block) 개수인 Kb값과 QC-LDPC 부호를 구성하는 순환 순열 행렬 또는 0-행렬의 사이즈 Z값을 결정한다. 이후 840 단계에서 송신기는 재전송을 고려한 패리티 검사 행렬의 열 블록의 개수 Nb와 패리티 검사 행렬(PCM)의 각 순환 순열 행렬 의 지수 값 shift value들과 재전송을 고려한 부호어 비트의 개수 Ncb를 결정한다. 상기 Ncb는 Nb×Z와 동일한 값일 수 있으며 소정의 규칙에 의해 Nb×Z과 다르게 결정될 수 있으며 또한 840 단계 이후에 결정될 수 있다. 상기 Nb는 LDPC 부호의 패리티 검사 행렬의 열 블록의 개수로 CBS 길이에 따라 다를 수 있다. LDPC 부호의 패리티 검사 행렬의 열 블록의 최대 개수는 Nb_max로 결정되어 있고 상기 Nb는 Nb_max보다 작거나 같다.In step 820, the transmitter segments the transport block (TB) into code block (CB) units based on the determined TBS value. A code block size (CBS) value is determined by the segmentation process. In step 830, the transmitter calculates the K b value, which is the number of column blocks of the information word part of the parity check matrix, according to the parameters of the parity check matrix of the determined CBS and LDPC codes, and a cyclic permutation matrix constituting the QC-LDPC code, or Determines the size Z value of the 0-matrix. Then, in step 840, the transmitter determines the number N b of column blocks of the parity check matrix considering retransmission, shift values of exponents of each cyclic permutation matrix of the parity check matrix (PCM), and the number N cb of codeword bits considering retransmission. do. The N cb may have the same value as N b ×Z, may be determined differently from N b ×Z according to a predetermined rule, and may be determined after step 840. N b is the number of column blocks of the parity check matrix of the LDPC code, and may vary according to the CBS length. The maximum number of column blocks of the parity check matrix of the LDPC code is determined to be N b_max , and N b is less than or equal to N b_max .

상기 Ncb는 rvidx의 최대 값에 따라 다를 수 있다. 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크/다운링크(UL/DL)에 또는 정보어의 길이 중 적어도 하나의 요소에 따라 rvidx의 범위(rvidx의 개수 및 최대 값)가 다를 수 있으므로, 이에 따라 실제 부호화되는 비트의 개수는 다를 수 있다. 또한 Ncb는 rvidx 범위와 상관 없이 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크/다운링크(UL/DL)에 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정 될 수 있다.The N cb may vary according to the maximum value of rv idx . The range of rv idx (the number and maximum value of rv idx ) according to at least one element of a specific code rate and a specific UE category or parity check matrix or uplink / downlink (UL / DL) or the length of an information word ) may be different, the number of actually encoded bits may be different accordingly. In addition, N cb is determined differently depending on at least one element of a specific code rate and a specific UE category or parity check matrix or uplink / downlink (UL / DL) or length of an information word, regardless of the rv idx range It can be.

[과정 850와 과정 860의 제 1 실시예][First embodiment of processes 850 and 860]

850 단계에서 송신기는 상기 결정된 파라미터들을 기반으로 LDPC 부호화 및 인터리빙을 수행한다. 상기 인터리빙은 필요한 경우에만 수행될 수 있다. 상기 LDPC 부호화에 사용되는 패리티 검사 행렬은 다수가 존재할 수 있으며, 소정의 규칙에 의하여 다수의 패리티 검사 행렬 중 부호화에 사용되는 패리티 검사 행렬을 결정하도록 한다. 또한 상기 LDPC 부호화시에 사용되는 패리티 검사 행렬의 크기는 rvidx와 부호율에 따라 다를 수 있다. 실제 부호화는 Ncb까지 수행되거나 rvidx 값을 기반으로 하여 현재 전송에 필요한 비트들에 대해서만 수행될 수 있다. 일례로, rvidx가 0일 경우 부호화는 전송에 필요한 비트(=E)와 정보어 비트 중 천공 되는 비트 수 (0 또는 Z 또는 2xZ)를 더한 값인 E 또는 (E+Z) 또는 (E+2xZ) 에 대해서만 수행될 수 있다. In step 850, the transmitter performs LDPC encoding and interleaving based on the determined parameters. The interleaving may be performed only when necessary. A plurality of parity check matrices used for the LDPC encoding may exist, and a parity check matrix used for encoding is determined from among the plurality of parity check matrices according to a predetermined rule. In addition, the size of the parity check matrix used in the LDPC encoding may differ depending on rv idx and a code rate. Actual encoding may be performed up to N cb or performed only on bits necessary for current transmission based on the value of rv idx . For example, if rv idx is 0, encoding is E or (E+Z) or (E+2xZ), which is the sum of the bits required for transmission (=E) and the number of bits to be punctured (0 or Z or 2xZ) among the information bits ) can be performed only for

860 단계에서 송신기는 LDPC 부호화 비트들 중 전송 되는 비트들의 시작 위치 k0와 전송되는 비트의 개수 E를 결정한다. 상기 시작 위치 k0는 상기 rvidx에 의해 결정된다. 송신기는 870 단계에서 과정 850의 출력 비트 스트림 (w0, w1, w2,…,wNcb) 중

Figure 112017096413308-pat00061
를 전송한다. 즉 과정 850의 출력 비트 스트림 W = (w0, w1, w2,…,wNcb)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 wk 중에서 선택되어 전송되는 비트를 의미한다.In step 860, the transmitter determines the start position k 0 of transmitted bits among LDPC coded bits and the number E of transmitted bits. The starting position k 0 is determined by the rv idx . In step 870, the transmitter outputs bit streams (w 0 , w 1 , w 2 ,…,w Ncb ) of process 850.
Figure 112017096413308-pat00061
send That is, based on the output bit stream W = (w 0 , w 1 , w 2 ,…,w Ncb ) of step 850, the number of codeword bits N cb , the number of transmission bits E, and the index k 0 of transmission start bits, the following A bit stream is transmitted as well. The number E of transmission bits is a value determined based on the number of allocated subcarriers and a modulation scheme, and may be determined prior to step 860. e k denotes a bit selected from among w k and transmitted.

Figure 112017096413308-pat00062
Figure 112017096413308-pat00062

상기에서 <NULL>은 제로로 패딩된 비트를 의미 한다. 또한 상기에서 정보어 비트들 중 특정 비트들은 항상 전송하지 않을 수 있다.In the above, <NULL> means a bit padded with zero. In addition, certain bits among the information word bits may not always be transmitted.

870 단계의 또 다른 실시예로, 정보어 비트 중 특정 비트들을 항상 전송하지 않은 경우를 고려 할 수 있다. 상기 특정 비트들을 punctured systematic bits라고 한다.As another embodiment of step 870, a case in which specific bits among information word bits are not always transmitted may be considered. The specific bits are referred to as punctured systematic bits.

[과정 850와 과정 860의 제 2 실시예][Second Embodiment of Process 850 and Process 860]

출력 비트 스트림 (w0, w1, w2,... , wNcb) 중 항상 천공 되는 정보어 비트를 제외한 비트 스트림 (x0, x1, x2,..., xNcb_ext)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 여기서 Ncb_ext = Ncb - Nsym_p 으로 Nsym_p는 항상 천공 되는 정보어 비트의 개수이다. 일예로 2*Z 정보어 비트가 천공될 경우 Ncb_ext = Ncb -2*Z 이다. 또한 단축되는 Ns 비트들을 제외할 경우 Ncb_ext = Ncb - Nsym_p - Ns 이다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 xk 중에서 선택되어 전송되는 비트를 의미한다.Among the output bit streams (w 0 , w 1 , w 2 ,... , w Ncb ), the bit streams (x 0 , x 1 , x 2 ,..., x Ncb_ext ) and the code excluding information word bits that are always punctured A bit stream is transmitted as follows based on the number of bits N cb , the number of transmission bits E, and the index k 0 of transmission start bits. Here, Ncb_ext = Ncb - Nsym_p where Nsym_p is the number of information word bits that are always punctured. For example, when 2*Z information bits are punctured, Ncb_ext = Ncb -2*Z. Also, when Ns bits that are shortened are excluded, Ncb_ext = Ncb - Nsym_p - Ns. The number E of transmission bits is a value determined based on the number of allocated subcarriers and a modulation scheme, and may be determined prior to step 860. e k means a bit selected from x k and transmitted.

Figure 112017096413308-pat00063
Figure 112017096413308-pat00063

혹은or

Figure 112017096413308-pat00064
Figure 112017096413308-pat00064

혹은or

Figure 112017096413308-pat00065
Figure 112017096413308-pat00065

혹은 or

Figure 112017096413308-pat00066
Figure 112017096413308-pat00066

여기서 m은 rv_idx의 개수이다. 상기 전송이 시작되는 비트의 위치( 비트 인덱스) 인 K0는 본발명 다양한 실시예들로 이하에서 좀더 상세히 서술 하도록 한다. Here, m is the number of rv_idx. K 0 , which is the position (bit index) of the bit at which the transmission starts, will be described in more detail below in various embodiments of the present invention.

Figure 112017096413308-pat00067
Figure 112017096413308-pat00067

[과정 850와 과정 860의 제 3 실시예] [Third Embodiment of Process 850 and Process 860]

출력 비트 스트림 (w0, w1, w2,..., wNcb) 중 항상 천공 되는 정보어 비트를 제외한 비트 스트림 (x0, x1, x2,..., xNcb_ext)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 여기서 Ncb_ext = Ncb - Nsym_p 으로 Nsym_p는 항상 천공 되는 정보어 비트의 개수이다. 일예로 2*Z 정보어 비트가 천공될 경우 Ncb_ext = Ncb - 2*Z 이다. 또한 단축되는 Ns 비트들을 제외할 경우 Ncb_ext = Ncb - Nsym_p - Ns 이다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 xk 중에서 선택되어 전송되는 비트를 의미한다.Of the output bit streams (w 0 , w 1 , w 2 ,..., w Ncb ), the bit streams (x 0 , x 1 , x 2 ,..., x Ncb_ext ) and the code excluding information word bits that are always punctured A bit stream is transmitted as follows based on the number of bits N cb , the number of transmission bits E, and the index k 0 of transmission start bits. Here, Ncb_ext = Ncb - Nsym_p where Nsym_p is the number of information word bits that are always punctured. For example, when 2*Z information bits are punctured, Ncb_ext = Ncb - 2*Z. Also, when Ns bits that are shortened are excluded, Ncb_ext = Ncb - Nsym_p - Ns. The number E of transmission bits is a value determined based on the number of allocated subcarriers and a modulation scheme, and may be determined prior to step 860. e k means a bit selected from x k and transmitted.

Figure 112017096413308-pat00068
Figure 112017096413308-pat00068

혹은 or

Figure 112017096413308-pat00069
Figure 112017096413308-pat00069

혹은 or

Figure 112017096413308-pat00070
Figure 112017096413308-pat00070

혹은or

Figure 112017096413308-pat00071
Figure 112017096413308-pat00071

여기서 m은 rv_idx의 개수이다. 상기 전송이 시작되는 비트의 위치( 비트 인덱스) 인 K0는 본발명 다양한 실시예들로 이하에서 좀더 상세히 서술 하도록 한다. Here, m is the number of rv_idx. K 0 , which is the position (bit index) of the bit at which the transmission starts, will be described in more detail below in various embodiments of the present invention.

Figure 112017096413308-pat00072
Figure 112017096413308-pat00072

도 9는 본 발명에 따라 데이터가 부호화되는 과정을 도시한 도면이다. 도 9에 따르면, 송신기에서 전송 블록(transport block)은 정보어 블록(information block)으로 분할(segmentation)되고, 정보어 블록에는 제로 패딩 비트가 포함되어 총 길이가 Kb×Z, 즉 Z의 배수가 되게 된다. 이후 정보어 블록은 LDPC 인코딩되고, 부호어의 총 길이는 Nb×Z가 된다. 상기 부호어 비트들은 인터리빙될 수 있다. k0 값의 위치가 결정되고, 송신기는 제로 패딩되었던 비트를 제거한 후 부호어 비트를 전송하게 된다. 9 is a diagram illustrating a process of encoding data according to the present invention. According to FIG. 9, in the transmitter, a transport block is segmented into an information block, and the information block includes zero padding bits so that the total length is K b ×Z, that is, a multiple of Z. will become Thereafter, the information word block is LDPC-encoded, and the total length of the codeword becomes N b ×Z. The codeword bits may be interleaved. The position of the k 0 value is determined, and the transmitter transmits the codeword bit after removing the zero-padded bits.

본 발명에 따르면 송신기는 상기 rvidx로부터 전송 시작 비트의 위치를 의미하는 k0(=Sidx) 값을 결정하고, 상기 결정된 k0값을 인덱스로 갖는 부호어 비트부터 순차적으로 전송하도록 한다. 전송시에는 상기 rv_idx(= 0, 1, 2 or 3)에 따른 모든 Sidx를 결정할 필요는 없고, rvidx에 기반하여 전송 시작 비트의 index(즉 Sidx 혹은 k0)를 결정하여 전송 할 수 있다. Redundancy version (RV) 이 m개로 정의 될 경우 RV= {rv0, rv1, .., rv(m-1)} 이고, rvidx = {0, 1, 2, …, m-1}이다. rvidx에 기반한 시작 비트의 인덱스 S={s0, s1, …, s(m-1)} 이다.According to the present invention, the transmitter determines the k 0 (=S idx ) value indicating the position of the transmission start bit from the rv idx , and sequentially transmits the codeword bit having the determined k 0 value as an index. When transmitting, it is not necessary to determine all S idx according to rv_idx (= 0, 1, 2 or 3), and the index of the transmission start bit (i.e., S idx or k 0 ) can be determined and transmitted based on rv idx there is. If m redundancy version (RV) is defined, RV= {rv 0 , rv 1 , .., rv (m-1) } and rv idx = {0, 1, 2, … , m-1}. Index of start bit based on rv idx S={s 0 , s 1 , … , s (m-1) }.

도 9a는 상기 실시예 2와 실시예 3을 도시한 도면이다. 정보어 비트중 일부가 항상 천공되어 circular buffer에 입력되지 않을 경우를 도시 하였다.9A is a diagram showing the second embodiment and the third embodiment. The case where some of the information word bits are always punctured and not input to the circular buffer is shown.

본 발명에서는 첫 번째로 데이터 재전송 시 전송 순서, 즉 RV(Redundancy Version)의 순서를 결정하는 방법에 대해 기술한다. RV의 순서는 MCS(Modulation and coding scheme)의 인덱스에 따라 다르게 설정될 수 있다. 즉 redundancy version의 순서는 MCS index(IMCS)에 따라 정의된다. In the present invention, firstly, a method of determining a transmission order, that is, an order of redundancy versions (RVs) when retransmitting data is described. The order of RVs may be set differently according to the index of a modulation and coding scheme (MCS). That is, the order of redundancy versions is defined according to the MCS index (I MCS ).

현재 LTE 표준에서는 아래 표 1과 같은 HARQ 모드를 제공한다. The current LTE standard provides the HARQ mode shown in Table 1 below.

[표 1][Table 1]

Figure 112017096413308-pat00073
Figure 112017096413308-pat00073

특히 LTE 상향링크(UL) 전송에서는 Non-adpative HARQ 운용시 재전송의 경우, 기지국은 데이터 스케줄링을 위한 별도의 하향링크 제어 정보(DCI, 즉 UL grant)를 전송하지 않고 하향링크(DL) 물리 HARQ 채널(PHICH) 상으로 NACK을 전송하면 단말은 자동으로 정해진 시점에 RV (Redundancy Version) 0, 2, 3 및 1 순서대로 재전송을 수행한다. In particular, in LTE uplink (UL) transmission, in the case of retransmission during non-adpative HARQ operation, the base station does not transmit separate downlink control information (DCI, that is, UL grant) for data scheduling, and downlink (DL) physical HARQ channel When NACK is transmitted on (PHICH), the terminal automatically performs retransmission in the order of RV (Redundancy Version) 0, 2, 3, and 1 at a predetermined time.

그러나 LDPC 코드를 이용할 경우 데이터 전송시 부호율(code rate)가 변경될 경우 LDPC 코드를 위한 행렬이 변경될 수 있으므로 추가적인 고려 사항이 발생한다. 본 발명은 IR 모드를 지원하기 위하여 LDPC 부호어 비트들을 rvidx에 기반하여 특정 비트의 위치부터 전송하는 방법을 제안한다. However, when the LDPC code is used, additional considerations arise because a matrix for the LDPC code may be changed when a code rate is changed during data transmission. The present invention proposes a method of transmitting LDPC codeword bits from a specific bit position based on rv idx to support the IR mode.

도 10은 LDPC 부호어 및 상기 재전송을 위한 기설정된 특정 비트의 위치를 도시한 도면이다. 도 10에 따르면, LDPC 부호어 비트들 중 특정 비트들의 위치가 rv(redundancy version)에 의해 지정될 수 있다. 도 8의 경우 rv0(1000), rv1(1010), rv2(1020), … , rvm-1(1030)의 m개의 특정 비트의 위치가 rv 또는 rvidx 값에 의해 지정되었다. rv0(1000)의 rvidx는 0 이며 rv1(1010)의 rvidx는 1 이며 rv2(1020)의 rvidx는 2 이며 rvm-1(1030)의 rvidx는 (m-1)이다. 송신기는 LDPC 부호어를 생성한 이후 rv가 지칭하는 위치부터 전송할 수 있다. 일례로 처음 전송시에는 rv0가 지칭하는 비트부터 전송하고, 두 번째 전송일 경우에는 rv1이 지칭하는 비트부터 전송할 수 있다. FIG. 10 is a diagram showing positions of LDPC codewords and preset specific bits for the retransmission. According to FIG. 10, positions of specific bits among LDPC codeword bits may be designated by redundancy version (rv). 8, rv 0 (1000), rv 1 (1010), rv 2 (1020), . , the location of m specific bits of rv m-1 (1030) is designated by the value of rv or rv idx . The rv idx of rv 0 (1000) is 0, the rv idx of rv 1 (1010) is 1, the rv idx of rv 2 (1020) is 2, and the rv idx of rv m-1 (1030) is (m-1) . After generating the LDPC codeword, the transmitter may transmit it from a position indicated by rv. For example, in the first transmission, the bit indicated by rv 0 may be transmitted, and in the case of the second transmission, the bit indicated by rv 1 may be transmitted.

본 발명에서는 상기 초기 전송 또는 재전송에 따른 시작 위치들을 소정의 규칙에 의해 따라 결정하며, 특히 초기 전송 부호율에 따라 전송 순서를 변경하는 방법을 개시한다. 혹은 재전송 부호율에 따라 순서를 변경하는 방법을 개시한다. 상기 전송 순서는 rvidx의 순서 혹은 전송 시작 비트 index의 순서를 의미한다. The present invention discloses a method for determining start positions of the initial transmission or retransmission according to a predetermined rule, and in particular, changing the transmission order according to the initial transmission code rate. Alternatively, a method of changing the order according to the retransmission code rate is disclosed. The transmission order means the order of rv idx or the order of transmission start bit index.

상기 소정의 규칙에 의해 결정된 시작 위치부터 데이터가 전송될 경우 부가적인 시그널링 비트들이 필요 없으므로 시스템 오버헤드를 줄일 수 있는 장점이 있다. 반면 미리 정해진 소정의 규칙에 의해 데이터가 전송되기 때문에 부호율에 따라 추가적으로 얻을 수 있는 부호화 이득의 한계가 있을 수 있다. When data is transmitted from the starting position determined by the predetermined rule, system overhead can be reduced because additional signaling bits are not required. On the other hand, since data is transmitted according to a predetermined rule, there may be a limit to the additionally obtainable encoding gain according to the code rate.

도 11a 및 11b는 부호율에 따라 재전송시 중복되는 부호어를 도시한 도면이다. 본 발명에 따른 도 6a 및 6b의 패리티 검사 행렬을 기반으로 부호화되는 LDPC 부호를 적용할 경우 재전송시 유의할 점은 다음과 같다. 상기 도 6a 및 6b에서 패리티 검사 행렬를 기반으로 부호화 된 패리티 비트들 중 incremental redundancy bits 파트에 있는 패리티 비트 중 정보어 비트에 가까운 앞쪽 패리티 비트가 그 중요도가 높으므로 재전송시 패리티 비트가 순서대로 선택될 경우 높은 부호화 이득을 얻을 수 있다. 또한 재전송시 발생하는 비트의 중복을 줄일수록 그 효율이 높아지게 된다. 즉 최대한 중복 없이 순차적으로 전송될 경우 높은 부호화 이득을 얻을 수 있다. 즉 더 낮은 오류 확률로 전송될 수 있다. 11A and 11B are diagrams illustrating overlapping codewords upon retransmission according to code rates. In the case of applying an LDPC code encoded based on the parity check matrices of FIGS. 6A and 6B according to the present invention, the following points should be noted when retransmitting. Among parity bits encoded based on the parity check matrix in FIGS. 6A and 6B, among the parity bits in the incremental redundancy bits part, the first parity bits close to the information word bits have a high importance, so when parity bits are selected in order during retransmission A high coding gain can be obtained. In addition, as bit duplication occurring during retransmission is reduced, the efficiency increases. That is, a high coding gain can be obtained when the signals are sequentially transmitted without overlapping as much as possible. That is, it can be transmitted with a lower error probability.

도 11a에서 도시한 바와 같이 부호율이 낮을 때 송신기가 초기 전송(1100)시 RV는 rv0 (rvidx = 0)이고 제1 재전송(1110)시 RV는 rv1(rvidx = 1)이고, 제2 재전송(1120)시 RV는 rv2(rvidx = 2)이면 중복되어 전송되는 비트들이 많기 때문에 부호화 이득을 최대로 얻을 수 없다. 그러므로 초기 전송 시 RV는 rv0이고 제1재전송의 RV는 rv1이 아닌 값을 사용하는 경우 높은 부호화 이득을 얻을 수 있다.As shown in FIG. 11A, when the code rate is low, when the transmitter performs initial transmission (1100), RV is rv0 (rv idx = 0), and during first retransmission (1110), RV is rv1 (rv idx = 1), and second In retransmission 1120, if RV is rv2 (rv idx = 2), the maximum encoding gain cannot be obtained because there are many overlapping bits transmitted. Therefore, when RV of initial transmission is rv 0 and RV of first retransmission uses a value other than rv 1 , a high coding gain can be obtained.

그러나, 도 11b에서 도시한 바와 같이 부호율이 높을 경우 초기 전송(1150)시 RV는 rv0이고, 제1 재전송(1160)시 RV는 rv1이면, rv0와 rv1가 지칭하는 비트부터 전송되는 부호어 비트들 중 중복되어 전송되는 비트들의 개수는 낮은 부호율로 전송 되는 경우에 비해 적거나 없을 수 있다. 그러므로 도 11a의 경우보다 더 높은 부호화 이득을 얻을 수 있다. However, as shown in FIG. 11B, when the code rate is high, if RV is rv0 during initial transmission (1150) and RV is rv1 during first retransmission (1160), codeword bits transmitted starting with the bits indicated by rv0 and rv1 Among them, the number of overlapping bits transmitted may be less or absent compared to the case of transmission with a low code rate. Therefore, a higher encoding gain can be obtained than in the case of FIG. 11A.

이러한 점을 고려해 본 발명에서 제안하는 재전송시 전송 순서를 결정하는 방법은 아래와 같다. Considering this point, the method for determining the transmission order during retransmission proposed in the present invention is as follows.

첫 번째로, 초기 전송 부호율에 따라 상기 기설정된 전송 순서 중 하나를 선택해 적용할 수 있다. 일례로 rv값이 총 4개일 경우 이하와 같은 4개의 전송 순서 중 하나를 부호율에 따라 선택해 적용할 수 있다.First, one of the preset transmission sequences may be selected and applied according to the initial transmission code rate. For example, when there are 4 rv values in total, one of the following 4 transmission orders can be selected and applied according to the code rate.

[표 2][Table 2]

Figure 112017096413308-pat00074
Figure 112017096413308-pat00074

두 번째로 상기 전송 순서를 명시해 주는 방법 중 일례로 할당된 MCS(modulation and coding scheme) 인덱스에 따라 상기 4개의 전송 순서 중 하나를 선택해 부호어를 전송할 수 있다.Second, as an example of a method for specifying the transmission order, a codeword may be transmitted by selecting one of the four transmission orders according to an allocated modulation and coding scheme (MCS) index.

[표 3][Table 3]

Figure 112017096413308-pat00075
Figure 112017096413308-pat00075

상기 표3의 MCS table에 부호율(code rate)은 명시 되지 않을 수 있다. The code rate may not be specified in the MCS table of Table 3 above.

세 번째로 본 발명에 따르면 MCS 인덱스와 TBS(transport block size)와 부호어 비트가 전송될 부반송파(sub-carrier)들의 개수 등에 의해 결정되는 실제 부호율(effective code rate, Reff)과 기설정된 부호율에 대한 임계값(Rth_i, i=0, 1, 2, …, Norder -1)을 비교해 상기 비교 결과에 따라 특정 RV 순서를 사용해 더 우수한 성능을 보일 수 있다. 이러한 방법은 아래 수학식 17을 따라 수행될 수 있다. 상기 Reff는 TBS(Transport Block Size) 비트 개수와 전송되는 상기 TBS 기반 부호어 비트들의 비율이다. 상기 실제 부호율을 계산 하는 방법은 프레임 구조에 따라 다양할 수 있으며, 일례로 (TBS+NCRC)/(NPRB×(PRB당 자원 요소(resource element, RE)의 수 - #RE for reference signaling)× modulation order) 일 수 있다. 여기서 NCRC는 CRC 비트의 개수로 0일 수 있다. NPRB는 할당된 자원 블록(Resource Block)의 개수를 의미하고 #RE for reference signaling는 기준 신호 전송(reference signalling)이 할당된 자원 요소의 개수를 의미한다. TBS는 특정 ITBS와 NPRB 가 적용된 경우 전송할 수 있는 비트의 수를 의미한다. 또는 상기 TB(Transport Block)가 다수의 CB(Code Block)으로 세그멘테이션되고 CB 단위 혹은 CBG(CB group) 단위로 재전송될 경우, Reff는 CB의 크기 또는 CBG의 비트 개수와 CB 또는 CBG가 전송되는 부호어 비트의 개수의 비율일 수 있다.Thirdly, according to the present invention, the actual code rate (effective code rate, R eff ) determined by the MCS index, transport block size (TBS), and the number of sub-carriers to which codeword bits will be transmitted and the preset code By comparing threshold values (R th_i , i = 0, 1, 2, ..., N order -1) for the rate, better performance can be shown by using a specific RV order according to the comparison result. This method may be performed according to Equation 17 below. The R eff is a ratio between the number of Transport Block Size (TBS) bits and the transmitted TBS-based codeword bits. The method of calculating the actual code rate may vary depending on the frame structure, for example (TBS + N CRC ) / (N PRB × (the number of resource elements (RE) per PRB - #RE for reference signaling ) × modulation order). Here, N CRC is the number of CRC bits and may be 0. N PRB means the number of allocated resource blocks, and #RE for reference signaling means the number of resource elements to which reference signaling is allocated. TBS means the number of bits that can be transmitted when specific I TBS and N PRB are applied. Alternatively, when the TB (Transport Block) is segmented into a plurality of CB (Code Blocks) and retransmitted in CB units or CBG (CB group) units, R eff is the size of CB or the number of bits of CBG and CB or CBG transmitted It may be a ratio of the number of codeword bits.

[수학식 17][Equation 17]

RV index order indicator = i if Reff < Rth_i ( 0≤ i < Norder )RV index order indicator = i if R eff < R th_i ( 0≤ i < N order )

상기 Norder 는 상기 표2에서 명시한 가능한 RV index order indicator의 최대 값으로 RV index order의 최대 가지 수를 의미한다. 상기 Reff 는 상기 IMCS을 기반으로 결정할 수도 있다. The N order is the maximum value of the possible RV index order indicators specified in Table 2, and means the maximum number of branches of the RV index order. The R eff may be determined based on the I MCS .

이러한 방법을 이용할 경우 송신기는 DCI 등 시그널링을 이용해 수신기가 직접 rvidx 값을 알려주지 않더라도 기설정된 순서대로 데이터 전송을 수행할 수 있다.When using this method, the transmitter can perform data transmission in a preset order even if the receiver does not directly inform the rv idx value using signaling such as DCI.

또한 패리티 검사 행렬 별로 서로 다른 패턴의 rvidx 순서가 사용될 수 있으며 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스 (IMCS)와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 rvidx 순서가 결정될 수 있다.In addition, different patterns of rv idx order may be used for each parity check matrix, or according to the TBS index or MCS index (I MCS ) and N PRB (size of physical resources used during data transmission) determined according to the MCS index and modulation order The rv idx order may be determined.

또는 본 발명에 따르면 비적응적으로(non-adoptive) rvidx 순서를 고정한 후 초기 전송 부호율에 따라 인터리버(interleaver)를 달리 사용하여 전송해 동일한 효과를 얻을 수 있다. Alternatively, according to the present invention, the same effect can be obtained by fixing the rv idx order in a non-adaptive manner and then transmitting using an interleaver differently according to the initial transmission code rate.

도 12a 및 12b는 인터리버를 달리 사용하는 경우에 전송되는 부호어를 도시한 도면이다. 도 12a 및 12b에 따르면 1200은 전송 순서가 고정되어 rv0, rv1, rv2 및 rv3의 순서로 부호어가 전송됨을 의미한다. 이 때 부호어 비트들(=c0, c1, c2, …, cN-1)을 rvidx에 의해 지정되는 Sidx를 인덱스로 하는 비트들을 기반으로 하여 비트 그룹들로 구분한다. 첫 번째 비트 그룹(Bit Group0)는 cs0부터 c{s1-1}으로 구성되어 있다. 두 번째 비트 그룹(Bit Group1)는 cs1부터 c{s2-1}으로 구성되어 있다. 세 번째 비트 그룹(Bit Group2)는 cs2부터 c{s3-1}으로 구성되어 있다. 네 번째 비트 그룹 (Bit Group3)은 cs3부터 c{N}로 구성되어 있다. 다섯 번째 비트 그룹 (Bit Group4)은 cs0부터 c{s1-1}로 구성되어 있다. 12A and 12B are diagrams illustrating codewords transmitted when an interleaver is used differently. According to FIGS. 12A and 12B, 1200 means that the transmission order is fixed and codewords are transmitted in the order of rv 0 , rv 1 , rv 2 , and rv 3 . At this time, the codeword bits (= c 0 , c 1 , c 2 , ..., c N-1 ) are divided into bit groups based on the bits whose index is S idx designated by rv idx . The first bit group (Bit Group0) consists of c s0 to c {s1-1} . The second bit group (Bit Group1) consists of c s1 to c {s2-1} . The third bit group (Bit Group2) consists of c s2 to c {s3-1} . The fourth bit group (Bit Group3) consists of c s3 to c {N} . The fifth bit group (Bit Group4) consists of c s0 to c {s1-1} .

이 때 인터리버 1을 적용할 경우 인터리버 1은 비트 그룹들을 Bit Group4, Bit Group0, Bit Group2, Bit Group1 및 Bit Group3 순서로 배열하며(1210) 이 경우 부호어 전송시 송신기는 인터리버를 사용하지 않았을 때와 동일한 rvidx 순서를 사용하더라도 실제 전송되는 비트의 시작점을 변경할 수 있다. 인터리버 3을 적용할 경우 인터리버 3(1230)은 비트 그룹들을 bit group 0, 3, 1 및 2의 순서로 배열하며, 이 경우 역시 송신기는 인터리버를 사용하지 않았을 때와 동일한 rvidx 순서를 사용하더라도 실제 전송되는 비트의 시작점을 변경할 수 있다. 그러므로 부호율에 따라 인터리버를 사용하여 상기와 같이 부호율에 따라 rvidx 순서를 다르게 하는 것과 동일한 효과를 얻을 수 있다. 그러므로 시그널링 오버헤드를 줄이기 위한 방법으로 rvidx 순서를 기 설정된 순서에 의해 사용하고 초기 전송 부호율에 따라 다른 인터리버를 사용하여 부호화 이득을 얻을 수 있도록 한다.At this time, when interleaver 1 is applied, interleaver 1 arranges bit groups in the order of Bit Group4, Bit Group0, Bit Group2, Bit Group1, and Bit Group3 (1210). Even if the same rv idx order is used, the starting point of actually transmitted bits can be changed. When interleaver 3 is applied, interleaver 3 (1230) arranges bit groups in the order of bit groups 0, 3, 1, and 2, and in this case, the transmitter also uses the same rv idx order as when the interleaver is not used, You can change the starting point of transmitted bits. Therefore, it is possible to obtain the same effect as changing the order of rv idx according to the code rate as described above by using an interleaver according to the code rate. Therefore, as a method for reducing signaling overhead, the order of rv idx is used in a preset order and a different interleaver is used according to the initial transmission code rate so that a coding gain can be obtained.

또한 본 발명에서는 rvidx (redundancy version index)로 지정되는 비트의 index, 즉 Sidx 값을 결정하는 방법을 개시한다. 상기에서 설명한 바와 같이 부호어 비트들을 전송할 때 결정된 rvidx로부터 Sidx값을 결정하고 결정된 Sidx값을 인덱스로 갖는 비트부터 순차적으로 전송하도록 한다. In addition, the present invention discloses a method of determining an index of a bit designated as rv redundancy version index (rv idx ), that is, an S idx value. As described above, when codeword bits are transmitted, an S idx value is determined from the determined rv idx , and the bits having the determined S idx value as an index are sequentially transmitted.

첫 번째로, 초기 전송 시 부호율에 따라 최대 rvidx 값 (=m-1)을 고려한 부호어 비트들의 개수를 결정하여 각 rvidx들에 의해 지칭되는 Sidx 값들의 간격을 조절할 수 있다. 초기 전송 시 부호율이 높을 경우 최대 rvidx 값에 기반한 재전송시의 부호율은 LDPC 부호가 지원 할 수 있는 최소 부호율보다 높을 수 있다. 일례로, 초기 전송 시 부호율이 8/9, 지원할 수 있는 최소 부호율이 1/5, rvidx의 최대 값 (m-1)이 3일 경우 최대 재전송 수행시 부호율은 8/36(=8/9×1/4)으로 1/5보다 높다. 이 경우 부호어 비트의 개수(=Ncb)를 부호율 8/36을 기반으로 결정하고 이를 기반으로 Sidx를 설정할 경우 부호어 비트의 개수(=Ncb)를 부호율 1/5을 기반으로 결정하고, 이를 기반으로 Sidx를 설정할 경우보다 더 높은 부호화 이득을 얻을 수 있다.First, the interval of S idx values indicated by each rv idx can be adjusted by determining the number of codeword bits considering the maximum rv idx value (=m-1) according to the code rate at the time of initial transmission. If the code rate is high at the time of initial transmission, the code rate at the time of retransmission based on the maximum rv idx value may be higher than the minimum code rate that the LDPC code can support. For example, if the initial transmission code rate is 8/9, the minimum supportable code rate is 1/5, and the maximum value (m-1) of rv idx is 3, the maximum retransmission code rate is 8/36 (= 8/9×1/4), which is higher than 1/5. In this case, if the number of codeword bits (=N cb ) is determined based on the code rate 8/36 and S idx is set based on this, the number of codeword bits (=N cb ) is determined based on the code rate 1/5 It is possible to obtain a higher encoding gain than when S idx is set based on this determination.

또한 본 발명에 따르면, rvidx의 최대 값이 (m-1)이라고 할 경우 부호어 비트의 길이 Ncb을 k/R*m과 같거나 작은 값으로 설정하도록 한다. k는 정보어 비트의 개수로 CBS와 동일 하거나 혹은 Kb×Z와 동일할 수 있다. 상기 부호율 R은 MCS 테이블에서 IMCS 에 따른 값으로 명시할 수도 있고 유효 부호율(effective code rate)를 사용할 수도 있다. 상기 유효 부효율는 정보어 비트의 개수와 전송을 위해 할당된 RB의 개수(즉 자원의 크기)에 따라 변경될 수 있다.Also, according to the present invention, when the maximum value of rv idx is (m-1), the codeword bit length N cb is set to a value equal to or smaller than k/R*m. k is the number of information word bits and may be equal to CBS or equal to K b × Z. The code rate R may be specified as a value according to I MCS in the MCS table or an effective code rate may be used. The effective inefficiency may be changed according to the number of information word bits and the number of RBs allocated for transmission (ie, resource size).

일례로 Ncb는 이하 수학식 18에 기반하여 결정하도록 한다.For example, N cb is determined based on Equation 18 below.

[수학식 18][Equation 18]

Figure 112017096413308-pat00076
또는,
Figure 112017096413308-pat00076
or,

Figure 112017096413308-pat00077
Figure 112017096413308-pat00077

정보어 비트 중 특정 Nsym_p 비트들을 항상 전송하지 않은 경우를 고려 할 수 있다. 상기 특정 비트들을 punctured systematic bits라고 한다.A case in which specific Nsym_p bits among information word bits are not always transmitted may be considered. The specific bits are referred to as punctured systematic bits.

이 경우 상기 제 2 실시예의 Ncb_ext는 이하 수학식 18-A에 기반하여 결정하도록 한다.In this case, Ncb_ext of the second embodiment is determined based on Equation 18-A below.

[수학식 18-1][Equation 18-1]

Figure 112017096413308-pat00078
Figure 112017096413308-pat00078

상기 Ns는 단축 비트의 개수이다. The Ns is the number of short bits.

상기 Ncb 및 Ncb_ext는 limited buffer를 사용할 경우 limited buffer size와 상기 값들을 비교하여 더 작은 값을 선택하도록 한다.When a limited buffer is used, Ncb and Ncb_ext are compared with the limited buffer size to select a smaller value.

상기 Nb는 LDPC 부호의 패리티 검사 행렬의 열 블록의 개수로 CBS 길이에 따라 달라질 수 있다. 상기 Nb는 패리티 검사 행렬의 최대 열 블록의 개수 Nbmax 보다 작거나 같은 값이다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category)에 속하는지 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. k는 CBS와 동일한 값이거나 CBS에 제로 패딩(zero padding) 비트의 개수를 더한 값인 LDPC 부호의 입력 비트의 개수(Kb×Z) 일 수 있다. 이 때 0, 1, … , (m-1) 중 하나의 값으로 결정된 rvidx 에 기반한 Sidx 값 또는 전송 시작 비트의 인덱스 k0는 아래 수학식 19에 따라 결정할 수 있다.N b is the number of column blocks of the parity check matrix of the LDPC code, and may vary according to the CBS length. The N b is a value smaller than or equal to N bmax , the maximum number of column blocks of the parity check matrix. In addition, as mentioned above, N cb depends on at least one element of whether it belongs to a specific code rate and a specific UE category, a parity check matrix, uplink or downlink (UL/DL), or the length of an information word. may be determined differently. k may be the same value as CBS or the number of input bits (K b ×Z) of the LDPC code, which is a value obtained by adding the number of zero padding bits to CBS. In this case, 0, 1, … , (m-1), the S idx value based on rv idx determined as one of (m-1) or the index k 0 of the transmission start bit may be determined according to Equation 19 below.

[수학식 19][Equation 19]

Figure 112017096413308-pat00079
또는,
Figure 112017096413308-pat00079
or,

Figure 112017096413308-pat00080
Figure 112017096413308-pat00080

초기 전송 부호율에 따라 상기 m 값이 다를 수 있다. 또는 패리티 검사 행렬에 따라 m값이 다를 수 있으며, UE 카테고리(category) 혹은 DL 또는 UL 여부에 따라 다를 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일 하거나 Z의 배수 혹은 0일 수 있다.The value of m may be different according to the initial transmission code rate. Alternatively, the value of m may be different according to the parity check matrix, and may be different according to the UE category or DL or UL. a means the position of S 0 where rv idx =0. a may be equal to the size Z of the sub-matrix of the parity check matrix of the LDPC code, a multiple of Z, or 0.

송신기는 실제 부호화를 수행시 Ncb까지 수행할 수 있고 또는 전송시 필요한 비트까지만 수행할 수도 있다.When performing actual encoding, the transmitter may perform up to N cb or may perform only up to bits necessary for transmission.

두 번째로, Sidx 값들 즉 k0 값은 패리티 검사 행렬을 결정하기 위한 리프팅 값(lifting value) Z의 배수가 되도록 한다. 이는 디코더(decoder) 동작을 용이하게 하기 위한 방법이다. 도 13a는 재전송 시작점을 결정하는 방법을 도시한 도면으로 특히 상기의 방법으로 결정된 rvidx에 의해 결정된 Sidx 값을 도시한 도면이다. 도 13에 도시된 바와 같이 Sidx 값의 위치는 Z의 배수에 위치한다. 본 발명에서는 이를 위해 제로 패딩(zero padding) 비트들을 포함한 상태에서 Sidx값들이 결정되도록 한다. Second, S idx values, that is, k 0 values, are multiplied by a lifting value Z for determining a parity check matrix. This is a method for facilitating a decoder operation. FIG. 13A is a diagram showing a method of determining a retransmission start point, and in particular, an S idx value determined by rv idx determined by the above method. As shown in FIG. 13, the position of the S idx value is located in multiples of Z. In the present invention, for this purpose, S idx values are determined with zero padding bits included.

이 때 Sidx는 아래 수학식 20과 같이 결정될 수 있다. At this time, S idx may be determined as shown in Equation 20 below.

[수학식 20][Equation 20]

Figure 112017096413308-pat00081
또는,
Figure 112017096413308-pat00081
or,

Figure 112017096413308-pat00082
또는,
Figure 112017096413308-pat00082
or,

Figure 112017096413308-pat00083
또는
Figure 112017096413308-pat00083
or

Figure 112017096413308-pat00084
Figure 112017096413308-pat00084

상기 rvidx는 0≤i<m이고 상기 m은 부호율에 따라 다를수 있다. Ncb는 재전송을 고려한 부호어 비트의 개수로 상기 수학식 17과 같이 결정될 수 있다. 또는 Ncb = min(Nbmax*Z, Nmax)로 결정될 수 있다. Nbmax는 도 6a과 도 6b에서 도시한 패리티 검사 행렬의 열 블록의 최대 개수이다. Nmax는 기설정된 최대 부호화 비트의 개수이다. Nmax를 설정하지 않았을 경우에는 Ncb = Nbmax×Z 가 될 수 있다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정 될 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일하거나 Z의 배수 혹은 0일 수 있다. 실제 부호화는 Ncb까지 수행되거나 전송시 필요한 비트(=E)에 대해서만 수행될 수도 있다. The rv idx is 0≤i<m, and the m may vary according to the code rate. N cb is the number of codeword bits considering retransmission and can be determined as shown in Equation 17 above. Alternatively, N cb = min(N bmax *Z, N max ). N bmax is the maximum number of column blocks of the parity check matrix shown in FIGS. 6A and 6B. N max is the preset maximum number of coded bits. If N max is not set, N cb = N bmax ×Z can be obtained. In addition, as mentioned above, N cb is determined differently according to at least one element of a specific code rate, a specific UE category, a parity check matrix, whether uplink or downlink (UL/DL), or the length of an information word. It can be. a means the position of S 0 where rv idx =0. a may be equal to the size Z of the sub-matrix of the parity check matrix of the LDPC code, a multiple of Z, or 0. Actual encoding may be performed up to N cb or performed only for bits (=E) necessary for transmission.

세 번째로, 부호율에 따라서 Sidx간의 간격을 다르게 설정할 수 있다. 구체적으로, 전송 시작점의 위치는 아래 수학식 21과 같이 결정될 수 있다.Thirdly, intervals between S idx can be set differently according to the code rate. Specifically, the location of the transmission start point may be determined as shown in Equation 21 below.

[수학식 21][Equation 21]

Figure 112017096413308-pat00085
또는,
Figure 112017096413308-pat00085
or,

Figure 112017096413308-pat00086
Figure 112017096413308-pat00086

상기

Figure 112017096413308-pat00087
는 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 미리 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또한 상기
Figure 112017096413308-pat00088
는 부호율 및 정보어 길이(즉 CBS)에 따라 달리 결정될 수 있다. 구체적으로 MCS 인덱스 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 미리 결정되어 있을 수 있다. 일례로
Figure 112017096413308-pat00089
이고 상기 R은 초기 전송 부호율로 MCS 인덱스에 의해 결정될 수 있다. 또한 상기
Figure 112017096413308-pat00090
는 패리티 검사 행렬 및 UE 카테고리에 따라 다를 수 있다. rvidx는 0≤i<m이고 상기 m은 부호율에 따라 다를 수 있다. Ncb는 재전송을 고려한 부호어 비트의 개수로 상기 수학식 17과 같이 결정될 수 있다. 또는 Ncb = min(Nbmax×Z, Nmax)로 결정될 수 있다. 또는 Ncb = min(Nb×Z, Nmax)로 결정될 수 있다. Nbmax는 도 6a과 도 6b에서 도시한 패리티 검사 행렬의 열 블록의 최대 개수이고, Nb는 Nbmax보다 작거나 같은 값으로 소정의 규칙에 의해 결정된다. Nmax는 기설정된 최대 부호화 비트의 개수이다. Nmax를 설정하지 않았을 경우에는 Ncb = Nbmax×Z 또는 Ncb = Nb×Z 로 설정된다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일 하거나 Z의 배수 혹은 0일 수 있다. 이 때 실제 부호화는 Ncb까지 수행되거나 전송시 필요한 비트(=E, 이는 전송하는 부호어 비트의 개수로 이해될 수 있다)에 대해서만 수행될 수도 있다. 또한 상기 세 번째 방법에 의하여 Sidx를 결정할 경우 작은 idx의 Sidx 값이 큰 idx의 Sidx 보다 더 클 수 있다. 즉 S1>S2 일 수 있다. remind
Figure 112017096413308-pat00087
May be a value configured in advance by higher layer signaling (which can also be interpreted as RRC signaling) or MAC CE or downlink physical layer signal (L1 DL control), or directly calculated by the transceiver. can Also reminded
Figure 112017096413308-pat00088
may be determined differently depending on the code rate and information word length (ie, CBS). Specifically, it may be predetermined according to the TBS index or MCS index determined according to the MCS index and the modulation order and N PRB (size of physical resources used during data transmission). as an example
Figure 112017096413308-pat00089
And R is the initial transmission code rate and may be determined by the MCS index. Also reminded
Figure 112017096413308-pat00090
may be different depending on the parity check matrix and UE category. rv idx is 0≤i<m, and m may be different depending on the code rate. N cb is the number of codeword bits considering retransmission and can be determined as shown in Equation 17 above. Alternatively, N cb = min(N bmax ×Z, N max ). Alternatively, N cb = min(N b ×Z, N max ). N bmax is the maximum number of column blocks of the parity check matrix shown in FIGS. 6A and 6B, and N b is a value smaller than or equal to N bmax and determined by a predetermined rule. N max is the preset maximum number of coded bits. If N max is not set, N cb = N bmax ×Z or N cb = N b ×Z is set. In addition, as mentioned above, N cb may be determined differently depending on at least one element of a specific code rate, a specific UE category, a parity check matrix, whether uplink or downlink (UL/DL), or the length of an information word. can a means the position of S 0 where rv idx =0. a may be equal to the size Z of the sub-matrix of the parity check matrix of the LDPC code, a multiple of Z, or 0. In this case, actual encoding may be performed up to N cb or may be performed only for bits necessary for transmission (=E, which may be understood as the number of codeword bits to be transmitted). Also, when the S idx is determined by the third method, the S idx value of the small idx may be greater than the S idx value of the large idx . That is, it may be S 1 >S 2 .

상기와 같은 방법을 사용할 경우 RV값이 rvi 즉 rvidx=i일 경우 전송된 비트들과 RV값이 rvi+1 즉 rvidx= (i+1)일 경우 전송된 비트들 중 동일한 비트들의 개수를 최소화 할 수 있으므로 재전송시 RV를 순차적으로 사용하여 부호화 이득을 최대화 할 수 있다.In the case of using the above method, the transmitted bits when the RV value is rv i , that is, rv idx = i, and the same bits among the transmitted bits when the RV value is rv i + 1, that is, rv idx = (i + 1) Since the number can be minimized, the coding gain can be maximized by sequentially using RVs during retransmission.

상기 실시예2와 실시예3에서 언급한 바와 같이 특정 정보어 비트들이 항상 전송되지 않을 경우, 상기 수학식 21의 Ncb 값은 상기 수학식 18-1에 의해 결정 될 수 있다. 실시예 2의 경우 상기 수학식 21에서 a는 0일 수 있다.As mentioned in Embodiment 2 and Embodiment 3, when specific information bits are not always transmitted, the Ncb value of Equation 21 can be determined by Equation 18-1. In the case of Example 2, in Equation 21 above, a may be 0.

이하에서는 상기

Figure 112017096413308-pat00091
에 대해 상세히 설명한다. HARQ-IR 방식을 사용할 경우 상기 기술한 바와 같이 재전송을 통해 최대한 새로운 부호어 비트를 전송해야 부호어 이득을 얻을 수 있다. 그러므로 부호율에 따라 rv값에 따른 전송 시작 비트의 위치를 달리해야 부호어 이득을 최대로 얻을 수 있다. 이 때 구체적인 전송 시작점의 위치는 아래 수학식 22와 같이 특정 값
Figure 112017096413308-pat00092
를 기반으로 하여 패리티 검사 행렬의 순환 순열 행렬의 사이즈의 배수로 결정될 수 있다.In the following
Figure 112017096413308-pat00091
explain in detail. In the case of using the HARQ-IR scheme, as described above, a codeword gain can be obtained only when maximum new codeword bits are transmitted through retransmission. Therefore, the position of the transmission start bit according to the rv value must be changed according to the code rate to obtain the maximum codeword gain. At this time, the location of the specific transmission start point is a specific value as shown in Equation 22 below.
Figure 112017096413308-pat00092
It may be determined as a multiple of the size of the cyclic permutation matrix of the parity check matrix based on .

[수학식 22][Equation 22]

Figure 112017096413308-pat00093
또는,
Figure 112017096413308-pat00093
or,

Figure 112017096413308-pat00094
Figure 112017096413308-pat00094

상기 a는 rvidx = 0 일때 전송 시작 비트의 위치로 기 설정된 값일 수 있다. 상기 실시예2와 실시예3에서 언급한 바와 같이 특정 정보어 비트들이 항상 전송되지 않을 경우, 상기 수학식 22의 Ncb 값은 상기 수학식 18-A에 의해 결정 될 수 있다. 실시예 2의 경우 상기 수학식 22의 a는 0일 수 있다.The a may be a value preset as a position of a transmission start bit when rv idx = 0. As mentioned in Embodiment 2 and Embodiment 3, when specific information bits are not always transmitted, the Ncb value of Equation 22 can be determined by Equation 18-A. In the case of Example 2, a in Equation 22 may be 0.

상기

Figure 112017096413308-pat00095
은 부호율 및 정보어 길이(즉 CBS)에 따라 달라질 수 있다. 구체적으로 MCS 인덱스 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 미리 결정되어 있을 수 있다. 또한 수학식 22의
Figure 112017096413308-pat00096
및 a는 특정 부호율 및 특정 정보어 길이 (TBS(transport block size), CBS(code block size), CBGS(code block group size) 등) 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 햐향링크(UL/DL) 전송 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. 예를 들어 상기 하나의 요소에 의해서
Figure 112017096413308-pat00097
는 항상 고정된 값을 사용할 수 있다. remind
Figure 112017096413308-pat00095
may vary according to the code rate and information word length (ie, CBS). Specifically, the MCS index or TBS index or MCS index determined according to the MCS index and modulation order may be determined in advance according to N PRB (size of physical resources used during data transmission). Also in Equation 22
Figure 112017096413308-pat00096
And a is a specific code rate and specific information word length (transport block size (TBS), code block size (CBS), code block group size (CBGS), etc.) and a specific UE category or parity check matrix or uplink or It may be determined differently according to at least one element of downlink (UL/DL) transmission or not or the length of an information word. For example, by the above one element
Figure 112017096413308-pat00097
can always use a fixed value.

일례로 상기

Figure 112017096413308-pat00098
는 아래 수학식 23과 같을 수 있다. As an example above
Figure 112017096413308-pat00098
May be as shown in Equation 23 below.

[수학식 23][Equation 23]

Figure 112017096413308-pat00099
또는
Figure 112017096413308-pat00100
Figure 112017096413308-pat00099
or
Figure 112017096413308-pat00100

상기 R은 부호율로 미리 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또는 MCS table에서 표시된 값일 수 있다. 또는 R=f(k/E) 일 수 있으며 이는 상기 R은 k/E를 변수로 하는 임의의 함수라는 의미이다. k는 정보어 비트의 개수(LDPC 부호의 정보어의 길이, TBS 혹은 CBS 혹은 CBG의 비트 개수와 필요 시 CRC 비트를 포함한 길이)이고 E는 전송하는 부호어 비트의 개수를 의미한다. 전송하는 부호어 비트의 개수 E는 상기 정보어 비트가 부호화되어 전송되는 프레임 구조, 레이어(Layer)의 개수, 변조 방식 등에 따라 결정될 수 있다. Kb는 LDPC 부호의 패리티 검사 행렬의 정보어 파트의 column block의 개수를 의미하며 LDPC 부호의 정보어의 길이(k)에 따라 달라지게 된다. 일례로 Kb=k/Z 가 될 수 있다. 그러므로 상기 kb 값은 k 및 Z에 따라 달라지게 된다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다. 상기 LDPC 부호의 정보어는 CB (혹은 TB에 CRC를 포함한 비트열)에 제로비트를 패딩한 비트열을 의미한다. The R may be a code rate and a value configured in advance by higher layer signaling (which can also be interpreted as RRC signaling) or MAC CE or downlink physical layer signal (L1 DL control), Alternatively, the direct transceiver can calculate. Alternatively, it may be a value displayed in the MCS table. Alternatively, R = f (k / E), which means that R is an arbitrary function with k / E as a variable. k is the number of information bits (the length of the information word of the LDPC code, the number of bits of TBS, CBS, or CBG, and the length including CRC bits if necessary), and E means the number of code word bits to be transmitted. The number E of codeword bits to be transmitted may be determined according to a frame structure in which the information bits are encoded and transmitted, the number of layers, a modulation method, and the like. K b means the number of column blocks of the information word part of the parity check matrix of the LDPC code, and varies according to the length (k) of the information word of the LDPC code. For example, K b =k/Z. Therefore, the value of k b depends on k and Z. Z is the size of the cyclic permutation matrix of the parity check matrix of the LDPC code. The information word of the LDPC code means a bit string obtained by padding zero bits to CB (or a bit string including CRC in TB).

또는 MCS table에서 1/R 값을 정수화하여 사용할 수 있다. 즉, MCS table에서 각 MCS index 마다 정의된 소정의 정수값을

Figure 112017096413308-pat00101
또는 (1/R)로 정의하도록 한다. 이 때 부호율이 높을수록
Figure 112017096413308-pat00102
값은 작다.Alternatively, the 1/R value can be integerized and used in the MCS table. That is, a predetermined integer value defined for each MCS index in the MCS table
Figure 112017096413308-pat00101
or (1/R). In this case, the higher the code rate, the
Figure 112017096413308-pat00102
value is small

또는

Figure 112017096413308-pat00103
값은 아래 수학식 24와 같이 정의될 수 있다.or
Figure 112017096413308-pat00103
The value may be defined as in Equation 24 below.

[수학식 24][Equation 24]

Figure 112017096413308-pat00104
또는
Figure 112017096413308-pat00105
또는
Figure 112017096413308-pat00106
Figure 112017096413308-pat00104
or
Figure 112017096413308-pat00105
or
Figure 112017096413308-pat00106

상기 수학식 21 또는 수학식 22를 기반으로 전송 시작 비트를 결정할 경우, 상기

Figure 112017096413308-pat00107
는 이전 전송의 전송 부호율을 기반으로 결정하는 것이 더 우수한 성능을 보장 할 수 있다. 상기 재전송시 이전 전송(또는 초기 전송)과 전송 부호율이 동일하다는 의미는 재전송시 전송되는 부호화 비트의 개수가 이전 전송(또는 초기 전송)시 전송되는 부호어 비트의 개수와 동일한 경우로, 일 예로 할당된 MCS 인덱스와 서브 캐리어의 개수 (혹은 PRB의 개수)가 동일한 경우를 의미한다. 재전송시의 전송 부호율이 이전 전송(또는 초기 전송)시 전송 부호율과 다를 경우 이전 전송시 전송 부호율 혹은 MCS 인덱스를 기반으로 하여 상기 수학식 23 또는 상기 수학식 24의 R값 또는 IMCS가 사용될 수 있다. 이 경우 송수신기는 이전 전송시 전송 부호율 또는 전송된 부호어 비트의 개수 또는 MCS 및/또는 NPRB 등을 저장할 필요가 있다. When determining the transmission start bit based on Equation 21 or Equation 22, the
Figure 112017096413308-pat00107
is determined based on the transmission code rate of the previous transmission to ensure better performance. The meaning that the transmission code rate is the same as the previous transmission (or initial transmission) during retransmission means that the number of coded bits transmitted during retransmission is the same as the number of codeword bits transmitted during previous transmission (or initial transmission). For example, This means that the allocated MCS index and the number of subcarriers (or the number of PRBs) are the same. If the transmission code rate during retransmission is different from the transmission code rate during previous transmission (or initial transmission), the R value or I MCS of Equation 23 or Equation 24 above is based on the transmission code rate or MCS index during previous transmission can be used In this case, the transceiver needs to store the transmission code rate or the number of transmitted codeword bits or MCS and/or N PRB during previous transmission.

또는 아래와 같이 하향링크 제어 정보(downlink control information)에 포함된 RV 모드 지시자(RV mode indicator)를 기반으로

Figure 112017096413308-pat00108
값을 결정하는 방법을 결정 할 수 있다. 이 때 하향링크에 대한 제어 정보에 포함된 RV 모드 지시자는 초기 전송에서 데이터 전송을 위해 사용한 부호율과 현재 전송(재전송)에서 사용하는 부호율이 같은지 여부를 지시할 수 있고, 상향링크에 대한 제어 정보에 포함된 RV 모드 지시자는 초기 전송에서 데이터 전송을 위해 사용된 부호율과 앞으로 전송할 데이터의 부호율이 같은지 여부를 지시할 수 있다. Or based on the RV mode indicator included in the downlink control information as follows
Figure 112017096413308-pat00108
You can decide how to determine the value. At this time, the RV mode indicator included in the downlink control information may indicate whether the code rate used for data transmission in the initial transmission and the code rate used in the current transmission (retransmission) are the same, and control for uplink The RV mode indicator included in the information may indicate whether a code rate used for data transmission in initial transmission and a code rate of data to be transmitted in the future are the same.

상기 지시자에 따라 이전 전송과 현재 전송의 전송 파라미터(parameter)들이 동일할 경우 (예를 들어 지시자가 0인 경우), 현재 전송 파라미터(일례로 전송 부호율 및 정보어 비트 등)에 기반하여 상기

Figure 112017096413308-pat00109
이 결정될 수 있고, 이전 전송과 현재 전송의 파라미터들이 동일하지 않을 경우 (예를 들어 지시자가 1인 경우) 소정의 고정된 값(예를 들어 rv index 개수)을 기반으로
Figure 112017096413308-pat00110
이 결정될 수 있다. If the transmission parameters of the previous transmission and the current transmission are the same according to the indicator (for example, when the indicator is 0), based on the current transmission parameter (for example, transmission code rate and information word bit)
Figure 112017096413308-pat00109
can be determined, and if the parameters of the previous transmission and the current transmission are not the same (eg, when the indicator is 1), based on a predetermined fixed value (eg, the number of rv indexes)
Figure 112017096413308-pat00110
this can be determined.

아래에서는

Figure 112017096413308-pat00111
값의 특징을 더 기술한다. 도 13b는
Figure 112017096413308-pat00112
값에 따라 전송되는 비트를 도시한 도면이다. 도 13b에 따르면, kb, Nb 값이 같더라도 R과
Figure 112017096413308-pat00113
값이 다름에 따라 재전송시 전송되는 비트의 수가 다름을 알 수 있다. 구체적으로 (a)의 경우 부호율 R이 8/9이고 값이 24일 때 3번째 전송시(2번째 재전송시) 전송되는 비트는 1300이 되고, (b)의 경우 R이 1/2이고 값이 44일 때 2번째 전송시 전송되는 비트는 1310이 된다. below
Figure 112017096413308-pat00111
Further characterize the value. Figure 13b
Figure 112017096413308-pat00112
It is a diagram showing bits transmitted according to values. According to FIG. 13B, even if the values of k b and N b are the same, R and
Figure 112017096413308-pat00113
As the value is different, it can be seen that the number of bits transmitted during retransmission is different. Specifically, in the case of (a), when the code rate R is 8/9 and the value is 24, the transmitted bit at the third transmission (at the second retransmission) is 1300, and in the case of (b), R is 1/2 and the value When is 44, the bit transmitted in the second transmission is 1310.

상기

Figure 112017096413308-pat00114
는 특정 부호율 범위 내에서는 같은 값을 가질 수 있다. 또는 특정 MCS index 범위 내에서는 같은 값을 가질 수 있다. 일례로, 부호율 5/6부터 8/9에서는
Figure 112017096413308-pat00115
일 수 있다. 상기 부호율 또는
Figure 112017096413308-pat00116
는 설정 가능(configurable)할 수 있으며,
Figure 112017096413308-pat00117
를 결정하는 방법은 상기에서 언급한 바와 같이 특정 부호율 및 특정 정보어 길이(TBS, CBS, CBGS 등) 및 상향링크 또는 하향링크 전송 여부에 따라 혹은 단말 카테고리(UE category) 중 적어도 하나의 요소에 따라 다를 수 있다. remind
Figure 112017096413308-pat00114
may have the same value within a specific code rate range. Alternatively, it may have the same value within a specific MCS index range. For example, in code rates 5/6 to 8/9
Figure 112017096413308-pat00115
can be The code rate or
Figure 112017096413308-pat00116
can be configurable,
Figure 112017096413308-pat00117
As mentioned above, the method for determining is according to a specific code rate, a specific information word length (TBS, CBS, CBGS, etc.) and whether uplink or downlink transmission or to at least one element among UE categories may vary depending on

또한 상기 수학식 22의

Figure 112017096413308-pat00118
은 부호율과 정보어 길이의 조합에 따라 다르게 사용될 수 있다. 일례로 정보어 길이가 작을 경우 동일 부호율에 대하여
Figure 112017096413308-pat00119
은 정보어의 길이가 길 경우의
Figure 112017096413308-pat00120
보다 클 수 있다. 이는 정보어 길이가 작을 경우의 부호어 비트의 개수 Ncb가 정보어 길이가 길 경우의 Ncb 보다 클 수 있기 때문이다. 이 때 전송되는 LDPC 부호어의 길이가 길면 수신기 측의 복호기 메모리의 사이즈가 증가하여야 하므로 부호어의 길이 (또는 Ncb)는 정보어 길이에 따라 제한할 수 있다. 또한 Ncb 및 Nb는 단말의 버퍼 크기(user buffer size) 및 HARQ 과정(HARQ processing)의 개수에 따라 다를 수 있다. 그러므로 상기 최대 rv index 개수 및
Figure 112017096413308-pat00121
은 UE 카테고리(category)에 따라 다를 수 있다.In addition, in Equation 22
Figure 112017096413308-pat00118
may be used differently according to a combination of code rate and information word length. For example, when the information word length is small, for the same code rate
Figure 112017096413308-pat00119
When the length of the information word is long
Figure 112017096413308-pat00120
can be bigger This is because the number of codeword bits N cb when the information word length is small may be greater than N cb when the information word length is long. At this time, if the length of the transmitted LDPC codeword is long, the size of the decoder memory of the receiver must increase, so the length of the codeword (or N cb ) can be limited according to the length of the information word. Also, N cb and N b may vary depending on the user buffer size of the UE and the number of HARQ processing. Therefore, the maximum rv index number and
Figure 112017096413308-pat00121
may be different depending on the UE category.

본 발명의 다른 실시예로, 전송 시작점의 위치들은 특정 부호율, 변조 방식, 비트 인터리버, 정보어 길이(TBS(transport block size), CBS(code block size), CBGS(code block group size) 등), 전송 비트의 길이, 패리티 검사 행렬, 특정 UE 카테고리 (category), 상향링크 또는 햐향링크(UL/DL) 전송 여부 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. 고차 변조 방식을 사용할 경우 이미 전송 했던 비트들 중 일부 비트를 다시 재전송 하면서 변조 심볼에 매핑 되는 위치를 변경 시켜 줄 경우 성능이 더 우수 할 수 있다. 그러므로 고차 변조 방식으로 전송 할 경우 동일한 비트들을 재전송 하는 경우를 고려하여 RV 모드 지시자에 따른 전송 시작점의 위치를 결정 하는 것이 시스템 성능을 향상 시킬 수 있다. In another embodiment of the present invention, the locations of transmission start points are determined by a specific code rate, modulation method, bit interleaver, information word length (transport block size (TBS), code block size (CBS), code block group size (CBGS), etc.) , the length of transmission bits, a parity check matrix, a specific UE category, and uplink or downlink (UL/DL) transmission. In the case of using a higher-order modulation method, performance may be better if a position mapped to a modulation symbol is changed while retransmitting some bits among previously transmitted bits. Therefore, in case of transmission using a high-order modulation scheme, determining the location of the transmission start point according to the RV mode indicator in consideration of retransmission of the same bits can improve system performance.

간단한 방법으로는 전송 시작점들을 포함된 RV 모드 지시자(RV mode indicator)의 개수만큼의 원소를 갖는 set으로 정의 할 수 있다. 이때 전송 시작점의 위치들을 나타내는 set은 특정 부호율, 변조 방식, 정보어 길이(TBS(transport block size), CBS(code block size), CBGS(code block group size) 등), 전송 비트의 길이, 패리티 검사 행렬, 특정 UE 카테고리(category), 상향링크 또는 햐향링크(UL/DL) 전송 여부 중 적어도 하나의 요소에 따라 다르게 결정 하도록 한다.As a simple method, it can be defined as a set having as many elements as the number of RV mode indicators including transmission start points. At this time, the set indicating the positions of the transmission start point is a specific code rate, modulation method, information word length (TBS (transport block size), CBS (code block size), CBGS (code block group size), etc.), transmission bit length, parity It is determined differently according to at least one element among a check matrix, a specific UE category, and whether uplink or downlink (UL/DL) transmission is performed.

일예로, 패리티 검사 행렬의 column block의 개수가 68이고 이중 2개의 column block과 관련있는 입력 비트들이 항상 천공되어 전송되지 않을 경우 부호어 비트들 (Ncb)는 66*Z이며, 전송 시작점의 위치는 set은 아래와 같이 정의 할 수 있다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다.이하 전송 시작점의 위치는 상기 항상 천공되는 비트들을 제외한 비트들 부터의 위치를 의미한다.For example, if the number of column blocks of the parity check matrix is 68 and the input bits related to two of the column blocks are always punctured and not transmitted, the codeword bits (Ncb) are 66*Z, and the location of the transmission start point is A set can be defined as: The Z is the size of the cyclic permutation matrix of the parity check matrix of the LDPC code. Hereinafter, the position of the transmission start point means the position from bits excluding the bits that are always punctured.

Set1 = {0, 17*Z, 33*Z, 50*Z}Set1 = {0, 17*Z, 33*Z, 50*Z}

Set2 = {0, 25*Z, 33*Z, 50*Z}Set2 = {0, 25*Z, 33*Z, 50*Z}

Set3 = {0, 28*Z, 33*Z, 50*Z}Set3 = {0, 28*Z, 33*Z, 50*Z}

If (R >= 0.89 and MOD=256 QAM) or (R >= 0.89 and MOD=64QAM) or (R>= 0.89 and MOD=16 QAM) then starting positions set is set3If (R >= 0.89 and MOD=256 QAM) or (R >= 0.89 and MOD=64QAM) or (R>= 0.89 and MOD=16 QAM) then starting positions set is set3

else if (R >= 0.82 and MOD=256 QAM) or (R >= 0.82 and MOD=64QAM) or (R>= 0.77 and MOD= 16 QAM) or (R>= 0.77 and MOD= QPSK) then starting positions set is set2else if (R >= 0.82 and MOD=256 QAM) or (R >= 0.82 and MOD=64QAM) or (R>= 0.77 and MOD= 16 QAM) or (R>= 0.77 and MOD= QPSK) then starting positions set is set2

else then starting positions set is set1else then starting positions set is set1

다른 일예로 패리티 검사 행렬의 column block의 개수가 68일 경우 모든 부호율과 변조 방식에 대해 상기 Set들 set1, set2, set3 중 적어도 하나의 set을 사용하도록 한다. As another example, when the number of column blocks of the parity check matrix is 68, at least one of the sets set1, set2, and set3 is used for all code rates and modulation schemes.

상기 set은 Set1 = {0, 17, 33, 50}, Set2 = {0, 25, 33, 50}, Set3 = {0, 28, 33, 50}으로도 표현될 수 있다.The set may also be expressed as Set1 = {0, 17, 33, 50}, Set2 = {0, 25, 33, 50}, and Set3 = {0, 28, 33, 50}.

다른 일예로 패리티 검사 행렬의 column block의 개수가 68이고 2개의 column block과 관련 있는 비트들이 항상 천공되어 전송되지 않을 경우 RV 모드 지시자(RV mode indicator)가 지칭하는 전송 시작점의 위치들을 나타내는 set은 {0, 15*Z, 23*Z, 37*Z}일 수 있다. 상기 set은 {0, 15, 23, 37}으로도 표현될 수 있다.As another example, if the number of column blocks of the parity check matrix is 68 and the bits related to the two column blocks are not always punctured and transmitted, the set indicating the positions of the transmission start points indicated by the RV mode indicator is { 0, 15*Z, 23*Z, 37*Z}. The set may also be expressed as {0, 15, 23, 37}.

도 23a에서는 set 1과 set3을 사용하여 전송 시작점을 결정 하였을 때 부호율 및 변조 방식에 따라 BLER=0.01을 만족하는 SNR 차이를 표기 하였다. 도시한 바와 같이 부호율 및 변조 방식에 따라 다른 set을 사용할 경우 더 낮은 SNR을 기반으로 BLER=0.01을 만족 할 수 있음을 알 수 있다.In FIG. 23a, when the transmission start point is determined using set 1 and set 3, the SNR difference satisfying BLER = 0.01 is indicated according to the code rate and modulation method. As shown, it can be seen that BLER = 0.01 can be satisfied based on a lower SNR when different sets are used according to the code rate and modulation method.

일예로, 패리티 검사 행렬의 column block의 개수가 52이고 이중 2개의 column block과 관련있는 입력 비트들이 항상 천공되어 전송되지 않을 경우 부호어 비트들 (Ncb)는 50*Z이며, 전송 시작점의 위치는 set은 아래와 같이 정의 할 수 있다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다. 이하 전송 시작점의 위치는 상기 항상 천공되는 비트들을 제외한 비트들 부터의 위치를 의미한다.For example, if the number of column blocks of the parity check matrix is 52 and the input bits related to two of the column blocks are always punctured and not transmitted, the codeword bits (Ncb) are 50*Z, and the location of the transmission start point is A set can be defined as: Z is the size of the cyclic permutation matrix of the parity check matrix of the LDPC code. Hereinafter, the location of the transmission start point means a location from bits excluding the always-punctured bits.

Set4 = {0, 13*Z, 25*Z, 38*Z}Set4 = {0, 13*Z, 25*Z, 38*Z}

Set5 = {0, 18*Z, 25*Z, 38*Z}Set5 = {0, 18*Z, 25*Z, 38*Z}

If (R >= 0.62 and MOD=256 QAM) or (R >= 0.62 and MOD=64QAM) or (R>= 0.53 and MOD=16 QAM) or (R>= 0.53 and MOD= QPSK) then starting positions set is set4If (R >= 0.62 and MOD=256 QAM) or (R >= 0.62 and MOD=64QAM) or (R>= 0.53 and MOD=16 QAM) or (R>= 0.53 and MOD= QPSK) then starting positions set is set4

else starting positions set is set5else starting positions set is set5

상기 Set4 = {0, 13, 25, 38}, Set5 = {0, 18, 25, 38}으로도 표현될 수 있다.Set4 = {0, 13, 25, 38} and Set5 = {0, 18, 25, 38} may also be expressed.

다른 일예로 패리티 검사 행렬의 column block의 개수가 52일 경우 모든 부호율과 변조 방식에 대해 상기 Set들 set1, set2, set3 중 적어도 하나의 set을 사용하도록 한다. As another example, when the number of column blocks of the parity check matrix is 52, at least one of the sets set1, set2, and set3 is used for all code rates and modulation schemes.

다른 일예로 패리티 검사 행렬의 column block의 개수가 52이고 2개의 column block과 관련 있는 비트들이 항상 천공되어 전송되지 않을 경우 RV 모드 지시자(RV mode indicator)가 지칭하는 전송 시작점의 위치들을 나타내는 set은 {0, 11*Z, 16*Z, 25*Z}일 수 있다. 상기 set은 {0, 11, 16, 25}로 표현될 수 있다.As another example, if the number of column blocks of the parity check matrix is 52 and the bits related to the two column blocks are always punctured and not transmitted, the set indicating the positions of the transmission start points indicated by the RV mode indicator is { 0, 11*Z, 16*Z, 25*Z}. The set may be expressed as {0, 11, 16, 25}.

도 23b에서는 set 4과 set5을 사용하여 전송 시작점을 결정 하였을 때 부호율 및 변조 방식에 따라 BLER=0.01을 만족하는 SNR 차이를 표기 하였다. 도시한 바와 같이 부호율 및 변조 방식에 따라 다른 set을 사용할 경우 더 낮은 SNR을 기반으로 BLER=0.01을 만족 할 수 있음을 알 수 있다.In FIG. 23B, when the transmission start point is determined using set 4 and set 5, the SNR difference satisfying BLER = 0.01 is indicated according to the code rate and modulation method. As shown, it can be seen that BLER = 0.01 can be satisfied based on a lower SNR when different sets are used according to the code rate and modulation method.

상기 set을 표기 할 때 Z는 제외 할 수 있다.When expressing the set, Z can be excluded.

상기 실시예들에서 R은 부호율로 미리 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또는 MCS table에서 표시된 값일 수 있다. 또는 R=f(k/E) 일 수 있으며 이는 상기 R은 k/E를 변수로 하는 임의의 함수라는 의미이다. k는 정보어 비트의 개수(LDPC 부호의 정보어의 길이, TBS 혹은 CBS 혹은 CBG의 비트 개수와 필요 시 CRC 비트를 포함한 길이)이고 E는 전송하는 부호어 비트의 개수를 의미한다. 전송하는 부호어 비트의 개수 E는 상기 정보어 비트가 부호화되어 전송되는 프레임 구조, 레이어(Layer)의 개수, 변조 방식 등에 따라 결정될 수 있다. LDPC 부호의 정보어는 CB (혹은 TB에 CRC를 포함한 비트열)에 제로비트를 패딩한 비트열을 의미한다.In the above embodiments, R is a code rate configured in advance by higher layer signaling (which can also be interpreted as RRC signaling) or MAC CE or downlink physical layer signal (L1 DL control) value, or directly calculated by the transceiver. Alternatively, it may be a value displayed in the MCS table. Alternatively, R = f (k / E), which means that R is an arbitrary function with k / E as a variable. k is the number of information bits (the length of the information word of the LDPC code, the number of bits of TBS, CBS, or CBG, and the length including CRC bits if necessary), and E means the number of code word bits to be transmitted. The number E of codeword bits to be transmitted may be determined according to a frame structure in which the information bits are encoded and transmitted, the number of layers, a modulation method, and the like. The information word of the LDPC code means a bit string obtained by padding zero bits to CB (or a bit string including CRC in TB).

본 발명은 재전송 수행시 변조 심볼 매핑 방법 및 장치에 대해 개시한다. 부호어 비트가 변조 심볼로 변환 후 전송되어 수신될 경우 부호어 비트가 매핑 되었던 변조심볼을 구성하는 비트의 위치에 따라 디코딩시 비트의 LLR(log likelihood ratio, 로그우도율)이 높거나 낮을 수 있다. 이 때 계속 동일한 방법으로 심볼 변조시 높은 LLR을 가질 수 있는 위치의 비트가 계속 같은 위치에서 전송되고 낮은 LLR을 가질 수 있는 위치의 비트가 계속 같은 위치에서 전송된다면 재전송이 수행되더라도 낮은 LLR을 가진 비트의 경우 계속하여 낮은 LLR을 가질 가능성이 높아진다. 이러한 문제를 해결하기 위한 방법이 아래에 기술된다. The present invention discloses a modulation symbol mapping method and apparatus when performing retransmission. When the codeword bits are converted into modulation symbols and then transmitted and received, the LLR (log likelihood ratio) of the bits during decoding may be high or low depending on the position of the bits constituting the modulation symbol to which the codeword bits were mapped. . At this time, when the symbol is modulated in the same way, if the bit at the position that can have the high LLR is continuously transmitted at the same position and the bit at the position that can have the low LLR is continuously transmitted at the same position, even if retransmission is performed, the bit with the low LLR In the case of , the possibility of having a continuously low LLR increases. A method for solving this problem is described below.

도 14a는 재전송시 동일한 비트들이 변조 심볼 중 동일한 위치로 전송될 경우 변조 심볼 매핑 방법을 도시한 도면이다. 도 14a의 (a)는 재전송되는 심볼이 동일 하게 매핑될 경우 1400 위치의 비트가 재전송이 수행되더라도 계속 msb(most significant bit, 최상위 비트)로 매핑되어 전송됨을 도시하고 있다. 본원발명을 적용할 경우 부호어 비트를 심볼로 변조시 한 심볼에 해당하는 비트 내에서 rvidx만큼 쉬프트(shift)가 수행될 경우 1400 비트는 1410 위치가 되어 lsb(least significant bit, 최하위 비트)가 된다. 심볼 변조시 msb와 lsb의 LLR은 차이가 있으므로 1400 비트 뿐만 아니라 1400 비트 옆 비트 또한 초기 전송 및 재전송시 높고 낮은 LLR 을 가지도록 전송되므로 고른 성능을 보일 수 있다. 14A is a diagram illustrating a modulation symbol mapping method when identical bits are transmitted to the same location among modulation symbols during retransmission. (a) of FIG. 14A shows that when retransmitted symbols are identically mapped, the bit at position 1400 is continuously mapped to msb (most significant bit) and transmitted even if retransmission is performed. When the present invention is applied, when a codeword bit is modulated into a symbol, when a shift is performed by rv idx within a bit corresponding to one symbol, 1400 bits become 1410 positions, and lsb (least significant bit) becomes do. Since the LLRs of msb and lsb are different during symbol modulation, not only 1400 bits but also bits next to 1400 bits are transmitted with high and low LLRs during initial transmission and retransmission, so even performance can be shown.

도 14b는 재전송되는 심볼이 동일하지 않을 경우 변조 심볼 매핑 방법을 도시한 도면이다. 재전송시 매핑되는 변조 심볼을 구성하는 비트가 동일하지 않다면 1450 위치의 비트를 rv만큼 쉬프트해 1460 위치가 되더라도 초기 전송과 마찬가지로 msb가 될 수 있으므로 이 경우 rv만큼 쉬프트하지 않고 변조 심볼의 인덱스마다 하나씩 쉬프트할 수 있다. 그러므로 송수신기가 재전송되는 심볼이 동일한지 아닌지 판단해 변조를 수행하지 않기 위해 바람직하게는 상기 두 가지 방법을 모두 적용해 심볼 변조를 수행한다. 구체적으로 rv 인덱스 값과 심볼 인덱스 값을 더한 값들을 각 심볼마다 순환 쉬프트(cyclic shift)해주도록 한다.14B is a diagram illustrating a modulation symbol mapping method when retransmitted symbols are not identical. If the bits constituting the modulation symbols to be mapped during retransmission are not the same, the bit at position 1450 is shifted by rv and even if it is at position 1460, it can be msb as in the initial transmission. can do. Therefore, in order for the transceiver to determine whether or not the retransmitted symbols are the same and not to perform modulation, symbol modulation is performed by applying both of the above methods. Specifically, values obtained by adding the rv index value and the symbol index value are cyclically shifted for each symbol.

도 15는 각 심볼마다 순환 쉬프트를 적용하는 방법을 도시한 도면이다. 도 15에 따르면, 16QAM(Quadrature Amplitude Modulation, 직교 진폭 변조)이 적용될 경우 순환 쉬프트가 적용되지 않을 경우인 (a)에 따르면 부호어 비트 C0, C1, C2 및 C3은 순서대로 심볼 변조를 위한 비트 b0, b1, b2 및 b3에 매핑된다. rv 인덱스와 심볼 인덱스를 더한 값이 1인 경우인 (b)에 따르면 심볼 변조를 위한 비트 b0, b1, b2 및 b3로 부호어 비트 C3, C0, C1 및 C2가 대입되며, rv 인덱스와 심볼 인덱스를 더한 값이 2인 경우인 (c)에 따르면 심볼 변조를 위한 비트 b0, b1, b2 및 b3로 부호어 비트 C2, C3, C0 및 C1가 대입된다.15 is a diagram illustrating a method of applying a cyclic shift to each symbol. According to FIG. 15, when 16QAM (Quadrature Amplitude Modulation) is applied, according to (a), when cyclic shift is not applied, codeword bits C 0 , C 1 , C 2 and C 3 are sequentially symbol-modulated. It is mapped to bits b 0 , b 1 , b 2 and b 3 for. According to (b), when the value obtained by adding the rv index and the symbol index is 1, codeword bits C 3 , C 0 , C 1 and C 2 are used as bits b 0 , b 1 , b 2 and b 3 for symbol modulation. substituted, and according to (c), when the value obtained by adding the rv index and the symbol index is 2, bits b 0 , b 1 , b 2 and b 3 for symbol modulation are codeword bits C 2 , C 3 , C 0 and C 1 is substituted.

도 16a는 본 발명을 수행하는 장치를 도시한 블록도이다. 도 16a에 따르면, 인터리버(1600)는 입력된 rv 인덱스 및 심볼 인덱스를 기반으로 비트간 순환 쉬프트를 수행할 수 있으며, 매퍼(1610)은 상기 쉬프트된 비트를 심볼로 변조한다. 16A is a block diagram illustrating an apparatus for implementing the present invention. Referring to FIG. 16A, the interleaver 1600 may perform a cyclic shift between bits based on the input rv index and symbol index, and the mapper 1610 modulates the shifted bits into symbols.

도 16b는 본 발명의 실시예에 따른 변조 심볼 매핑 방법을 도시한 순서도이다. 도 16b에 따르면, 송신기는 redundancy version (RV) 혹은 redundancy version의 인덱스(rvidx)를 결정하고(1650), 전송의 시작 위치 (Sidx 또는 k0)을 결정한다(1660). 이후 송신기는 변조 심볼을 위한 비트의 매핑 순서를 결정하며(1670), 이는 rv 인덱스 및 심볼 인덱스를 기반으로 결정된다. 상기 rvidx는 시그널링에 의해 전송된 값이거나, 기설정된 순서에 의해 결정될 수 있으며, 또는 본 발명에 따른 소정의 방법에 의해 결정될 수 있다. 16B is a flowchart illustrating a modulation symbol mapping method according to an embodiment of the present invention. According to FIG. 16B, the transmitter determines a redundancy version (RV) or an index (rv idx ) of the redundancy version (1650) and determines a transmission start position (S idx or k 0 ) (1660). Then, the transmitter determines the bit mapping order for the modulation symbol (1670), which is determined based on the rv index and the symbol index. The rv idx may be a value transmitted by signaling, may be determined according to a preset order, or may be determined by a predetermined method according to the present invention.

도 17은 본 발명의 실시예에 따른 데이터 재전송 방법을 도시한 도면이다. 도 17에 따르면, 송신단(1700)은 수신단(1710)으로 데이터를 초기 전송한다(1720). 이후 수신단은 송신단으로 데이터 디코딩에 실패하였다는 NACK(negative acknowledgement, 부정 수신 확인)을 전송하고(1730) 이를 수신한 송신단은 데이터 재전송을 위한 rv 값(rv 인덱스), 전송 시작 비트의 위치, 부호어 비트의 개수 및 재전송을 위한 변조 심볼 매핑 방법에 따른 순환 쉬프트값 중 적어도 하나를 결정하고(1740) 상기 결정을 기반으로 데이터 재전송을 수행한다(1750). 또한 1740 단계에서는 최대 전송 비트, 최대 전송 레이트 중 적어도 하나 또한 결정될 수 있다.17 is a diagram illustrating a data retransmission method according to an embodiment of the present invention. According to FIG. 17, the transmitter 1700 initially transmits data to the receiver 1710 (1720). Thereafter, the receiving end transmits a NACK (negative acknowledgment) indicating that data decoding has failed to the transmitting end (1730), and upon receiving this, the sending end transmits the rv value (rv index) for data retransmission, the position of the transmission start bit, and the codeword. At least one of the number of bits and a cyclic shift value according to a modulation symbol mapping method for retransmission is determined (1740), and data retransmission is performed based on the determination (1750). Also, in step 1740, at least one of a maximum transmission bit and a maximum transmission rate may also be determined.

이하에서는 패리티 검사 행렬이 다른 경우 기 설정된 rv_idx 순서에 따라 rv_idx를 사용하는 실시예를 설명하도록 한다.Hereinafter, an embodiment in which rv_idx is used according to a preset order of rv_idx when parity check matrices are different will be described.

다수의 패리티 검사 행렬을 저장하고 표기 하기 용이하게 하기 위해서 상기 도 6b에서 도시한 정보어 비트의 블록 개수 (Kb)와 부호어 비트의 블록 개수(Nb)가 같은 경우 같은 패리티 검사 행렬 그룹으로 표현할 수 있다. 즉, 동일한 정보어 블록 개수(Kb)와 부호어 블록 개수 (Nb)를 기반으로 다른 순환 순열 행렬의 사이즈 (Z)와 순환 순열 행렬의 지수 값들을 사용하는 패리티 검사 행렬들은 동일한 패리티 검사 행렬 그룹에 속한다. 일예로 아래와 같이 Kb와 Nb에 따라 제 1 패리티 검사 행렬 그룹 (PCM group 1)과 제 2 패리티 검사 행렬 그룹(PCM group2)를 명시 할 수 있다.In order to easily store and display a plurality of parity check matrices, when the number of blocks (Kb) of information bits shown in FIG. there is. That is, parity check matrices using different sizes (Z) of cyclic permutation matrices and exponents of cyclic permutation matrices based on the same number of information word blocks (Kb) and number of codeword blocks (Nb) are in the same parity check matrix group. belong For example, the first parity check matrix group (PCM group 1) and the second parity check matrix group (PCM group2) may be specified according to Kb and Nb as follows.

이때 rv_idx를 별도의 시그널링을 통해 전송하지 않고 기설정된 순서에 의해 전송 할 경우 아래와 같이 패리티 검사 행렬 그룹에 따라 다른 전송 순서를 사용할 수 있다.At this time, when rv_idx is transmitted in a predetermined order without transmission through separate signaling, different transmission orders may be used according to parity check matrix groups as follows.

Figure 112017096413308-pat00122
Figure 112017096413308-pat00122

본 발명은 변조 심볼 매핑 방법 및 장치에 대해 또 다른 실시예를 개시한다. 상기 도 4에서 도시한 레이트 매칭부(440)에서 펑처링/리피티션/제로제거부 (442) 이후에 블록 인터리버가 존재 할 수 있다.The present invention discloses another embodiment of a modulation symbol mapping method and apparatus. In the rate matching unit 440 shown in FIG. 4, a block interleaver may exist after the puncturing/repetition/zero removal unit 442.

상기 도 4에서 도시한 바와 같이, 상기 레이트 매칭부(440)의 출력 비트들은 상기 변조부(450)에 입력된다. 상기 변조부에서는 입력 비트들을 변조 심볼을 구성하는 비트들에 매핑하는 매퍼를 포함한다. 상기 매핑 순서는 rv_idx와 재전송 여부에 따라 다르게 할 수 있다. 일예로, 이전 전송에서 사용했던 rv_idx와 동일한 rv_idx를 기반으로 전송 할 경우 이전 전송에 사용했던 매핑 순서의 역순으로 매핑 할 수 있다. 보다 구체적으로는 적어도 rv_idx가 0일 경우 상기 매핑 순서를 rv_idx가 0인 이전 전송에서 사용했던 매핑 순서의 역순으로 매핑하도록 한다. 256QAM을 가정할 경우 실시예를 도 24에 도시 하였다. 동일 i번째 전송에서 rv_idx가 j인 경우, mapper-1을 기반으로 비트들을 심볼에 매핑하고 i번째 이상의 전송 중 rv_idx가 j인 적어도 하나의 경우에는 mapper-2를 사용하도록 한다. 이 경우 변조 심볼을 구성하는 비트 별 신뢰도(reliability)가 다른 성질을 기반으로 하여 성능 향상을 얻을 수 있다.As shown in FIG. 4 , the output bits of the rate matching unit 440 are input to the modulation unit 450 . The modulator includes a mapper that maps input bits to bits constituting a modulation symbol. The mapping order may be different depending on rv_idx and retransmission. For example, when transmission is performed based on the same rv_idx as rv_idx used in previous transmission, mapping may be performed in the reverse order of the mapping order used in previous transmission. More specifically, at least when rv_idx is 0, the mapping order is mapped in the reverse order of the mapping order used in the previous transmission where rv_idx is 0. Assuming 256QAM, an embodiment is shown in FIG. 24. When rv_idx is j in the same ith transmission, bits are mapped to symbols based on mapper-1, and mapper-2 is used in at least one case where rv_idx is j among ith or more transmissions. In this case, performance improvement can be obtained based on the different reliability characteristics of each bit constituting the modulation symbol.

동일 rv_idx가 반복될 경우 mapping을 다르게 할 경우 재전송시 rv idx 를 모두 다른 값을 사용하기 보다는 동일 rv_idx 를 반복하는 것이 성능 향상을 얻을 수 있다. When the same rv_idx is repeated, if the mapping is different, performance can be improved by repeating the same rv_idx rather than using different values for all rv idx during retransmission.

상기와 같은 방법을 기반으로 재전송을 할 경우 상기 (Kb, Nb) = (22, 68) or (10, 52)인 패리티 검사 행렬 그룹을 기반으로 하는 패리티 검사 행렬을 기반으로 LDPC 부호화/복호화 되는 시스템에서, 기 설정된 rv_idx에 따라 재전송 될 경우 {0, 2, 0, 3, 1}의 순서를 사용하도록 한다. 또는 기 설정된 rv_idx 순서는 {0, 2, 0, 3} 일 수 있다. 또는 기 설정된 rv_idx 순서는 {0, 2} 일 수 있다.In the case of retransmission based on the above method, LDPC encoding / decoding system based on the parity check matrix group based on the parity check matrix group of (Kb, Nb) = (22, 68) or (10, 52) In , when retransmitted according to the preset rv_idx, the order of {0, 2, 0, 3, 1} is used. Alternatively, the preset order of rv_idx may be {0, 2, 0, 3}. Alternatively, the preset order of rv_idx may be {0, 2}.

상기 순서는 아래와 같은 방법에 의해 결정 되었다. The order was determined by the following method.

1) 첫번째 전송에서는 rv_idx를 0를 사용한다고 가정한다.1) It is assumed that 0 is used for rv_idx in the first transmission.

2) For(0<i<N+1)2) For(0<i<N+1)

A. (i-1)번째 전송 까지 결정된 rv_idx를 기반으로 i 번째 전송시 다양한 변조 방식과 부호율에서 우수한 성능을 갖는 rv_idx를 결정 A. Based on the rv_idx determined until the (i-1)th transmission, rv_idx with excellent performance in various modulation schemes and code rates is determined during the ith transmission.

3) End for3) End for

보다 구체적인 송신 순서를 도 25에 도시하였다. A more specific transmission sequence is shown in FIG. 25 .

rv_idx 가 시그널링 되는지 여부를 먼저 판단 하도록 한다. 시그널링 되지 않고 기 설정된 순서를 기반으로 rv_idx가 결정될 경우, 몇 번째 전송인지 판단 한다. rv_idx order set의 원소의 개수가 S이고 전송 횟수가 i일 경우 rv_idx order set에서 (i mod S) 값을 rv_idx로 결정 한다. It is first determined whether rv_idx is signaled or not. When rv_idx is determined based on a preset order without being signaled, it is determined what number of transmissions it is. If the number of elements in the rv_idx order set is S and the number of transmissions is i, the value of (i mod S) in the rv_idx order set is determined as rv_idx.

제1 패리티 검사 행렬 그룹에 속하는 패리티 검사 행렬을 사용할 경우 상기 rv_idx order는 {0 2 1 3} 일 수 있다.When a parity check matrix belonging to the first parity check matrix group is used, the rv_idx order may be {0 2 1 3}.

제2 패리티 검사 행렬 그룹에 속하는 패리티 검사 행렬를 사용할 경우 상기 rv_idx order는 {0 2 3 1} 일 수 있다.When a parity check matrix belonging to the second parity check matrix group is used, the rv_idx order may be {0 2 3 1}.

만약 동일 rv_idx에 대하여 적어도 한번은 역순서의 mapping을 사용할 경우 rv_idx_order는 { 0 2 0 3 1 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 5) = 2 일 경우 (i mod 5) = 0 에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.If mapping in reverse order is used at least once for the same rv_idx, rv_idx_order may be { 0 2 0 3 1 }. For the transmission number i, if (i mod 5) = 2, codeword bits are mapped to modulation symbols based on the reverse order of the mapping sequence used in (i mod 5) = 0.

또는 rv_idx_order는 { 0 2 0 3 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 4) = 2 일 경우 (i mod 4) = 0를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.Alternatively, rv_idx_order may be { 0 2 0 3 }. If (i mod 4) = 2 for transmission number i, codeword bits are mapped to modulation symbols based on the reverse order of the mapping order used in the ith transmission satisfying (i mod 4) = 0.

또는 rv_idx_order는 { 0 2 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 4) = 2 일 경우 (i mod 4) = 0를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다. 또한 (i mod 4) = 3 일 경우 (i mod 4) = 1를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.Alternatively, rv_idx_order may be { 0 2 }. If (i mod 4) = 2 for transmission number i, codeword bits are mapped to modulation symbols based on the reverse order of the mapping order used in the ith transmission satisfying (i mod 4) = 0. In addition, when (i mod 4) = 3, codeword bits are mapped to modulation symbols based on the reverse order of the mapping sequence used in the ith transmission satisfying (i mod 4) = 1.

본 발명은 데이터 재전송의 경우에 대해 기술되었으나, 이는 데이터 뿐 아니라 기지국과 단말 사이에 전송되는 모든 신호의 경우에 적용될 수 있음은 자명하다. 또한 도 17의 송신단과 수신단은 기지국 또는 단말 중 적어도 하나가 될 수 있다. Although the present invention has been described for the case of data retransmission, it is obvious that it can be applied to all signals transmitted between the base station and the terminal as well as data. Also, the transmitting end and the receiving end of FIG. 17 may be at least one of a base station or a terminal.

도 18은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타내는 블록도이다. 이 경우, 부호화 장치(1800)는 LDPC 부호화를 수행할 수 있다. 18 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention. In this case, the encoding device 1800 may perform LDPC encoding.

도 18에 따르면, 부호화 장치(1800)는 LDPC 인코더(1810)를 포함한다. LDPC 인코더(1810)는 패리티 검사 행렬에 기초하여 입력 비트들에 대해 LDPC 부호화를 수행하여 LDPC 부호어를 생성할 수 있다. According to FIG. 18, an encoding device 1800 includes an LDPC encoder 1810. The LDPC encoder 1810 may generate an LDPC codeword by performing LDPC encoding on input bits based on the parity check matrix.

Kldpc 개의 비트들은 LDPC 인코더(1810)를 위한 Kldpc 개의 LDPC 정보어 비트들 I=(i0,i1,...,

Figure 112017096413308-pat00123
)을 구성할 수 있다. LDPC 인코더(1810)는 Kldpc 개의 LDPC 정보어 비트들을 시스테매틱하게 LDPC 인코딩하여, Nldpc 개의 비트들로 구성된 LDPC 코드워드 Λ=(c0,c1,...,
Figure 112017096413308-pat00124
)=(i0,i1,...,
Figure 112017096413308-pat00125
,p0,p1,...,
Figure 112017096413308-pat00126
)를 생성할 수 있다. 상기 생성 과정은 상기 수학식 1에서 서술한 바와 같이 상기 LDPC 코드워드와 패리티 검사 행렬의 곱이 제로 벡터가 되도록 부호어를 결정하는 과정을 포함한다. 본 발명의 패리티 검사 행렬은 상기 도 3에서 정의한 패리티 검사 행렬과 동일한 구조를 가질 수 있다.K ldpc bits are K ldpc LDPC information bits for the LDPC encoder 1810 I=(i 0 ,i 1 ,...,
Figure 112017096413308-pat00123
) can be configured. The LDPC encoder 1810 systematically LDPC-encodes K ldpc bits of LDPC information, and obtains an LDPC codeword composed of N ldpc bits Λ=(c 0 ,c 1 ,...,
Figure 112017096413308-pat00124
)=(i 0 ,i 1 ,...,
Figure 112017096413308-pat00125
,p 0 ,p 1 ,...,
Figure 112017096413308-pat00126
) can be created. As described in Equation 1 above, the generation process includes a process of determining a codeword such that the product of the LDPC codeword and the parity check matrix becomes a zero vector. The parity check matrix of the present invention may have the same structure as the parity check matrix defined in FIG. 3 above.

이 경우, LDPC 인코더(1810)는 부호율(즉, LDPC 부호의 부호율)에 따라 서로 다르게 정의된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행할 수 있다. In this case, the LDPC encoder 1810 may perform LDPC encoding using parity check matrices defined differently according to code rates (ie, code rates of LDPC codes).

한편, LDPC 부호화를 수행하는 구체적인 방법에 대해서는 상술한 바 있다는 점에서 구체적인 중복 설명은 생략하도록 한다.Meanwhile, since the specific method of performing LDPC encoding has been described above, a detailed redundant description will be omitted.

한편, 부호화 장치(1800)는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보를 기저장하기 위한 메모리(미도시)를 더 포함할 수 있으며, LDPC 인코더(810)는 이러한 정보를 이용하여 LDPC 부호화를 수행할 수 있다. 상기 패리티 검사 행렬에 대한 정보는 본 발명에서 제시하는 패리티 행렬을 사용할 경우 순환 행렬의 지수 값에 대한 정보를 저장할 수 있다.Meanwhile, the encoding device 1800 may further include a memory (not shown) for pre-storing information about the code rate, codeword length, and parity check matrix of the LDPC code, and the LDPC encoder 810 stores such information LDPC encoding can be performed using Information on the parity check matrix may store information on an exponent value of a circulant matrix when the parity matrix proposed in the present invention is used.

아래에서는 상기 도 5를 기반으로 수신기 동작에 대해 구체적으로 설명한다.Below, a receiver operation will be described in detail based on FIG. 5 .

복조부(510)는 송신 장치(400)로부터 수신된 신호를 복조한다. The demodulator 510 demodulates the signal received from the transmitter 400 .

구체적으로, 복조부(510)는 도 4의 송신 장치(400)의 변조부(450)에 대응되는 구성요소로, 송신 장치(400)로부터 수신된 신호를 복조하여, 송신 장치(400)에서 전송한 비트들에 대응되는 값들을 생성할 수 있다.Specifically, the demodulation unit 510 is a component corresponding to the modulation unit 450 of the transmission device 400 of FIG. 4, demodulates the signal received from the transmission device 400, and transmits it in the transmission device 400. Values corresponding to one bit can be generated.

이를 위해, 수신 장치(500)는 송신 장치(400)에서 모드에 따라 변조한 변조 방식에 대한 정보를 기저장할 수 있다. 이에 따라, 복조부(510)는 모드에 따라 송신 장치(400)로부터 수신된 신호를 복조하여, LDPC 코드워드 비트들에 대응되는 값들을 생성할 수 있다.To this end, the receiving device 500 may pre-store information about a modulation scheme modulated by the transmitting device 400 according to a mode. Accordingly, the demodulator 510 may demodulate the signal received from the transmitter 400 according to the mode to generate values corresponding to the LDPC codeword bits.

한편, 송신 장치(400)에서 전송한 비트들에 대응되는 값은 LLR(Log Likelihood Ratio) 값일 수 있다. 구체적으로, LLR 값은 송신 장치(400)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 비트 값 자체가 될 수 있으며, 또한, LLR 값은 송신 장치(400)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다. Meanwhile, a value corresponding to the bits transmitted by the transmitter 400 may be a Log Likelihood Ratio (LLR) value. Specifically, the LLR value may be expressed as a value obtained by taking Log of a ratio of a probability that a bit transmitted from the transmitter 400 is 0 and a probability that it is 1. Alternatively, the LLR value may be a bit value itself, and also, the LLR value may be a representative value determined according to a section to which the probability that the bit transmitted by the transmitter 400 is 0 or 1 belongs.

상기 복조부(510)는 LLR 값에 대한 멀티플렉싱(multiplexing)(미도시)을 수행하는 과정을 포함한다. 구체적으로, 송신 장치(400)의 비트 디먹스(demux)(미도시)에 대응되는 구성요소로, 비트 디먹스(미도시)에 대응되는 동작을 수행할 수 있다.The demodulation unit 510 includes a process of performing multiplexing (not shown) on the LLR value. Specifically, a component corresponding to a bit demux (not shown) of the transmitter 400 may perform an operation corresponding to the bit demux (not shown).

이를 위해, 수신 장치(500)는 송신 장치(400)가 디멀티플렉싱 및 블록 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 먹스(미도시)는 셀 워드에 대응되는 LLR 값에 대해 비트 디먹스(미도시)에서 수행된 디멀티플렉싱 및 블록 인터리빙 동작을 역으로 수행하여, 셀 워드에 대응되는 LLR 값을 비트 단위로 멀티플렉싱할 수 있다.To this end, the receiving device 500 may previously store information on parameters used by the transmitting device 400 for demultiplexing and block interleaving. Accordingly, the mux (not shown) reverses the demultiplexing and block interleaving operations performed in the bit demux (not shown) on the LLR value corresponding to the cell word, and converts the LLR value corresponding to the cell word in bit units. can be multiplexed with

레이트 디매칭부(520)은 복조부(510)로부터 출력되는 LLR 값에 LLR 값을 삽입할 수 있다. 이 경우, 레이트 디매칭부(520)는 복조부(510)로부터 출력되는 LLR 값들의 사이에 미리 약속된 LLR 값들을 삽입할 수 있다. The rate dematching unit 520 may insert the LLR value into the LLR value output from the demodulation unit 510 . In this case, the rate dematching unit 520 may insert prearranged LLR values between the LLR values output from the demodulation unit 510 .

구체적으로, 레이트 디매칭부(520)는 송신 장치(400)의 레이트 매칭부(440)에 대응되는 구성요소로, 인터리버(441), 제로 제거 및 펑처링/리피티션/제로 제거부(442)에 대응되는 동작을 수행할 수 있다.Specifically, the rate dematching unit 520 is a component corresponding to the rate matching unit 440 of the transmitting device 400, and includes the interleaver 441, the zero removal and puncturing/repetition/zero removal unit 442 ) can perform the corresponding operation.

먼저, 레이트 디매칭부(520)는 상기 송신기의 인터리버(441)에 상응하도록 디인터리빙(deinterleaving)(521) 하도록 한다. 디인터리빙(521)의 출력 값들은 LLR삽입부(522)에서 LDPC 코드워드에서 제로 비트들이 패딩되었던 위치에 제로 비트들에 대응되는 LLR 값을 삽입할 수 있다. 이 경우, 패딩되었던 제로 비트들 즉, 쇼트닝된 제로 비트들에 대응되는 LLR 값은 ∞ 또는 -∞가 될 수 있다. 하지만, ∞ 또는 -∞는 이론적인 값이며, 실질적으로는 수신 장치(500)에서 이용되는 LLR 값의 최대 값 또는 최소 값이 될 수 있다.First, the rate dematching unit 520 performs deinterleaving 521 to correspond to the interleaver 441 of the transmitter. In the output values of the deinterleaving 521, the LLR inserter 522 may insert an LLR value corresponding to the zero bits in the position where the zero bits are padded in the LDPC codeword. In this case, an LLR value corresponding to the padded zero bits, ie, the shortened zero bits, may be ∞ or -∞. However, ∞ or -∞ is a theoretical value, and may actually be the maximum or minimum value of the LLR value used in the receiving device 500.

이를 위해, 수신 장치(500)는 송신 장치(400)가 제로 비트들을 패딩하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 레이트 디매칭부(520)는 LDPC 코드워드에서 제로 비트들이 패딩되었던 위치를 판단하고, 해당 위치에 쇼트닝된 제로 비트들에 대응되는 LLR 값을 삽입할 수 있다.To this end, the receiving device 500 may previously store information on parameters used by the transmitting device 400 to pad zero bits. Accordingly, the rate dematching unit 520 may determine a position where zero bits are padded in the LDPC codeword, and insert an LLR value corresponding to the shortened zero bits at the corresponding position.

또한, 레이트 디매칭부(520)의 LLR 삽입부(522)에서는 LDPC 코드워드에서 펑처링된 비트들의 위치에 펑처링된 비트들에 대응되는 LLR 값을 삽입할 수 있다. 이 경우, 펑처링된 비트들에 대응되는 LLR 값은 0이 될 수 있다. In addition, the LLR insertion unit 522 of the rate dematching unit 520 may insert LLR values corresponding to the punctured bits in positions of the punctured bits in the LDPC codeword. In this case, LLR values corresponding to the punctured bits may be 0.

이를 위해, 수신 장치(500)는 송신 장치(400)에서 펑처링을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 삽입부(522)는 LDPC 패리티 비트들이 펑처링된 위치에 그에 대응되는 LLR 값을 삽입할 수 있다.To this end, the receiving device 500 may previously store information on parameters used for puncturing by the transmitting device 400 . Accordingly, the LLR inserter 522 may insert an LLR value corresponding to the punctured position of the LDPC parity bits.

LLR 컴바이너(523)는 LLR 삽입부(522) 및 복조부(510)에서 출력되는 LLR 값을 컴바인(combine) 즉, 합산할 수 있다. 구체적으로, LLR 컴바이너(523)는 송신 장치(400)의 펑처링/리피티션/제로 제거부(442)에 대응되는 구성요소로, 리피티션부(442)에 대응되는 동작을 수행할 수 있다. 먼저, LLR 컴바이너(523)는 리피티션된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(400)에서 리피티션된 비트들 생성에 기초가 된 비트들 즉, 리피티션 대상으로 선택되었던 LDPC 패리티 비트들에 대한 LLR 값일 수 있다.The LLR combiner 523 may combine the LLR values output from the LLR inserter 522 and the demodulator 510, that is, add up. Specifically, the LLR combiner 523 is a component corresponding to the puncturing/repetition/zero removal unit 442 of the transmitter 400, and performs an operation corresponding to the repetition unit 442. can First, the LLR combiner 523 may combine LLR values corresponding to repeated bits with other LLR values. Here, another LLR value may be an LLR value for bits based on the generation of repeated bits in the transmitter 400, that is, LDPC parity bits selected as repetition targets.

즉, 상술한 바와 같이, 송신 장치(400)는 LDPC 패리티 비트들에서 비트들을 선택하고, 이들을 LDPC 정보어 비트들 및 LDPC 패리티 비트들 사이에서 리피티션시켜 수신 장치(500)로 전송하게 된다.That is, as described above, the transmitter 400 selects bits from the LDPC parity bits, repeats them between the LDPC information word bits and the LDPC parity bits, and transmits them to the receiver 500.

이에 따라, LDPC 패리티 비트들에 대한 LLR 값은 리피티션된 LDPC 패리티 비트들에 대한 LLR 값 및 리피티션되지 않은 LDPC 패리티 비트들 즉, 인코딩에 의해 생성된 LDPC 패리티 비트들에 대한 LLR 값으로 구성될 수 있다. 따라서, LLR 컴바이너(523)는 동일한 LDPC 패리티 비트들에 LLR 값들을 컴바인할 수 있다.Accordingly, the LLR value for the LDPC parity bits is an LLR value for repeated LDPC parity bits and an LLR value for non-repeated LDPC parity bits, that is, LDPC parity bits generated by encoding. can be configured. Accordingly, the LLR combiner 523 may combine the LLR values to the same LDPC parity bits.

이를 위해, 수신 장치(500)는 송신 장치(400)에서 리피티션을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 컴바이너(523)는 리피티션된 LDPC 패리티 비트들에 대한 LLR 값을 판단하고, 이를 리피티션의 기초가 된 LDPC 패리티 비트들에 대한 LLR 값과 컴바인할 수 있다.To this end, the receiving device 500 may previously store information on parameters used by the transmitting device 400 for repetition. Accordingly, the LLR combiner 523 may determine an LLR value for the repeated LDPC parity bits and combine it with an LLR value for the LDPC parity bits that are the basis of the repetition.

또한, LLR 컴바이너(523)는 재전송 혹은 IR(Incremental Redundancy)된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(400)에서 재전송 혹은 IR된 비트들 생성에 기초가 된 LDPC 부호어 비트들 생성을 위해 선택되었던 비트들에 대한 LLR 값일 수 있다.In addition, the LLR combiner 523 may combine LLR values corresponding to retransmitted or IR (Incremental Redundancy) bits with other LLR values. Here, another LLR value may be an LLR value for bits selected for generating LDPC codeword bits based on generating bits retransmitted or IRed by the transmitter 400.

즉, 상술한 바와 같이, 송신 장치(400)는 HARQ를 위하여 NACK이 발생할 경우 부호어 비트들중 일부 비트들 혹은 모든 비트들을 수신 장치(500)로 전송할 수 있다. That is, as described above, the transmitter 400 may transmit some or all of the codeword bits to the receiver 500 when a NACK occurs for HARQ.

이에 따라, LLR 컴바이너(523)는 재전송 혹은 IR을 통해 수신된 비트들에 대한 LLR 값을 이전 프레임을 통해 수신되는 LDPC 코드워드 비트들에 대한 LLR 값과 컴바인할 수 있다.Accordingly, the LLR combiner 523 may combine LLR values for bits received through retransmission or IR with LLR values for LDPC codeword bits received through a previous frame.

이를 위해, 수신 장치(500)는 송신 장치(400)에서 재전송 혹은 IR비트들 생성을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 컴바이너(523)는 재전송 혹은 IR비트들의 수에 대한 LLR 값을 판단하고, 이를 재전송 비트들의 생성에 기초가 된 LDPC 패리티 비트들에 대한 LLR 값과 컴바인할 수 있다.To this end, the receiving device 500 may pre-store information on parameters used for retransmission or generation of IR bits in the transmitting device 400 . Accordingly, the LLR combiner 523 may determine an LLR value for the number of retransmission or IR bits, and combine it with an LLR value for LDPC parity bits based on generation of retransmission bits.

디인터리버(524)는 LLR 컴바이너(523)에서 출력되는 LLR 값을 디인터리빙 할 수 있다.The deinterleaver 524 may deinterleave the LLR values output from the LLR combiner 523.

구체적으로, 디인터리버부(524)는 송신 장치(400)의 인터리버(441)에 대응되는 구성요소로, 인터리버(441)에 대응되는 동작을 수행할 수 있다.Specifically, the deinterleaver unit 524 is a component corresponding to the interleaver 441 of the transmitter 400 and may perform an operation corresponding to the interleaver 441 .

이를 위해, 수신 장치(500)는 송신 장치(100)가 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 디인터리버(524)는 LDPC 코드워드 비트들에 대응되는 LLR 값에 대해 인터리버(441)에서 수행된 인터리빙 동작을 역으로 수행하여, LDPC 코드워드 비트들에 대응되는 LLR 값을 디인터리빙 할 수 있다. To this end, the receiving device 500 may pre-store information on parameters used by the transmitting device 100 for interleaving. Accordingly, the deinterleaver 524 reversely performs the interleaving operation performed by the interleaver 441 on the LLR values corresponding to the LDPC codeword bits to deinterleave the LLR values corresponding to the LDPC codeword bits. can

LDPC 디코더(530)는 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행할 수 있다.The LDPC decoder 530 may perform LDPC decoding based on the LLR value output from the rate dematching unit 520.

구체적으로, LDPC 디코더(530)는 송신 장치(100)의 LDPC 인코더(430)에 대응되는 구성요소로, LDPC 인코더(430)에 대응되는 동작을 수행할 수 있다.Specifically, the LDPC decoder 530 is a component corresponding to the LDPC encoder 430 of the transmitter 100 and may perform an operation corresponding to the LDPC encoder 430 .

이를 위해, 수신 장치(500)는 송신 장치(400)에서 모드에 따라 LDPC 인코딩을 수행하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, LDPC 디코더(530)는 모드에 따라 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행할 수 있다.To this end, the receiving device 500 may previously store information on parameters used by the transmitting device 400 to perform LDPC encoding according to the mode. Accordingly, the LDPC decoder 530 may perform LDPC decoding based on the LLR value output from the rate dematching unit 520 according to the mode.

예를 들어, LDPC 디코더(530)는 합곱 알고리즘(sum-product algorithm)에 기반한 반복 복호 방식에 기초하여 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행하고, LDPC 디코딩에 따라 에러가 정정된 비트들을 출력할 수 있다.For example, the LDPC decoder 530 performs LDPC decoding based on the LLR value output from the rate dematching unit 520 based on an iterative decoding scheme based on a sum-product algorithm, and performs LDPC decoding on the LDPC decoding. Accordingly, the error-corrected bits may be output.

제로 제거부(540)는 LDPC 디코더(2460, 2560)에서 출력되는 비트들에서 제로 비트들을 제거할 수 있다.The zero remover 540 may remove zero bits from bits output from the LDPC decoders 2460 and 2560 .

구체적으로, 제로 제거부(540)는 송신 장치(400)의 제로 패딩부(420)에 대응되는 구성요소로, 제로 패딩부(420)에 대응되는 동작을 수행할 수 있다.Specifically, the zero remover 540 is a component corresponding to the zero padder 420 of the transmitter 400 and may perform an operation corresponding to the zero padder 420 .

이를 위해, 수신 장치(500)는 송신 장치(400)에서 제로 비트들을 패딩하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 제로 제거부(540)는 LDPC 디코더(530)에서 출력되는 비트들에서 제로 패딩부(420)에서 패딩되었던 제로 비트들을 제거할 수 있다. To this end, the receiving device 500 may pre-store information about parameters used by the transmitting device 400 to pad zero bits. Accordingly, the zero remover 540 may remove the zero bits padded by the zero padder 420 from the bits output from the LDPC decoder 530 .

디세그먼테이션부(550)는 송신 장치(400)의 세그먼테이션부(410)에 대응되는 구성요소로, 세그먼테이션부(410)에 대응되는 동작을 수행할 수 있다.The desegmentation unit 550 is a component corresponding to the segmentation unit 410 of the transmission device 400 and may perform an operation corresponding to the segmentation unit 410 .

이를 위해, 수신 장치(500)는 송신 장치(400)가 세그먼테이션을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 디세그먼테이션부(550)는 제로 제거부(540)에서 출력되는 비트들 즉, 가변 길이 입력 비트들에 대한 세그먼트들을 결합하여, 세그먼테이션 전의 비트들을 복원할 수 있다.To this end, the receiving device 500 may pre-store information on parameters used by the transmitting device 400 for segmentation. Accordingly, the desegmentation unit 550 may combine the bits output from the zero removal unit 540, that is, the segments for the variable length input bits, and restore the bits before segmentation.

도 19는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타내는 블록도이다. 도 19에 따르면, 복호화 장치(1900)는 LDPC 디코더(1910)를 포함할 수 있다. 한편, 복호화 장치(1900)는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보를 기저장하기 위한 메모리(미도시)를 더 포함할 수 있으며, LDPC 디코더(1910)는 이러한 정보를 이용하여 LDPC 부호화를 수행할 수 있다. 하지만, 이는 일 예일 뿐, 해당 정보들은 송신 장치 측으로부터 제공될 수도 있다.19 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention. According to FIG. 19 , a decoding apparatus 1900 may include an LDPC decoder 1910. Meanwhile, the decoding apparatus 1900 may further include a memory (not shown) for pre-storing information about the code rate, codeword length, and parity check matrix of the LDPC code, and the LDPC decoder 1910 stores such information LDPC encoding can be performed using However, this is only an example, and the corresponding information may be provided from the transmitting device side.

LDPC 디코더(1910)는 패리티 검사 행렬에 기초하여 LDPC 부호어에 대해 LDPC 복호화를 수행한다. The LDPC decoder 1910 performs LDPC decoding on the LDPC codeword based on the parity check matrix.

예를 들어, LDPC 디코더(1910)는 반복 복호 알고리즘을 통해 LDPC 부호어 비트들에 대응되는 LLR(Log Likelihood Ratio) 값을 패싱하여 LDPC 복호화를 수행하여 정보어 비트들을 생성할 수 있다. For example, the LDPC decoder 1910 may generate information word bits by performing LDPC decoding by passing log likelihood ratio (LLR) values corresponding to LDPC codeword bits through an iterative decoding algorithm.

여기에서, LLR 값은 LDPC 부호어 비트들에 대응되는 채널 값으로, 다양한 방법으로 표현될 수 있다. Here, the LLR value is a channel value corresponding to LDPC codeword bits and can be expressed in various ways.

예를 들어, LLR 값은 송신 측에서 채널을 통해 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또한, LLR 값은 경판정에 따라 결정된 비트 값 자체가 될 수 있으며, 송신 측에서 에서 전송한 비트가 0 또는1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.For example, the LLR value may be expressed as a value obtained by taking Log of a ratio of a probability that a bit transmitted through a channel by a transmitter is 0 and a probability that it is 1. In addition, the LLR value may be a bit value itself determined according to the hard decision, or may be a representative value determined according to a section to which the probability that the transmitted bit is 0 or 1 belongs.

이 경우, 송신 측은 도 18과 같은 LDPC 인코더(1810)를 이용하여 LDPC 부호어를 생성할 수 있다.In this case, the transmitter may generate an LDPC codeword using the LDPC encoder 1810 as shown in FIG. 18 .

한편, LDPC 복호화 시 이용되는 패리티 검사 행렬은 도 3에서 도시한 패리티 검사 행렬과 동일한 행태일 수 있다. Meanwhile, a parity check matrix used in LDPC decoding may have the same behavior as the parity check matrix shown in FIG. 3 .

이 경우, LDPC 디코더(1910)는 부호율(즉, LDPC 부호의 부호율)에 따라 서로 다르게 정의된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행할 수 있다. In this case, the LDPC decoder 1910 may perform LDPC decoding using parity check matrices defined differently according to code rates (ie, code rates of LDPC codes).

한편, 상술한 바와 같이 LDPC 디코더(1910)는 반복 복호 알고리즘을 사용하여 LDPC 복호화를 수행할 수 있으며, 이 경우, LDPC 디코더(1910)는 도 20과 같은 구조로 구성될 수 있다. 다만, 반복 복호 알고리즘의 경우 이미 공지된 사항이라는 점에서, 도 20에 도시된 세부 구성 역시 일 예일 뿐이다.Meanwhile, as described above, the LDPC decoder 1910 may perform LDPC decoding using an iterative decoding algorithm. In this case, the LDPC decoder 1910 may have a structure as shown in FIG. 20 . However, since the iterative decoding algorithm is already known, the detailed configuration shown in FIG. 20 is only an example.

도 20은 본 발명의 다른 실시 예에 따른 LDPC 디코더 구조도를 나타낸다. 도 20에 따르면, 복호화 장치(2000)는 입력 처리기(2011), 메모리(2012), 변수 노드 연산기(2013), 제어기(2014), 검사 노드 연사기(2015) 및 출력 처리기(2016)를 포함한다. 20 shows a structural diagram of an LDPC decoder according to another embodiment of the present invention. According to FIG. 20 , the decoding apparatus 2000 includes an input processor 2011, a memory 2012, a variable node calculator 2013, a controller 2014, a check node repeater 2015, and an output processor 2016.

입력처리기(2011)는 입력되는 값을 저장한다. 구체적으로, 입력 처리기(2011)는 무선 채널을 통해 수신되는 수신 신호의 LLR 값을 저장할 수 있다.The input processor 2011 stores input values. Specifically, the input processor 2011 may store an LLR value of a received signal received through a radio channel.

제어기(2014)는 무선 채널을 통해 수신되는 수신 신호의 블록의 크기(즉, 부호어의 길이), 부호율에 대응되는 패리티 검사 행렬을 기반으로 하여 변수 노드 연산기(2013)에 입력되는 값의 개수 및 메모리(2012)에서의 주소 값, 검사 노드 연산기(2015)에 입력되는 값의 개수 및 메모리(2012)에서의 주소 값 등을 결정한다. The controller 2014 calculates the number of values input to the variable node calculator 2013 based on the parity check matrix corresponding to the block size (i.e., codeword length) and code rate of the received signal received through the wireless channel. And the address value in the memory 2012, the number of values input to the check node operator 2015, and the address value in the memory 2012 are determined.

메모리(2012)는 변수 노드 연산기(2013)와 검사 노드 연산기(2015)의 입력 데이터 및 출력 데이터를 저장한다. The memory 2012 stores input data and output data of the variable node operator 2013 and the check node operator 2015.

변수 노드 연산기(2013)는 제어기(2014)에서 입력 받은 입력 데이터의 주소 정보 및 입력 데이터의 개수 정보에 따라 메모리(2012)에서 데이터들을 입력 받아 변수 노드 연산을 한다. 이후, 변수 노드 연산기(2013)는 제어기(2014)에서 입력 받은 출력 데이터의 주소 정보 및 출력 데이터의 개수 정보에 기초하여 변수 노드 연산 결과들을 메모리(2012)에 저장한다. 또한, 변수 노드 연산기(2013)에서는 입력 처리기(2011)와 메모리(2012)에서 입력 받은 데이터를 기반으로 하여 변수 노드 연산 결과를 출력 처리기(2016)에 입력한다. 여기에서, 변수 노드 연산은 도 18을 기반으로 상술한바 있다.The variable node calculator 2013 receives data from the memory 2012 according to address information of the input data received from the controller 2014 and information on the number of input data, and performs variable node calculation. Thereafter, the variable node calculator 2013 stores variable node operation results in the memory 2012 based on the address information of the output data received from the controller 2014 and the number information of the output data. In addition, the variable node operator 2013 inputs a variable node operation result to the output processor 2016 based on data input from the input processor 2011 and the memory 2012. Here, the variable node operation has been described above based on FIG. 18 .

검사 노드 연산기(2015)는 제어기(2014)에서 입력받은 입력 데이터의 주소 정보 및 입력 데이터의 개수 정보에 기초하여 메모리(2012)에서 데이터들을 입력받아 검사 노드 연산을 한다. 이후, 검사 노드 연산기(2015)는 제어기(2014)에서 입력받은 출력 데이터의 주소 정보 및 출력 데이터의 개수 정보에 기초하여 변수 노드 연산 결과들을 메모리(2012)에 저장한다.여기에서, 검사 노드 연산은 도 7a 및 7b을 기반으로 상술한바 있다.The check node operator 2015 receives data from the memory 2012 based on the address information of the input data received from the controller 2014 and the number information of the input data, and performs a check node operation. Then, the check node calculator 2015 stores variable node operation results in the memory 2012 based on the address information of the output data and the number information of the output data received from the controller 2014. Here, the check node operation is It has been described above based on FIGS. 7A and 7B.

출력 처리기(2016)는 변수 노드 연산기(2013)로부터 입력받은 데이터를 기반으로 하여 송신 측의 부호어의 정보어 비트들이 0이었는지 1이었는지 경판정한 후, 그 경판정 결과를 출력하게 되고, 출력 처리기(2016)의 출력 값이 최종적으로 복호화된 값이 되는 것이다. 도 7a 및 7b에서 하나의 변수 노드로 입력되는 모든 메시지 값(초기 메시지 값과 검사 노드로부터 입력되는 모든 메시지 값들)을 더한 값을 기반으로 경판정 할 수 있다.The output processor 2016 makes a hard decision on whether the information word bits of the codeword of the transmission side are 0 or 1 based on the data received from the variable node calculator 2013, and then outputs the hard decision result, and the output processor ( 2016) becomes the final decoded value. 7a and 7b, a hard decision can be made based on the sum of all message values (initial message value and all message values input from the check node) input to one variable node.

도 21 및 22는 본 발명의 실시예에 따라 동작할 수 있는 송신기 및 수신기를 도시한 도면이다. 상기 송신기와 수신기는 각각 기지국 또는 단말 중 하나가 될 수 있다. 도 21에 따르면 송신기(2100)은 송수신부(2110) 및 제어부(2120)으로 구성될 수 있으며, 송수신부는 수신기와 정보, 신호, 메시지 등을 송수신하며, 제어부는 상기 송수신부가 상기 송수신 동작을 수행하도록 제어하며, 또한 본 발명의 실시예를 수행하도록 제어할 수 있다. 본 발명에 기술된 송신 장치(400)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다. 또한 부호화 장치(1800)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다. 21 and 22 are diagrams illustrating a transmitter and receiver capable of operating in accordance with an embodiment of the present invention. The transmitter and receiver may each be either a base station or a terminal. According to FIG. 21, the transmitter 2100 may be composed of a transceiver 2110 and a control unit 2120, the transceiver transmits and receives information, signals, messages, etc. with the receiver, and the control unit causes the transceiver to perform the transmission and reception operation. control, and may also be controlled to perform an embodiment of the present invention. The transmitter 400 described in the present invention may or may not be included in the control unit. Also, the encoding device 1800 may or may not be included in the control unit.

도 22에 따르면 수신기(2200)은 송수신부(2210) 및 제어부(2220)으로 구성될 수 있으며, 송수신부는 송신기와 정보, 신호, 메시지 등을 송수신하며, 제어부는 상기 송수신부가 상기 송수신 동작을 수행하도록 제어하며, 또한 본 발명의 실시예를 수행하도록 제어할 수 있다. 본 발명에 기술된 수신 장치(500)는 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다. 또한 복호화 장치(1900)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다.22, the receiver 2200 may be composed of a transceiver 2210 and a control unit 2220, the transceiver transmits and receives information, signals, messages, etc. with the transmitter, and the control unit causes the transceiver to perform the transmission and reception operation control, and may also be controlled to perform an embodiment of the present invention. The receiving device 500 described in the present invention may or may not be included in the control unit. Also, the decoding device 1900 may or may not be included in the control unit.

Claims (18)

통신 시스템의 송신기의 방법에 있어서,
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 전송될 정보 비트열에 LDPC (low density parity check) 코딩을 수행해 코드워드를 생성하는 단계;
복수의 RV 인덱스 중 상기 코드워드에 적용될 RV (redundancy version)의 인덱스를 확인하는 단계;
상기 확인된 RV 인덱스를 기반으로 상기 코드워드에 대한 레이트 매칭을 수행해 비트열을 생성하는 단계를 포함하며,
상기 비트열은 상기 코드워드가 복수의 시작점 중 하나의 시작점에서 시작하도록 재배열되어 생성되며,
상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반해 결정되는 것을 특징으로 하는 방법.
In the method of a transmitter of a communication system,
Generating a codeword by performing low density parity check (LDPC) coding on an information bit stream to be transmitted based on a parity check matrix selected from among a plurality of parity check matrices;
Checking an index of a redundancy version (RV) to be applied to the codeword among a plurality of RV indexes;
Generating a bit stream by performing rate matching on the codeword based on the identified RV index,
The bit string is generated by rearranging the codeword to start at one of a plurality of starting points,
Wherein the one starting point is determined based on the checked RV index and a parity check matrix group corresponding to the selected parity check matrix.
제1항에 있어서,
상기 복수의 시작점은 각각 상기 코드워드의 특정 비트에 해당하는 것을 특징으로 하는 방법.
According to claim 1,
Wherein each of the plurality of starting points corresponds to a specific bit of the codeword.
제1항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 방법.
According to claim 1,
Characterized in that the index of the one starting point is a multiple of Z, which is the size of a matrix constituting the selected parity check matrix.
제1항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 방법.
According to claim 1,
Each of the plurality of starting points corresponds to one of the plurality of RV indices, and an interval between adjacent starting points is not uniform.
제1항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 전송될 정보 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 방법.
According to claim 1,
Characterized in that the order of the plurality of RV indices is determined based on at least one of the parity check matrix group corresponding to the selected parity check matrix or a code rate of an initial transmission of the information bit stream to be transmitted.
통신 시스템의 수신기의 방법에 있어서,
수신된 신호에 기반해 송신기에 의해 전송된 비트열에 해당하는 복수의 값을 확인하는 단계;
복수의 RV (redundancy version) 중 적용될 RV 인덱스를 확인하는 단계;
상기 확인된 RV 인덱스를 기반으로 상기 복수의 값에 대한 디-레이트 매칭을 수행하는 단계; 및
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 디-레이트 매칭된 복수의 값에 LDPC (low parity check matrix) 디코딩을 수행해 정보 비트열을 확인하는 단계를 포함하고,
상기 복수의 값은 복수의 시작점 중 하나의 시작점에서 시작하며, 상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반하는 것을 특징으로 하는 방법.
In the method of a receiver of a communication system,
Checking a plurality of values corresponding to a bit string transmitted by a transmitter based on the received signal;
Checking an RV index to be applied among a plurality of redundancy versions (RVs);
performing de-rate matching on the plurality of values based on the identified RV index; and
Confirming an information bit sequence by performing low parity check matrix (LDPC) decoding on a plurality of de-rate matched values based on a parity check matrix selected from among a plurality of parity check matrices;
The plurality of values start from one of the plurality of starting points, and the one starting point is based on the checked RV index and a parity check matrix group corresponding to the selected parity check matrix.
제6항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 방법.
According to claim 6,
Characterized in that the index of the one starting point is a multiple of Z, which is the size of a matrix constituting the selected parity check matrix.
제6항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 방법.
According to claim 6,
Each of the plurality of starting points corresponds to one of the plurality of RV indices, and an interval between adjacent starting points is not uniform.
제6항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 송신기에 의해 전송된 상기 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 방법.
According to claim 6,
Characterized in that the order of the plurality of RV indices is determined based on at least one of the parity check matrix group corresponding to the selected parity check matrix or the code rate of the first transmission of the bit stream transmitted by the transmitter.
통신 시스템의 송신기에 있어서,
송수신부; 및
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 전송될 정보 비트열에 LDPC (low density parity check) 코딩을 수행해 코드워드를 생성하고,
복수의 RV 인덱스 중 상기 코드워드에 적용될 RV (redundancy version)의 인덱스를 확인하고,
상기 확인된 RV 인덱스를 기반으로 상기 코드워드에 대한 레이트 매칭을 수행해 비트열을 생성하도록 제어하는 제어부를 포함하며,
상기 비트열은 상기 코드워드가 복수의 시작점 중 하나의 시작점에서 시작하도록 재배열되어 생성되며,
상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반해 결정되는 것을 특징으로 하는 송신기.
In the transmitter of the communication system,
transceiver; and
Generating a codeword by performing low density parity check (LDPC) coding on an information bit stream to be transmitted based on a parity check matrix selected from among a plurality of parity check matrices;
Checking an index of a redundancy version (RV) to be applied to the codeword among a plurality of RV indices,
A control unit controlling to generate a bit stream by performing rate matching on the codeword based on the identified RV index,
The bit string is generated by rearranging the codeword to start at one of a plurality of starting points,
The one starting point is determined based on the checked RV index and a parity check matrix group corresponding to the selected parity check matrix.
제10항에 있어서,
상기 복수의 시작점은 각각 상기 코드워드의 특정 비트에 해당하는 것을 특징으로 하는 송신기.
According to claim 10,
Wherein each of the plurality of starting points corresponds to a specific bit of the codeword.
제10항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 송신기.
According to claim 10,
Characterized in that the index of the one starting point is a multiple of Z, which is the size of a matrix constituting the selected parity check matrix.
제10항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 송신기.
According to claim 10,
Each of the plurality of starting points corresponds to one of the plurality of RV indices, and an interval between adjacent starting points is not uniform.
제10항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 전송될 정보 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 송신기.
According to claim 10,
The order of the plurality of RV indices is determined based on at least one of the parity check matrix group corresponding to the selected parity check matrix or a code rate of an initial transmission of the information bit stream to be transmitted.
통신 시스템의 수신기에 있어서,
송수신부; 및
수신된 신호에 기반해 송신기에 의해 전송된 비트에 해당하는 복수의 값을 확인하고,
복수의 RV (redundancy version) 중 적용될 RV 인덱스를 확인하고,
상기 확인된 RV 인덱스를 기반으로 상기 복수의 값에 대한 디-레이트 매칭을 수행하고,
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 디-레이트 매칭된 복수의 값에 LDPC (low parity check matrix) 디코딩을 수행해 정보 비트열을 확인하도록 제어하는 제어부를 포함하고,
상기 복수의 값은 복수의 시작점 중 하나의 시작점에서 시작하며, 상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반하는 것을 특징으로 하는 수신기.
In the receiver of the communication system,
transceiver; and
ascertaining a plurality of values corresponding to the bits transmitted by the transmitter based on the received signal;
Check the RV index to be applied among multiple redundancy versions (RVs),
Performing de-rate matching on the plurality of values based on the identified RV index;
A controller for controlling to check an information bit stream by performing LDPC (low parity check matrix) decoding on a plurality of de-rate matched values based on a parity check matrix selected from among a plurality of parity check matrices;
The plurality of values start from one of a plurality of starting points, and the one starting point is based on the checked RV index and a parity check matrix group corresponding to the selected parity check matrix. Receiver.
제15항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 수신기.
According to claim 15,
The receiver, characterized in that the index of the one starting point is a multiple of Z, which is the size of a matrix constituting the selected parity check matrix.
제15항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 수신기.
According to claim 15,
Each of the plurality of starting points corresponds to one of the plurality of RV indices, and an interval between adjacent starting points is not uniform.
제15항에 있어서, 상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 송신기에 의해 전송된 상기 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 수신기.The method of claim 15, wherein the order of the plurality of RV indices is determined based on at least one of the parity check matrix group corresponding to the selected parity check matrix or a code rate of an initial transmission of the bit stream transmitted by the transmitter Receiver characterized in that.
KR1020170128254A 2017-03-22 2017-09-29 Apparatus and method of transmission using harq in communication or broadcasting system KR102509968B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
PCT/KR2018/003311 WO2018174569A1 (en) 2017-03-22 2018-03-21 Apparatus and method of transmission using harq in communication or broadcasting system
CN202111612568.5A CN114553368B (en) 2017-03-22 2018-03-21 Apparatus and method for using HARQ transmission in communication or broadcasting system
CN201880020044.7A CN110476381B (en) 2017-03-22 2018-03-21 Apparatus and method for using HARQ transmission in a communication or broadcast system
US15/933,220 US10554337B2 (en) 2017-03-22 2018-03-22 Apparatus and method of transmission using HARQ in communication or broadcasting system
US16/752,134 US11018805B2 (en) 2017-03-22 2020-01-24 Apparatus and method of transmission using HARQ in communication or broadcasting system
US17/303,223 US11677497B2 (en) 2017-03-22 2021-05-24 Apparatus and method of transmission using HARQ in communication or broadcasting system
US18/332,452 US12068851B2 (en) 2017-03-22 2023-06-09 Apparatus and method of transmission using HARQ in communication or broadcasting system

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR1020170036021 2017-03-22
KR20170036021 2017-03-22
KR1020170053899 2017-04-26
KR20170053899 2017-04-26
KR1020170101937 2017-08-10
KR1020170101937A KR20180107692A (en) 2017-03-22 2017-08-10 Apparatus and method of transmission using harq in communication or broadcasting system
KR1020170116133A KR20180107701A (en) 2017-03-22 2017-09-11 Apparatus and method of transmission using harq in communication or broadcasting system
KR1020170116133 2017-09-11

Publications (2)

Publication Number Publication Date
KR20180107703A KR20180107703A (en) 2018-10-02
KR102509968B1 true KR102509968B1 (en) 2023-03-14

Family

ID=63863952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170128254A KR102509968B1 (en) 2017-03-22 2017-09-29 Apparatus and method of transmission using harq in communication or broadcasting system

Country Status (1)

Country Link
KR (1) KR102509968B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220231797A1 (en) * 2019-04-29 2022-07-21 Lg Electronics Inc. Nack frame for harq operation
KR20220000707A (en) * 2020-06-26 2022-01-04 삼성전자주식회사 Apparatus and method for polar code encoding or decoding in communication systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161772A1 (en) * 2008-09-02 2011-06-30 Panasonic Corporation Wireless communication device and wireless communication method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161772A1 (en) * 2008-09-02 2011-06-30 Panasonic Corporation Wireless communication device and wireless communication method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3GPP R1-1700384*
3GPP R1-1703365*

Also Published As

Publication number Publication date
KR20180107703A (en) 2018-10-02

Similar Documents

Publication Publication Date Title
US12068851B2 (en) Apparatus and method of transmission using HARQ in communication or broadcasting system
US10903936B2 (en) Method and apparatus for channel encoding/decoding in a communication or broadcasting system
KR102694927B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US11575465B2 (en) Method and apparatus for channel encoding/decoding in a communication or broadcasting system
CN111357218B (en) Method and apparatus for encoding and decoding channel in communication or broadcasting system
KR102678457B1 (en) Channel encoding/decoding method and device in communication or broadcasting system
CN110476381B (en) Apparatus and method for using HARQ transmission in a communication or broadcast system
KR20210030848A (en) Apparatus and method for decoding of data in communication or broadcasting system
KR102509968B1 (en) Apparatus and method of transmission using harq in communication or broadcasting system
KR20220130645A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
CN110663190B (en) Method and apparatus for channel encoding and decoding in a communication or broadcasting system
KR20190017600A (en) Apparatus and method for transmitting and receiving data in communication systems
US20230253984A1 (en) Method and apparatus for data decoding in communication or broadcasting system
KR20180107701A (en) Apparatus and method of transmission using harq in communication or broadcasting system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant