[go: up one dir, main page]

KR20250115278A - Apparatus and method for encoding and decoding of data in communication or broadcasting system - Google Patents

Apparatus and method for encoding and decoding of data in communication or broadcasting system

Info

Publication number
KR20250115278A
KR20250115278A KR1020240032729A KR20240032729A KR20250115278A KR 20250115278 A KR20250115278 A KR 20250115278A KR 1020240032729 A KR1020240032729 A KR 1020240032729A KR 20240032729 A KR20240032729 A KR 20240032729A KR 20250115278 A KR20250115278 A KR 20250115278A
Authority
KR
South Korea
Prior art keywords
matrix
parity check
check matrix
bits
parity
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020240032729A
Other languages
Korean (ko)
Inventor
명세호
이동훈
장민
한동화
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2025/000986 priority Critical patent/WO2025159450A1/en
Publication of KR20250115278A publication Critical patent/KR20250115278A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 6G 통신 시스템에 관련된 것이다.The present disclosure relates to a 5G or 6G communication system for supporting higher data transmission rates than a 4G communication system such as LTE.

Description

통신 또는 방송 시스템에서 데이터의 부호화 및 복호화 방법 및 장치{APPARATUS AND METHOD FOR ENCODING AND DECODING OF DATA IN COMMUNICATION OR BROADCASTING SYSTEM} {APPARATUS AND METHOD FOR ENCODING AND DECODING OF DATA IN COMMUNICATION OR BROADCASTING SYSTEM}

본 개시는 통신 또는 방송 시스템에서 데이터의 부호화 및 복호화 방법 및 장치에 관한 것이다.The present disclosure relates to a method and device for encoding and decoding data in a communication or broadcasting system.

무선 통신 세대를 거듭하면서 발전한 과정을 돌아보면 음성, 멀티미디어, 데이터 등 주로 인간 대상의 서비스를 위한 기술이 개발되어 왔다. 5G (5th Generation) 통신 시스템 상용화 이후 폭발적인 증가 추세에 있는 커넥티드 기기들이 통신 네트워크에 연결될 것으로 전망되고 있다. 네트워크에 연결된 사물의 예로는 차량, 로봇, 드론, 가전제품, 디스플레이, 각종 인프라에 설치된 스마트 센서, 건설기계, 공장 장비 등이 있을 수 있다. 모바일 기기는 증강현실 안경, 가상현실 헤드셋, 홀로그램 기기 등 다양한 폼팩터로 진화할 것으로 예상된다. 6G (6th Generation) 시대에는 수천억 개의 기기 및 사물을 연결하여 다양한 서비스를 제공하기 위해, 개선된 6G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 6G 통신 시스템은 5G 통신 이후 (beyond 5G) 시스템이라 불리어지고 있다.Looking back at the evolution of wireless communication over successive generations, technologies have primarily been developed for human-facing services such as voice, multimedia, and data. With the commercialization of the 5G (5th Generation) communication system, an explosive increase in connected devices is expected to be connected to communication networks. Examples of networked objects include vehicles, robots, drones, home appliances, displays, smart sensors installed in various infrastructures, construction equipment, and factory equipment. Mobile devices are also expected to evolve into diverse form factors, such as augmented reality glasses, virtual reality headsets, and holographic devices. In the 6G (6th Generation) era, efforts are being made to develop improved 6G communication systems to connect hundreds of billions of devices and objects and provide diverse services. For this reason, 6G communication systems are often referred to as "beyond 5G."

2030년쯤 실현될 것으로 예측되는 6G 통신 시스템에서 최대 전송 속도는 테라 (즉, 1,000기가) bps (bit per second), 무선 지연시간은 100마이크로초(μsec) 이다. 즉, 5G 통신 시스템대비 6G 통신 시스템에서의 전송 속도는 50배 빠르고 무선 지연시간은 10분의 1로 줄어든다.The 6G communication system, expected to be realized around 2030, will have a maximum transmission speed of terabytes (i.e., 1,000 gigabits) per second (bps) and a wireless latency of 100 microseconds (μsec). In other words, compared to 5G, the transmission speed in a 6G communication system will be 50 times faster and the wireless latency will be reduced to one-tenth.

이러한 높은 데이터 전송 속도 및 초저(ultra low) 지연시간을 달성하기 위해, 6G 통신 시스템은 테라헤르츠(Terahertz, THz) 대역 (예를 들어, 95기가헤르츠(95 Gigahertz, GHz)에서 3테라헤르츠(3THz)대역과 같은)에서의 구현이 고려되고 있다. 테라헤르츠 대역은 5G에서 도입된 밀리미터파(mmWave) 대역에 비해 더 심각한 경로손실 및 대기흡수 현상으로 인해서 신호 도달거리, 즉 커버리지를 보장할 수 있는 기술의 중요성이 더 커질 것으로 예상된다. 커버리지를 보장하기 위한 주요 기술로서 RF(Radio Frequency) 소자, 안테나, OFDM (Orthogonal Frequency Division Multiplexing)보다 커버리지 측면에서 더 우수한 신규 파형(waveform), 빔포밍(beamforming) 및 거대 배열 다중 입출력(massive Multiple-Input and Multiple-Output (MIMO)), 전차원 다중입출력(Full Dimensional MIMO (FD-MIMO)), 어레이 안테나(array antenna), 대규모 안테나(large scale antenna)와 같은 다중 안테나 전송 기술 등이 개발되어야 한다. 이 외에도 테라헤르츠 대역 신호의 커버리지를 개선하기 위해 메타물질(metamaterial) 기반 렌즈 및 안테나, OAM(Orbital Angular Momentum)을 이용한 고차원 공간 다중화 기술, RIS(Reconfigurable Intelligent Surface) 등 새로운 기술들이 논의되고 있다.To achieve these high data rates and ultra-low latency, 6G communication systems are being considered for implementation in the terahertz (THz) band (e.g., from 95 gigahertz (GHz) to 3 terahertz (THz)). Compared to the millimeter wave (mmWave) band introduced in 5G, the terahertz band is expected to have more severe path loss and atmospheric absorption, making it more important to develop technologies that can guarantee signal reach, or coverage. Key technologies to ensure coverage include Radio Frequency (RF) components, antennas, new waveforms that offer better coverage than Orthogonal Frequency Division Multiplexing (OFDM), beamforming, and multiple antenna transmission technologies such as massive Multiple-Input and Multiple-Output (MIMO), Full Dimensional MIMO (FD-MIMO), array antennas, and large-scale antennas. In addition, new technologies such as metamaterial-based lenses and antennas, high-dimensional spatial multiplexing using Orbital Angular Momentum (OAM), and Reconfigurable Intelligent Surface (RIS) are being discussed to improve the coverage of terahertz band signals.

또한 주파수 효율 향상 및 시스템 네트워크 개선을 위해, 6G 통신 시스템에서는 상향링크(uplink)와 하향링크(downlink)가 동일 시간에 동일 주파수 자원을 동시에 활용하는 전이중화(full duplex) 기술, 위성(satellite) 및 HAPS(High-Altitude Platform Stations)등을 통합적으로 활용하는 네트워크 기술, 이동 기지국 등을 지원하고 네트워크 운영 최적화 및 자동화 등을 가능하게 하는 네트워크 구조 혁신 기술, 스펙트럼 사용 예측에 기초한 충돌 회피를 통한 동적 주파수 공유 (dynamic spectrum sharing) 기술, AI (Artificial Intelligence)를 설계 단계에서부터 활용하고 종단간(end-to-end) AI 지원 기능을 내재화하여 시스템 최적화를 실현하는 AI 기반 통신 기술, 단말 연산 능력의 한계를 넘어서는 복잡도의 서비스를 초고성능 통신과 컴퓨팅 자원(Mobile Edge Computing (MEC), 클라우드 등)을 활용하여 실현하는 차세대 분산 컴퓨팅 기술 등의 개발이 이루어지고 있다. 뿐만 아니라 6G 통신 시스템에서 이용될 새로운 프로토콜의 설계, 하드웨어 기반의 보안 환경의 구현 및 데이터의 안전 활용을 위한 메커니즘 개발 및 프라이버시 유지 방법에 관한 기술 개발을 통해 디바이스 간의 연결성을 더 강화하고, 네트워크를 더 최적화하고, 네트워크 엔티티의 소프트웨어화를 촉진하며, 무선 통신의 개방성을 높이려는 시도가 계속되고 있다.In addition, in order to improve frequency efficiency and system network, 6G communication systems are developing full duplex technology that utilizes the same frequency resources at the same time for uplink and downlink; network technology that integrates satellites and HAPS (High-Altitude Platform Stations); network structure innovation technology that supports mobile base stations and enables optimization and automation of network operation; dynamic spectrum sharing technology through collision avoidance based on spectrum usage prediction; AI-based communication technology that utilizes AI (Artificial Intelligence) from the design stage and internalizes end-to-end AI support functions to realize system optimization; and next-generation distributed computing technology that realizes services with complexity that exceeds the limits of terminal computing capabilities by utilizing ultra-high-performance communication and computing resources (Mobile Edge Computing (MEC), cloud, etc.). In addition, efforts are being made to further strengthen connectivity between devices, further optimize networks, promote softwareization of network entities, and increase the openness of wireless communications through the design of new protocols to be used in 6G communication systems, the implementation of hardware-based security environments, the development of mechanisms for the safe use of data, and the development of technologies for maintaining privacy.

이러한 6G 통신 시스템의 연구 및 개발로 인해, 사물 간의 연결뿐만 아니라 사람과 사물 간의 연결까지 모두 포함하는 6G 통신 시스템의 초연결성(hyper-connectivity)을 통해 새로운 차원의 초연결 경험(the next hyper-connected experience)이 가능해질 것으로 기대된다. 구체적으로 6G 통신 시스템을 통해 초실감 확장 현실(truly immersive eXtended Reality (XR)), 고정밀 모바일 홀로그램(high-fidelity mobile hologram), 디지털 복제(digital replica) 등의 서비스 제공이 가능할 것으로 전망된다. 또한 보안 및 신뢰도 증진을 통한 원격 수술(remote surgery), 산업 자동화(industrial automation) 및 비상 응답(emergency response)과 같은 서비스가 6G 통신 시스템을 통해 제공됨으로써 산업, 의료, 자동차, 가전 등 다양한 분야에서 응용될 것이다.Research and development of these 6G communication systems are expected to enable a new level of hyper-connected experience through the hyper-connectivity of 6G communication systems, which encompass not only connections between things but also connections between people and things. Specifically, 6G communication systems are expected to enable services such as truly immersive eXtended Reality (XR), high-fidelity mobile holograms, and digital replicas. Furthermore, services such as remote surgery, industrial automation, and emergency response, which are provided through 6G communication systems through enhanced security and reliability, will be applied in diverse fields such as industry, medicine, automobiles, and home appliances.

본 개시는 디코딩 레이턴시 (decoding latency)를 줄이고, 부호화 복잡도를 낮추기 위한 LDPC (Low Density Parity Check)부호의 패리티 검사 행렬이 만족해야할 대수적인 특징을 제공한다. 또한, 상기 대수적인 특징을 갖는 LDPC 부호를 이용한 효율적인 부호화 및 복호화 방법과 장치를 제공한다.The present disclosure provides algebraic characteristics that a parity check matrix of an LDPC (Low Density Parity Check) code must satisfy in order to reduce decoding latency and lower encoding complexity. In addition, an efficient encoding and decoding method and device using an LDPC code having the above algebraic characteristics are provided.

본 개시는 BLER (Block Error Rate or block error probability)을 낮추기 위해 LDPC 부호의 패리티 검사 행렬이 만족해야할 대수적인 특징을 제공한다. 또한, 상기 대수적인 특징을 갖는 LDPC 부호를 이용한 효율적인 부호화 및 복호화 방법과 장치를 제공한다.The present disclosure provides algebraic characteristics that a parity check matrix of an LDPC code must satisfy in order to reduce the Block Error Rate (BLER) or block error probability. In addition, an efficient encoding and decoding method and device using an LDPC code having the algebraic characteristics are provided.

본 개시는 디코딩 레이턴시, 부호화 복잡도 및 BLER를 동시에 낮추기 위해 상기 대수적 특징들을 적절히 결합하여 LDPC 부호의 패리티 검사 행렬이 만족해야할 대수적인 특징을 제공한다. 또한, 상기 결합된 대수적인 특징을 갖는 LDPC 부호를 이용한 효율적인 부호화 및 복호화 방법과 장치를 제공한다.The present disclosure provides algebraic characteristics that a parity check matrix of an LDPC code must satisfy by appropriately combining the aforementioned algebraic characteristics to simultaneously reduce decoding latency, encoding complexity, and BLER. Furthermore, the present disclosure provides an efficient encoding and decoding method and device using an LDPC code having the combined algebraic characteristics.

본 개시의 일 실시 예에 따른 통신 시스템에서 기지국 또는 단말의 데이터 전송 방법은, 기본 행렬 및/또는 패리티 검사 행렬에 기반하여 데이터를 LDPC 부호화하는 단계, 상기 부호화된 데이터에 대해 적절한 레이트 매칭을 적용하는 단계, 상기 레이트 매칭된 부호화된 데이터를 변조하는 단계, 변조된 신호를 송신 장치를 통해 전송하는 단계를 포함할 수 있으며, 여기서 상기 기본 행렬 또는 패리티 검사 행렬 또는 그에 대응되는 무게 행렬은 특정 대수적 조건을 만족함을 특징으로 한다.In a communication system according to one embodiment of the present disclosure, a data transmission method of a base station or a terminal may include a step of LDPC encoding data based on a basic matrix and/or a parity check matrix, a step of applying appropriate rate matching to the encoded data, a step of modulating the rate-matched encoded data, and a step of transmitting the modulated signal through a transmission device, wherein the basic matrix or the parity check matrix or the weight matrix corresponding thereto is characterized in that it satisfies a specific algebraic condition.

본 개시의 일 실시 예에 따른 통신 시스템에서 기지국 또는 단말의 데이터 수신 방법은, 수신 장치를 통해 변조된 신호를 수신하는 단계, 수신된 신호를 기반으로 디코딩을 위한 값들을 결정하기 위해 복조를 수행하는 단계, 상기 결정된 값들과 기본 행렬 및/또는 패리티 검사 행렬에 기반하여 LDPC 복호화를 수행하는 단계, 상기 LDPC 복호화된 결과에 적절히 레이트 디매칭을 적용하는 단계, 상기 레이트 디매칭된 결과로부터 데이터를 결정하는 단계를 포함할 수 있으며, 여기서 상기 기본 행렬 또는 패리티 검사 행렬 또는 그에 대응되는 무게 행렬은 특정 대수적 조건을 만족함을 특징으로 한다.In a communication system according to one embodiment of the present disclosure, a method for receiving data by a base station or a terminal may include the steps of receiving a modulated signal through a receiving device, performing demodulation to determine values for decoding based on the received signal, performing LDPC decoding based on the determined values and a base matrix and/or a parity check matrix, appropriately applying rate dematching to the LDPC decoded result, and determining data from the rate dematched result, wherein the base matrix or the parity check matrix or the weight matrix corresponding thereto is characterized in that it satisfies a specific algebraic condition.

또한, 본 개시의 일 실시 예에 따른 통신 시스템에서 기지국 통신 시스템에서 송신기에 의해 수행되는 방법에 있어서, 입력 비트의 수를 결정하는 단계, 상기 입력 비트의 수에 기반하여 기본 행렬을 결정하는 단계, 상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하는 단계, 상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하는 단계, 상기 패리티 검사 행렬과 상기 입력 비트에 기반하여 부호화를 수행하는 단계, 상기 부호화된 비트에 기반하여 레이트 매칭을 수행하는 단계를 포함하며, 상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서 를 포함하며, 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공이 시작되며, 상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , , 는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 한다.In addition, in a method performed by a transmitter in a base station communication system in a communication system according to an embodiment of the present disclosure, the method comprises the steps of: determining a number of input bits; determining a basic matrix based on the number of input bits; determining a lifting size (Z) based on at least one of the number of input bits or the basic matrix; determining a parity check matrix based on at least one of the basic matrix or the lifting size (Z); performing encoding based on the parity check matrix and the input bits; and performing rate matching based on the encoded bits, wherein the parity check matrix is a submatrix corresponding to a parity bit. , and the puncturing starts from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the submatrix, and is included in the parity check matrix. Is is the identity matrix of size, Is is a zero-sized matrix, , , , Is It is characterized by being an identity matrix or a cyclic permutation matrix of size.

또한, 본 개시의 일 실시 예에 따른 통신 시스템에서 송신기에 의해 수행되는 방법에 있어서, 입력 비트에 상응하는 신호를 수신하는 단계, 복호화를 위한 값을 결정하기 위해 상기 신호를 복조하는 단계; 상기 신호에 기반하여 상기 입력 비트의 수를 확인하는 단계, 상기 입력 비트의 수에 기반하여 기본 행렬을 결정하는 단계, 상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하는 단계, 상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하는 단계, 및 상기 패리티 검사 행렬과 상기 값들에 기반하여 복호화를 수행하는 단계를 포함하며, 상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서 를 포함하며, 상기 신호는 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공된 패리티 비트들을 포함하며, 상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , ,는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 한다.In addition, in a method performed by a transmitter in a communication system according to an embodiment of the present disclosure, the method comprises the steps of: receiving a signal corresponding to an input bit; demodulating the signal to determine a value for decoding; confirming the number of the input bits based on the signal; determining a basic matrix based on the number of the input bits; determining a lifting size (Z) based on at least one of the number of the input bits or the basic matrix; determining a parity check matrix based on at least one of the basic matrix or the lifting size (Z); and performing decoding based on the parity check matrix and the values, wherein the parity check matrix is a submatrix corresponding to a parity bit. , and the signal includes parity bits punctured from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the submatrix, and is included in the parity check matrix. Is is the identity matrix of size, Is is a zero-sized matrix, , , ,Is It is characterized by being an identity matrix or a cyclic permutation matrix of size.

또한, 본 개시의 일 실시 예에 따른 통신 시스템에서 송신기에 있어서, 송수신부, 및 상기 송수신부와 연결된 제어부를 포함하며, 상기 제어부는, 입력 비트의 수를 결정하고, 상기 입력 비트의 수에 기반하여 기본 행렬을 결정하고, 상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하고, 상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하고, 상기 패리티 검사 행렬과 상기 입력 비트에 기반하여 부호화를 수행하고, 상기 부호화된 비트에 기반하여 레이트 매칭을 수행하며, 상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서 를 포함하며, 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공이 시작되며, 상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , ,는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 한다.In addition, in a communication system according to an embodiment of the present disclosure, a transmitter includes a transceiver, and a control unit connected to the transceiver, wherein the control unit determines the number of input bits, determines a basic matrix based on the number of input bits, determines a lifting size (Z) based on at least one of the number of input bits or the basic matrix, determines a parity check matrix based on at least one of the basic matrix or the lifting size (Z), performs encoding based on the parity check matrix and the input bits, and performs rate matching based on the encoded bits, wherein the parity check matrix is a submatrix corresponding to a parity bit. , and the puncturing starts from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the submatrix, and is included in the parity check matrix. Is is the identity matrix of size, Is is a zero-sized matrix, , , ,Is It is characterized by being an identity matrix or a cyclic permutation matrix of size.

또한, 본 개시의 일 실시 예에 따른 통신 시스템에서 수신기에 있어서, 송수신부; 및 상기 송수신부와 연결된 제어부를 포함하며, 상기 제어부는, 입력 비트에 상응하는 신호를 수신하고, 복호화를 위한 값을 결정하기 위해 상기 신호를 복조하고, 상기 신호에 기반하여 상기 입력 비트의 수를 확인하고, 상기 입력 비트의 수에 기반하여 기본 행렬을 결정하고, 상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하고, 상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하고, 상기 패리티 검사 행렬과 상기 값들에 기반하여 복호화를 수행하며,In addition, in a communication system according to one embodiment of the present disclosure, a receiver comprises a transceiver; and a control unit connected to the transceiver, wherein the control unit receives a signal corresponding to an input bit, demodulates the signal to determine a value for decoding, verifies the number of the input bits based on the signal, determines a basic matrix based on the number of the input bits, determines a lifting size (Z) based on at least one of the number of the input bits or the basic matrix, determines a parity check matrix based on at least one of the basic matrix or the lifting size (Z), and performs decoding based on the parity check matrix and the values.

상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서The above parity check matrix is a submatrix corresponding to the parity bits.

를 포함하며, Includes,

상기 신호는 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공된 패리티 비트들을 포함하며,The above signal includes punctured parity bits starting from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the above submatrix,

상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , ,는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 한다.Included in the above parity check matrix Is is the identity matrix of size, Is is a zero-sized matrix, , , ,Is It is characterized by being an identity matrix or a cyclic permutation matrix of size.

본 개시에 따르면 레이턴시 및 BLER를 낮추기 위한 패리티 검사 행렬의 대수적인 특징을 제공함으로써, 가변 길이와 가변 레이트에 대하여 효과적으로 LDPC 부호를 지원할 수 있다.According to the present disclosure, by providing algebraic characteristics of a parity check matrix for reducing latency and BLER, LDPC codes can be effectively supported for variable lengths and variable rates.

도 1은 시스테메틱(systematic) LDPC 부호어 구조도이다.
도 2는 LDPC 부호의 그래프 표현 방법에 대해 도시한 도면이다.
도 3a는 QC-LDPC 부호의 사이클 특성을 설명하기 위한 예시도이다.
도 3b는 QC-LDPC 부호의 사이클 특성을 설명하기 위한 예시도이다.
도 4는 본 개시의 일 실시 예에 따른 전송 블록 구조도이다.
도 5는 본 개시의 실시 예에 따른 LDPC 부호화 과정의 예시도이다.
도 6은 본 개시의 실시 예에 따른 LDPC 복호화 과정의 예시도이다.
도 7은 본 개시의 일 실시 예에 따른 송신 장치 블록 구성도이다.
도 8은 본 개시의 일 실시 예에 따른 수신 장치 블록 구성도이다.
도 9는 본 개시의 일 실시 예에 따른 LDPC 복호화부 구조도이다.
도 10은 LDPC 부호의 패리티 검사 행렬의 구조도의 예시도이다.
도 11a는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 예시도이다.
도 11b는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 예시도이다.
도 12a는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.
도 12b는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.
도 12c는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.
도 13은 본 개시의 일 실시예에 따른 LDPC 부호의 패리티 검사 행렬의 예시도이다.
도 14a는 본 개시의 실시 예에 따른 순열 규칙을 패리티 검사 행렬에 적용하는 예시도이다.
도 14b는 본 개시의 실시 예에 따른 순열 규칙을 패리티 검사 행렬에 적용하는 예시도이다.
Figure 1 is a diagram of a systematic LDPC codeword structure.
Figure 2 is a diagram illustrating a method for representing a graph of an LDPC code.
Figure 3a is an example diagram for explaining the cycle characteristics of a QC-LDPC code.
Figure 3b is an example diagram for explaining the cycle characteristics of a QC-LDPC code.
FIG. 4 is a transmission block structure diagram according to an embodiment of the present disclosure.
FIG. 5 is an exemplary diagram of an LDPC encoding process according to an embodiment of the present disclosure.
FIG. 6 is an exemplary diagram of an LDPC decoding process according to an embodiment of the present disclosure.
Figure 7 is a block diagram of a transmitter device according to an embodiment of the present disclosure.
Figure 8 is a block diagram of a receiving device according to an embodiment of the present disclosure.
FIG. 9 is a structural diagram of an LDPC decoding unit according to an embodiment of the present disclosure.
Figure 10 is an example diagram of the structure of a parity check matrix of an LDPC code.
FIG. 11a is an example diagram of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.
FIG. 11b is an example diagram of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.
FIG. 12a is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.
FIG. 12b is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.
FIG. 12c is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.
FIG. 13 is an example diagram of a parity check matrix of an LDPC code according to one embodiment of the present disclosure.
FIG. 14a is an example diagram of applying a permutation rule according to an embodiment of the present disclosure to a parity check matrix.
FIG. 14b is an example diagram of applying a permutation rule according to an embodiment of the present disclosure to a parity check matrix.

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

본 개시의 주요한 요지는 유사한 기술적 배경을 가지는 여타의 시스템에도 본 개시의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 개시의 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다. 참고로 통신시스템은 일반적으로 방송시스템의 의미를 포함하는 용어이나, 본 개시에서는 통신시스템 중에서 방송 서비스가 주요 서비스인 경우에는 방송시스템으로 보다 명확히 명명할 수도 있다.The main gist of this disclosure can be applied to other systems with similar technical backgrounds, with minor modifications, without significantly departing from the scope of this disclosure. This can be accomplished at the discretion of those skilled in the technical field of this disclosure. While the term "communication system" generally encompasses the meaning of a broadcasting system, in this disclosure, a communication system whose primary service is broadcasting may be more clearly termed a broadcasting system.

본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.The advantages and features of the present disclosure, and methods for achieving them, will become clearer with reference to the embodiments described in detail below together with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided solely to ensure that the disclosure of the present disclosure is complete and to fully inform those skilled in the art of the scope of the invention, and the present disclosure is defined only by the scope of the claims. Like reference numerals refer to 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, were long forgotten due to their complexity, which was difficult to implement with the technology of the time. However, in 1993, the turbo code proposed by Berrou, Glavieux, and Thitimajshima showed performance approaching the Shannon channel capacity, which led to many analyses of the performance and characteristics of turbo codes, and much research on iterative decoding and graph-based channel coding was conducted. This led to a restudy of LDPC codes in the late 1990s, and it was discovered that when decoding is performed using iterative decoding based on the sum-product algorithm on the Tanner graph corresponding to the LDPC code, the LDPC code also achieves performance approaching the Shannon channel capacity.

LDPC 부호는 일반적으로 패리티 검사 행렬(parity-check matrix)로 정의되며 태너 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다. 일반적으로 LDPC 부호는 패리티 검사 부호의 일종인데, 길이가 매우 긴 경우에 대한 패리티 검사 행렬에서 1의 개수의 비율(즉, density)이 매우 낮은 특성이 있기 때문에 'low-density' 패리티 검사 부호라 명명되었다. 따라서, 본 개시에서 편의상 LDPC 부호에 기반하여 제안된 기술들은 일반적인 패리티 검사 행렬 부호에 대해서 쉽게 확장될 수 있다.LDPC codes are generally defined as a parity-check matrix and can be represented using a bipartite graph, commonly referred to as a Tanner graph. LDPC codes are generally a type of parity-check code, and are called "low-density" parity-check codes because they have the characteristic that the ratio of the number of 1s (i.e., density) in the parity-check matrix for very long codes is very low. Therefore, the techniques proposed in this disclosure based on LDPC codes for convenience can be easily extended to general parity-check matrix codes.

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

도 1에 따르면, LDPC 부호화를 수행하는 장치는 Kldpc개 비트 혹은 심볼로 구성되어 있는 정보어(102)를 입력받아 부호화를 수행하여 Nldpc 개 비트 혹은 심볼로 구성되어 있는 부호어(100)(codeword)를 생성한다. 이하 설명의 편의를 위해, Kldpc 개 비트를 포함하는 정보어(102)를 입력받아 Nldpc 개 비트로 구성되는 부호어(100)가 생성되는 것으로 가정한다. 즉, Kldpc 개의 입력 비트인 정보어 (102)를 부호화하면, 부호어 (100)가 생성된다. 즉, 정보어 및 부호어는 다수의 비트로 구성되어 있는 비트열이며, 정보어 비트 및 부호어 비트는 정보어 및 부호어를 구성하는 각각의 비트를 의미한다. 통상적으로 LDPC 부호화 비트가According to Fig. 1, a device that performs LDPC encoding receives an information word (102) composed of K ldpc bits or symbols and performs encoding to generate a codeword (100) composed of N ldpc bits or symbols. For the convenience of the following description, it is assumed that an information word (102) including K ldpc bits is input and a codeword (100) composed of N ldpc bits is generated. That is, an information word having K ldpc input bits When (102) is encoded, the codeword (100) is generated. That is, the information word and the code word are bit strings composed of multiple bits, and the information word bit and the code word bit mean each bit that constitutes the information word and the code word. Typically, the LDPC coded bit

와 같이 정보어를 포함하고 있을 경우 시스테메틱(systemetic) 부호라 한다. 여기에서, 는 패리티 비트(104)이고, 패리티 비트의 개수 Nparity는 Nparity = Nldpc - Kldpc 로 나타낼 수 있다.If it contains information words such as , it is called a systematic code. Here, is a parity bit (104), and the number of parity bits N parity can be expressed as N parity = N ldpc - K ldpc .

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

[수학식 1][Mathematical Formula 1]

여기에서, 이다.Here, am.

수학식 1에서, H는 패리티 검사 행렬, c는 부호어, ci는 부호어의 i 번째 비트, Nldpc는 LDPC 부호어 길이를 의미하며, 는 패리티 검사 행렬(H)의 i번째 열(column)을 의미한다.In mathematical expression 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 LDPC codeword length. means the i-th column of the parity check matrix (H).

패리티 검사 행렬 H는 LDPC 부호어의 비트 개수와 동일한 Nldpc 개의 열(column)로 구성되어 있다. 수학식 1은 패리티 검사 행렬의 i 번째 열()과 i 번째 부호어 비트 ci의 곱들의 합이 '0'이 됨을 의미하므로, i 번째 열()은 i 번째 부호어 비트 ci와 관계가 있음을 의미한다.The parity check matrix H consists of N ldpc columns, which is equal to the number of bits of the LDPC codeword. Mathematical expression 1 shows the i-th column of the parity check matrix ( ) and the i-th code word bit c i means that the sum of the products is '0', so the i-th column ( ) means that it is related to the i-th code word bit c i .

도 2는 LDPC 부호의 그래프 표현 방법에 대해 도시한 도면이다.Figure 2 is a diagram illustrating a method for representing a graph of an LDPC code.

도 2를 참조하여 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다.Referring to Fig. 2, a method for 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 비트에 대응된다.Fig. 2 is a diagram illustrating an example of a parity check matrix H 1 of an LDPC code consisting of 4 rows and 8 columns and its representation as a Tanner graph. Referring to Fig. 2, since the parity check matrix H 1 has 8 columns, a codeword of length 8 is generated, and the code generated through H 1 means an LDPC code, and each column corresponds to 8 encoded bits.

도 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의 i 번째 열과 j 번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 도 2와 같이 태너 그래프 상에서 변수 노드 xi와 j 번째 검사 노드를 연결하는 선분(edge)이 존재함을 의미한다.Referring to Fig. 2, the Tanner graph of an LDPC code that encodes and decodes based on a parity check matrix H 1 is composed of eight variable nodes, namely 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 four check nodes (218, 220, 222, 224). 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 meaning of the value of 1, that is, a non-zero value, at the point where the i-th column and the j-th row of the parity check matrix H 1 of the LDPC code intersect means that there is an edge connecting the variable node x i and the j-th check node on the Tanner graph, as shown in Fig. 2.

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와 순서대로 일치한다. 이러한 이유로 각 변수 노드의 차수는 열 차수 (column degree) 또는 열 무게 (column weight)라고도 하며, 검사 노드의 차수는 행 차수 (row degree) 또는 행 무게 (row weight)라고도 한다.In the Tanner graph of an LDPC code, the degree of a variable node and a check node refers to the number of line segments connected to each node, which is equal to the number of non-zero elements (entries) in the column or row corresponding to the node in the parity check matrix of the LDPC code. For example, in Fig. 2, the degrees of 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 (216) are 4, 3, 3, 2, 2, 2, 2, respectively, and the degrees of check nodes (218, 220, 222, 224) are 6, 5, 5, 5, respectively, in that order. 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 nodes of FIG. 2 is in order consistent with the degrees of the above-described variable nodes, which are 4, 3, 3, 3, 2, 2, 2, 2, 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 is in order consistent with the degrees of the above-described check nodes, which are 6, 5, 5, 5. For this reason, the degree of each variable node is also called the column degree or column weight, and the degree of the check node is also called the row degree or row weight.

LDPC 부호화된 부호어 비트는 도 2에서 나열한 이분(bipartite) 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘에 기반하여 복호될 수 있다. 여기서, 합곱 알고리즘은 메시지 패싱 알고리즘(message passing algorithm)의 일종이며, 메시지 패싱 알고리즘은 이분 그래프 상에서 에지를 통해 메시지들을 교환하고, 변수 노드 혹은 검사 노드로 입력되는 메시지들로부터 출력 메시지를 계산하여 업데이트하는 알고리즘을 나타낸다.LDPC encoded codeword bits can be decoded based on an iterative decoding algorithm based on a sum-product algorithm on a bipartite graph as shown in Fig. 2. Here, the sum-product algorithm is a type of message passing algorithm, and the message passing algorithm represents an algorithm that exchanges messages through edges on a bipartite graph and calculates and updates an output message from messages input to a variable node or a test node.

여기에서, i 번째 변수 노드의 메시지를 기반으로 i 번째 부호화 비트의 값이 결정될 수 있다. i 번째 부호화 비트의 값을 결정하는 방법은 경판정(hard decision)과 연판정(soft decision) 모두 가능하다. 그러므로, LDPC 부호어의 i 번째 비트인 ci의 성능은 태너 그래프의 i 번째 변수 노드의 성능에 대응되며, 이는 패리티 검사 행렬의 i 번째 열의 1의 위치 및 개수에 따라 결정될 수 있다. 다시 말해, 부호어의 Nldpc 개의 부호어 비트들의 성능은 패리티 검사 행렬의 1의 위치 및 개수에 의해 성능이 좌우될 수 있으며, 이는 LDPC 부호의 성능은 패리티 검사 행렬에 따라 많은 영향을 받음을 의미한다. 따라서 우수한 성능을 갖는 LDPC 부호를 설계하기 위해서는 좋은 패리티 검사 행렬을 설계하는 방법이 필요하다.Here, the value of the ith coding bit can be determined based on the message of the ith variable node. Both hard decision and soft decision are possible methods for determining the value of the ith coding bit. Therefore, the performance of the ith bit c i of the LDPC codeword corresponds to the performance of the ith variable node of the Tanner graph, which can be determined by the position and number of 1s in the ith column of the parity check matrix. In other words, the performance of the N ldpc codeword bits of the codeword can be affected by the position 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. 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 부호)가 사용된다. 통신 및 방송 시스템에 따라서 구조가 완전한 준순환 구조는 아니지만, 거의 준순환 구조와 유사한 형태를 갖는 패리티 검사 행렬을 사용하는 경우도 있는데, 이러한 LDPC 부호는 대수학적으로 엄밀하게는 QC-LDPC 부호로 분류되지 않을 수도 있으나 편의상 QC-LDPC 부호로 구분하는 경우도 있다.The parity check matrix used in communication and broadcasting systems is usually a quasi-cyclic LDPC code (or QC-LDPC code, hereinafter referred to as QC-LDPC code), which uses a quasi-cyclic parity check matrix for ease of implementation. Depending on the communication and broadcasting system, there are cases where a parity check matrix that has a structure that is not a complete quasi-cyclic structure but is almost similar to a quasi-cyclic structure is used. Such LDPC codes may not be strictly classified as QC-LDPC codes algebraically, but they are sometimes categorized as QC-LDPC codes for convenience.

통상적인 QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬들(circulant permutation matrices 또는 circular permutation matrices)들로 구성된 패리티 검사 행렬을 가지는 것을 특징으로 한다. 이 때, 순열 행렬이란 각 행이나 열이 하나의 1만을 포함하고, 나머지 모든 원소가 0인 행렬을 의미한다. 또한, 순환 순열 행렬이란, 항등 행렬의 각 원소들을 오른쪽 또는 왼쪽으로 순환 이동시킨 행렬을 의미한다. 일반적으로 항등 행렬 자체도 순환 순열 행렬에 포함되는데, 이는 항등 행렬의 각 원소들을 0번 순환 이동한 것으로 간주하기 때문이다. 따라서 순환 순열 행렬이라 하면 기본적으로 항등 행렬을 포함하지만, 설명의 편의를 위해 항등 행렬과 항등 행렬이 아닌 순환 순열 행렬을 구분하여 표현할 수도 있다.A typical QC-LDPC code is characterized by having a parity check matrix composed of zero matrices or circulant permutation matrices (or circular permutation matrices) in the form of small square matrices. Here, a permutation matrix refers to a matrix in which each row or column contains only one 1, and all remaining elements are 0. In addition, a circulant permutation matrix refers to a matrix in which each element of the identity matrix is cyclically shifted to the right or left. Generally, the identity matrix itself is also included in the circulant permutation matrix, because each element of the identity matrix is regarded as having been cyclically shifted 0 times. Therefore, a circulant permutation matrix basically includes the identity matrix, but for the convenience of explanation, an identity matrix and a circulant permutation matrix that is not an identity matrix can be expressed separately.

이하에서는, QC-LDPC 부호에 대해서 구체적으로 설명한다.Below, the QC-LDPC code is described in detail.

먼저, 수학식 2와 같이 크기의 순환 순열 행렬 을 정의한다. 여기서 는 행렬 상기 행렬 P에서의 i번째 행(row), j번째 열(column)의 원소(entry)를 의미한다.()First, as in mathematical equation 2 Circular permutation matrix of size is defined here means the entry of the i-th row and j-th column in the matrix P above. ( )

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

상기와 같이 정의된 순열 행렬 P에 대해서 (0 ≤ i < Z)는 크기의 항등 행렬(identity matrix)의 각 원소들을 i번 만큼 오른쪽 방향으로 순환 이동(circular shift) 시킨 형태의 순환 순열 행렬이다. 순환 순열 행렬은 [수학식 2-2]와 같이 정의될 수도 있는데, 이 경우에는 크기의 항등 행렬의 각 원소들을 i번 만큼 왼쪽 방향으로 순환 이동시킨 형태의 순환 순열 행렬이다:For the permutation matrix P defined as above, (0 ≤ i < Z) is It is a cyclic permutation matrix in the form of a circular shift of each element of the identity matrix of size i to the right. The cyclic permutation matrix can also be defined as in [Mathematical Formula 2-2], in which case go It is a cyclic permutation matrix in the form of each element of the identity matrix of size shifted to the left by i times:

[수학식 2-2][Equation 2-2]

본 개시에서는 편의상 [수학식 2-1]을 기반으로 정의되는 순환 순열 행렬을 이용하여 다양한 실시예들을 설명하지만, [수학식 2-1] 및 [수학식 2-2]에서 정의되는 순환 순열 행렬은 표현법이 다를 뿐 기본적인 대수적 성질이 동일하므로 수학식 2-2를 기반으로 정의되는 순환 순열 행렬이 본 개시의 실시예에서 사용될 수 있으며, 또는 대수적인 성질이 동일한 다양한 방식의 순환 순열 행렬이 사용될 수 있다.In the present disclosure, for convenience, various embodiments are described using a cyclic permutation matrix defined based on [Mathematical Formula 2-1]. However, the cyclic permutation matrices defined in [Mathematical Formula 2-1] and [Mathematical Formula 2-2] have the same basic algebraic properties, although their expressions are different. Therefore, a cyclic permutation matrix defined based on Mathematical Formula 2-2 can be used in the embodiments of the present disclosure, or various types of cyclic permutation matrices having the same algebraic properties can be used.

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

[수학식 3][Equation 3]

편의상 크기의 0-행렬이라 정의할 경우, 상기 수학식 3에서 순환 순열 행렬 또는 0-행렬의 각 지수 는 {-1, 0, 1, 2, ..., Z-1} 값 중에 하나를 갖는다. 항등 행렬은 또는 로 표현될 수 있으며 0-행렬은 또는 로 표현될 수 있다. 또한 상기 수학식 3의 패리티 검사 행렬 H는 열 블록(column block)이 개, 행 블록 (row block)이 개이므로, 상기 패리티 검사 행렬 H의 크기는 이다.For convenience second When defined as a 0-matrix of size , each index of the cyclic permutation matrix or 0-matrix in the above mathematical expression 3 has one of the values {-1, 0, 1, 2, ..., Z-1}. The identity matrix is or can be expressed as , and the 0-matrix is or can be expressed as . In addition, the parity check matrix H of the above mathematical expression 3 is a column block. Dog, row block Since it is a dog, the size of the above parity check matrix H is am.

상기 수학식 3의 패리티 검사 행렬이 최대 랭크 (full rank, 또는 완전 계수)를 가진다면, 상기 패리티 검사 행렬에 대응되는 QC-LDPC 부호의 정보어 비트의 길이는 이다. 편의상 정보어 비트에 대응되는 개의 열 블록을 정보어 열 블록이라 부르고 정보어 비트 수는 , 나머지 패리티 비트에 대응되는 개의 열 블록을 패리티 열 블록이라 부를 수 있다. 이 때, 패리티 비트 수는 이다. 참고로 상기 수학식 3의 패리티 검사 행렬이 최대 랭크를 갖지 않을 경우에는 상기 정보어 비트는 보다 크며, 정보어 비트 수는 보다 큰 값을, 패리티 비트 수는 보다 작은 값을 갖는다.If the parity check matrix of the above mathematical expression 3 has the maximum rank (full rank, or complete coefficient), the length of the information word bit of the QC-LDPC code corresponding to the parity check matrix is For convenience, the information bits correspond to The ten blocks of the dog are called information word ten blocks and the number of information word bits is , corresponding to the remaining parity bits. The ten blocks of the dog can be called parity ten blocks. In this case, the number of parity bits is . For reference, if the parity check matrix of the above mathematical expression 3 does not have the maximum rank, the above information word bits is larger, and the number of information bits is The larger the value, the more parity bits has a smaller value.

통상적으로 상기 수학식 3의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix) 또는 기본 행렬 (base matrix) 또는 기본 그래프 (base graph)라 하고 M(H) 또는 라 표현한다. 또한 각 순환 순열 행렬 또는 0-행렬의 지수를 선택하여 수학식 4와 같이 얻은 크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 (exponent matrix) 라 한다.Typically, in the parity check matrix of the above mathematical expression 3, each cyclic permutation matrix and 0-matrix are replaced with 1 and 0, respectively. A binary matrix of size H is called the mother matrix or base matrix or base graph of the parity check matrix H, and M(H) or It is expressed as follows. Also, by selecting the index of each cyclic permutation matrix or 0-matrix, it is obtained as in mathematical formula 4. An integer matrix of size H is the exponent matrix of the parity check matrix H. It is said.

[수학식 4][Equation 4]

물론 이러한 행렬의 명칭은 일례일 뿐이며 지수 행렬 를 다른 명칭으로 부를 수 있다. 예를 들어, 각 순환 순열 행렬의 지수는 [수학식 2-1] 또는 [수학식 2-2]와 같이 항등 행렬을 순환 이동시키는 값에 대응되므로, 각 지수를 순환 이동 값 (shift value or circular shift value))라 하고, 를 순환 이동 값 행렬 (circular shift value matrix) 또는 이동 값 행렬(shift value matrix)이라 부를 수도 있다. 일반적으로 지수 행렬 또는 이동 값 행렬과 순환 순열 행렬 또는 0-행렬의 크기에 대응되는 값이 주어져 있을 경우에 패리티 검사 행렬이 결정 (determine) 또는 확인(identify)될 수 있다. 이러한 이유로 수학적 정의에 따르면 패리티 검사 행렬은 수학식 1의 조건을 만족하는 이진 행렬 H를 의미하지만, 경우에 따라서는 편의상 지수 행렬 또는 이동 값 행렬을 패리티 검사 행렬이라 명명할 수도 있다.Of course, the names of these matrices are just examples and are exponential matrices. can be called by different names. For example, since the indices of each cyclic permutation matrix correspond to values that circularly shift the identity matrix, as in [Mathematical Formula 2-1] or [Mathematical Formula 2-2], each indices is called a circular shift value (or circular shift value). It can also be called a circular shift value matrix or shift value matrix. It is generally equivalent to the size of the exponential matrix or shift value matrix and the circular permutation matrix or 0-matrix. Given a value, a parity check matrix can be determined or identified. For this reason, according to the mathematical definition, a parity check matrix means a binary matrix H that satisfies the condition of Equation 1, but in some cases, for convenience, an exponential matrix or a shift value matrix can also be called a parity check matrix.

지수 행렬 또는 이동 값 행렬에 포함되어 있는 정수 1개는 패리티 검사 행렬에서의 순환 순열 행렬에 대응되므로 상기 지수 행렬은 편의상 정수로 이루어진 수열들로 표현될 수도 있다. 일반적으로 패리티 검사 행렬은 지수 행렬뿐만 아니라 대수적으로 동일한 특성을 표현할 수 있는 다양한 수열로도 표현 가능하다. 본 개시에서는 편의상 패리티 검사 행렬을 지수 행렬 또는 패리티 검사 행렬 내에 있는 1의 위치를 나타내는(indicate) 수열 등으로 표현하였으나, 패리티 검사 행렬에 포함되어 있는 1 또는 0의 위치를 구분할 수 있는 수열 표기 법은 다양하므로, 본 명세서에 표현한 방법에 국한되지 않고 대수적으로 동일한 효과를 나타내는 다양한 수열 또는 행렬의 형태로 나타낼 수 있다. 상기 수열은 다른 수열과 구분하기 위하여 LDPC 수열 또는 LDPC 부호 수열 또는 LDPC 수열 또는 패리티 검사 행렬 수열 또는 (순환) 이동 값 수열 등 다양한 방식으로 부를 수 있다.Since one integer included in the exponential matrix or the shift value matrix corresponds to a cyclic permutation matrix in the parity check matrix, the exponential matrix may be conveniently expressed as a sequence of integers. In general, the parity check matrix can be expressed not only as an exponential matrix but also as various sequences that can express algebraically identical characteristics. In the present disclosure, the parity check matrix is conveniently expressed as a sequence indicating the position of 1 in the exponential matrix or the parity check matrix, but there are various sequence notations that can distinguish the positions of 1 or 0 included in the parity check matrix, and thus the present disclosure is not limited to the method expressed in the present specification and may be expressed in the form of various sequences or matrices that exhibit the algebraically identical effect. The sequence may be called in various ways, such as an LDPC sequence, an LDPC code sequence, an LDPC sequence, a parity check matrix sequence, or a (cyclic) shift value sequence, in order to distinguish it from other sequences.

또한 송수신 장치에서도 패리티 검사 행렬을 직접 생성하여 LDPC 부호화 및 복호화를 수행할 수도 있지만, 구현 상의 특징에 따라 상기 패리티 검사 행렬과 대수적으로 동일한 효과를 내는 지수 행렬 또는 이동 값 행렬이나 수열 등에 기반하여 LDPC 부호화 및 복호화를 수행할 수도 있다. 따라서 본 개시에서 편의상 패리티 검사 행렬을 이용한 부호화 및 복호화에 대해서 설명하고 있지만, 실제 송수신 장치에서는 상기 패리티 검사 행렬과 동일한 효과를 얻을 수 있는 다양한 방법을 통해 부호화 및 복호화를 구현할 수 있다.In addition, a transceiver may directly generate a parity check matrix to perform LDPC encoding and decoding, but depending on implementation characteristics, LDPC encoding and decoding may also be performed based on an exponential matrix, a shift value matrix, or a sequence that has the same effect algebraically as the parity check matrix. Therefore, although encoding and decoding using a parity check matrix is described for convenience in this disclosure, in an actual transceiver, encoding and decoding can be implemented through various methods that can obtain the same effect as the parity check matrix.

참고로 대수적으로 동일한 효과란, 서로 다른 두 개 이상의 표현에 대해서 논리적 또는 수학적으로 서로 간에 완벽하게 동일함을 설명 가능하거나 변환 가능함을 의미한다. 특히 LDPC 부호와 같이 행렬에 의해서 정의할 수 있는 부호의 경우에는 최소 거리(minimum distance)나 랭크(rank), 태너 그래프 상의 사이클 특성 등과 같은 행렬에 의해서 정의될 수 있는 대수적인 값들이 동일함을 의미할 수도 있으며, 부호화/복호화 과정에서 기본적인 구조 또는 동작이 동일함을 의미할 수도 있다. 예를 들어, 적절한 열 순열(column permutation)과 행 순열(row permutation) 등을 통해 동일한 행렬이 얻어진다면, 부호 관점에서 두 행렬은 대수적으로 동일한 행렬이라 볼 수 있다. 또한, 실질적인 부호의 특성을 바꾸지 않는 다양한 전치 변환(transpose)도 대수적으로 동일한 효과를 제공할 수 있다.For reference, the algebraically equivalent effect means that two or more different representations can be described or transformed as being completely equivalent to each other logically or mathematically. In particular, in the case of codes that can be defined by matrices, such as LDPC codes, it can mean that algebraic values that can be defined by matrices, such as minimum distance, rank, and cycle characteristics in the Tanner graph, are identical. It can also mean that the basic structure or operation during the encoding/decoding process is identical. For example, if the same matrix is obtained through appropriate column permutations and row permutations, the two matrices can be considered algebraically equivalent from a code perspective. Furthermore, various transpose transformations that do not change the actual properties of the code can also provide algebraically equivalent effects.

구체적인 예로서 다음과 같은 행렬 A가 있을 때, 대수적으로 동일한 효과를 제공하는 다양한 변환의 예를 A1부터 A8에 나타내었다.As a concrete example, given the following matrix A, examples of various transformations that provide algebraically identical effects are shown in A1 through A8.

, (단, 와 서로 소인 정수) , (step, Is and coprime integers)

의 두번째 열블록과 세번째 열블록을 치환한 블록 단위 순열의 예시이다. 에 추가로 첫번째 행블록과 세번째 행블록을 치환한 블록 단위 순열의 예시이다. 의 첫번째 열블록과 세번째 열블록에 대해서만 각각 순환 순열을 적용한 예시이다. 에 추가로 두번째 행블록과 네번째 행블록에 대해서만 각각 순환 순열을 적용한 예시이다. 에 대해 전치 변환(transpose)을 적용한 예시이다. 에 대해 블록 단위의 전치 변환을 적용한 예시이다. 에 대해 각 지수(또는 순환 이동 값)들의 부호를 반대로 변환한 예시이다 (단, 편의상 크기의 0-행렬을 로 표현하는 경우에 음수의 지수(또는 이동 값) 사용은 혼동을 줄 수 있으므로, 와 같이 양수 값으로 표현될 수도 있다). 에 대해 상수항이 0인 아핀(affine) 변환을 적용한 예시이다 (일반적으로 상수항이 0이 아닌 경우도 적용 가능하다). 참고로 위의 예들은 편의상 크기의 0-행렬인 원소가 없는 경우에 대해 설명하였지만, 0-행렬이 포함되었을 경우에, 0-행렬에 대응되는 부분은 변환과 상관없이 항상 0-행렬이다. 예를 들어, 에서 가 0-행렬이라면, , 에서도 는 0-행렬이며, 에서 각각 는 0-행렬이며, 에서 는 0-행렬이며, 에서 은 0-행렬이다. silver This is an example of a block-by-block permutation that permutes the second and third row blocks. silver In addition, here is an example of a block-by-block permutation in which the first and third row blocks are permuted. silver This is an example of applying cyclic permutation only to the first and third column blocks. Is In addition, this is an example in which the cyclic permutation is applied only to the second and fourth row blocks. Is This is an example of applying transpose to . silver This is an example of applying block-wise transposition transformation. silver Here is an example of reversing the signs of each index (or cyclic shift value) (for convenience only) A 0-matrix of size When expressing as , using negative exponents (or shift values) can be confusing, so Is ) can also be expressed as a positive value. silver This is an example of applying an affine transformation with a constant term of 0 (it can also be applied to cases where the constant term is not 0 in general). For reference, the above examples are for convenience. go Although we have described the case where there are no elements that are 0-matrix of size 0, when a 0-matrix is included, the part corresponding to the 0-matrix is always a 0-matrix regardless of the transformation. For example, at If is a 0-matrix, , and In , too is a 0-matrix, and In each and is a 0-matrix, and at is a 0-matrix, at is a 0-matrix.

위의 각 변환들은 일례일 뿐이며, 다양한 다른 변환이 존재할 수 있다. 또한 각 변환들은 독립적으로 적용될 수도 있으나 적절히 중복 및 결합하여 적용될 수 있다. 여기서 각 변환 또는 변환들의 결합의 특징은 적절한 역변환(invertible transform) 과정을 통해 원래의 행렬로 변환 가능하다.The above transformations are merely examples, and various other transformations may exist. Furthermore, while each transformation can be applied independently, they can also be applied in combination and overlapping. The characteristic of each transformation or combination of transformations is that they can be converted back to the original matrix through an appropriate invertible transform process.

위와 같은 다양한 변환들 또는 변환들의 결합은 실질적으로 태너 그래프 상에서 비트들(또는 변수 노드들)이나 검사 노드들의 배치가 단순히 변경되었거나 대칭적인 변환 또는 특정 구조들이 유지되는 가역적인 변환들이기 때문에 부호의 성능 측면에서, 주어진 채널 상황에 따라 순시적인(instantaneous) 성능은 달라질 수 있지만 평균적으로는 동일한 성능을 제공할 수 있다. 이와 같이 본 개시에서는 대수적으로 동일한 효과를 얻을 수 있는 변환을 통해 얻을 수 있는 패리티 검사 행렬들은 모두 동일한 패리티 검사 행렬로 간주한다.The above-described various transformations or combinations of transformations are essentially reversible transformations in which the arrangement of bits (or variable nodes) or check nodes on the Tanner graph is simply changed, or symmetrical transformations or specific structures are maintained. Therefore, in terms of code performance, instantaneous performance may vary depending on the given channel conditions, but on average, the same performance can be provided. In this way, in the present disclosure, all parity check matrices that can be obtained through transformations that can achieve the same algebraic effect are considered to be the same parity check matrix.

지금까지 편의상 하나의 크기의 정사각 블록에 대응되는 순환 순열 행렬이 1 개인 경우만 설명하였으나, 이하 하나의 블록에 복수 개의 순환 순열 행렬이 포함된 경우에도 동일한 발명이 적용될 수 있다. 예를 들어 다음 수학식 5와 같이 하나의 i 번째 행 블록 및 j 번째 열 블록의 위치에 2 개의 순환 순열 행렬 , 가 대응될 때, 간단히 와 같은 합 형태로 표현될 수 있으며, 그 지수 행렬(또는 순환 이동 값 행렬)은 수학식 6과 같이 나타낼 수 있다. 상기 수학식 6을 살펴보면, 상기 복수 개의 순환 순열 행렬 합이 포함된 행 블록 및 열 블록에 대응되는 i번째 행 및 j번째 열에 2개의 정수가 대응되는 행렬임을 알 수 있다.For convenience, one so far Although only one cyclic permutation matrix corresponding to a square block of size has been described, the same invention can be applied to a case where a single block includes multiple cyclic permutation matrices. For example, as in the following mathematical expression 5, two cyclic permutation matrices are located at the positions of one i-th row block and one j-th column block. , When it corresponds, simply It can be expressed in the form of a sum such as , and the exponential matrix (or cyclic shift value matrix) can be expressed as in mathematical expression 6. Looking at mathematical expression 6, it can be seen that it is a matrix in which two integers correspond to the i-th row and j-th column corresponding to the row block and column block including the sum of the plurality of cyclic permutation matrices.

[수학식 5][Equation 5]

[수학식 6][Equation 6]

상기 실시 예와 같이 일반적으로 QC-LDPC 부호는 패리티 검사 행렬에서 하나의 행 블록 및 열 블록에 한 개 또는 복수 개의 순환 순열 행렬이 대응될 수 있으며, 참고로 하나의 행 블록 및 열 블록에 복수 개의 순환 순열 행렬이 중복되어 있는 크기의 행렬을 순환 행렬(circulant 또는 circulant matrix 또는 circular matrix)이라 한다. 일반적으로 순환 행렬은 행렬의 각 원소(entry)들이 이진수뿐만 아니라 임의의 수를 원소로 갖지만, 본 개시에서는 편의상 이진 부호에 대해서 설명하기 때문에 상기 순환 행렬은 이진 순환 행렬을 의미한다. 물론 본 개시에서 제안하는 대수적인 구조 및 특징들은 비이진 (non-binary) 부호의 경우에도 유사한 방식으로 확장할 수 있지만, 본 개시에서 상세한 내용은 생략한다.As in the above embodiment, in general, a QC-LDPC code can have one or more cyclic permutation matrices corresponding to one row block and one column block in a parity check matrix, and for reference, multiple cyclic permutation matrices are duplicated in one row block and one column block. A matrix of size is called a circulant matrix (or circulant matrix or circular matrix). In general, each element (entry) of a circulant matrix has not only binary numbers but also arbitrary numbers as elements. However, in this disclosure, for convenience, a binary code is described, so the circulant matrix means a binary circulant matrix. Of course, the algebraic structure and features proposed in this disclosure can be extended in a similar manner to the case of non-binary codes, but details are omitted in this disclosure.

한편, 상기 수학식 5 및 수학식 6의 패리티 검사 행렬 및 지수 행렬(또는 순환 이동 값 행렬)에 대한 기본 행렬(또는 모행렬 또는 기본 그래프)는 상기 수학식 3에서 사용된 정의와 유사하게 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 이진(binary) 행렬을 의미하는데, 하나의 블록에 포함된 순환 행렬 (즉, 복수 개의 순환 순열 행렬의 합)도 1로 치환될 수 있다.Meanwhile, the basic matrix (or parent matrix or basic graph) for the parity check matrix and the index matrix (or cyclic shift value matrix) of the above mathematical expressions 5 and 6 means a binary matrix obtained by replacing each cyclic permutation matrix and 0-matrix with 1 and 0, respectively, similar to the definition used in the above mathematical expression 3, and the cyclic matrix included in one block (i.e., the sum of multiple cyclic permutation matrices) can also be replaced with 1.

패리티 검사 행렬과 지수 행렬 (또는 순환 이동값 행렬), 기본 행렬 등의 관계에 대한 간단한 예를 다음 [수학식 7]에 나타내었다.A simple example of the relationship between the parity check matrix, the exponential matrix (or the cyclic shift matrix), and the fundamental matrix is shown in the following [Mathematical Formula 7].

[수학식 7][Equation 7]

상기 [수학식 7]에서 크기의 0-행렬의 지수를 (또는 이동 값을) -1로 표기한 것은 일례일 뿐이며, 다양한 방식으로 표현 가능하다. 또한 상기 [수학식 7]의 행렬 표현 방식은 다양한 다른 방법을 통해 표기 가능한데, 구체적인 예로서 3GPP 5G 표준 규격인 3GPP TS 38.212에서 정의된 LDPC 부호의 패리티 검사 행렬의 표현 방법을 사용할 수도 있다. 3GPP TS 38.212에서는 BG1 (Base Graph 1) 및 BG2 (Base Graph 2)에 대응되는 LDPC 부호의 패리티 검사 행렬들의 크기가 너무 크기 때문에 표를 이용하여 나타내었는데, 상기 [수학식 7]의 행렬들에 대해 해당 표현 방식을 적용해 보면 다음 [표 1]과 같다.In the above [Equation 7] The notation of the index (or shift value) of a 0-matrix of size -1 is just an example, and can be expressed in various ways. In addition, the matrix representation method of the above [Mathematical Formula 7] can be expressed in various other ways, and as a specific example, the representation method of the parity check matrix of the LDPC code defined in 3GPP TS 38.212, which is a 3GPP 5G standard specification, can be used. In 3GPP TS 38.212, the sizes of the parity check matrices of the LDPC code corresponding to BG1 (Base Graph 1) and BG2 (Base Graph 2) are too large, so they are represented using a table. When the corresponding representation method is applied to the matrices of the above [Mathematical Formula 7], the result is as follows [Table 1].

크기의 행렬이며, 크기의 행렬이다. 다음 표 1에서 표현되지 않은 기본 행렬 (또는 기본 그래프) 및 패리티 검사 행렬들의 원소(entry)들은 0 또는 크기의 0-행렬이 대응된다. Is is a matrix of size, silver is a matrix of size. The entries of the basic matrix (or basic graph) and parity check matrices not expressed in Table 1 below are 0 or A 0-matrix of size 0 corresponds.

[표 1][Table 1]

만일 상기 [수학식 7]에서 기본 행렬 및 지수 행렬을 수열을 이용해 표현한다면 다음과 같은 방식으로 나타낼 수 있다.If the basic matrix and exponential matrix in the above [Mathematical Formula 7] are expressed using a sequence, they can be expressed in the following manner.

: :

0 2 30 2 3

0 1 3 40 1 3 4

1 2 4 51 2 4 5

0 1 2 50 1 2 5

: :

159 0 0159 0 0

117 109 0 0117 109 0 0

225 1 0 0225 1 0 0

84 211 0 084 211 0 0

위와 같이 지수 행렬 를 수열로 표현했을 경우에 편의 상 시프트 수열 (shift sequence) 또는 시프트 값 수열 (shift value sequence), LDPC 수열 등과 같이 다양한 방식으로 명명할 수도 있다. 위의 수열 표현 방식에서 는 원소가 0가 아닌 열의 위치를 각 행 별로 나열한 방식이며, 는 0-행렬이 아닌 각 순환 순열 행렬의 지수 또는 이동 값을 각 행 별로 나열한 방식이다. 위의 수열들로부터 지수 행렬 (또는 이동 값 행렬)이 정확히 정의될 수 있으며, 만일 값에 대한 정보를 획득한다면, 패리티 검사 행렬 또한 정확히 정의될 수 있다.Exponential matrix as above When expressed as a sequence, it can be conveniently named in various ways, such as shift sequence, shift value sequence, LDPC sequence, etc. In the sequence expression method above, is a method of listing the positions of columns where the elements are not 0 for each row, is a method of listing the indices or shift values of each cyclic permutation matrix, not a 0-matrix, for each row. From the above sequences, the exponent matrix (or shift value matrix) can be defined exactly, and if If we obtain information about the values, the parity check matrix can also be defined exactly.

패리티 검사 행렬과 지수 행렬 (또는 순환 이동값 행렬), 기본 행렬 등의 관계에 대한 또 다른 간단한 예를 다음 [수학식 8]에 나타내었다. [수학식 8]의 예에서는 패리티 검사 행렬에서 적어도 하나의 크기 블록에 2개 이상의 순환 순열 행렬이 대응되는 순환 행렬을 포함하는 경우를 도시한다.Another simple example of the relationship between the parity check matrix and the exponential matrix (or cyclic shift matrix), the fundamental matrix, etc. is shown in the following [Equation 8]. In the example of [Equation 8], at least one It illustrates a case where a block of size contains a circulant matrix corresponding to two or more circulant permutation matrices.

[수학식 8][Equation 8]

참고로 상기 [수학식 8]에서 는 기본 행렬 또는 지수 행렬 또는 패리티 검사 행렬에 대한 무게 행렬(Weight Matrix)이며, 기본 행렬 및 지수 행렬에서 i번째 행, j번째 열, 또는 패리티 검사 행렬에서 i번째 행 블록, j번째 열 블록에 몇 개의 순환 순열 행렬이 대응되는지를 표현하는 행렬이다. 예를 들어, 는 패리티 검사 행렬에서 i번째 행 블록, j번째 열 블록에 대응되는 크기의 순환 행렬을 구성하는 순환 순열 행렬의 개수를 i번째 행, j번째 열의 원소로 나타낸 행렬을 의미한다. 즉, 는 0-행렬이 대응될 경우에는 0을, w개의 순환 순열 행렬이 대응되는 경우에 w를 각각 원소로 표현하는 행렬이다. (참고로, 0-행렬은 넓은 의미에서 순환 행렬로 볼 수 있으나, 순환 '순열' 행렬은 아니다.)For reference, in the above [Equation 8] is a weight matrix for the fundamental matrix, exponential matrix, or parity check matrix, and is a matrix that expresses how many cyclic permutation matrices correspond to the ith row, the jth column in the fundamental matrix and exponential matrix, or the ith row block, the jth column block in the parity check matrix. For example, corresponds to the i-th row block and j-th column block in the parity check matrix. It refers to a matrix that represents the number of circulant permutation matrices that constitute a circulant matrix of size as an element of the i-th row and j-th column. That is, is a matrix that represents 0 as an element when a 0-matrix corresponds, and w as an element when w cyclic permutation matrices correspond. (Note that a 0-matrix can be viewed as a cyclic matrix in a broad sense, but it is not a cyclic 'permutation' matrix.)

[수학식 8]에서 정의된 기본 행렬 또는 패리티 검사 행렬 또는 순환 이동 값 행렬 (또는 지수 행렬)을 [표 1]처럼 3GPP TS 38.212에서 LDPC 부호의 패리티 검사 행렬들을 표현하는 방식을 적용하여 나타내면 다음 [표 2]와 같이 나타낼 수 있다.If the basic matrix or parity check matrix or circular shift value matrix (or exponential matrix) defined in [Mathematical Formula 8] is expressed by applying the method of expressing parity check matrices of LDPC codes in 3GPP TS 38.212 as in [Table 1], it can be expressed as in [Table 2] below.

크기의 행렬이며, 크기의 행렬이다. 다음 표 2에서 표현되지 않은 기본 행렬 (또는 기본 그래프) 및 패리티 검사 행렬들의 원소들은 0 또는 크기의 0-행렬이 대응된다. Is is a matrix of size, silver is a matrix of size . The elements of the basic matrix (or basic graph) and parity check matrix not expressed in Table 2 below are 0 or A 0-matrix of size 0 corresponds.

[표 2][Table 2]

만일 상기 [수학식 8]의 기본 행렬 및 지수 행렬을 수열을 이용해 표현한다면 다음과 같은 방식으로 나타낼 수 있다.If the basic matrix and exponential matrix of the above [Mathematical Formula 8] are expressed using a sequence, they can be expressed in the following manner.

: :

0 1 2 30 1 2 3

0 1 2 30 1 2 3

s: s:

(117, 159) 109 0 0(117, 159) 109 0 0

84 (211, 225) (1, 3) 084 (211, 225) (1, 3) 0

다른 표현 방법으로서 무게 행렬을 이용하여 다음과 같이 수열로만 이루어진 형태로 표현할 수도 있다.As another way of expressing it, we can use a weight matrix to express it in a form consisting only of a sequence, as follows:

: :

0 1 2 30 1 2 3

0 1 2 30 1 2 3

: :

2 1 1 12 1 1 1

1 2 2 11 2 2 1

: :

117 159 109 0 0117 159 109 0 0

84 211 225 1 3 084 211 225 1 3 0

위의 표현 방식에서 는 원소가 0가 아닌 열의 위치를 각 행 별로 나열한 방식이며, 는 기본 행렬 또는 지수 행렬 또는 패리티 검사 행렬에 대응되는 순환 행렬들을 구성하는 순환 순열 행렬의 개수에 기반하여 정의되는 행렬이며, 는 0-행렬이 아닌 각 순환 행렬의 지수 또는 이동 값들을 각 행 별로 나열한 방식이다. 위의 수열들로부터 지수 행렬이 정확히 정의될 수 있으며, 만일 값에 대한 정보를 획득한다면, 패리티 검사 행렬 또한 정확히 정의될 수 있다.In the above expression is a method of listing the positions of columns where the elements are not 0 for each row, is a matrix defined based on the number of circulant permutation matrices that constitute the circulant matrices corresponding to the fundamental matrix, the exponential matrix, or the parity check matrix. is a method of listing the indices or shift values of each non-zero circulant matrix by row. The exponential matrix can be defined exactly from the above sequences, and if If we obtain information about the values, the parity check matrix can also be defined exactly.

LDPC 부호의 성능은 패리티 검사 행렬에 따라 결정되기 때문에 우수한 성능을 갖는 LDPC 부호를 위해 패리티 검사 행렬을 설계하는 것이 필요하다. 또한 다양한 입력 길이와 부호율을 지원할 수 있는 LDPC 부호화 또는 복호화 방법이 필요하다.Since the performance of an LDPC code is determined by its parity check matrix, designing a parity check matrix is essential for achieving high-performance LDPC codes. Furthermore, an LDPC encoding or decoding method capable of supporting various input lengths and code rates is required.

리프팅(Lifting)은 QC-LDPC 부호의 효율적인 설계를 위해서 사용될 뿐만 아니라, 주어진 기본 행렬 및 지수 행렬을 이용하여 다양한 길이의 패리티 검사 행렬을 생성하거나 LDPC 부호어를 생성하기 위해서 사용되는 방법을 의미할 수도 있다. 즉, 상기 리프팅은 주어진 작은 모행렬로부터 순환 순열 행렬 또는 0-행렬의 크기를 결정하는 Z 값을 특정한 규칙에 따라 설정함으로써 효율적으로 매우 큰 패리티 검사 행렬을 설계하는데 적용되거나, 주어진 지수 행렬 또는 그에 대응되는 수열에 적절한 Z 값을 적용함으로써 다양한 길이의 패리티 검사 행렬을 생성하거나 LDPC 부호어를 생성하는 방법을 의미할 수도 있다.Lifting can be used not only for the efficient design of QC-LDPC codes, but can also mean a method for generating parity check matrices of various lengths or generating LDPC codewords using given base matrices and exponent matrices. That is, the lifting can be applied to efficiently design a very large parity check matrix by setting the Z value, which determines the size of a cyclic permutation matrix or a 0-matrix from a given small parent matrix, according to a specific rule, or can mean a method for generating parity check matrices of various lengths or generating LDPC codewords by applying an appropriate Z value to a given exponent matrix or its corresponding sequence.

기존 리프팅 방법과 이렇게 리프팅을 통해 설계된 QC-LDPC 부호의 특징을 다음과 같은 참조문헌 [Myung2006]을 참고하여 간단히 설명한다.The characteristics of the existing lifting method and the QC-LDPC code designed through lifting are briefly explained 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, pp. 489-491, June 2006.

먼저 LDPC 부호 C0가 주어져 있을 때 리프팅 방법을 통해 설계될 S개의 QC-LDPC 부호를 C1, ..., CS라 하고, 상기 각 QC-LDPC 부호의 패리티 검사 행렬의 행블록 및 열블록의 크기에 해당하는 값은 Lk라 한다. 여기서 C0는 C1, ..., CS 부호의 모행렬을 패리티 검사 행렬로 가지는 가장 작은 LDPC 부호에 해당하며 행블록 및 열블록의 크기에 해당하는 Z0 값은 1이다. 또, 편의상 각 부호 Ck의 패리티 검사 행렬 크기의 지수 행렬 을 가지며 각 지수 들은 {-1, 0, 1, 2, ..., Zk - 1} 값 중에 하나로 선택된다.First, when an LDPC code C 0 is given, S QC-LDPC codes to be designed through the lifting method are C 1 , ..., C S , and the values corresponding to the sizes of the row blocks and column blocks of the parity check matrix of each QC-LDPC code are L k . Here, C 0 corresponds to the smallest LDPC code that has the parent matrix of the C 1 , ..., C S codes as the parity check matrix, and the value Z 0 corresponding to the size of the row blocks and column blocks is 1. In addition, for convenience, the parity check matrix of each code C k Is exponential matrix of size and each index are chosen as one of the values {-1, 0, 1, 2, ..., Z k - 1}.

기존 리프팅 방법은 C0 -> C1 ->...-> CS와 같은 단계로 이루어지며 Zk+1 = qk+1Zk (qk+1은 양의 정수, k=0,1,..., S-1)와 같은 조건을 만족하는 특징을 가진다. 또한 리프팅 과정의 특성에 의해 Cs의 패리티 검사 행렬 만 저장하고 있으면 리프팅 방식에 따라 다음 수학식 9 또는 수학식 10을 이용하여 상기 QC-LDPC 부호 C0, C1, ..., CS를 모두 나타낼 수 있다.The existing lifting method consists of steps such as C 0 -> C 1 ->...-> C S and has the characteristic of satisfying the condition such as Z k+1 = q k+1 Z k (q k+1 is a positive integer, k=0,1,..., S-1). In addition, due to the characteristics of the lifting process, the parity check matrix of C s If only storing is performed, all of the QC-LDPC codes C 0 , C 1 , ..., C S can be expressed using the following mathematical expressions 9 or 10 depending on the lifting method.

[수학식 9][Equation 9]

또는or

[수학식 10][Equation 10]

이와 같이 C0로부터 보다 큰 QC-LDPC 부호 C1, ..., CS 등을 설계하는 방법뿐만 아니라 큰 부호 Ck로부터 수학식 9 또는 수학식 10과 같이 적절한 방법을 이용하여 작은 부호 Ci(i=k-1, k-2, … 1, 0)를 생성하는 방법을 리프팅이라 부를 수도 있다. 참고로 3GPP TS 38.212에서는 [수학식 10]의 리프팅 방식을 이용하여 다양한 길이의 LDPC 부호가 생성될 수 있다.In addition to the method of designing larger QC-LDPC codes C 1 , ..., C S from C 0 , the method of generating smaller codes C i (i=k-1, k-2, ... 1, 0) from larger codes C k using an appropriate method such as Equation 9 or Equation 10 can also be called lifting. For reference, in 3GPP TS 38.212, LDPC codes of various lengths can be generated using the lifting method of Equation 10.

상기 수학식 9 또는 10의 리프팅 방식은 각 QC-LDPC 부호 Ck의 패리티 검사 행렬에서 행블록 또는 열블록의 크기에 해당하는 Zk 들이 서로 배수 관계(multiple)를 가지게 되어, 지수 행렬 또한 특정 방식에 의해 선택된다. 이와 같은 기존 리프팅 방식은 리프팅을 통해 설계된 각 패리티 검사 행렬의 대수적 또는 그래프 특성을 좋게 하여 오류 마루(error floor) 특성을 개선한 QC-LDPC 부호를 쉽게 설계할 수 있게 돕는다.The lifting method of the above mathematical expression 9 or 10 makes Z k , which corresponds to the size of the row block or column block in the parity check matrix of each QC-LDPC code C k , have a multiple relationship with each other, and the exponent matrix is also selected by a specific method. The existing lifting method like this 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.

도 3a 및 도 3b는 QC-LDPC 부호의 지수 행렬에 따라 사이클 특성이 크게 달라질 수 있음을 간단히 설명하기 위한 예시도이다.Figures 3a and 3b are examples to simply explain that the cycle characteristics of a QC-LDPC code can vary significantly depending on the exponential matrix.

도 3a는 QC-LDPC 부호의 사이클 특성을 설명하기 위한 도면이다.Figure 3a is a diagram for explaining the cycle characteristics of a QC-LDPC code.

도 3a의 지수 행렬은 이며, 이 경우에 태너 그래프 상에서 많은 4-사이클이 존재할 수 있다. 이렇게 짧은 사이클이 많은 부호는 복호 성능에 심각한 열화가 발생할 수 있다.The exponential matrix in Fig. 3a is , and in this case, there may be many 4-cycles in the Tanner graph. Codes with many short cycles like this may cause serious degradation in decoding performance.

도 3b는 QC-LDPC 부호의 사이클 특성을 설명하기 위한 도면이다.Figure 3b is a diagram for explaining the cycle characteristics of a QC-LDPC code.

도 3b의 지수 행렬은 이며, 이 경우이 태너 그래프 상에서 가장 짧은 사이클의 길이는 12이다. 이와 같이 순환 순열 행렬의 지수 하나만 변경하여도 태너 그래프 상의 사이클 특성이 크게 바뀔 수 있기 때문에 지수 행렬의 선택은 LDPC 부호의 성능을 개선하는데 중요한 역할을 차지한다. 리프팅 방식은 이러한 사이클 특성을 고려한 설계 방법 중 하나로 볼 수도 있다.The exponential matrix in Fig. 3b is , and in this case, the length of the shortest cycle on the Tanner graph is 12. Since the cycle characteristics on the Tanner graph can change significantly just by changing a single index of the cyclic permutation matrix, the selection of the index matrix plays an important role in improving the performance of the LDPC code. The lifting method can be viewed as one of the design methods that takes these cycle characteristics into account.

일반적으로 리프팅은 수학식 4의 지수 행렬을 다양한 Z 값에 대해 그 원소들의 값들을 변경하여 LDPC 부호화 및 복호화에 사용하는 것으로 생각할 수도 있다. 예를 들어, 상기 수학식 4의 지수 행렬을 라 하고, Z 값에 따라 변환된 지수 행렬을 이라 할 때 일반적으로 다음과 수학식 11과 같은 변환식이 적용될 수 있다.In general, lifting can be thought of as using the exponential matrix of Equation 4 for LDPC encoding and decoding by changing the values of its elements for various Z values. For example, the exponential matrix of Equation 4 above and the transformed exponential matrix according to the Z value In this case, the following conversion formula, such as mathematical formula 11, can be generally applied.

[수학식 11][Equation 11]

상기 수학식 11에서 는 다양한 형태로 정의될 수 있는데 예를 들면, 상기 [수학식 9]는 에 해당되며 (), 상기 [수학식 10]은 에 해당될 수 있다 (mod(a,b)는 a에 대한 모듈로-b (modulo-b) 연산을 의미한다). 또한, 그 외에도 는 다음 수학식 12와 같이 다양한 방식으로 정의될 수 있다.In the above mathematical formula 11 can be defined in various forms, for example, the above [Mathematical Formula 9] It corresponds to ( ), the above [Mathematical Formula 10] is may correspond to (mod(a,b) means modulo-b operation for a). In addition, can be defined in various ways, as shown in the following mathematical expression 12.

[수학식 12][Equation 12]

또는or

또는or

상기 수학식 12에서 D는 사전에 정의된 양의 정수인 상수를 의미한다.In the above mathematical expression 12, D means a constant that is a positive integer defined in advance.

참고로 상기 수학식 11의 변환식에서 변환식 (또는 변환함수) f를 적용하는 기준 값 (또는, 의 적용을 구분하기 위한 의 기준 값)을 편의상 0으로 나타내었으나 그 기준 값은 지원하고자 하는 리프팅 크기 Z 값 또는 크기의 0-행렬을 표기하는 방법에 따라 다르게 설정될 수 있다. 예를 들어 크기의 0-행렬을 음의 정수 -1이 아닌 사전에 결정되어 있는 다른 수 또는 기호 등으로 정의되어 있을 경우에는 변환식 f를 적용하는 기준 값은 다르게 정의될 수 있다. 또한 지수 행렬 또는 LDPC 수열의 표현에 있어서 0-행렬에 대응되는 지수를 처음부터 배제하여 표기하지 않는 방식에 기반하는 경우에는 수학식 11에서 지수가 0 보다 작은 값들에 대한 규칙은 생략될 수 있다. 변환식 f는 0-행렬이 아닌 순환 순열 행렬 또는 순환 행렬에 대해 적용되는 것이므로, 일반적으로 크기의 0-행렬에 대해 변환을 생략하는 방법은 다양하게 표현될 수 있다.For reference, in the conversion formula of the above mathematical expression 11, the reference value (or, and To distinguish the application of The reference value) is represented as 0 for convenience, but the reference value is the lifting size Z value to be supported or It can be set differently depending on how the 0-matrix of size is expressed. For example, If the 0-matrix of size is defined as a number or symbol other than the negative integer -1 and is not determined in advance, the reference value for applying the conversion formula f can be defined differently. In addition, if the expression of the exponent matrix or LDPC sequence is based on a method of not expressing the exponent corresponding to the 0-matrix by excluding it from the beginning, the rule for values whose exponent is less than 0 in mathematical expression 11 can be omitted. Since the conversion formula f is applied to a circulant permutation matrix or a circulant matrix other than a 0-matrix, in general There are various ways to omit transformations for a 0-matrix of size.

본 개시의 일 실시 예로서 정해진 하나의 기본 행렬에 기반한 복수 개의 지수 행렬 또는 LDPC 수열에 기반하여 LDPC 부호화 및 복호화를 적용하는 경우에 대해서 설명한다. 즉, 기본 행렬은 하나로 고정되어 있으며, 상기 기본 행렬에 기반하여 정의된 LDPC 부호의 지수 행렬 또는 (순환) 이동 값 행렬 또는 LDPC 수열 등이 결정될 수 있으며, 상기 행렬 또는 수열로부터 각 리프팅 크기 그룹에 포함된 리프팅 크기에 맞게 리프팅을 적용함으로써 가변 길이의 LDPC 부호화 및 복호화가 수행된다. 이러한 방식은 LDPC 부호의 지수 행렬 또는 LDPC 수열을 구성하는 원소 또는 숫자들은 서로 다른 값을 가질 수 있지만, 해당 원소 또는 숫자들의 위치는 기본 행렬 상에서 정확히 일치하는 특징을 가진다.As an embodiment of the present disclosure, a case of applying LDPC encoding and decoding based on a plurality of exponential matrices or LDPC sequences based on a single determined base matrix is described. That is, the base matrix is fixed to one, and an exponential matrix or (cyclic) shift value matrix or LDPC sequence of an LDPC code defined based on the base matrix can be determined, and variable-length LDPC encoding and decoding is performed by applying lifting according to a lifting size included in each lifting size group from the matrix or sequence. This method has a characteristic that elements or numbers constituting the exponential matrix or LDPC sequence of an LDPC code can have different values, but the positions of the corresponding elements or numbers are exactly the same on the base matrix.

3GPP 5G 표준 규격인 TS 38.212에 정의된 LDPC 부호 역시 이와 같은 방식으로 설계된 부호이며, 2개의 기본 행렬 이 정의되고 각 기본 행렬 별로 8개의 지수 행렬 (또는 순환 이동 값 행렬) ( )가 정의되어 LDPC 부호화에 사용될 수 있다. 즉, 표준 규격에 따르면 총 2개의 기본 행렬과 16개의 지수 행렬, 적절한 리프팅 크기 에 기반하여 다양한 LDPC 부호의 패리티 검사 행렬이 결정될 수 있다. 단, TS 38.212 규격에서는 에 해당하는 행렬을 패리티 검사 행렬이라 명명하였으며, 통상적인 패리티 검사 행렬에 대응되는 행렬은 행렬-라 명명하였다. 는 정수로 이루어진 행렬로서 리프팅 크기 가 주어져야 엄격한 의미의 패리티 검사 행렬을 구성할 수 있으나, 앞서 설명한 것처럼 편의상 를 패리티 검사 행렬이라고 부를 수도 있다.The LDPC code defined in TS 38.212, the 3GPP 5G standard, is also a code designed in the same way, with two basic matrices. This is defined and 8 exponent matrices (or circular shift value matrices) for each base matrix ( ) is defined and can be used for LDPC encoding. That is, according to the standard, a total of two base matrices and 16 exponent matrices, and an appropriate lifting size Based on this, the parity check matrix of various LDPC codes can be determined. However, in the TS 38.212 standard, The matrix corresponding to is called the parity check matrix, and the matrix corresponding to the normal parity check matrix is matrix- It was named as. is a matrix of integers with lifting size A parity check matrix in the strict sense can be constructed if given, but for convenience as explained above, can also be called a parity check matrix.

이하에서는 설명의 편의를 위해서 최대한 3GPP 5G 표준 규격 TS 38.212에 정의된 LDPC 부호 및 그 표현 방법을 사용하지만 경우에 따라 통상적인 수학적 표현 또는 다른 방식으로 표현될 수도 있다. 먼저 LDPC 부호의 패리티 검사 행렬 또는 행렬-를 결정하기 위해서 지원하고자 하는 리프팅 크기(Z)를 다음 [표 3]에 나타내었다. (이하 각 리프팅 크기 집합에 대한 집합 인덱스 iLS는 예시일 뿐이며 다른 순서로 뒤바뀔 수 있다.)In the following, for the convenience of explanation, the LDPC code and its representation method defined in the 3GPP 5G standard specification TS 38.212 are used as much as possible, but in some cases, it can be expressed in a conventional mathematical expression or in another way. First, the parity check matrix or matrix- of the LDPC code The lifting sizes (Z) to be supported to determine the lifting size are shown in [Table 3] below. (The set index i LS for each lifting size set below is only an example and can be changed to a different order.)

[표 3][Table 3]

본 개시에서는 기본적으로 상기 [표 3]과 같은 방식으로 리프팅 크기 또는 블록 크기들을 표현하지만, 다음 [표 4]와 같은 방식으로도 표현할 수 있으며, 그외 다른 다양한 방식의 표현 또한 가능하다.In the present disclosure, lifting sizes or block sizes are basically expressed in the same manner as in [Table 3] above, but they can also be expressed in the same manner as in [Table 4] below, and various other expression methods are also possible.

[표 4][Table 4]

3GPP 5G에서는 상기 [표 3] 또는 [표 4]와 같이 리프팅 크기 또는 블록 크기 Z를 복수 개의 집합 (또는 그룹)으로 구분하여 사용될 수 있다. (이하 편의상 리프팅 크기 집합(또는 그룹) 또는 블록 크기 집합(또는 그룹)이라 명명한다)In 3GPP 5G, lifting sizes or block sizes Z can be divided into multiple sets (or groups) as shown in [Table 3] or [Table 4]. (Hereinafter, for convenience, they are referred to as lifting size sets (or groups) or block size sets (or groups))

3GPP 5G 표준에서는 [수학식 10]의 리프팅 방식을 이용하여 얻을 수 있는 지수 행렬 에 기반하여 패리티 검사 행렬 또는 행렬-를 결정한다. 이는 라 할 때, 각각의 i, j에 대해서 임을 의미한다. (참고로 3GPP 5G 표준 규격 TS 38.212에는 를 간단히 로 표현하였다.)In the 3GPP 5G standard, an exponential matrix can be obtained using the lifting method of [Mathematical Formula 10]. Parity check matrix or matrix-based It decides. This is and When , for each i and j This means that (for reference, the 3GPP 5G standard specification TS 38.212 states that Simply put ) was expressed as

앞서 [수학식 11]에서 설명한 것처럼, 본 개시에서는 기본 행렬 및 지수 행렬에서 크기의 0-행렬에 대응되는 부분에 대해서는 특별한 변환을 적용하지 않음에 유의한다. 즉, 에서도 특별한 설명이 없을 경우에 0-행렬에 대응되는 부분은 특별한 변환은 수행하지 않으며, 값에 따라 0-행렬의 크기만 달라질 수 있다. 구체적인 예로서 [표 1] 및 [표 2]처럼 3GPP 5G 표준 규격에서 사용하는 표현 방식에서는 크기의 0-행렬에 대응되는 부분은 처음부터 표기되지 않기 때문에, [표 1] 또는 [표 2]에 포함된 에 대해서만 적절히 모듈로와 같은 사전에 정해진 변환을 수행하면, 0-행렬에 대응되는 부분은 자연스럽게 변환을 수행하지 않으므로써 크기만 달라진 0-행렬을 정의하는 것과 동일하다. 위와 같은 표현 방식은 설명의 편의를 위한 일례일 뿐 다양한 다른 표현 방식이 존재할 수 있다.As explained previously in [Mathematical Formula 11], in the present disclosure, from the basic matrix and the exponential matrix Note that no special transformation is applied to the part corresponding to the 0-matrix of size. That is, In cases where there is no special explanation, no special transformation is performed on the part corresponding to the 0-matrix. Depending on the value, only the size of the 0-matrix can change. As a specific example, in the expression method used in the 3GPP 5G standard specifications, as in [Table 1] and [Table 2], Since the part corresponding to the 0-matrix of size is not indicated from the beginning, it is included in [Table 1] or [Table 2]. If we perform a predefined transformation such as modulo appropriately only for , the part corresponding to the 0-matrix is naturally not transformed, which is equivalent to defining a 0-matrix with a different size. The above expression is an example for the convenience of explanation, and various other expression methods may exist.

주어진 지수 행렬 (또는 순환 이동 값 행렬)에 대해 패리티 검사 행렬 또는 행렬-는 상기 [표 3]에서 정의된 리프팅 크기만큼 다양하게 변환될 수 있기 때문에, 시스템에 따라서 필요한 리프팅 크기 집합은 다르게 정의될 수 있다. 즉, 상기 [표 3] 및 [표 4]는 일례일 뿐이며, 상기 [표 3] 및 [표 4] 리프팅 크기 (또는 블록 크기) 그룹(또는 집합)에 포함된 모든 리프팅 크기(Z) 값을 사용할 수도 있으며, 시스템에서 요구되는 상황에 따라 적절한 리프팅 크기의 일부를 선택하여 사용할 수도 있으며, 필요에 따라 더 다양한 리프팅 크기 값이 추가될 수도 있다.For a given exponential matrix (or circularly shifted value matrix), a parity check matrix or matrix- Since the lifting sizes defined in [Table 3] above can be transformed in various ways, the set of lifting sizes required for a system can be defined differently. That is, the above [Table 3] and [Table 4] are only examples, and all lifting size (Z) values included in the lifting size (or block size) group (or set) of [Table 3] and [Table 4] above can be used, and some of the appropriate lifting sizes can be selected and used depending on the situation required by the system, and more diverse lifting size values can be added as needed.

예를 들어, 트랜스포트 블록의 크기(TBS, transport block size)는 그 최솟값이 24인 경우, 이로 인해 Z = 2, 3, 4, 5, 6, 9, 13은 사실 상 시스템에서 사용되는 경우는 없다. 이 경우에는 다음 [표 5]와 같이 일부 Z 값들을 제외하여 정의할 수 있다.For example, if the minimum transport block size (TBS) is 24, Z = 2, 3, 4, 5, 6, 9, and 13 are virtually never used in the system. In this case, some Z values can be defined by excluding them, as shown in [Table 5].

[표 5][Table 5]

[표 5]를 리프팅 크기로 적용하는 LDPC 부호 기반 통신시스템에서는 최소 리프팅 크기가 7 이므로 LDPC 부호화 및 복호화를 위해 사용되는 LDPC 부호의 패리티 검사 행렬을 구성하는 각 열 블록이 최소한 7개 이상의 열들로 구성될 수 있다.In a communication system based on LDPC codes that applies [Table 5] as the lifting size, the minimum lifting size is 7, so each column block that constitutes the parity check matrix of the LDPC code used for LDPC encoding and decoding can be composed of at least 7 columns.

만일 향후 확장성을 고려하여 TBS의 최솟값이 8 이상이며, 8, 16 등 추가적인 다른 값이 사용되는 경우에는 리프팅 크기 집합 (또는 블록 크기 그룹)은 다음 [표 6]과 같이 변경될 수도 있다.If the minimum value of TBS is greater than 8 for future scalability, and additional values such as 8 or 16 are used, the lifting size set (or block size group) may be changed as shown in [Table 6].

[표 6][Table 6]

상기 [표 6]은 상기 [표 3] 또는 [표 4]에서 Z = 2, 3인 경우만 제외한 것인데, TBS가 8 이상이라 할 경우에 결정될 수 있는 Z 값의 최솟값은 4 이상이기 때문이다.The above [Table 6] excludes only the cases in [Table 3] or [Table 4] where Z = 2 or 3, because the minimum value of Z that can be determined when TBS is 8 or greater is 4 or greater.

또 다른 리프팅 크기 집합의 설정 예로서 리프팅 크기 집합을 A개의 집합 , , , …, 로 분류할 경우에는 기본적으로 다음과 같은 방식으로 분류할 수 있다. ()As an example of setting another lifting size set, let us call the lifting size set A sets , , , … , When classified, it can be classified in the following way: ( )

......

......

예를 들어, A = 4 및 A = 8인 경우의 예를 다음 다음 [표 7-1] 및 [표 7-2]와 같이 나타낼 수 있다. ()For example, the case where A = 4 and A = 8 can be represented as in the following [Table 7-1] and [Table 7-2]. ( )

[표 7-1][Table 7-1]

[표 7-2][Table 7-2]

상기 [표 7-1] 및 [표 7-2]에 나타낸 방식으로 리프팅 크기 집합이 정의되는 경우 Z 값들의 분포를 비교적 균일하게 설정할 수 있는 장점이 있다. 상기 [표 7-1] 및 [표 7-2]에 정의된 리프팅 크기 집합은 모두 동일한 개수의 Z 값들을 포함하고 있으나, 필요에 따라 각 집합별로 적절한 Z 값을 더 추가하거나 뺄 수 있다. 예를 들어 상기 [표 7-2]의 리프팅 크기 집합에 기초하여 상기 [표 3] 내지 [표 6]의 리프팅 크기 집합들을 정의하는 것이 가능하다.When the lifting size sets are defined in the manner shown in [Table 7-1] and [Table 7-2] above, there is an advantage in that the distribution of Z values can be set relatively uniformly. The lifting size sets defined in [Table 7-1] and [Table 7-2] above all contain the same number of Z values, but appropriate Z values can be added or subtracted for each set as needed. For example, it is possible to define the lifting size sets of [Table 3] to [Table 6] above based on the lifting size sets of [Table 7-2] above.

또한, [표 7-1] 및 [표 7-2]에서 값의 범위를 적절히 설정하여, 시스템에 적합한 Z 값들을 설정할 수도 있다. 예를 들어, 값을 으로 설정하면 각 집합에서 서로 다른 Z 값의 개수가 7개인 리프팅 크기 집합이 얻어지고, 값을 으로 설정하면 각 집합에서 서로 다른 Z 값의 개수가 4개인 리프팅 크기 집합이 얻어진다. 다만, 상기 값은 일 실시예이며, 상기 값의 일 예가 본 개시의 권리 범위를 한정하는 것은 아니다. 또한, 경우에 따라 상기 리프팅 크기 집합들에서 적당한 Z 값의 추가 또는 일부 제외 또한 가능하다. 예를 들어, 만일 시스템에서 설정된 Z의 최댓값이 Zmax이라면 Zmax 보다 큰 값들은 모두 제거될 수 있다 (예: Zmax = 768). 또한, 기존 3GPP 5G 표준에서 지원 가능한 Z 값을 모두 포함할 경우에는 2, 3, 4, 5, 6, 7 등의 값들 중 적어도 일부는 더 포함될 수도 있다. 물론 5G 또는 6G 시스템에서 TBS = 8, 16 과 같은 값들을 추가로 지원하더라도 Z = 2, 3과 같은 값들은 사용되지 않으므로, 4, 6, 7 또는 4, 5, 6, 7 등의 값들만 더 포함될 수도 있으며, 실질적으로 5G에서 사용되지 않는 값들은 제외될 수도 있다. 다음 [표 8]에 리프팅 크기 집합의 구체적인 예를 나타내었다. (표 8에서 ()안의 숫자들은 리프팅 크기로 사용될 수도 있으며 사용되지 않을 수도 있는 값들을 의미한다.)Also, in [Table 7-1] and [Table 7-2] By appropriately setting the range of values, you can also set Z values suitable for your system. For example, The value Setting this to , we obtain a set of lifting sizes with 7 different Z values in each set, The value If set to , a lifting size set with four different Z values is obtained in each set. However, the above The value is an example and the above An example of a value does not limit the scope of the present disclosure. In addition, in some cases, it is also possible to add or exclude some appropriate Z values from the lifting size sets. For example, if the maximum value of Z set in the system is Zmax, all values greater than Zmax can be removed (e.g., Zmax = 768). In addition, if all Z values that can be supported by the existing 3GPP 5G standard are included, at least some of the values such as 2, 3, 4, 5, 6, 7, etc. may be additionally included. Of course, even if values such as TBS = 8, 16 are additionally supported in a 5G or 6G system, values such as Z = 2, 3 are not used, so only values such as 4, 6, 7 or 4, 5, 6, 7 may be additionally included, and values that are not actually used in 5G may be excluded. The following [Table 8] shows specific examples of lifting size sets. (The numbers in () in Table 8 represent values that may or may not be used as lifting sizes.)

[표 8][Table 8]

리프팅 크기 집합들은 [표 3] 내지 [표 8] 외에도 다양한 방법으로 정의할 수 있지만, 공통적인 특징은 복수 개의 리프팅 크기 집합 각각은 서로 겹치는 리프팅 크기가 없어야 되며, 각 리프팅 크기 집합에 포함된 리프팅 크기는 서로 배수 또는 약수 관계이어야 한다. 상기 [표 3] 내지 [표 8]은 각 리프팅 크기 집합에서 가장 작은 리프팅 크기에 대해 연속적인 () 배수들로 구성되어 있으나 일반적으로는 ()와 같이 비연속적인 배수들로 구성되는 것도 가능할 뿐만 아니라, 2의 배수 외에 다른 정수의 배수도 포함될 수 있다.The lifting size sets can be defined in various ways other than [Table 3] to [Table 8], but the common characteristics are that each of the multiple lifting size sets must not have overlapping lifting sizes, and the lifting sizes included in each lifting size set must be multiples or divisors of each other. [Table 3] to [Table 8] above define a continuous lifting size for the smallest lifting size in each lifting size set. ( ) are composed of multiples, but are generally ( ) can be composed of non-consecutive multiples, and can also include multiples of integers other than multiples of 2.

만일 6G 시스템을 비롯하여 새로운 통신 시스템에서, 기존 시스템(예: 5G 시스템)에 대한 하위 호환성(backward compatibility)을 지원하기 위해 기존 리프팅 크기 집합을 그대로 유지하고(예: [표 3] 또는 [표 4]), 새로운 리프팅 크기 집합이 추가될 수도 있다 (예: [표 5] 내지 [표 8]). 또는 리프팅 크기 집합은 하나로 정의하되, 적용 시나리오 또는 타겟 BLER 등의 시스템 설정에 따라 사용되는 TBS의 범위를 다르게 사전에 결정하면, 사용되는 Z 값의 범위 또한 달라진다. 예를 들어, 제1 타겟 BLER를 적용하는 서비스의 경우의 제1 최소 TBS 및 제1 최대 TBS 값이 설정되어 있고, 제2 타겟 BLER를 적용하는 서비스의 경우에는 제2 최소 TBS 및/또는 제2 최대 TBS 값이 정의되어 있다면, 제1 최소 TBS와 제2 최소 TBS 값이 다르거나, 제1 최대 TBS와 제2 최대 TBS 값이 다를 수 있다 (최솟값, 최댓값 둘다 다를 수도 있다).In new communication systems, including 6G systems, in order to support backward compatibility with existing systems (e.g., 5G systems), the existing lifting size set may be maintained as is (e.g., [Table 3] or [Table 4]), and a new lifting size set may be added (e.g., [Table 5] to [Table 8]). Alternatively, if only one lifting size set is defined, but the range of TBS used is determined differently in advance depending on the application scenario or system settings such as the target BLER, the range of Z values used also varies. For example, if the first minimum TBS and the first maximum TBS values are set for a service applying the first target BLER, and the second minimum TBS and/or the second maximum TBS values are defined for a service applying the second target BLER, the first minimum TBS and the second minimum TBS values may be different, or the first maximum TBS and the second maximum TBS values may be different (both the minimum value and the maximum value may be different).

또한 적용 서비스 시나리오 또는 타겟 BLER 등은 상위 계층 시그널링 정보를 기반으로 결정될 수도 있다. 예를 들어 CQI (channel quality information) 테이블 또는 MCS (modulation coding scheme) 테이블은 통상적으로 타겟 서비스 시나리오 또는 BLER들을 고려하여 결정될 수 있다. (예: 제1 타겟 서비스 또는 BLER는 제1 CQI 테이블 및/또는 제1 MCS 테이블, 제2 타겟 서비스 또는 BLER는 제2 CQI 테이블 및/또는 제2 MCS 테이블, 제3 타겟 서비스 또는 BLER는 제3 CQI 테이블 및/또는 제3 MCS 테이블, …)Additionally, the applicable service scenario or target BLER, etc. may be determined based on upper layer signaling information. For example, the CQI (channel quality information) table or the MCS (modulation coding scheme) table may typically be determined by considering the target service scenarios or BLERs. (For example, the first target service or BLER may be the first CQI table and/or the first MCS table, the second target service or BLER may be the second CQI table and/or the second MCS table, the third target service or BLER may be the third CQI table and/or the third MCS table, etc.)

결과적으로 상위 계층 시그널링 정보로부터 사용될 리프팅 크기의 범위 또는 사용될 리프팅 크기 집합이 결정될 수도 있음을 의미하며, 그 중간 동작은 시스템에 따라 다양한 방식이 존재할 수 있다. 그뿐만 아니라, 물리계층 시그널링 또는 상위 계층 시그널링을 통해 사용될 리프팅 크기 집합을 지시할(indicating) 수도 있다. 이렇게 지시된 리프팅 크기 집합과 결정된 리프팅 크기 Z 값에 기반하여 패리티 검사 행렬이 결정될 수 있다.This means that the range of lifting sizes to be used or the set of lifting sizes to be used can be determined from higher-layer signaling information, and the intermediate operations can exist in various ways depending on the system. Furthermore, the set of lifting sizes to be used can be indicated through physical layer signaling or higher-layer signaling. Based on the indicated set of lifting sizes and the determined lifting size Z value, the parity check matrix can be determined.

참고로, 본 발명에서 타겟 BLER은 시스템에서 달성할 최소한의 BLER를 의미하며, 통상적으로 단말 또는 기지국의 평균적인 BLER이 타겟 BLER를 넘지 않도록(not exceeding) 설정된다.For reference, in the present invention, the target BLER means the minimum BLER to be achieved in the system, and is typically set so that the average BLER of a terminal or base station does not exceed the target BLER.

도 4는 본 개시의 일 실시 예에 따른 트랜스포트 블록 구조도이다.FIG. 4 is a transport block structure diagram according to an embodiment of the present disclosure.

도 4를 참조하면, A 비트로 구성된 트랜스포트 블록 (transport block)에 L 비트의 CRC 비트 (TB-CRC 비트)가 추가되며, 하나의 트랜스포트 블록은 하나의 코드 블록이 될 수 있다. 또한, B = A + L 값이 특정 임계값(threshold) 값 보다 큰 경우에는 적절한 세그멘테이션 (segmentation) 과정을 거쳐 복수 개의 코드 블록들로 나누어질 수도 있다. 이때 코드 블록의 크기 K는 모두 동일하며, 이를 위해 각 코드 블록 별로 null 비트 또는 filler 비트라는 특정 비트들이 추가될 수도 있다. 상기 null 비트 또는 filler 비트들은 통상적으로 0인 값에 대응되지만, 반드시 이와 같이 한정할 필요는 없으며, 사전에 결정된 어떠한 특정 비트들로도 구성도 가능하다. 이와 같이 null 비트 또는 filler와 같이 사전에 결정된 비트들을 추가하는 동작은 실제 순수한 정보어 비트들의 크기가 줄어들기 때문에 통상적으로 단축 (shortening)이라고 부르며, 만일 그 값들이 0인 경우에는 제로패딩 (zero-padding)이라 부를 수도 있다.Referring to FIG. 4, a transport block composed of A bits is added with L bits of CRC bits (TB-CRC bits), and one transport block can become one code block. In addition, if the value B = A + L is greater than a specific threshold value, it may be divided into multiple code blocks through an appropriate segmentation process. At this time, the size K of the code blocks is all the same, and for this purpose, specific bits called null bits or filler bits may be added to each code block. The null bits or filler bits typically correspond to a value of 0, but are not necessarily limited to this, and may be composed of any specific bits determined in advance. This operation of adding predetermined bits such as null bits or fillers is typically called shortening because the size of the actual pure information word bits is reduced, and if the values are 0, it may be called zero-padding.

전송하고자 하는 트랜스포트 블록의 크기(TBS, transport block size)가 결정된 다음에, 하기의 [기본 행렬 결정 방법]과 같은 방법을 통해 TBS 크기와 MCS에 지시되는 부호율을 기반으로 LDPC 부호화 또는 복호화에 사용되는 서로 다른 2개의 LDPC 부호의 기본 행렬 중에서 하나가 결정될 수 있다.After the size of the transport block to be transmitted (TBS, transport block size) is determined, one of the basic matrices of two different LDPC codes used for LDPC encoding or decoding can be determined based on the code rate indicated in the TBS size and MCS through a method such as the [basic matrix determination method] below.

[기본 행렬 결정 방법][How to determine the basic matrix]

TBS = A인 트랜스포트 블록의 LDPC 부호화 및 복호화를 위한 LDPC 기본 행렬은 다음과 같이 TBS 크기과 MCS에 의해 지시되는 부호율에 기반하여 결정될 수 있다:The LDPC basic matrix for LDPC encoding and decoding of a transport block with TBS = A can be determined based on the TBS size and the code rate indicated by the MCS as follows:

- A ≤ 292 (또는 288)이거나, A ≤ 3824이면서 R ≤ 0.67이거나, R ≤ 0.25인 경우에는 LDPC 기본 행렬 2를 이용하여 LDPC 부호화를 수행할 수 있다.- When A ≤ 292 (or 288), or A ≤ 3824 and R ≤ 0.67, or R ≤ 0.25, LDPC encoding can be performed using LDPC basic matrix 2.

- 그 외에는 LDPC 기본 행렬 1을 이용하여 LDPC 부호화를 수행할 수 있다. 참고로, 3GPP 5G 표준에서 정의된 기본 행렬 1 및 기본 행렬 2 는 다음과 같다.- In addition, LDPC encoding can be performed using LDPC basic matrix 1. For reference, basic matrix 1 defined in the 3GPP 5G standard and basic matrix 2 is as follows.

: :

0 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 230 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 23

0 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 240 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 24

0 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 250 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 25

0 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 250 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 25

0 1 260 1 26

0 1 3 12 16 21 22 270 1 3 12 16 21 22 27

0 6 10 11 13 17 18 20 280 6 10 11 13 17 18 20 28

0 1 4 7 8 14 290 1 4 7 8 14 29

0 1 3 12 16 19 21 22 24 300 1 3 12 16 19 21 22 24 30

0 1 10 11 13 17 18 20 310 1 10 11 13 17 18 20 31

1 2 4 7 8 14 321 2 4 7 8 14 32

0 1 12 16 21 22 23 330 1 12 16 21 22 23 33

0 1 10 11 13 18 340 1 10 11 13 18 34

0 3 7 20 23 350 3 7 20 23 35

0 12 15 16 17 21 360 12 15 16 17 21 36

0 1 10 13 18 25 370 1 10 13 18 25 37

1 3 11 20 22 381 3 11 20 22 38

0 14 16 17 21 390 14 16 17 21 39

1 12 13 18 19 401 12 13 18 19 40

0 1 7 8 10 410 1 7 8 10 41

0 3 9 11 22 420 3 9 11 22 42

1 5 16 20 21 431 5 16 20 21 43

0 12 13 17 440 12 13 17 44

1 2 10 18 451 2 10 18 45

0 3 4 11 22 460 3 4 11 22 46

1 6 7 14 471 6 7 14 47

0 2 4 15 480 2 4 15 48

1 6 8 491 6 8 49

0 4 19 21 500 4 19 21 50

1 14 18 25 511 14 18 25 51

0 10 13 24 520 10 13 24 52

1 7 22 25 531 7 22 25 53

0 12 14 24 540 12 14 24 54

1 2 11 21 551 2 11 21 55

0 7 15 17 560 7 15 17 56

1 6 12 22 571 6 12 22 57

0 14 15 18 580 14 15 18 58

1 13 23 591 13 23 59

0 9 10 12 600 9 10 12 60

1 3 7 19 611 3 7 19 61

0 8 17 620 8 17 62

1 3 9 18 631 3 9 18 63

0 4 24 640 4 24 64

1 16 18 25 651 16 18 25 65

0 7 9 22 660 7 9 22 66

1 6 10 671 6 10 67

: :

0 1 2 3 6 9 10 110 1 2 3 6 9 10 11

0 3 4 5 6 7 8 9 11 120 3 4 5 6 7 8 9 11 12

0 1 3 4 8 10 12 130 1 3 4 8 10 12 13

1 2 4 5 6 7 8 9 10 131 2 4 5 6 7 8 9 10 13

0 1 11 140 1 11 14

0 1 5 7 11 150 1 5 7 11 15

0 5 7 9 11 160 5 7 9 11 16

1 5 7 11 13 171 5 7 11 13 17

0 1 12 180 1 12 18

1 8 10 11 191 8 10 11 19

0 1 6 7 200 1 6 7 20

0 7 9 13 210 7 9 13 21

1 3 11 221 3 11 22

0 1 8 13 230 1 8 13 23

1 6 11 13 241 6 11 13 24

0 10 11 250 10 11 25

1 9 11 12 261 9 11 12 26

1 5 11 12 271 5 11 12 27

0 6 7 280 6 7 28

0 1 10 290 1 10 29

1 4 11 301 4 11 30

0 8 13 310 8 13 31

1 2 321 2 32

0 3 5 330 3 5 33

1 2 9 341 2 9 34

0 5 350 5 35

2 7 12 13 362 7 12 13 36

0 6 370 6 37

1 2 5 381 2 5 38

0 4 390 4 39

2 5 7 9 402 5 7 9 40

1 13 411 13 41

0 5 12 420 5 12 42

2 7 10 432 7 10 43

0 12 13 440 12 13 44

1 5 11 451 5 11 45

0 2 7 460 2 7 46

10 13 4710 13 47

1 5 11 481 5 11 48

0 7 12 490 7 12 49

2 10 13 502 10 13 50

1 5 11 511 5 11 51

상기 기본 행렬 1 및 기본 행렬 2 의 크기는 각각 46×68, 42×52이며, 상기 기본 행렬로부터 결정되는 패리티 검사 행렬의 크기는 46Z×68Z, 42Z×52Z이다.The above basic matrix 1 and basic matrix 2 The sizes of the parity check matrices are 46×68 and 42×52, respectively, and the sizes of the parity check matrices determined from the basic matrices are 46Z×68Z and 42Z×52Z.

또한 상기 결정된 TBS에 따라 다음과 같이 트랜스포트 블록에 덧붙일 CRC 비트의 수 (LTB)가 결정될 수 있다.Additionally, the number of CRC bits (L TB ) to be added to the transport block can be determined as follows according to the above-determined TBS.

[트랜스포트 블록 CRC 비트 수 결정 방법][Method for determining the number of transport block CRC bits]

TBS = A인 트랜스포트 블록을 위한 CRC 비트 크기 LTB 값은 다음과 같이 TBS 값에 따라 다르게 설정될 수 있다.The CRC bit size L TB value for a transport block with TBS = A can be set differently depending on the TBS value as follows:

A > 3824 경우에 LTB = 24, 그 외에는 LTB = 16.If A > 3824, L TB = 24, otherwise L TB = 16.

이와 같이 결정된 TBS 크기 (A) 또는 트랜스포트 블록에 CRC를 덧붙인 총 비트 수 B = A + L에 따라, 트랜스포트 블록으로부터 적절한 코드 블록을 결정하여 각 코드 블록 별로 LDPC 부호화 및 복호화가 수행될 수 있다. 이 때 코드 블록 길이(code block size, CBS)를 결정하는 과정을 보다 구체적으로 설명하면 다음과 같다:Based on the TBS size (A) determined in this way or the total number of bits B (A + L) with the CRC appended to the transport block, an appropriate code block is determined from the transport block, and LDPC encoding and decoding can be performed for each code block. The process of determining the code block length (CBS) is described in more detail as follows:

[CBS 결정 방법][How CBS decides]

코드 블록 세그멘테이션(segmentation)을 위한 입력 비트 시퀀스를 b0, b1, …, bB-1로 표현할 수 있다. (B > 0) 만일 B가 최대 코드 블록 크기 Kcb 보다 크면, 입력 비트 시퀀스의 세그멘테이션이 수행되고, L = 24 비트의 CRC가 각 코드 블록에 추가로 덧붙여진다. LDPC 기본 행렬 1에 대해서 최대 코드 블록 크기는 Kcb = 8448, LDPC 기본 행렬 2에 대해서 최대 코드 블록 크기는 Kcb = 3840 이다.The input bit sequence for code block segmentation can be expressed as b 0 , b 1 , … , b B-1 (B > 0). If B is larger than the maximum code block size K cb , segmentation of the input bit sequence is performed, and a CRC of L = 24 bits is additionally appended to each code block. For LDPC elementary matrix 1, the maximum code block size is K cb = 8448, and for LDPC elementary matrix 2, the maximum code block size is K cb = 3840.

구체적인 단계를 설명하면 하기와 같다.The specific steps are explained below.

단계 1: 코드 블록의 개수 가 결정될 수 있다.Step 1: Number of code blocks can be decided.

- 만일 이면, 이고 이며, .- If On the other hand, And and, .

- 그렇지 않으면, , 이며, .- Otherwise, , and, .

단계 2: 코드 블록 세그멘테이션으로부터의 비트 출력을 cr0, cr1,…, cr(Kr - 1)라 할 때, r은 코드 블록 넘버를 의미하며 (0 ≤ r < C), Kr (= K)은 코드 블록 넘버 r에 대한 코드 블록의 비트 수를 의미할 수 있다. 여기서 각 코드 블록에 포함되는 비트 수인 K는 다음과 같이 계산될 수 있다:Step 2: Let the bit output from the code block segmentation be c r0 , c r1 ,…, cr (Kr - 1) , where r represents the code block number (0 ≤ r < C), and Kr (= K) represents the number of bits in the code block for the code block number r. Here, K, the number of bits included in each code block, can be calculated as follows:

- ;- ;

- LDPC 기본 행렬 1의 경우에는 .- In the case of LDPC basic matrix 1 .

- LDPC 기본 행렬 2의 경우에,- In the case of LDPC basic matrix 2,

이면, ; On the other hand, ;

이면, ; On the other hand, ;

이면, ; On the other hand, ;

이면, . On the other hand, .

단계 3: 표 3의 값 중에서 를 만족하는 최소값 가 결정될 수 있다. LDPC 기본 행렬 1에 대해 이며, LDPC 기본 행렬 2에 대해 로 설정한다.Step 3: Table 3 Among the values The minimum value that satisfies can be determined. For LDPC basic matrix 1 , and for LDPC basic matrix 2 Set to .

상기 [CBS 결정 방법]의 단계 2에서 값은 LDPC 부호의 기본 행렬 (또는 기본 그래프) 또는 패리티 검사 행렬에서 LDPC 정보어 비트(information bit)에 대응되는 열 또는 열 블록(column block)에 각각 대응되는 값으로서, 단축 또는 제로 패딩이 없는 LDPC 정보어 비트의 최대 값()에 대응될 수 있다. 예를 들어 LDPC 기본 행렬 2 또는 기본 행렬 2에 대응되는 패리티 검사 행렬에서 정보어 비트에 대응되는 열 (또는 열 블록)의 개수가 10개라 하여도, 만일 으로 설정된 경우에는, 실질적으로는(substantially) 최대 비트의 정보어 비트에 대해 LDPC 부호화/복호화가 수행되며, 패리티 검사 행렬에서 최소한 개의 열에 대응되는 정보어 비트는 단축 또는 제로패딩 됨을 의미한다. 여기서 단축 또는 제로 패딩은 0과 같이 송신기 및 수신기가 약속된 비트 값을 할당하는 것을 의미할 수도 있고, 패리티 검사 행렬에서 해당 부분을 사용하지 않는 것을 의미할 수도 있다.In step 2 of the above [CBS Determination Method] The value corresponds to a column or column block corresponding to an LDPC information bit in the basic matrix (or basic graph) or parity check matrix of the LDPC code, and is the maximum value of the LDPC information bit without shortening or zero padding. ) can correspond to. For example, even if the number of columns (or column blocks) corresponding to information word bits in the LDPC basic matrix 2 or the parity check matrix corresponding to the basic matrix 2 is 10, if If set to , then substantially the maximum LDPC encoding/decoding is performed on the information bits of the bits, and at least The information bits corresponding to the column of the dog are shortened or zero-padded. Shortening or zero-padding here can mean that the transmitter and receiver assign a bit value promised, such as 0, or it can mean that the corresponding part is not used in the parity check matrix.

LDPC 부호화 및 복호화를 위한 리프팅 크기 Z 값은 [표 3] 내지 [표 8]에 나타낸 리프팅 크기 집합들 또는 특정 리프팅 크기 값들을 추가 및 제거된 리프팅 크기 집합들에 기반하여 결정할 수 있다. 각 Z 값들은 인덱스 iLS에 따라 사전에 결정되어 있는 특정 집합에 포함되는데, [CBS 결정 방법]의 단계 3에서 Z 값이 결정되면 해당 Z 값에 대응되는 집합 또는 집합의 인덱스 iLS 값이 결정되며, 각 인덱스에 대응되는 LDPC 부호의 패리티 검사 행렬 또는 그에 대응되는 수열 또한 결정될 수 있다. 이와 같이 결정된 LDPC 부호의 패리티 검사 행렬 또는 그에 대응되는 수열에 대해서 리프팅 크기 Z에 기반한 모듈로(modulo) 연산을 적용하여 상기 패리티 검사 행렬 또는 수열을 변환하여 다양한 길이의 LDPC 부호의 부호화 및 복호화를 지원한다. 3GPP 5G 표준에서도 LDPC 부호의 패리티 검사 행렬 또는 수열에 포함된 각 숫자들은 순환 순열 행렬에 대응되는 값을 의미한다.The lifting size Z value for LDPC encoding and decoding can be determined based on the lifting size sets shown in [Table 3] to [Table 8] or the lifting size sets with specific lifting size values added and removed. Each Z value is included in a specific set determined in advance according to the index i LS . When the Z value is determined in step 3 of the [CBS determination method], the set corresponding to the Z value or the index i LS value of the set is determined, and the parity check matrix of the LDPC code corresponding to each index or the corresponding sequence can also be determined. By applying a modulo operation based on the lifting size Z to the parity check matrix of the LDPC code determined in this way or the corresponding sequence, the parity check matrix or the sequence is transformed to support encoding and decoding of LDPC codes of various lengths. In the 3GPP 5G standard, each number included in the parity check matrix or sequence of the LDPC code means a value corresponding to a cyclic permutation matrix.

설계된 기본 행렬 또는 지수 행렬에 기반한 LDPC 부호화 및 복호화 과정의 실시 예에 대한 흐름도를 도 5 및 도 6에 나타내었다.A flowchart for an embodiment of an LDPC encoding and decoding process based on a designed base matrix or exponential matrix is shown in FIGS. 5 and 6.

도 5는 LDPC 부호화 과정의 실시예를 도시한 도면이다.Figure 5 is a diagram illustrating an embodiment of an LDPC encoding process.

먼저 송신기는 도 5의 (510) 단계와 같이 전송하고자 하는 트랜스포트 블록 크기 TBS를 결정한다. (520) 단계에서 송신기는 상기 TBS가 max CBS 보다 큰지 작거나 같은지 판단한다.First, the transmitter determines the transport block size TBS to be transmitted, as in step (510) of Fig. 5. In step (520), the transmitter determines whether the TBS is greater than, less than, or equal to max CBS.

만일 TBS가 max CBS보다 더 큰 경우, 송신기는 (530) 단계에서 상기 트랜스포트 블록을 세그멘테이션 하여 CBS를 결정할 수 있다. 만일 TBS가 max CBS보다 작거나 같은 경우에는 송신기는 세그멘테이션 동작을 생략하고 상기 TBS를 CBS로 결정한다.If TBS is greater than max CBS, the transmitter can segment the transport block to determine CBS in step (530). If TBS is less than or equal to max CBS, the transmitter skips the segmentation operation and determines the TBS as CBS.

송신기는 (540) 단계에서는 상기 CBS를 기반으로 LDPC 부호화에 적용할 리프팅 크기 (Z) 값을 결정한다.In step (540), the transmitter determines the lifting size (Z) value to be applied to LDPC encoding based on the CBS.

그리고 송신기는 (550) 단계에서 상기 TBS 또는 CBS 또는 리프팅 크기 (Z) 값에 따라 패리티 검사 행렬 또는 수열을 결정한다. 또는, 송신기는 패리티 검사 행렬과 대수적으로 동일한 효과를 갖는 LDPC 지수 행렬 또는 수열을 결정할 수도 있다.And the transmitter determines a parity check matrix or sequence based on the TBS or CBS or lifting size (Z) value in step (550). Alternatively, the transmitter may determine an LDPC index matrix or sequence that has an effect algebraically identical to the parity check matrix.

그리고 송신기는 (560) 단계에서 패리티 검사 행렬 또는 수열에 기반하여 LDPC 부호화를 수행한다. 또는, 송신기는 (560) 단계에서 지수 행렬 또는 수열에 기반하여 LDPC 부호화를 수행할 수 있다. 또한, 송신기는 (560) 단계에서 리프팅 크기와 지수행렬 또는 수열에 기반하여 LDPC 부호화를 수행할 수 있다.And the transmitter performs LDPC encoding based on the parity check matrix or sequence in step (560). Alternatively, the transmitter may perform LDPC encoding based on the exponential matrix or sequence in step (560). In addition, the transmitter may perform LDPC encoding based on the lifting size and the exponential matrix or sequence in step (560).

참고로 상기 (550) 단계에는 경우에 따라서 상기 결정된 리프팅 크기에 기반하여 상기 결정된 LDPC 지수 행렬 또는 수열을 변환하는 과정이 포함될 수도 있다. LDPC 부호화를 위한 LDPC 지수 행렬 또는 수열 또는 패리티 검사 행렬은 시스템에 따라 TBS 또는 CBS에 기반하여 다양한 방식으로 결정될 수 있음은 자명하다. 예를 들어 송신기는 TBS를 통해 기본 행렬을 먼저 결정하고, 상기 결정된 기본 행렬과 CBS에 기반하여 LDPC 지수 행렬 또는 수열 패리티 검사 행렬을 결정하는 것도 가능하며, 이 외의 다양한 방법도 적용할 수 있다. 참고로 (520) 단계와 (540) 단계 사이 또는 (530) 단계와 (540) 단계 사이에는 시스템에 따라 추가적인 동작이 포함될 수도 있는데, 예를 들어 3GPP 5G 시스템의 경우에 기본 행렬 2 ()를 사용할 경우에는 TBS 크기에 따라 기본 행렬에서 실질적으로 사용될 열의 개수 또는 패리티 검사 행렬에서 사용될 열 블록의 개수를 의미하는 값을 결정하는 과정이 포함될 수도 있다. (참고로 개의 기본 행렬의 열에 대응되는 패리티 검사 행렬의 열 블록은 단축이 적용된다.)For reference, the step (550) above may include a process of converting the determined LDPC index matrix or sequence based on the determined lifting size, depending on the case. It is obvious that the LDPC index matrix or sequence or parity check matrix for LDPC encoding may be determined in various ways based on TBS or CBS, depending on the system. For example, the transmitter may first determine the base matrix through TBS, and then determine the LDPC index matrix or sequence parity check matrix based on the determined base matrix and CBS, and various other methods may also be applied. For reference, additional operations may be included depending on the system between steps (520) and (540) or between steps (530) and (540). For example, in the case of a 3GPP 5G system, the base matrix 2 ( ) means the number of columns to be actually used in the base matrix or the number of column blocks to be used in the parity check matrix depending on the TBS size. The process of determining the value may be included. (For reference, The column blocks of the parity check matrix corresponding to the columns of the basic matrix of the dog are shortened.)

LDPC 복호화 과정도 이와 유사하게 도 6과 같이 나타낼 수 있다.The LDPC decoding process can be similarly represented as in Fig. 6.

도 6은 LDPC 복호화 과정의 실시예를 도시한 도면이다.Figure 6 is a diagram illustrating an embodiment of an LDPC decoding process.

만일 (610) 단계에서 TBS가 결정되었다면 수신기는 (620) 단계에서 TBS가 max CBS 보다 큰지 작거나 같은지 판단한다.If TBS is determined in step (610), the receiver determines in step (620) whether TBS is greater than, less than, or equal to max CBS.

TBS가 max CBS 보다 크다면 수신기는 (630) 단계에서 세그멘테이션이 적용된 CBS의 크기를 결정한다. 만일 TBS가 max CBS 보다 작거나 같다고 판단될 경우에는 TBS가 곧 CBS와 동일하게 결정된다.If TBS is greater than max CBS, the receiver determines the size of the CBS to which segmentation is applied in step (630). If TBS is determined to be less than or equal to max CBS, TBS is determined to be equal to CBS.

수신기는 (640) 단계에서 LDPC 복호화에 적용할 리프팅 크기(Z) 값을 결정한다.The receiver determines the lifting size (Z) value to be applied to LDPC decoding at step (640).

그리고, 수신기는 (650) 단계에서 상기 TBS 또는 CBS 또는 리프팅 크기(Z) 값에 따라 패리티 검사 행렬 또는 수열을 결정한다. 또는, 송신기는 패리티 검사 행렬과 대수적으로 동일한 효과를 갖는 지수 행렬 또는 수열을 결정할 수 있다.Then, the receiver determines a parity check matrix or sequence based on the TBS or CBS or lifting size (Z) value at step (650). Alternatively, the transmitter may determine an exponential matrix or sequence that has an effect algebraically identical to the parity check matrix.

그리고 수신기는 (660) 단계에서 패리티 검사 행렬 또는 수열에 기반하여 LDPC 복호화를 수행할 수 있다. 또는, 수신기는 (660) 단계에서 지수 행렬 또는 수열을 이용하여 LDPC 복호화를 수행할 수 있다. 참고로 상기 (650) 단계에는 경우에 따라서 상기 결정된 리프팅 크기에 기반하여 상기 결정된 LDPC 지수 행렬 또는 수열을 변환하는 과정이 포함될 수도 있다. LDPC 복호화를 위한 LDPC 지수 행렬 또는 수열 또는 패리티 검사 행렬은 시스템에 따라 TBS 또는 CBS에 기반하여 다양한 방식으로 결정될 수 있음은 자명하다. 예를 들어 수신기는 TBS를 통해 기본 행렬을 먼저 결정하고, 상기 결정된 기본 행렬과 CBS에 기반하여 LDPC 지수 행렬 또는 수열 패리티 검사 행렬을 결정하는 것도 가능하며, 이 외의 다양한 방법도 적용할 수 있다.And the receiver can perform LDPC decoding based on the parity check matrix or sequence in step (660). Alternatively, the receiver can perform LDPC decoding using the exponent matrix or sequence in step (660). Note that step (650) may include a process of converting the determined LDPC exponent matrix or sequence based on the determined lifting size, as the case may be. It is obvious that the LDPC exponent matrix or sequence or parity check matrix for LDPC decoding can be determined in various ways based on TBS or CBS depending on the system. For example, the receiver can first determine the base matrix through TBS, and then determine the LDPC exponent matrix or sequence parity check matrix based on the determined base matrix and CBS, and various other methods can also be applied.

상기 실시 예에 따르면 도 5 및 도 6의 (550), (650) 단계에서 LDPC 부호의 지수 행렬 또는 수열을 결정하는 과정은 TBS 또는 CBS 또는 리프팅 크기(Z) 중에 하나에 의해 지수 행렬 또는 수열이 결정되는 경우에 대해서 기술하였으나, 다양한 다른 방법이 존재할 수도 있다. 또한 상기 도 6의 (620) 단계와 (640) 단계 사이 또는 (630) 단계와 (640) 단계 사이에는 시스템에 따라 추가적인 동작이 포함될 수도 있는데, 예를 들어 3GPP 5G 시스템의 경우에 기본 행렬 2 ()를 사용할 경우에는 TBS 크기에 따라 기본 행렬에서 실질적으로 사용될 열의 개수 또는 패리티 검사 행렬에서 사용될 열 블록의 개수를 의미하는 값을 결정하는 과정이 포함될 수도 있다. 참고로 수신기는 개의 기본 행렬의 열에 대응되는 패리티 검사 행렬의 열 블록에 대응되는 비트들이 송신기에서 단축이 적용되었음을 알 수 있으므로, 수신기는 LDPC 복호화를 수행하기 전에 단축된 비트들에 적절한 동작을 추가로 수행할 수도 있다.According to the above embodiment, the process of determining the exponent matrix or sequence of the LDPC code in steps (550) and (650) of FIGS. 5 and 6 has been described for the case where the exponent matrix or sequence is determined by one of the TBS, CBS, or lifting size (Z), but various other methods may exist. In addition, additional operations may be included between steps (620) and (640) or between steps (630) and (640) of FIG. 6 depending on the system. For example, in the case of a 3GPP 5G system, the basic matrix 2 ( ) means the number of columns to be actually used in the base matrix or the number of column blocks to be used in the parity check matrix depending on the TBS size. A process for determining the value may be included. Note that the receiver Since the bits corresponding to the column blocks of the parity check matrix corresponding to the columns of the base matrix can be known to have been shortened at the transmitter, the receiver may additionally perform appropriate operations on the shortened bits before performing LDPC decoding.

상기 도 5 및 도 6의 LDPC 부호의 기본 행렬 및 지수 행렬(또는 LDPC 수열)에 기반한 LDPC 부호화 및 복호화 과정의 실시 예에 있어서, 상기 LDPC 부호에 대해서 적절히 정보어 비트의 일부를 단축 또는 천공(puncturing)하고 부호어 비트의 일부를 천공 및 리피티션 (repetition)하여 다양한 부호율과 다양한 길이의 LDPC 부호화 및 복호화가 지원될 수 있다. 예를 들어, 3GPP 5G 표준 기술처럼 상기 도 5의 LDPC 부호화 과정에서 정보어 비트 일부에 단축을 적용하고, 기본 행렬의 처음 2개, 즉, 패리티 검사 행렬에서 처음 개의 열에 대응되는 정보어 비트를 천공하고, 패리티 일부를 천공하거나 LDPC 부호어의 일부를 리피티션 하면 다양한 정보어 길이(또는 코드 블록 길이)와 다양한 부호율을 지원할 수 있다.In an embodiment of the LDPC encoding and decoding process based on the basic matrix and the exponential matrix (or LDPC sequence) of the LDPC code of the above FIGS. 5 and 6, LDPC encoding and decoding of various code rates and various lengths can be supported by appropriately shortening or puncturing some of the information bits for the LDPC code and puncturing and repeating some of the code bits. For example, as in the 3GPP 5G standard technology, shortening is applied to some of the information bits in the LDPC encoding process of the above FIG. 5, and the first two of the basic matrix, i.e., the first in the parity check matrix By punching the information bits corresponding to the column of the dog, punching a portion of the parity, or repeating a portion of the LDPC codeword, various information word lengths (or code block lengths) and various code rates can be supported.

주어진 입력 비트 또는 코드 블록 비트들을 라 하고 부호화 비트를 로 나타낼 때 (단, 기본 행렬 1인 경우에는 , 기본 행렬 2인 경우에는 ), 다음 [표 9]와 같이 부호화 과정의 일부가 정의될 수 있다.Given input bits or code block bits and the encoding bits are When expressed as (however, in the case of the basic matrix 1) , if the basic matrix is 2 ), part of the encoding process can be defined as shown in [Table 9] below.

[표 9][Table 9]

위 부호화 과정에 따르면, 입력 비트 또는 코드 블록 비트들 중 처음 비트들 은 부호화 비트에 포함되지 않게 된다. 즉, 상기 비트들은 송신기에서 천공되어 수신기로 전송되지 않음을 의미한다. 참고로 정보어 비트의 일부가 천공되는 경우에는 도 1의 정보어(102)의 일부를 송신기가 전송하지 않음을 의미하며, 따라서 수신기에서는 전송되지 않은 정보어 비트들은 소실(erasure)된 것으로 처리하여 복호를 수행할 수 있다. 다시 말해, 천공된 비트는 마치 소실된 것으로 간주되어 0과 1일 확률이 동일하므로 수신기는 이에 대응되는 값을 삽입하여 복호를 수행할 수도 있다.According to the above encoding process, the first of the input bits or code block bits bits is not included in the encoding bits. That is, the above This means that the bits are punctured at the transmitter and not transmitted to the receiver. For reference, if a portion of the information word bits is punctured, this means that the transmitter does not transmit a portion of the information word (102) of FIG. 1. Accordingly, the receiver can decode the untransmitted information word bits by treating them as erased. In other words, since the punctured bits are regarded as if they were lost and have the same probability of being 0 or 1, the receiver can insert a corresponding value to perform decoding.

상기 부호화 과정에서 천공된 정보어 비트들은 재전송인 경우에도 항상 전송되지 않을 수도 있다. 레이트 매칭을 위해 순환 버퍼 (circular buffer)가 사용되는 경우에, 상기 천공된 정보어 비트들을 순환 버퍼에 저장하지 않고 레이트 매칭 및 재전송을 수행할 경우에는 상기 천공된 정보어 비트들은 항상 전송되지 않을 수 있다.The information bits punctured during the above encoding process may not always be transmitted, even in the case of retransmission. In cases where a circular buffer is used for rate matching, if rate matching and retransmission are performed without storing the punctured information bits in the circular buffer, the punctured information bits may not always be transmitted.

반면에 초송인 경우에는 정보어 비트의 일부가 천공되고, 재전송인 경우에 상기 천공된 정보어 비트의 전부 또는 일부가 전송될 수도 있다. 모든 정보어 비트를 순환 버퍼에 저장하되, 초송인 경우에는 정보어 비트의 일부가 천공되도록 RV (redundancy value) 값을 적절히 설정할 수 있다 (예: RV0 값을 천공할 정보어 비트를 제외하여 설정). 초송에서 상기 정보어 비트의 일부가 천공되었다 하더라도, 순환 버퍼에는 그 비트 값들이 저장되어 있기 때문에 재전송인 경우에는 순환 버퍼 레이트 매칭 동작 및 적절한 RV 값의 선택에 따라 상기 천공된 정보어 비트의 일부 또는 전부가 전송될 수 있다.On the other hand, in the case of a first transmission, some of the information bits may be punctured, and in the case of a retransmission, all or some of the punctured information bits may be transmitted. All information bits are stored in a circular buffer, but in the case of a first transmission, the RV (redundancy value) value may be appropriately set so that some of the information bits are punctured (e.g., the RV0 value is set to exclude the information bits to be punctured). Even if some of the information bits are punctured in the first transmission, since the bit values are stored in the circular buffer, in the case of a retransmission, some or all of the punctured information bits may be transmitted depending on the circular buffer rate matching operation and selection of an appropriate RV value.

[표 9]에서는 편의상 를 부호화 비트라 하였는데 부호화 비트의 정의는 설명의 편의에 따라 바뀔 수도 있다. 예를 들어 [표 9]의 처럼 정보어 비트의 일부를 천공한 이후의 비트열을 부호화 비트로 정의될 수도 있지만, 실제로 부호화 과정에서 패리티 비트 벡터 를 생성하는데 입력 비트 또는 코드 블록 비트들 이 사용되기 때문에 정보어 비트의 천공 전을 기준으로For convenience, in [Table 9] is called a coding bit, but the definition of a coding bit may change for convenience of explanation. For example, in [Table 9] The bit string after punching out some of the information bits can be defined as the encoded bit, but in reality, the parity bit vector in the encoding process Input bits or code block bits to generate Because this is used, it is based on the pre-perforation of the information bits.

가 부호화 비트로 정의될 수도 있다. 또한, 할당된 자원량을 기반으로 레이트 매칭이 적용된 비트열 이 부호화 비트로 정의될 수도 있으며, 레이트 매칭된 비트열에 대해 인터리빙이 적용된 비트열 이 부호화 비트로 정의될 수도 있다. 이외에도 부호화 비트열은 설명의 편의에 따라 다양하게 정의될 수 있으나, 통상적으로 시스템에서 실제 전송과 관련이 있는 비트열은 이나, 부호화 과정과 관련이 있는 이 부호화 비트로 정의될 수 있다.can also be defined as a coded bit. Also, a bit string with rate matching applied based on the allocated resource amount. This can also be defined as a coded bit, and is a bit string with interleaving applied to the rate-matched bit string. This can also be defined as a coded bit. In addition, the coded bit string can be defined in various ways for convenience of explanation, but usually, the bit string related to actual transmission in the system is Ina, related to the encoding process This can be defined by the encoding bits.

도 6의 LDPC 복호화 과정에서는 상기 송신기 동작에 대응하여 단축된 정보어 비트 및 천공된 비트들 또는 리피티션된 비트들에 대해 적절한 동작을 추가하여 복호를 진행할 수 있다. 통상적으로 단축된 정보어 비트는 0이므로, 수신기에서는 패리티 검사 행렬에서 단축된 비트에 해당하는 열을 제외하고 복호를 수행하거나, 단축된 비트에 대해 시스템에서 기 설정된 값을 설정하여 복호를 수행하기도 한다. (0인 것이 확실하기 때문에 통상적으로 시스템에서 설정된 0에 대응되는 가장 높은 값을 설정한다.) 천공된 패리티 비트는 소실로 간주되어 0과 1일 확률이 동일하므로 수신기는 이에 대응되는 값을 삽입하여 복호를 수행할 수도 있으며, 패리티 검사 행렬의 구조에 따라서는 천공된 패리티 비트에 대응되는 행 중에서 적어도 일부를 사용하지 않고 복호화를 수행할 수도 있다. 일반적으로 차수가 1인 열에 대응되는 패리티 비트를 천공할 경우에는 LDPC 복호기에서 패리티 검사 행렬에서 대응되는 부분의 일부 또는 전체를 사용하지 않고 복호를 수행할 수 있기 때문에 복호 복잡도가 줄어드는 장점이 있다.In the LDPC decoding process of FIG. 6, decoding can be performed by adding appropriate operations to the shortened information bits and the punctured bits or repeated bits in response to the transmitter operation. Typically, the shortened information bits are 0, so the receiver performs decoding by excluding the column corresponding to the shortened bits from the parity check matrix, or by setting a value preset in the system for the shortened bits to perform decoding. (Since it is certain to be 0, the highest value corresponding to 0 preset in the system is typically set.) Since the punctured parity bits are regarded as lost and have the same probability of being 0 and 1, the receiver can perform decoding by inserting a corresponding value, or, depending on the structure of the parity check matrix, decoding can be performed without using at least some of the rows corresponding to the punctured parity bits. In general, when puncturing the parity bit corresponding to a column with degree 1, the LDPC decoder can perform decoding without using part or all of the corresponding part in the parity check matrix, which has the advantage of reducing decoding complexity.

그뿐만 아니라 LDPC 부호의 단축 또는 제로 패딩 등을 이용하여 가변 정보어 길이나 가변 부호율을 지원할 때 단축 순서나 단축 방법에 따라 부호의 성능이 개선될 수 있다. 만일 단축 순서가 설정되어 있을 때, 주어진 기본 행렬의 일부 또는 전체의 순서를 적절히 재정렬함으로써 부호화 성능을 개선할 수 있다. 또한 특정 정보어 길이 (또는 코드 블록 길이 CBS)에 대해 리프팅 크기 또는 단축을 적용할 열 블록의 개수를 적절히 결정하여 성능을 개선할 수도 있다. 이와 비슷하게 패리티 비트의 천공 순서 또는 생성된 LDPC 부호어의 전송 순서를 조절함으로써 LDPC 부호의 성능을 개선할 수 있는 방법이 있다. 예를 들어 단순히 패리티 비트들을 천공하여 가변 부호율을 지원하는 것 보다 정보어 비트의 일부와 패리티 비트를 적절히 천공할 경우 더 우수한 성능을 지원할 수 있다. 또한 더 낮은 부호율을 지원하기 위해 LDPC 부호어 일부를 리피티션할 때 그 순서를 사전에 적절히 결정하여 LDPC 부호화 성능을 개선할 수도 있다.In addition, when supporting variable information word length or variable code rate by using LDPC code shortening or zero padding, the code performance can be improved depending on the shortening order or shortening method. If a shortening order is set, the encoding performance can be improved by appropriately rearranging the order of some or all of the given basic matrix. In addition, the performance can be improved by appropriately determining the number of column blocks to which the lifting size or shortening is applied for a specific information word length (or code block length CBS). Similarly, there are methods to improve the performance of LDPC codes by adjusting the puncturing order of the parity bits or the transmission order of the generated LDPC codeword. For example, better performance can be supported by appropriately puncturing some of the information word bits and the parity bits than by simply puncturing the parity bits to support a variable code rate. In addition, when repeating some of the LDPC codewords to support a lower code rate, the LDPC encoding performance can be improved by appropriately determining the order in advance.

통상적으로 상기 LDPC 부호화 과정에서 송신기는 먼저 LDPC 부호화를 적용할 입력 비트(또는 코드 블록)의 크기를 결정한 다음에 그 크기에 따라 상기 LDPC 부호화를 적용할 리프팅 크기(Z)를 결정하고, 상기 리프팅 크기에 따라 적절한 LDPC 지수 행렬 또는 수열을 결정한 다음, 상기 리프팅 크기(Z)와 상기 결정된 지수 행렬 또는 LDPC 수열을 기반으로 LDPC 부호화를 수행한다. 이때 상기 LDPC 지수 행렬 또는 수열을 변환 없이 LDPC 부호화에 적용할 수도 있으며, 경우에 따라 상기 LDPC 지수 행렬 또는 수열을 리프팅 크기(Z)에 따라 적절히 변환하여 LDPC 부호화를 수행할 수 있다.Typically, in the LDPC encoding process, the transmitter first determines the size of the input bits (or code blocks) to which the LDPC encoding is to be applied, and then determines the lifting size (Z) to which the LDPC encoding is to be applied based on the size, determines an appropriate LDPC index matrix or sequence based on the lifting size, and then performs LDPC encoding based on the lifting size (Z) and the determined index matrix or LDPC sequence. At this time, the LDPC index matrix or sequence may be applied to LDPC encoding without transformation, or in some cases, the LDPC index matrix or sequence may be appropriately transformed based on the lifting size (Z) to perform LDPC encoding.

마찬가지로 LDPC 복호화 과정에서 수신기는 전송된 LDPC 부호어에 대한 입력 비트 (또는 코드 블록)의 크기를 결정한 다음에 그 크기에 따라 LDPC 복호화를 적용할 리프팅 크기(Z)를 결정하고, 상기 리프팅 크기에 따라 적절한 LDPC 지수 행렬 또는 수열을 결정한 다음, 상기 리프팅 크기(Z)와 상기 결정된 지수 행렬 또는 LDPC 수열을 기반으로 LDPC 복호화를 수행한다. 이때 상기 LDPC 지수 행렬 또는 수열을 변환 없이 LDPC 복호화에 적용할 수도 있으며, 경우에 따라 상기 LDPC 지수 행렬 또는 수열을 리프팅 크기(Z)에 따라 적절히 변환하여 LDPC 복호화를 수행할 수 있다.Similarly, in the LDPC decoding process, the receiver determines the size of the input bits (or code blocks) for the transmitted LDPC codeword, and then determines the lifting size (Z) to apply LDPC decoding based on the size, determines an appropriate LDPC exponent matrix or sequence based on the lifting size, and then performs LDPC decoding based on the lifting size (Z) and the determined exponent matrix or LDPC sequence. At this time, the LDPC exponent matrix or sequence may be applied to LDPC decoding without transformation, and in some cases, the LDPC exponent matrix or sequence may be appropriately transformed based on the lifting size (Z) to perform LDPC decoding.

패리티 검사 행렬에서 패리티 비트에 대응되는 부분 행렬(submatrix)은 효율적인 부호화를 위해서 특수한 구조를 가지는 경우가 많다. 이 경우에 리프팅에 의해 부호화 방법 또는 복잡도에 변화가 생길 수도 있다. 따라서 동일한 부호화 방법 또는 복잡도 유지를 위해서 패리티 검사 행렬에서 패리티에 대응되는 부분 행렬에 대한 지수 행렬의 일부에는 리프팅이 적용되지 않거나 정보어 비트에 대응되는 부분 행렬에 대한 지수 행렬에 적용하는 리프팅 방식과 서로 다른 리프팅이 적용될 수 있다. 다시 말하면, 지수 행렬 내에서 정보어 비트에 대응되는 수열에 적용하는 리프팅 방식과 패리티 비트에 대응되는 수열에 적용하는 리프팅 방식이 서로 다르게 설정될 수 있으며, 경우에 따라 패리티 비트에 대응되는 수열의 일부 또는 전체에는 리프팅을 적용하지 않아 수열 변환 없이 고정된 값이 사용될 수도 있다.In a parity check matrix, the submatrix corresponding to the parity bits often has a special structure for efficient encoding. In this case, lifting may change the encoding method or complexity. Therefore, in order to maintain the same encoding method or complexity, lifting may not be applied to some of the exponent matrices for the submatrix corresponding to the parity in the parity check matrix, or a different lifting method may be applied to the exponent matrix for the submatrix corresponding to the information word bits. In other words, the lifting method applied to the sequence corresponding to the information word bits within the exponent matrix may be set differently from the lifting method applied to the sequence corresponding to the parity bits, and in some cases, lifting may not be applied to some or all of the sequence corresponding to the parity bits, so that a fixed value may be used without sequence transformation.

도 7은 본 개시의 일 실시 예에 따른 송신 장치 블록 구성도이다.Figure 7 is a block diagram of a transmitter device according to an embodiment of the present disclosure.

구체적으로, 도 7과 같이, 송신 장치(700)는 가변 길이 입력 비트들을 처리하기 위해, 세그멘터이션부(710), 제로 패딩부(720), LDPC 부호화부(730), 레이트 매칭부(740), 변조부(750) 등을 포함할 수 있다. 레이트 매칭부(740)은 인터리버(741) 및 펑처링/리피티션(repetition)/제로 제거부(742) 등을 포함할 수 있다.Specifically, as shown in FIG. 7, the transmitting device (700) may include a segmentation unit (710), a zero padding unit (720), an LDPC encoding unit (730), a rate matching unit (740), a modulation unit (750), etc., to process variable-length input bits. The rate matching unit (740) may include an interleaver (741) and a puncturing/repetition/zero removal unit (742), etc.

여기에서, 도 7에 도시된 구성 요소는, 가변 길이 입력 비트들에 대한 부호화 및 변조를 수행하는 구성 요소로서, 이는 일 예일뿐이며, 경우에 따라 도 7에 도시된 구성요소 중 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.Here, the components illustrated in FIG. 7 are components that perform encoding and modulation for variable-length input bits, and this is only an example, and in some cases, some of the components illustrated in FIG. 7 may be omitted or changed, and other components may be added.

한편, 송신 장치(700)는 필요한 파라미터(예를 들어, 입력 비트 길이, ModCod (modulation and code rate), 제로 패딩 (또는 단축)을 위한 파라미터, LDPC 부호의 부호율/부호어 길이, 인터리빙(interleaving)을 위한 파라미터, 리피티션(repetition) 및 펑처링(puncturing) 등을 위한 파라미터 및 변조 방식 중 적어도 하나)를 결정하고, 결정된 파라미터를 기반으로 입력 비트를 부호화하여 수신 장치(800)로 전송할 수 있다.Meanwhile, the transmitting device (700) can determine necessary parameters (e.g., input bit length, ModCod (modulation and code rate), parameters for zero padding (or shortening), code rate/code length of LDPC code, parameters for interleaving, parameters for repetition and puncturing, and at least one of modulation methods), and encode the input bits based on the determined parameters and transmit them to the receiving device (800).

입력 비트들의 수가 가변적이라는 점에서, 입력 비트들의 수가 기설정된 값보다 큰 경우, 입력 비트들은 기설정된 값 이하의 길이를 갖도록 세그먼테이션 될 수 있다. 또한 세그먼트된 블록 각각은 하나의 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 can be segmented to have a length less than or equal to the preset value. In addition, each segmented block can 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 and the input bits can correspond to one LDPC coded block.

한편, 송신 장치(700)는 부호화, 인터리빙 및 변조에 이용되는 각종 파라미터를 저장하고 있을 수 있다. 여기에서, 부호화에 이용되는 파라미터는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보 들 중 적어도 하나를 포함할 수 있다. 그리고, 인터리빙에 이용되는 파리미터는 인터리빙 룰에 대한 정보를 포함할 수 있으며, 변조에 이용되는 파리미터는 변조 방식에 대한 정보를 포함할 수 있다. 또한 펑처링에 관한 정보는 펑처링 길이를 포함할 수 있다. 또한 리피티션에 관한 정보는 리피티션 길이를 포함할 수 있다. 상기 패리티 검사 행렬에 대한 정보는 본 개시에서 제시하는 패리티 행렬을 사용할 경우 순환 행렬의 지수 값 또는 그와 대수적으로 동일한 값들을 포함할 수 있다.Meanwhile, the transmitting device (700) may store various parameters used for encoding, interleaving, and modulation. Here, the parameter used for encoding may include at least one of information on a code rate, a codeword length, and a parity check matrix of an LDPC code. In addition, the parameter used for interleaving may include information on an interleaving rule, and the parameter used for modulation may include information on a modulation method. In addition, information on puncturing may include a puncturing length. In addition, information on repetition may include a repetition length. The information on the parity check matrix may include an exponent value of a circulant matrix or values algebraically identical thereto when using the parity matrix presented in the present disclosure.

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

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

도 8은 본 개시의 일 실시 예에 따른 수신 장치 블록 구성도이다.Figure 8 is a block diagram of a receiving device according to an embodiment of the present disclosure.

구체적으로, 도 8과 같이, 수신 장치(800)는 가변 길이 정보들을 처리하기 위해, 복조부(810), 레이트 디매칭부(820), LDPC 복호화부(830), 제로 제거부(840) 및 디세그멘테이이션부(850) 등을 포함할 수 있다. 레이트 디매칭부(820)는 LLR(log likelihood ratio) 삽입부(822), LLR 컴바이너(823), 디인터리버(824) 등을 포함할 수 있다.Specifically, as shown in FIG. 8, the receiving device (800) may include a demodulation unit (810), a rate dematching unit (820), an LDPC decoding unit (830), a zero removal unit (840), and a desegmentation unit (850) to process variable length information. The rate dematching unit (820) may include an LLR (log likelihood ratio) insertion unit (822), an LLR combiner (823), a deinterleaver (824), and the like.

여기에서, 도 8에 도시된 구성요소는, 도 8에 도시된 구성요소에 대응되는 기능을 수행하는 구성요소로서, 이는 일 예일뿐이고 경우에 따라 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.Here, the components illustrated in FIG. 8 are components that perform functions corresponding to the components illustrated in FIG. 8, and this is only an example, and some of them may be omitted or changed depending on the case, and other components may be added.

본 개시에서의 패리티 검사 행렬은 메모리를 이용하여 독출 (read)될 수도 있고, 송신 장치 또는 수신 장치에서 사전에 주어질 수도 있고, 송신 장치 또는 수신 장치에서 직접 생성될 수도 있다. 또한 송신 장치는 상기 패리티 검사 행렬에 대응되는 수열 또는 지수 행렬 또는 그와 대수적으로 동일한 값 등을 저장 또는 생성하여 부호화에 적용할 수 있다. 마찬가지로 수신 장치에서도 상기 패리티 검사 행렬에 대응되는 수열 또는 지수 행렬 또는 그와 대수적으로 동일한 값 등을 저장 또는 생성하여 복호화에 적용될 수 있다.The parity check matrix in the present disclosure may be read using memory, may be provided in advance to a transmitting device or a receiving device, or may be directly generated by the transmitting device or the receiving device. In addition, the transmitting device may store or generate a sequence or an exponential matrix corresponding to the parity check matrix, or a value algebraically identical thereto, and apply the same to encoding. Similarly, the receiving device may store or generate a sequence or an exponential matrix corresponding to the parity check matrix, or a value algebraically identical thereto, and apply the same to decoding.

이하에서는 도 8을 기반으로 수신기 동작에 대한 구체적인 설명을 하도록 한다.Below, a detailed description of the receiver operation is provided based on Fig. 8.

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

구체적으로, 복조부(810)는 송신 장치(700)의 변조부(750)에 대응되는 구성요소로, 송신 장치(700)로부터 수신된 신호를 복조하여, 송신 장치(700)에서 전송한 비트들에 대응되는 값들을 생성할 수 있다.Specifically, the demodulator (810) is a component corresponding to the modulation unit (750) of the transmitter (700), and can demodulate a signal received from the transmitter (700) to generate values corresponding to bits transmitted from the transmitter (700).

이를 위해, 수신 장치(800)는 복조 및 복호에 필요한 파라미터(예를 들어, 입력 비트 길이, ModCod (modulation and code rate), 제로 패딩 (또는 단축)을 위한 파라미터, LDPC 부호의 부호율/부호어 길이, 인터리빙(interleaving)을 위한 파라미터, 리피티션(repetition) 및 펑처링(puncturing) 등을 위한 파라미터 및 변조 방식 중 적어도 하나)를 결정하고, 결정된 파라미터를 기반으로 복조부(810)는 모드에 따라 송신 장치(700)로부터 수신된 신호를 복조하여, LDPC 코드워드 비트들에 대응되는 값들을 생성하는 복호화 과정을 수행할 수 있다.To this end, the receiving device (800) determines parameters necessary for demodulation and decoding (e.g., at least one of input bit length, ModCod (modulation and code rate), parameters for zero padding (or shortening), code rate/codeword length of LDPC code, parameters for interleaving, parameters for repetition and puncturing, and modulation methods), and based on the determined parameters, the demodulation unit (810) can perform a decoding process of demodulating a signal received from the transmitting device (700) according to a mode to generate values corresponding to LDPC codeword bits.

한편, 송신 장치(700)에서 전송한 비트들에 대응되는 값은 LR (likelihood ratio) 값이거나 LLR (log likelihood ratio) 값일 수 있다.Meanwhile, the value corresponding to the bits transmitted from the transmitting device (700) may be an LR (likelihood ratio) value or an LLR (log likelihood ratio) value.

구체적으로, LR 값은 송신 장치(700)에서 전송한 비트가 0일 확률과 1일 확률의 비율을 의미하며, LLR 값은 송신 장치(700)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LR 또는 LLR 값은 상기 확률 또는 확률의 비율 또는 확률의 비율에 대한 Log 값에 따라 경판정 되어 그 비트 값 자체로 나타낼 수도 있으며, 또는 상기 확률 또는 확률의 비율 또는 확률의 비율에 대한 Log 값이 속하는 구간에 따라 사전에 정의된 대표 값으로 나타낼 수도 있다. 상기 확률 또는 확률의 비율 또는 확률의 비율에 대한 Log 값이 속하는 구간에 따라 사전에 정의된 대표 값을 결정하는 방법의 일례로는 양자화(quantization)를 고려한 방법 등이 있다. 이외에도 상기 확률 또는 확률의 비율 또는 확률의 비율에 대한 Log 값과 대응되는 다양한 다른 값들을 이용할 수도 있다.Specifically, the LR value refers to the ratio of the probability that the bit transmitted from the transmitting device (700) is 0 and the probability that it is 1, and the LLR value can be expressed as the logarithm of the ratio of the probability that the bit transmitted from the transmitting device (700) is 0 and the probability that it is 1. Alternatively, the LR or LLR value can be expressed as the bit value itself by being determined based on the probability or the ratio of the probability or the Log value for the ratio of the probability, or can be expressed as a representative value defined in advance according to the section to which the probability or the ratio of the probability or the Log value for the ratio of the probability belongs. An example of a method for determining a representative value defined in advance according to the section to which the probability or the ratio of the probability or the Log value for the ratio of the probability belongs includes a method that considers quantization. In addition, various other values corresponding to the probability or the ratio of the probability or the Log value for the ratio of the probability may be used.

본 개시에서는 수신 방법 및 장치의 동작에 대해서 설명하기 위해 편의상 LLR 값에 기반한 동작을 나타내었으나 이에 한정될 필요는 없다.In the present disclosure, for convenience, an operation based on an LLR value is shown to explain the operation of the receiving method and device, but it is not necessary to be limited thereto.

상기 복조부(810)는 LLR 값에 대한 멀티플렉싱(미도시)을 수행하는 기능을 포함한다. 구체적으로, 먹스(미도시)는 송신 장치(700)의 비트 디먹스(미도시)에 대응되는 구성요소로, 비트 디먹스(미도시)에 대응되는 동작을 수행할 수 있다.The above-mentioned demodulator (810) includes a function for performing multiplexing (not shown) on LLR values. Specifically, the multiplexer (not shown) is a component corresponding to the bit demuxer (not shown) of the transmitter (700) and can perform an operation corresponding to the bit demuxer (not shown).

이를 위해, 수신 장치(800)는 송신 장치(700)가 디멀티플렉싱 및 블록 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 저장하고 있을 수 있다. 이에 따라, 먹스(미도시)는 셀 워드(LDPC 코드워드에 대한 수신 심볼을 벡터 값으로 나타낸 정보)에 대응되는 LLR 값에 대해 비트 디먹스(미도시)에서 수행된 디멀티플렉싱 및 블록 인터리빙 동작을 역으로 수행하여, 셀 워드에 대응되는 LLR 값을 비트 단위로 멀티플렉싱할 수 있다.To this end, the receiving device (800) may store information about parameters that the transmitting device (700) used for demultiplexing and block interleaving. Accordingly, the multiplexer (not shown) may perform the demultiplexing and block interleaving operations performed in the bit demuxer (not shown) in reverse order for the LLR values corresponding to the cell words (information representing the received symbols for the LDPC codeword as vector values), thereby multiplexing the LLR values corresponding to the cell words on a bit-by-bit basis.

레이트 디매칭부(820)은 복조부(810)로부터 출력되는 LLR 값들에 LLR 값을 추가로 삽입할 수 있다. 이 경우, 레이트 디매칭부(820)는 복조부(810)로부터 출력되는 LLR 값들의 사이에 미리 약속된 LLR 값들을 삽입할 수 있다.The rate dematching unit (820) can additionally insert LLR values into the LLR values output from the demodulation unit (810). In this case, the rate dematching unit (820) can insert pre-arranged LLR values between the LLR values output from the demodulation unit (810).

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

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

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

또한, 레이트 디매칭부(820)의 LLR 삽입부(822)는 LDPC 코드워드에서 펑처링된 비트들의 위치에 펑처링된 비트들에 대응되는 LLR 값을 삽입할 수 있다. 이 경우, 펑처링된 비트들에 대응되는 LLR 값은 0 또는 사전에 결정되어 있는 다른 값이 될 수 있다. 일반적으로 차수가 1인 패리티 비트들이 펑처링 되었을 경우에 LDPC 복호화 과정에서 성능 개선에 아무런 효과가 없기 때문에 대응되는 펑처링 위치의 일부 또는 전체에 LLR 삽입 없이 LDPC 복호화 과정에서 사용되지 않을 수도 있다. 하지만, 병렬 처리 (parallel process)에 기반한 LDPC 복호화 과정의 효율을 높이기 위해서 LLR 삽입부(822)는 복호화 성능 개선과 무관하게 차수가 1인 펑처링 비트 일부 또는 전체에 대응되는 위치에 사전에 정해진 LLR 값을 삽입할 수 있다.In addition, the LLR insertion unit (822) of the rate dematching unit (820) can insert LLR values corresponding to the punctured bits into the positions of the punctured bits in the LDPC codeword. In this case, the LLR values corresponding to the punctured bits can be 0 or another predetermined value. In general, when parity bits with degree 1 are punctured, there is no effect on improving the performance of the LDPC decoding process, so they may not be used in the LDPC decoding process without inserting LLRs into some or all of the corresponding punctured positions. However, in order to increase the efficiency of the LDPC decoding process based on a parallel process, the LLR insertion unit (822) can insert a predetermined LLR value into positions corresponding to some or all of the punctured bits with degree 1, regardless of the improvement in decoding performance.

이를 위해, 수신 장치(800)는 송신 장치(700)에서 펑처링을 위해 이용한 파라미터에 대한 정보를 저장할 수 있다. 이에 따라, LLR 삽입부(822)는 LDPC 정보어 비트 또는 패리티 비트들이 펑처링된 위치에 그에 대응되는 LLR 값 (예: LLR = 0)을 삽입할 수 있다. 단, 일부 펑처링된 패리티 비트들의 위치에는 이 과정이 생략될 수도 있다.To this end, the receiving device (800) can store information on parameters used for puncturing in the transmitting device (700). Accordingly, the LLR insertion unit (822) can insert an LLR value (e.g., LLR = 0) corresponding to the punctured positions of the LDPC information word bits or parity bits. However, this process may be omitted for positions of some punctured parity bits.

LLR 컴바이너(823)는 LLR 삽입부(822) 및 복조부(810)에서 출력되는 LLR 값을 컴바인 즉, 합산할 수 있다. 구체적으로, LLR 컴바이너(823)는 송신 장치(700)의 펑처링/리피티션/제로 제거부(742)에 대응되는 구성요소로, 리피티션부(742)에 대응되는 동작을 수행할 수 있다. 먼저, LLR 컴바이너(823)는 리피티션된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(700)에서 리피티션된 비트들 생성에 기초가 된 비트들 즉, 리피티션 대상으로 선택되었던 LDPC 정보어 비트 또는 패리티 비트들에 대한 LLR 값일 수 있다.The LLR combiner (823) can combine, i.e., add up, the LLR values output from the LLR insertion unit (822) and the demodulation unit (810). Specifically, the LLR combiner (823) is a component corresponding to the puncturing/repetition/zero removal unit (742) of the transmitter (700) and can perform an operation corresponding to the repetition unit (742). First, the LLR combiner (823) can combine the LLR values corresponding to the repeated bits with another LLR value. Here, the another LLR value may be an LLR value for the bits that formed the basis for generating the repeated bits in the transmitter (700), i.e., the LDPC information word bits or parity bits that were selected as repetition targets.

즉, 상술한 바와 같이, 송신 장치(700)는 LDPC 부호화 비트들을 선택하고, 이들을 LDPC 정보어 비트들 및 LDPC 패리티 비트들 사이에서 리피티션시켜 수신 장치(800)로 전송하게 된다. 이에 따라, LDPC 부호화 비트들에 대한 LLR 값은 리피티션된 LDPC 부호화 비트들에 대한 LLR 값 및 리피티션되지 않은 LDPC 부호화 비트들에 대한 LLR 값으로 구성될 수 있다. LLR 컴바이너(823)는 동일한 LDPC 부호화 비트들에 대한 LLR 값들을 컴바인할 수 있다.That is, as described above, the transmitting device (700) selects LDPC encoded bits, repeats them between LDPC information bits and LDPC parity bits, and transmits them to the receiving device (800). Accordingly, the LLR value for the LDPC encoded bits can be composed of an LLR value for the repeated LDPC encoded bits and an LLR value for the non-repeated LDPC encoded bits. The LLR combiner (823) can combine the LLR values for the same LDPC encoded bits.

이를 위해, 수신 장치(800)는 송신 장치(700)에서 리피티션을 위해 이용한 파라미터에 대한 정보를 저장할 수 있다. 이에 따라, LLR 컴바이너(823)는 리피티션된 LDPC 부호화 비트들에 대한 LLR 값을 판단하고, 이를 리피티션의 기초가 된 LDPC 부호화 비트들에 대한 LLR 값과 컴바인할 수 있다.To this end, the receiving device (800) can store information about parameters used for repetition in the transmitting device (700). Accordingly, the LLR combiner (823) can determine the LLR value for the repeated LDPC encoded bits and combine it with the LLR value for the LDPC encoded bits that formed the basis of the repetition.

또한, LLR 컴바이너(823)는 재전송 혹은 IR (increment redundancy)된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(700)에서 재전송 혹은 IR된 비트들 생성에 기초가 된 LDPC 부호어 비트들의 일부 또는 전체에 대한 LLR 값일 수 있다.Additionally, the LLR combiner (823) can combine the LLR value corresponding to the retransmitted or IR (increment redundancy) bits with another LLR value. Here, the other LLR value can be an LLR value for some or all of the LDPC codeword bits that formed the basis for generating the retransmitted or IR bits in the transmitting device (700).

상술한 바와 같이, 송신 장치(700)는 HARQ를 위하여 NACK이 발생할 경우 부호어 비트들중 일부 비트들 혹은 모든 비트들을 수신 장치(800)로 전송할 수 있다.As described above, when a NACK occurs for HARQ, the transmitting device (700) can transmit some or all of the codeword bits to the receiving device (800).

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

이를 위해, 수신 장치(800)는 송신 장치(700)에서 재전송 혹은 IR비트의 생성을 위해 이용한 파라미터에 대한 정보를 저장할 수 있다. 이에 따라, LLR 컴바이너(823)는 재전송 혹은 IR비트들의 수에 대한 LLR 값을 판단하고, 이를 재전송 비트들의 생성에 기초가 된 LDPC 부호화 비트들에 대한 LLR 값과 컴바인할 수 있다.To this end, the receiving device (800) can store information on parameters used by the transmitting device (700) to generate retransmission or IR bits. Accordingly, the LLR combiner (823) can determine an LLR value for the number of retransmission or IR bits and combine it with an LLR value for LDPC encoded bits that serve as the basis for generating retransmission bits.

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

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

이를 위해, 수신 장치(800)는 송신 장치(700)가 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 저장하고 있을 수 있다. 이에 따라, 디인터리버(824)는 전송된 LDPC 부호화 비트들에 대응되는 LLR 값에 대해 인터리버(741)에서 수행된 인터리빙 동작을 역으로 수행하여, 상기 전송된 LDPC 부호화 비트들에 대응되는 LLR 값을 디인터리빙 할 수 있다.To this end, the receiving device (800) may store information about the parameters that the transmitting device (700) used for interleaving. Accordingly, the deinterleaver (824) may reversely perform the interleaving operation performed by the interleaver (741) on the LLR values corresponding to the transmitted LDPC coded bits, thereby deinterleaving the LLR values corresponding to the transmitted LDPC coded bits.

LDPC 복호화부(830)는 레이트 디매칭부(820)에서 출력되는 LLR 값에 기반하여 LDPC 복호화를 수행할 수 있다.The LDPC decoding unit (830) can perform LDPC decoding based on the LLR value output from the rate dematching unit (820).

구체적으로, LDPC 복호화부(830)는 송신 장치(700)의 LDPC 부호화부(730)에 대응되는 구성요소로, LDPC 부호화부(730)에 대응되는 동작을 수행할 수 있다.Specifically, the LDPC decoding unit (830) is a component corresponding to the LDPC encoding unit (730) of the transmitting device (700) and can perform an operation corresponding to the LDPC encoding unit (730).

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

예를 들어, LDPC 복호화부(830)는 합곱 알고리즘에 기반한 반복 복호 방식에 기초하여 레이트 디매칭부(820)에서 출력되는 LLR 값에 기반하여 LDPC 복호화를 수행하고, LDPC 복호화에 따라 에러가 정정된 비트들을 출력할 수 있다. LDPC 복호화부(830)는 패리티 검사 행렬 또는 그에 대응되는 지수 행렬 또는 수열에 기초하여 LDPC 부호어에 대해 LDPC 복호화를 수행한다. 또한 부호율(즉, LDPC 부호의 부호율)에 따라 서로 다르게 정의된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행할 수 있다. LDPC 복호화부(830)는 반복 복호 알고리즘을 통해 LDPC 부호어 비트들에 대응되는 LLR 값을 패싱하여 LDPC 복호화를 수행하여 정보어 비트들을 생성할 수 있다. 여기에서, LLR 값은 LDPC 부호어 비트들에 대응되는 채널 값으로, 다양한 방법으로 표현될 수 있다.For example, the LDPC decoding unit (830) can perform LDPC decoding based on the LLR value output from the rate dematching unit (820) based on an iterative decoding method based on a sum-product algorithm, and output bits whose errors are corrected according to the LDPC decoding. The LDPC decoding unit (830) performs LDPC decoding on the LDPC codeword based on a parity check matrix or an exponential matrix or sequence corresponding thereto. In addition, LDPC decoding can be performed using a parity check matrix defined differently according to a code rate (i.e., a code rate of the LDPC code). The LDPC decoding unit (830) can generate information word bits by performing LDPC decoding by passing the LLR value corresponding to the LDPC codeword bits through an iterative decoding algorithm. Here, the LLR value is a channel value corresponding to the LDPC codeword bits, and can be expressed in various ways.

제로 제거부(840)는 LDPC 복호화부(830)에서 출력되는 비트들에서 제로 비트들을 제거할 수 있다.The zero removal unit (840) can remove zero bits from the bits output from the LDPC decoding unit (830).

구체적으로, 제로 제거부(840)는 송신 장치(700)의 제로 패딩부(720)에 대응되는 구성요소로, 제로 패딩부(720)에 대응되는 동작을 수행할 수 있다.Specifically, the zero removal unit (840) is a component corresponding to the zero padding unit (720) of the transmitting device (700) and can perform an operation corresponding to the zero padding unit (720).

이를 위해, 수신 장치(800)는 송신 장치(700)에서 제로 비트들을 패딩하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 제로 제거부(840)는 LDPC 복호화부(830)에서 출력되는 비트들에서 제로 패딩부(720)에서 패딩되었던 제로 비트들을 제거할 수 있다.To this end, the receiving device (800) may store information about the parameters used to pad zero bits in the transmitting device (700). Accordingly, the zero removal unit (840) may remove zero bits that were padded in the zero padding unit (720) from the bits output from the LDPC decoding unit (830).

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

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

도 9은 본 개시의 일 실시 예에 따른 LDPC 복호화부 구조도를 나타낸다.FIG. 9 shows a structural diagram of an LDPC decoding unit according to an embodiment of the present disclosure.

한편, 상술한 바와 같이 LDPC 복호화부(830)는 반복 복호 알고리즘을 사용하여 LDPC 복호화를 수행할 수 있으며, 이 경우, LDPC 복호화부(830)는 도 9와 같은 구조로 구성될 수 있다. 다만, 도 9에 도시된 세부 구성 역시 일 예일뿐이다.Meanwhile, as described above, the LDPC decoding unit (830) can perform LDPC decoding using an iterative decoding algorithm, and in this case, the LDPC decoding unit (830) can be configured with a structure as shown in FIG. 9. However, the detailed configuration illustrated in FIG. 9 is also just an example.

도 9에 따르면, 복호화 장치(900)는 입력 처리기(901), 메모리(902), 변수 노드 연산기(904), 제어기(906), 검사 노드 연산기(908) 및 출력 처리기(910) 등을 포함한다.According to FIG. 9, the decryption device (900) includes an input processor (901), a memory (902), a variable node operator (904), a controller (906), a check node operator (908), and an output processor (910).

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

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

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

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

검사 노드 연산기(908)는 제어기(906)에서 입력받은 입력 데이터의 주소 정보 및 입력 데이터의 개수 정보에 기반하여 메모리(902)에서 데이터들을 입력받아 검사 노드 연산을 한다. 이후, 검사 노드 연산기(908)는 제어기(906)에서 입력받은 출력 데이터의 주소 정보 및 출력 데이터의 개수 정보에 기초하여 검사 노드 연산 결과들을 메모리(902)에 저장한다. 여기에서, 검사 노드 연산은 도 6을 기반으로 상술한 바 있다.The inspection node operator (908) receives data from the memory (902) and performs inspection node operations based on the address information of the input data and the number information of the input data received from the controller (906). Thereafter, the inspection node operator (908) stores the inspection node operation results in the memory (902) based on the address information of the output data and the number information of the output data received from the controller (906). Here, the inspection node operation has been described above based on FIG. 6.

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

한편, 복호화 장치(900)의 메모리(902)는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보를 저장할 수 있으며, LDPC 복호화부(830)는 이러한 정보를 이용하여 LDPC 복호화를 수행할 수 있다. 하지만, 이는 일 예일뿐, 해당 정보들은 송신 측으로부터 제공될 수도 있다.Meanwhile, the memory (902) of the decoding device (900) can store information on the code rate, codeword length, and parity check matrix of the LDPC code, and the LDPC decoding unit (830) can perform LDPC decoding using this information. However, this is only an example, and the relevant information may be provided from the transmitting side.

참고로 본 개시에서는 통신시스템의 FEC (forward error correction) 기법으로서 LDPC 부호에 국한하여 설명하지만, 일반적으로 통신시스템의 FEC 부호화 및 복호화는 외부 부호(outer code)와 내부 부호(inner code)와 같이 연접된 부호(concatenated code)의 형태로 세분화될 수도 있다. 외부 부호 및 내부 부호의 정의에 따라 송신기는 외부 부호화 이후 내부 부호화를 수행하며, 수신기에서는 내부 복호화를 수행한 이후 외부 복호화를 수행한다.For reference, in this disclosure, the FEC (forward error correction) technique of a communication system is explained only with respect to LDPC codes, but in general, FEC encoding and decoding of a communication system can be subdivided into concatenated codes such as outer codes and inner codes. According to the definition of outer codes and inner codes, the transmitter performs inner encoding after outer encoding, and the receiver performs inner decoding after inner decoding.

외부 부호의 경우에는 CRC (cyclic redundancy check) 부호, BCH (bose-chaudhuri-hocquenghem) 부호, RS (reed-solomon) 부호화 같이 비교적 간단한 오류 검출 (detection) 또는 정정(correction)이 가능한 대수 부호(algebraic code)가 많이 활용되나, 반드시 이에 국한될 필요는 없으며 복수의 부호들의 중복 적용 또한 가능하다.In the case of external codes, algebraic codes that enable relatively simple error detection or correction, such as CRC (cyclic redundancy check) codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, and Reed-Solomon (RS) codes, are often used, but they are not necessarily limited to these, and multiple codes can also be applied overlappingly.

내부 부호의 경우에는 LDPC 부호, Turbo 부호, Polar 부호와 같이 비교적 복잡하지만 오류정정 능력이 우수한 부호화 방식이 많이 활용되나, 반드시 이에 국한될 필요는 없다. (예를 들어 tail-biting convolutional code나 다른 대수 부호가 사용될 수도 있으며, 복수의 부호들의 중복 적용 또한 가능하다.) 참고로 3GPP 5G 시스템에서는 외부 부호는 CRC 부호가 사용되며, 데이터 채널을 위한 내부 부호는 LDPC 부호, 제어 채널을 위한 내부 부호는 Polar 부호가 사용된다.For inner codes, relatively complex but excellent error correction capabilities encoding methods such as LDPC codes, Turbo codes, and Polar codes are widely used, but it is not necessarily limited to these. (For example, tail-biting convolutional codes or other algebraic codes can be used, and overlapping application of multiple codes is also possible.) For reference, in the 3GPP 5G system, CRC codes are used for outer codes, LDPC codes are used for inner codes for data channels, and Polar codes are used for inner codes for control channels.

다양한 방송시스템 및 통신시스템에서는 각 시스템에 최적화된 LDPC 부호를 사용하고 있는데, 본 개시에서는 기본적으로 3GPP 5G 시스템에서 사용되는 LDPC 부호와 동일한 구조의 패리티 검사 행렬에 기초하여 정의되는 LDPC 부호를 사용하는 시스템에 대해서 설명하지만, 반드시 이에 국한할 필요는 없다. 또한 5G 또는 6G 시스템을 포함한 통신 시스템은 다양한 부호율과 다양한 부호 길이를 지원하기 위하여 송신기에서는 레이트 매칭, 수신기에서는 레이트 디매칭이 적용될 수 있으나, 일부 방송 시스템처럼 고정된 LDPC 부호에 기반한 부호화/복호화를 수행하는 시스템에서는 레이트 매칭 또는 레이트 디매칭 뿐만 아니라 다른 동작들의 전부 또는 일부 또한 생략될 수도 있다.Various broadcasting and communication systems use LDPC codes optimized for each system. In this disclosure, a system using an LDPC code defined based on a parity check matrix having the same structure as the LDPC code used in the 3GPP 5G system is described, but is not necessarily limited thereto. In addition, a communication system including a 5G or 6G system may apply rate matching at the transmitter and rate dematching at the receiver to support various code rates and various code lengths. However, in a system that performs encoding/decoding based on a fixed LDPC code, such as some broadcasting systems, not only rate matching or rate dematching but also all or part of other operations may be omitted.

도 10은 본 개시에서 설명할 FEC 부호화부(미도시) 및 FEC 복호화부(미도시)에 적용되는 내부 부호인 LDPC 부호의 패리티 검사 행렬의 일반적인 구조를 나타내었다.FIG. 10 shows the general structure of a parity check matrix of an LDPC code, which is an internal code applied to an FEC encoding unit (not shown) and an FEC decoding unit (not shown) to be described in the present disclosure.

상기 도 10에 도시된 패리티 검사 행렬의 열의 개수는 N, 행의 개수는 (M1 + M2)이다 (단, M1, M2 ≥ 0, M1 + M2 > 0). 일반적으로 패리티 검사 행렬이 최대 랭크 (full rank)를 가질 때 패리티 검사 행렬에서 정보어 비트에 대응되는 열의 개수는 총 열의 개수에서 총 행의 개수를 뺀 수와 같다. 즉, 상기 도 10의 패리티 검사 행렬이 최대 랭크 (M1 + M2)를 가진다면, 정보어 비트의 수 K는 N - (M1 + M2)가 됨을 의미한다. 본 개시에서는 편의상 상기 도 10의 패리티 검사 행렬이 최대 랭크를 가지는 경우에 대해서만 설명하지만, 반드시 이에 국한될 필요는 없다.The number of columns of the parity check matrix illustrated in FIG. 10 is N, and the number of rows is (M 1 + M 2 ) (provided that M 1 , M 2 ≥ 0, M 1 + M 2 > 0). In general, when the parity check matrix has the full rank, the number of columns corresponding to the information word bits in the parity check matrix is equal to the total number of columns minus the total number of rows. That is, if the parity check matrix of FIG. 10 has the full rank (M 1 + M 2 ), the number of information word bits K becomes N - (M 1 + M 2 ). In the present disclosure, for convenience, only the case where the parity check matrix of FIG. 10 has the full rank is described, but the present invention is not necessarily limited thereto.

먼저 상기 도 10의 패리티 검사 행렬을 부분 행렬 A(1010)와 B(1020)로 구성된 패리티 검사 행렬의 제1 파트(the first part of parity-check matrix)와 부분행렬 C(1040), D(1050)와 E(1060)로 구성된 패리티 검사 행렬의 제2 파트 (the second part of parity-check matrix)로 구분할 수 있다 (단, M1 또는 M2 중 하나가 0인 경우에는 제1 파트와 제2 파트로 구분되지 않을 수 있다). 부분행렬 O(1030)은 (M1 × M2) 크기의 0-행렬을 의미한다. 상기 부분행렬 O(1030)은 (M1 × M2) 크기의 0-행렬이기 때문에 상기 패리티 검사 행렬의 제1 파트에 포함되더라도, 행렬의 연산에 아무런 영향을 주지 않는다. 이러한 이유로 본 개시에서는 편의상 패리티 검사 행렬의 제1 파트는 (M1 × M2) 크기의 0-행렬을 제외한 부분 행렬 A(1010)와 B(1020)로 구성된 행렬로 정의되지만, 필요에 따라 상기 패리티 검사 행렬의 제1 파트는 (M1 × M2) 크기의 0-행렬을 포함할 수도 있다.First, the parity-check matrix of FIG. 10 can be divided into a first part of the parity-check matrix composed of submatrices A (1010) and B (1020) and a second part of the parity-check matrix composed of submatrices C (1040), D (1050), and E (1060) (however, if either M 1 or M 2 is 0, the first part and the second part may not be divided). Submatrix O (1030) means a 0-matrix of the size (M 1 × M 2 ). Since the submatrix O (1030) is a 0-matrix of the size (M 1 × M 2 ), even if it is included in the first part of the parity-check matrix, it has no effect on the matrix operation. For this reason, in the present disclosure, for convenience, the first part of the parity check matrix is defined as a matrix composed of submatrices A(1010) and B(1020) excluding the 0-matrix of size (M 1 × M 2 ), but if necessary, the first part of the parity check matrix may also include the 0-matrix of size (M 1 × M 2 ).

상기 도 10의 패리티 검사 행렬이 만일 리프팅 크기 또는 블록 크기가 Z인 QC LDPC 부호로 정의되어 있다면, 상기 도 10의 패리티 검사 행렬은 , ( ,)에 대해 의 크기를 갖는 기본 행렬 또는 무게 행렬에 대응될 수 있다. 마찬가지로 부분 행렬 A(1010)와 B(1020)로 구성된 패리티 검사 행렬의 제1 파트는 또는 크기의 기본 행렬 또는 무게 행렬의 부분 행렬에 대응되고, 부분행렬 C(1040), D(1050)와 E(1060)로 구성된 패리티 검사 행렬의 제2 파트는 또는 크기의 기본 행렬 또는 무게 행렬의 부분 행렬에 대응된다.If the parity check matrix of the above Fig. 10 is defined as a QC LDPC code with a lifting size or block size of Z, the parity check matrix of the above Fig. 10 and , ( , ) about can correspond to a basic matrix or weight matrix having a size of . Similarly, the first part of the parity check matrix consisting of submatrices A(1010) and B(1020) is or The second part of the parity check matrix, which corresponds to a submatrix of the fundamental matrix or weight matrix of size and consists of submatrixes C(1040), D(1050) and E(1060), or It corresponds to a submatrix of the fundamental matrix or weight matrix of size.

상기 도 10의 패리티 검사 행렬을 편의상 H라 하고, 부분 행렬 A(1010) 또는 C(1040)에 대응되는 정보어 비트들(또는 정보어 비트 벡터)을 라 하고, 부분 행렬 B(1020) 또는 D(1050)에 대응되는 제1 패리티 비트들(또는 제1 패리티 비트 벡터)를 라 하고, 부분 행렬 E(1060)에 대응되는 제2 패리티 비트들(또는 제2 패리티 비트 벡터)를 라 하면, 수학식 1로부터 다음 수학식 13과 같은 관계식을 얻을 수 있다.For convenience, the parity check matrix of the above figure 10 is called H, and the information word bits (or information word bit vector) corresponding to the submatrix A (1010) or C (1040) are and the first parity bits (or first parity bit vector) corresponding to the submatrix B(1020) or D(1050) and the second parity bits (or second parity bit vector) corresponding to the submatrix E(1060) Then, from mathematical expression 1, we can obtain a relationship such as mathematical expression 13.

[수학식 13][Equation 13]

상기 수학식 13을 참고하면, 제1 패리티 벡터 는 정보어 비트 벡터 i와 패리티 검사 행렬의 제1 파트에 기반하여 획득 (또는 계산 또는 결정)될 수 있다. 또한 상기 패리티 벡터 를 획득한 다음에 정보어 비트 벡터 , 상기 패리티 벡터 그리고 패리티 검사 행렬 제2 파트에 기반하여 패리티 벡터 가 획득 (또는 계산 또는 결정)될 수 있다.Referring to the above mathematical expression 13, the first parity vector can be obtained (or calculated or determined) based on the information word bit vector i and the first part of the parity check matrix. Also, the parity vector After obtaining the information word bit vector , the above parity vector And the parity vector based on the second part of the parity check matrix can be obtained (or calculated or determined).

본 개시에서는 정보어 비트 벡터 에 기반하여 제1 패리티 벡터 를 생성하기 위해 필요한 A(1010)와 B(1020)로 구성된 패리티 검사 행렬의 제1 파트를 편의상 코어 파트 또는 행렬 (core part or core matrix) 또는 커널 파트 또는 행렬(kernel part or kernel matrix) 또는 프리코딩 파트 또는 행렬(precoding part or matrix)과 같이 부를 수 있다. 또한, 정보어 비트 벡터 에 및/또는 (and/or) 제1 패리티 벡터 를 기반하여 제2 패리티 벡터 를 생성하기 위해 필요한 C(1040), D(1050)와 E(1060)로 구성된 패리티 검사 행렬의 제2 파트를 확장 파트 (extension part) 또는 싱글 패리티 검사 확장 파트 (single parity-check extension part) 등으로 부를 수 있다.In this disclosure, information word bit vector Based on the first parity vector The first part of the parity check matrix consisting of A(1010) and B(1020) required to generate may be conveniently called a core part or matrix, a kernel part or matrix, or a precoding part or matrix. In addition, the information word bit vector and/or the first parity vector Based on the second parity vector The second part of the parity check matrix consisting of C(1040), D(1050) and E(1060) required to generate may be called an extension part or a single parity-check extension part.

구체적인 예로서 앞서 설명한 3GPP 5G 표준에서 정의된 기본 행렬 1 및 기본 행렬 2 의 코어 행렬 부분을 각각 나타내면 다음과 같다.As a concrete example, the basic matrix 1 defined in the 3GPP 5G standard described above and basic matrix 2 Each core matrix part is represented as follows.

의 코어 행렬: Core matrix of:

0 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 230 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 23

0 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 240 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 24

0 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 250 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 25

0 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 250 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 25

의 코어 행렬: Core matrix of:

0 1 2 3 6 9 10 110 1 2 3 6 9 10 11

0 3 4 5 6 7 8 9 11 120 3 4 5 6 7 8 9 11 12

0 1 3 4 8 10 12 130 1 3 4 8 10 12 13

1 2 4 5 6 7 8 9 10 131 2 4 5 6 7 8 9 10 13

의 코어 행렬의 크기는 4×26이며, 의 코어 행렬의 크기는 4×14이다. 또한 패리티 검사 행렬의 기준으로 코어 행렬의 크기는 각각 4Z×26Z, 4Z×14Z이다. 구체적인 예로서 3GPP 5G 규격 TS 38.212에서 리프팅 크기 집합 인덱스 iLS= 0인 경우에 대해 정의된 LDPC 부호의 지수 행렬의 일부를 도 11a 및 도 11b에 나타내었다. 상기 도 11a 및 도 11b에서 기본 행렬 또는 패리티 검사 행렬의 코어 행렬에 대응되는 부분은 다음과 같다. The size of the core matrix is 4×26, The size of the core matrix is 4×14. In addition, the sizes of the core matrices based on the parity check matrix are 4Z×26Z and 4Z×14Z, respectively. As a specific example, a part of the index matrix of the LDPC code defined for the case where the lifting size set index iLS = 0 in the 3GPP 5G standard TS 38.212 is shown in FIGS. 11a and 11b. The part corresponding to the core matrix of the basic matrix or the parity check matrix in FIGS. 11a and 11b is as follows.

, 의 코어 행렬: , Core matrix of:

250 69 226 159 100 10 59 229 110 191 9 195 23 190 35 239 31 1 0250 69 226 159 100 10 59 229 110 191 9 195 23 190 35 239 31 1 0

2 239 117 124 71 222 104 173 220 102 109 132 142 155 255 28 0 0 02 239 117 124 71 222 104 173 220 102 109 132 142 155 255 28 0 0 0

106 111 185 63 117 93 229 177 95 39 142 225 225 245 205 251 117 0 0106 111 185 63 117 93 229 177 95 39 142 225 225 245 205 251 117 0 0

121 89 84 20 150 131 243 136 86 246 219 211 240 76 244 144 12 1 0121 89 84 20 150 131 243 136 86 246 219 211 240 76 244 144 12 1 0

, 의 코어 행렬: , Core matrix of:

9 117 204 26 189 205 0 09 117 204 26 189 205 0 0

167 166 253 125 226 156 224 252 0 0167 166 253 125 226 156 224 252 0 0

81 114 44 52 240 1 0 081 114 44 52 240 1 0 0

8 58 158 104 209 54 18 128 0 08 58 158 104 209 54 18 128 0 0

한편, 본 개시에서는 상기 도 10에 대응되는 패리티 검사 행렬에 대해 다음과 같은 조건에 기반한 패리티 검사 행렬이 고려될 수 있다.Meanwhile, in the present disclosure, a parity check matrix based on the following conditions may be considered for the parity check matrix corresponding to the above-described FIG. 10.

이하에서 부분 행렬 A(1010) 및 부분 행렬 B(1020)은 각각 제1 부분 행렬 및 제2 부분 행렬로 칭할 수 있다. 또한, 하기에서 순환 순열 행렬은 리프팅 크기 Z에 기반하여 결정된 의 크기를 갖는 순환 순열 행렬을 의미할 수 있으며, 예를 들어 수학식 5 또는 수학식 6과 같이 구성될 수 있다. 또한, 본 개시에서 순환 행렬은 순환 순열 행렬들이 중첩된 행렬을 의미할 수 있다.Hereinafter, submatrix A(1010) and submatrix B(1020) may be referred to as the first submatrix and the second submatrix, respectively. In addition, the cyclic permutation matrix below is determined based on the lifting size Z. It may mean a cyclic permutation matrix having a size of , and may be configured as in mathematical expression 5 or mathematical expression 6, for example. In addition, in the present disclosure, a cyclic matrix may mean a matrix in which cyclic permutation matrices are overlapped.

조건 1(a) : 상기 도 10의 QC-LDPC 부호에 대한 패리티 검사 행렬에서 부분 행렬 B(1020)가 크기의 순환 순열 행렬들이 중첩된 순환 행렬을 포함하지 않는 경우에, 상기 부분 행렬 B(1020)의 모든 열 블록의 무게는 2 이상이며, 무게가 3 이상의 홀수인 열 블록이 상기 부분 행렬 B(1020)에 적어도 하나 이상 포함될 수 있다. 또한, 상기 부분 행렬 B(1020)에 대응되는 기본 행렬 의 모든 열의 무게는 2 이상이며, 무게가 3 이상의 홀수인 열이 상기 기본 행렬 에 적어도 하나 이상 포함될 수 있다. Condition 1(a) : In the parity check matrix for the QC-LDPC code of Fig. 10, the submatrix B(1020) is In the case where the circulant permutation matrices of the size do not include nested circulant matrices, the weights of all column blocks of the submatrix B(1020) are 2 or more, and at least one column block with an odd weight of 3 or more can be included in the submatrix B(1020). In addition, the basic matrix corresponding to the submatrix B(1020) All columns of the matrix have a weight of 2 or greater, and the columns with an odd weight of 3 or greater are the basic matrix. may contain at least one or more of:

조건 1(b) : 상기 도 10의 QC-LDPC 부호에 대한 패리티 검사 행렬에서 부분 행렬 B(1020)가 크기의 순환 순열 행렬들이 중첩된 순환 행렬을 적어도 하나 이상 포함하는 경우에, 상기 부분 행렬 B(1020)의 모든 열 블록의 무게는 2 이상이며, 무게가 3 이상의 홀수인 열 블록이 적어도 하나 이상 상기 부분 행렬 B(1020)에 포함된다. 또한, 상기 부분 행렬 B(1020)에 대응되는 무게 행렬 에서 모든 열의 원소들의 합은 2 이상이며, 열의 원소들의 합이 3 이상의 홀수인 열이 상기 무게 행렬 에 적어도 하나 이상 포함된다. (상기 크기의 순환 순열 행렬들이 중첩된 순환 행렬이 포함되어 있는 열 블록의 무게가 2일 수도 3 이상일 수도 있다.) Condition 1(b) : In the parity check matrix for the QC-LDPC code of Fig. 10, the submatrix B(1020) is If the circulant permutation matrices of the size include at least one nested circulant matrix, the weights of all column blocks of the submatrix B(1020) are 2 or greater, and at least one column block whose weight is an odd number of 3 or greater is included in the submatrix B(1020). In addition, the weight matrix corresponding to the submatrix B(1020) In the weight matrix, the sum of the elements of all columns is 2 or more, and the column whose sum of the elements of the column is an odd number of 3 or more At least one of the above is included. The weight of the column block containing the nested circulant matrices of circulant permutation matrices of size 2 may be 2 or 3 or more.)

조건 2 : 상기 도 10의 부분 행렬 E(1060)의 모든 열 무게 및 행 무게는 1이다. 또한, 상기 부분 행렬 E(1060)에 대응되는 기본 행렬 및 무게 행렬의 부분 행렬의 열 무게 및 행 무게는 모두 1이다. 따라서 E(1060) 및 E(1060)에 대응되는 기본 행렬 및 무게 행렬의 부분 행렬은 항등 행렬(identity matrix)이거나 적절한 열 순열(permutation) 또는 행 순열 등을 적용하면, 항등 행렬로 변환되는 행렬이다. (즉, E(1060)는 항등 행렬이거나 그와 동일한(equivalent)한 대수적 특성을 갖는 행렬임을 의미한다.) 만일 상기 도 10의 패리티 검사 행렬이 준순환 패리티 검사 행렬로 정의될 경우에, 상기 부분 행렬 E는 복수 개의 크기 항등 행렬들로 구분할 수 있다. Condition 2 : All column weights and row weights of the submatrix E(1060) of the above Fig. 10 are 1. In addition, the column weights and row weights of the submatrix of the basic matrix and the weight matrix corresponding to the above submatrix E(1060) are all 1. Therefore, E(1060) and the submatrix of the basic matrix and the weight matrix corresponding to E(1060) are identity matrices or matrices that are converted to identity matrices when appropriate column permutation or row permutation is applied. (That is, E(1060) is an identity matrix or a matrix having an equivalent algebraic property.) If the parity check matrix of the above Fig. 10 is defined as a quasi-cyclic parity check matrix, the submatrix E has multiple They can be classified into size identity matrices.

상기 도 11a 및 도 11b는 조건 1(a), 조건 1(b), 또는 조건 2 중 적어도 하나를 만족하는 패리티 검사 행렬의 실시 예이다. 앞서 간단히 설명한 것처럼, 상기 도 11a는 상기 도 10에서 K = 22*Z, M1 = 4*Z, M2 = 2*Z인 경우의 예이며, 상기 도 11b는 상기 도 10에서 K = 10*Z, M1 = 4*Z, M2 = 7*Z인 경우의 예이다. 상기 도 10, 도 11a 및 도 11b의 패리티 검사 행렬에 대응되는 LDPC 부호의 부호율은 K/N이므로, M2가 낮아질수록 더 낮은 부호율의 부호어를 생성할 수 있음에 유의한다. 다시 말해, 본 개시에 따르면 상기 도 11a 및 도 11b를 포함하면서 차수가 1인 열들을 더 확장함으로써 더 낮은 부호율을 지원할 수 있는 패리티 검사 행렬에 기반하여 LDPC 부호화 및 복호화가 수행될 수 있다.The above FIGS. 11a and 11b are examples of parity check matrices that satisfy at least one of Condition 1(a), Condition 1(b), or Condition 2. As briefly described above, FIG. 11a is an example of the case where K = 22*Z, M 1 = 4*Z, and M 2 = 2*Z in FIG. 10, and FIG. 11b is an example of the case where K = 10*Z, M 1 = 4*Z, and M 2 = 7*Z in FIG. 10. Note that since the code rate of the LDPC code corresponding to the parity check matrices of FIGS. 10, 11a, and 11b is K/N, a codeword with a lower code rate can be generated as M 2 decreases. In other words, according to the present disclosure, LDPC encoding and decoding can be performed based on a parity check matrix that can support a lower code rate by further expanding columns of degree 1 while including the above-described FIGS. 11a and 11b.

만일 준순환 LDPC 부호의 패리티 검사 행렬에 대해 LDPC 부호화 또는 복호화를 위해 리프팅 크기 집합을 사용할 경우에는 상기 패리티 검사 행렬의 한 열 블록을 구성하는 열의 개수가 리프팅 크기의 최솟값 이상이다. 예를 들면, 리프팅 크기로서 표 6의 값들이 사용될 경우에는 상기 패리티 검사 행렬의 한 열 블록을 구성하는 열의 개수가 최소 4개 이상일 수 있다. 따라서 조건 1(a), 조건 1(b), 또는 조건 2 중 적어도 하나를 만족하는 상기 도 10, 도 11a 및 도 11b과 같은 구조를 갖는 LDPC 부호의 패리티 검사 행렬에 대해 실질적으로 표 6의 리프팅 크기가 적용되는 통신시스템에서는 부분 행렬 B(1020)에서 차수가 3인 열의 개수가 적어도 4개 이상임을 의미한다.If a set of lifting sizes is used for LDPC encoding or decoding for a parity check matrix of a quasi-cyclic LDPC code, the number of columns constituting one column block of the parity check matrix is greater than or equal to the minimum value of the lifting size. For example, if the values in Table 6 are used as the lifting sizes, the number of columns constituting one column block of the parity check matrix may be at least 4 or more. Therefore, in a communication system in which the lifting sizes in Table 6 are practically applied to a parity check matrix of an LDPC code having a structure as in FIGS. 10, 11a, and 11b that satisfies at least one of Condition 1(a), Condition 1(b), or Condition 2, this means that the number of columns with degree 3 in the submatrix B(1020) is at least 4 or more.

참고로 패리티 검사 행렬 또는 기본 행렬 또는 무게 행렬에서 코어 행렬은 다음과 같이 하나 또는 두 개의 행을 더 추가하여 조건 1(a), 조건 1(b), 또는 조건 2 중 적어도 하나를 만족하는 형태로 정의될 수도 있다.Note that the core matrix in the parity check matrix or base matrix or weight matrix can also be defined in a form that satisfies at least one of Condition 1(a), Condition 1(b), or Condition 2 by adding one or two more rows as follows.

의 코어 행렬: Core matrix of:

0 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 230 1 2 3 5 6 9 10 11 12 13 15 16 18 19 20 21 22 23

0 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 240 2 3 4 5 7 8 9 11 12 14 15 16 17 19 21 22 23 24

0 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 250 1 2 4 5 6 7 8 9 10 13 14 15 17 18 19 20 24 25

0 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 250 1 3 4 6 7 8 10 11 12 13 14 16 17 18 20 21 22 25

0 1 260 1 26

의 코어 행렬: Core matrix of:

0 1 2 3 6 9 10 110 1 2 3 6 9 10 11

0 3 4 5 6 7 8 9 11 120 3 4 5 6 7 8 9 11 12

0 1 3 4 8 10 12 130 1 3 4 8 10 12 13

1 2 4 5 6 7 8 9 10 131 2 4 5 6 7 8 9 10 13

0 1 11 140 1 11 14

하지만, 본 개시에서는 편의상 상기 조건 1(a) 또는 조건 1(b)만을 만족하는 부분 행렬 B를 포함하는 패리티 검사 행렬 [A(1010) B(1020)]을 코어 행렬(또는 커널 행렬 또는 프리코딩 행렬)로 간주한다. 즉, 본 발명에서 기본 행렬의 제1 파트 또는 패리티 검사 행렬의 제1 파트 또는 코어 행렬/파트 또는 커널 행렬/파트 등은 차수가 1인 패리티 비트에 대응되는 열들과, 상기 차수가 1인 패리티 비트에 직접 관련된 행들이 제외된 부분 행렬을 의미한다.However, in the present disclosure, for convenience, a parity check matrix [A(1010) B(1020)] including a partial matrix B that satisfies only Condition 1(a) or Condition 1(b) is regarded as a core matrix (or kernel matrix or precoding matrix). That is, in the present invention, the first part of the basic matrix or the first part of the parity check matrix or the core matrix/part or the kernel matrix/part, etc. means a partial matrix from which columns corresponding to parity bits of degree 1 and rows directly related to the parity bits of degree 1 are excluded.

본 개시의 일 실시예로서 무게 행렬에 따른 LDPC 부호의 성능 개선 방법 및 복호 수렴 속도 개선 방법에 대해 설명한다.As an embodiment of the present disclosure, a method for improving the performance of an LDPC code according to a weight matrix and a method for improving the decoding convergence speed are described.

먼저 [기본 행렬 결정 방법]에서 정의된 기본 행렬 2 의 코어 행렬은 4개의 행으로 이루어져 있는데, 이를 수학식 14와 같은 무게 행렬로도 표현할 수 있다. 기본 행렬 1 또는 기본 행렬 2 에 의해 정의된 LDPC 부호는 하나의 크기 블록에 하나의 순환 순열 행렬이 대응되도록 정의하고 있기 때문에 기본 행렬과 무게 행렬은 기본적으로 같다.First, the basic matrix 2 defined in [How to determine the basic matrix] The core matrix consists of four rows, which can also be expressed as a weight matrix as in Equation 14. Basic matrix 1 or base matrix 2 An LDPC code defined by is one Since we define that one cyclic permutation matrix corresponds to a size block, the base matrix and the weight matrix are basically the same.

[수학식 14][Equation 14]

이와 같이 하나의 크기 블록에 최대 하나의 순환 순열 행렬이 대응되도록 설계된 LDPC 부호는 복호화 시 하나의 행 블록 단위로 레이어드 복호화(layered decoding)을 수행하는데 적합한 구조이다. 즉, LDPC 부호의 구조는 Z-단위의 병렬 처리 프로세서를 통한 복호화를 수행하는데 적합한 구조임을 의미한다. 레이어드 복호란 레이어 별로 순차적으로 복호를 수행하는 동작을 의미한다. 따라서, 하나의 행 블록 단위로 순차적으로 복호가 수행될 수도 있으며, 또는 복수 개의 행 블록을 하나의 레이어로 구성하여 레이어 별로 복호가 수행될 수 있다. 한편, 본 개시에서 레이어드 복호를 레이어 별로 순차적으로 복호를 수행하는 동작으로 정의하였으나, 순차적으로 복호를 수행한다는 것은 레이어별로 복호를 수행한다는 것을 의미할 뿐, 레이어의 인덱스 순서대로 복호가 수행되어야함을 의미하는 것은 아니다. 또한, 본 개시에서 순차적으로 복호를 수행한다는 의미는 레이어드 복호 순서 또는 패턴 (또는 수열)에 따라 순차적으로 복호를 수행하는 것을 의미할 수 있다. 또한, 하나의 패리티 검사 행렬의 구조에 따라 일부의 레이어는 하나의 행 블록으로 구성되고 다른 일부의 레이어는 복수의 행 블록으로 구성될 수 있다.In this way, one An LDPC code, which is designed so that at most one cyclic permutation matrix corresponds to a block of size, is a structure suitable for performing layered decoding in units of one row block during decoding. In other words, the structure of the LDPC code is a structure suitable for performing decoding through a Z-unit parallel processing processor. Layered decoding refers to an operation of sequentially performing decoding for each layer. Therefore, decoding may be performed sequentially in units of one row block, or decoding may be performed layer by layer by configuring multiple row blocks as one layer. Meanwhile, although layered decoding in the present disclosure is defined as an operation of sequentially performing decoding for each layer, performing decoding sequentially only means performing decoding for each layer, and does not mean that decoding must be performed in the order of the layer indexes. In addition, performing decoding sequentially in the present disclosure may mean performing decoding sequentially according to a layered decoding order or pattern (or sequence). Additionally, depending on the structure of a parity check matrix, some layers may be composed of one row block and other layers may be composed of multiple row blocks.

이러한 레이어드 복호화 방식은 통상적으로 하나의 행 블록 또는 복수 개의 행 블록으로 구성된 레이어를 기본 단위로 병렬 처리를 수행하기 때문에 총 행 블록의 개수만큼 복호화가 수행되면 한번의 반복(iteration) 복호가 완료되었다고 판단될 수 있다. 이는 만일 병렬 처리 프로세서가 충분하다면 레이어드 복호화를 통한 복호화 정보 처리량(decoding throughput)이 행 블록의 개수에 반비례함을 의미한다. 다만, 행 블록의 개수가 적은 패리티 검사 행렬을 이용하여 동일한 부호 길이를 지원하는 경우에는 리프팅 크기 Z 값이 더 증가함을 의미하기 때문에, 하나의 행 블록에 대해 동시에 복호화를 수행하기 위해서 필요한 병렬 처리 프로세서의 양은 증가하게 된다.This layered decoding method typically performs parallel processing on a basic unit of a single row block or a layer composed of multiple row blocks, so one iteration of decoding can be considered complete when decoding is performed for the total number of row blocks. This means that if there are enough parallel processing processors, the decoding throughput through layered decoding is inversely proportional to the number of row blocks. However, if the same code length is supported using a parity check matrix with a small number of row blocks, the lifting size Z value increases further, so the amount of parallel processing processors required to simultaneously decode one row block increases.

예를 들어, 상기 무게 행렬 은 4개의 행과 14개의 열로 이루어져 있으며, 각 열의 무게가 3, 3, 2, 3, 3, 2, 3, 2, 3, 3, 3, 2, 2, 2인데, 만일 3개의 행과 13개의 열로 이루어져 있으며 와 무게 분포는 비슷한 무게 행렬 와 2개의 행과 12개의 열로 이루어져 있으며 와 무게 분포는 비슷한 무게 행렬 이 아래와 같이 구성될 수 있다.For example, the above weight matrix It consists of 4 rows and 14 columns, and the weights of each column are 3, 3, 2, 3, 3, 2, 3, 3, 3, 3, 2, 2, 2. If it consists of 3 rows and 13 columns, and the weight distribution is similar to the weight matrix It consists of 2 rows and 12 columns. and the weight distribution is similar to the weight matrix It can be structured as follows:

만일 각각의 무게 행렬 , ,를 이용하여 동일한 부호 길이를 갖는 LDPC 부호를 생성할 수 있고, 각각의 패리티 검사 행렬에 대응되는 리프팅 크기를 , , 이라 하면, , 의 관계가 있다. 또한 LDPC 복호기에서 각각의 개의 병렬 처리 프로세서가 허용된다면, 대략적인 복호화 정보 처리량은 의 1.5배, 의 2배가 될 수 있다.If each weight matrix , , LDPC codes with the same code length can be generated using , and the lifting size corresponding to each parity check matrix can be , , If so, , There is a relationship between . Also, in the LDPC decoder, each If the number of parallel processing processors allowed, the approximate throughput of decryption information is Is 1.5 times of Is It can be twice as much.

이와 같이 충분한 병렬 처리 프로세서가 허용되는 경우에 행 블록의 개수를 감소시키면, 그와 반비례하여 복호화 정보 처리량을 증가시킬 수 있다. 따라서 매우 높은 복호화 정보 처리량이 요구되는 시스템의 경우에는 더 많은 병렬 처리 프로세서를 적용할 수 있다면, 기본 행렬 또는 무게 행렬의 행의 개수, 다시 말해 패리티 검사 행렬의 행 블록의 개수를 작게 유지하는 것이 유리하다.In this way, when sufficient parallel processing processors are available, reducing the number of row blocks can increase the decryption information processing capacity inversely. Therefore, for systems requiring extremely high decryption information processing capacity, if more parallel processing processors are available, it is advantageous to keep the number of rows in the base or weight matrix, or in other words, the number of row blocks in the parity check matrix, small.

기본 행렬 또는 무게 행렬의 행의 개수, 다시 말해 패리티 검사 행렬의 행 블록의 개수를 작게 유지하는 것이 복호화 정보 처리량의 관점에서는 좋을 수도 있지만, 행 블록의 개수를 너무 작게 설정할 경우에는 LDPC 부호의 사이클 특성 또는 최소 거리(minimum distance) 특성 등 대수적인 특성에 심각한 제약이 생겨 성능 열화가 발생할 수 있다. 따라서, 기본 행렬 또는 무게 행렬은 시스템의 타겟 정보 처리량과 타겟 오류 정정 능력을 동시에 고려하여 결정되어야 한다.While keeping the number of rows in the base matrix or weight matrix, or in other words, the number of row blocks in the parity check matrix, small may be beneficial from the perspective of decoding information processing capacity, setting the number of row blocks too small can severely limit the algebraic properties of the LDPC code, such as its cycle characteristics or minimum distance characteristics, and can result in performance degradation. Therefore, the base matrix or weight matrix must be determined by simultaneously considering the system's target information processing capacity and target error correction capability.

본 개시의 일 실시 예로서 복호화 정보 처리량이 높으면서, 부호의 성능을 개선하기 위한 방법을 제안한다. 특히 본 개시에서는 시스템의 최대 복호화 정보 처리량 (maximum decoding throuput) 또는 최대 데이터 속도 (peak data rate)와 밀접한 관련이 있는 기본 행렬 또는 무게 행렬의 코어 행렬 부분이 만족해야할 대수적인 특성을 제안한다. 물론 패리티 검사 행렬이 도 10의 부분행렬 C(1040), D(1050)와 E(1060)로 구성된 패리티 검사 행렬의 제2 파트를 포함하지 않는 경우에는 코어 행렬은 기본 행렬이나 무게 행렬과 동일할 수도 있다.As an embodiment of the present disclosure, a method for improving code performance while achieving high decoding throughput is proposed. In particular, the present disclosure proposes algebraic properties that a core matrix portion of a basic matrix or a weight matrix, which is closely related to the maximum decoding throughput or peak data rate of a system, must satisfy. Of course, if the parity check matrix does not include a second part of the parity check matrix composed of submatrices C (1040), D (1050), and E (1060) of FIG. 10, the core matrix may be identical to the basic matrix or the weight matrix.

패리티 검사 행렬의 코어 행렬이 만족해야할 조건 중 하나는 코어 행렬에 대응되는 무게 행렬에서 0이 아닌 원소가 하나 밖에 없는 두 열을 선택했을 때 ()와 같이 하나의 행에만 0이 아닌 원소들이 포함되어서는 안된다.간단한 예로서 , , , , …등이 해당된다. 이러한 구조를 포함한 무게 행렬 또는 그 코어 행렬에 대응되는 패리티 검사 행렬의 최소 거리는 이하가 되기 때문에 오류 마루 (error floor) 현상이 쉽게 발생할 가능성이 높다. 따라서 , , , …와 같이 0이 아닌 원소가 하나 밖에 없는 임의의 두 열에서 0이 아닌 원소들은 반드시 다른 행에 위치해야 한다. 이는 기본 행렬에 대해서도 무게가 1인 열들에 위치한 0이 아닌 원소들은 모두 서로 다른 행에 위치해 있음을 의미한다.상기의 내용은 하기의 조건 3(a) 및 3(b)과 같이 정의될 수 있다.One of the conditions that the core matrix of the parity check matrix must satisfy is that when two columns with only one non-zero element are selected from the weight matrix corresponding to the core matrix, ( ) should not contain non-zero elements in only one row. As a simple example, , , , , …, etc. are applicable. The minimum distance of the parity check matrix corresponding to the weight matrix or the core matrix including this structure is Since it is below, there is a high possibility that the error floor phenomenon will easily occur. Therefore, , , , …, in any two columns with only one non-zero element, the non-zero elements must be located in different rows. This means that for the elementary matrix, all non-zero elements located in columns with weight 1 are located in different rows. The above can be defined as conditions 3(a) and 3(b) below.

조건 3(a) : 코어 행렬에 대응되는 기본 행렬 또는 무게 행렬의 열들은 모두 무게가 2 이상이거나, 무게가 1인 열의 개수가 최대 1개이다. Condition 3(a) : All columns of the basic matrix or weight matrix corresponding to the core matrix have weights greater than or equal to 2, or the number of columns with weight 1 is at most 1.

조건 3(b) : 코어 행렬에 대응되는 기본 행렬 또는 무게 행렬의 열 중에서 무게가 1인 열의 개수가 2개 이상인 경우에, 상기 무게가 1인 열들에 포함되어 있는 0이 아닌 원소는 서로 다른 행에 위치해 있다. Condition 3(b) : If there are two or more columns with weight 1 among the columns of the basic matrix or weight matrix corresponding to the core matrix, the non-zero elements included in the columns with weight 1 are located in different rows.

상기 조건 3(a) 및 조건 3(b)는 코어 행렬에 포함되는한 개의 순환 순열 행렬 또는 순환 행렬으로만 구성되어 있는 열 블록의 개수가 최대 1개이거나, 상기 코어 행렬에한 개의 순환 순열 행렬 또는 순환 행렬으로만 구성된 열 블록이 2개 이상 포함되는 경우에는 상기 크기 순환 순열 행렬 또는 순환 행렬들은 반드시 서로 다른 행 블록에 포함됨을 의미한다. 또한 상기 조건 3(a) 및 조건 (3b)는 심각한 오류 마루 현상을 방지하기 위한 구조인데, 만일 이 보다 더 우수한 오류 마루 특성을 얻기 위해서 다음과 같은 조건4가 더 추가될 수도 있다. 상술한 바와 같이 상기 순환 순열 행렬, 순환 행렬은 크기를 가질 수 있다.The above conditions 3(a) and 3(b) are satisfied when the number of column blocks consisting of only one circulating permutation matrix or circulating matrix included in the core matrix is at most 1, or when the core matrix includes two or more circulating permutation matrixes or circulating matrix-only column blocks. It means that the size cyclic permutation matrix or cyclic matrices are necessarily included in different row blocks. In addition, the above conditions 3(a) and (3b) are structures to prevent serious error floor phenomenon, but if an even better error floor characteristic is to be obtained, the following condition 4 may be additionally added. As described above, the above cyclic permutation matrix and cyclic matrix It can have any size.

조건 4 : 코어 행렬에 대응되는 패리티 검사 행렬에서 정보 비트 (또는 입력 비트 또는 코드 블록)에 대응되는 열의 무게는 3 이상이다. Condition 4 : The weight of the column corresponding to the information bit (or input bit or code block) in the parity check matrix corresponding to the core matrix is 3 or greater.

상기 조건 4는 수학식 14의 기본 행렬 2 에 대응되는 패리티 검사 행렬처럼 정보 비트에 대응되는 열의 무게가 2인 경우가 없도록하여 부호화 이득은 감소할 수 있으나 오류 마루 현상을 개선하고자 할 때 적용할 수 있다.The above condition 4 is the basic matrix 2 of mathematical expression 14. The encoding gain may be reduced by ensuring that the weight of the column corresponding to the information bit is not 2, as in the corresponding parity check matrix, but it can be applied when trying to improve the error floor phenomenon.

상기 조건 4는 QC-LDPC 부호에 대한 패리티 검사 행렬에서 부분 행렬 A(1010)가 크기의 순환 순열 행렬들이 중첩된 순환 행렬을 포함하지 않는 경우에, 상기 부분 행렬 A(1010)의 모든 열 블록의 무게는 3 이상이며, 상기 부분 행렬 A(1010)에 대응되는 기본 행렬 의 모든 열의 무게는 3 이상임을 의미한다. 또한 QC-LDPC 부호에 대한 패리티 검사 행렬에서 부분 행렬 A(1010)가 크기의 순환 순열 행렬들이 중첩된 순환 행렬을 적어도 하나 이상 포함하는 경우에, 상기 부분 행렬 A(1010)의 모든 열 블록의 무게는 3 이상이며, 상기 부분 행렬 A(1010)에 대응되는 무게 행렬 의 모든 열의 원소들의 합은 3 이상임을 의미한다.The above condition 4 is that the submatrix A(1010) in the parity check matrix for the QC-LDPC code If the circulant permutation matrices of the size do not contain nested circulant matrices, the weight of all column blocks of the submatrix A(1010) is 3 or more, and the fundamental matrix corresponding to the submatrix A(1010) It means that the weight of all columns is 3 or more. Also, in the parity check matrix for QC-LDPC code, the submatrix A(1010) If the circulant permutation matrices of the size include at least one nested circulant matrix, the weight of all column blocks of the submatrix A(1010) is 3 or more, and the weight matrix corresponding to the submatrix A(1010) It means that the sum of all the elements of the column is 3 or more.

패리티 검사 행렬의 코어 행렬이 만족해야할 또 다른 조건으로서 상기 코어 행렬에 대응되는무게 행렬은 3 이상인 원소가 포함되지 않는 조건이 고려될 수 있다. 일반적으로 무게 행렬의 코어 행렬에 3 이상의 정수인 원소가 포함될 경우에는 해당 위치에 순환 순열 행렬이 3개 이상 대응됨을 의미하는데, 크기의 순환 행렬을 구성하는 순환 순열 행렬이 3개 이상 중복(overlap)되어 있을 경우에는 값과 무관하게 사이클의 최대 길이가 6으로 한정된다. 사이클 길이가짧은 경우에는 반복 복호에 의한 성능 개선 효과가 줄어들기 때문에, 3 이상인 값을 원소로 포함하는 무게 행렬 또는 코어 행렬에 대응되는 패리티 검사 행렬은 부호 길이가 짧거나 부호율이 비교적 높은 경우에 사용하는 것이 적합하다. 본 개시에서는 다양한 부호율과 다양한 부호 길이를 지원하는 LDPC 부호의 설계 방법에 대해 다루기 때문에 무게 행렬의 코어 행렬에 3 이상인 원소가 포함되지 않도록 한다. (물론 싱글 패리티 검사 확장 파트에 대응되는 부분에는 포함될 수도 있다.)상기의 내용은하기의 조건 5와 같이 정의될 수 있다Another condition that the core matrix of the parity check matrix must satisfy is that the weight matrix corresponding to the core matrix does not contain an element greater than or equal to 3. In general, if the core matrix of the weight matrix contains an element greater than or equal to 3, it means that three or more cyclic permutation matrices correspond to the corresponding position. If there are three or more circulant permutation matrices that constitute a circulant matrix of size that overlap, Regardless of the value, the maximum length of the cycle is limited to 6. Since the performance improvement effect by iterative decoding is reduced when the cycle length is short, it is appropriate to use a parity check matrix corresponding to a weight matrix or core matrix that includes values of 3 or more as elements when the code length is short or the code rate is relatively high. Since this disclosure deals with a design method of an LDPC code that supports various code rates and various code lengths, the core matrix of the weight matrix does not include elements of 3 or more. (Of course, it may be included in the part corresponding to the single parity check extension part.) The above contents can be defined as the following condition 5.

조건 5 : 코어 행렬에 대응되는 무게 행렬은 0과 1로만 구성되거나, 0, 1, 2로만 구성된다. Condition 5 : The weight matrix corresponding to the core matrix consists of only 0 and 1, or only 0, 1, and 2.

코어 행렬이 만족해야할 또 다른 조건으로서,제1 패리티 벡터 에 대응되는 도 10의 부분 행렬 B(1020)은 효율적인 부호화가 가능하기 위해 최대 랭크를 가져야 하며, 사이클 특성의 심각한 열화를 방지하기 위해 다음과 같이 제한적인 구조가 바람직하다.Another condition that the core matrix must satisfy is the first parity vector The submatrix B(1020) of Fig. 10 corresponding to must have a maximum rank to enable efficient encoding, and the following restrictive structure is desirable to prevent serious degradation of cycle characteristics.

조건 6(a) :코어 행렬에 대응되는 무게 행렬이 4개의 행으로 이루어져 있을 경우에 무게 행렬 및 기본 행렬에서 B(1020)에 대응되는 부분 행렬은 다음 중 하나이다: Condition 6(a) : If the weight matrix corresponding to the core matrix consists of four rows, the submatrix corresponding to B(1020) in the weight matrix and the fundamental matrix is one of the following:

조건 6(b) : 코어 행렬에 대응되는 무게 행렬이 3개의 행으로 이루어져 있을 경우에 부분 행렬 B(1020)에 대응되는 기본 행렬의 부분 행렬은 이며, 무게 행렬은 다음 중 하나이다: Condition 6(b) : If the weight matrix corresponding to the core matrix consists of three rows, the submatrix of the basic matrix corresponding to the submatrix B(1020) is , and the weight matrix is one of:

조건 6(c) : 코어 행렬에 대응되는 무게 행렬이2개의 행으로 이루어져 있을 경우에 부분 행렬 B(1020)에 대응되는 기본 행렬의 부분 행렬은 이며, 무게 행렬은 다음 중 하나이다: , . Condition 6(c) : If the weight matrix corresponding to the core matrix consists of two rows, the submatrix of the basic matrix corresponding to the submatrix B(1020) is , and the weight matrix is one of: , .

참고로 상기 조건 6(a)에서는 무게 행렬과 기본 행렬이 동일한 경우에 대해서 나타내었으며, 조건 6(b)에서는 무게 행렬이 인 경우에만 기본 행렬과 동일한 형태를 갖는다. 조건 6(a), 6(b), 6(c)에 나타낸 기본 행렬 또는 무게 행렬에서 0은 크기의 0-행렬을 의미하며, 1은 크기의 항등 행렬 또는 순환 순열 행렬 (v > 0)을 의미한다. 또한, 2는 크기의 순환 행렬 를 의미한다().For reference, the above condition 6(a) shows the case where the weight matrix and the base matrix are the same, and condition 6(b) shows the case where the weight matrix is It has the same form as the fundamental matrix only if 0 is in the fundamental matrix or weight matrix shown in Conditions 6(a), 6(b), and 6(c). It means 0-matrix of size 1, identity matrix of size or cyclic permutation matrix (v > 0). Also, 2 is Circular matrix of size It means ( ).

일반적으로 기본 행렬 또는 무게 행렬로부터 사이클 길이에 대한 상계(upper bound)는 예측할 수 있지만, 상기 기본 행렬 또는 무게 행렬들에 대응되는 패리티 검사 행렬의 사이클 특성에 대해서는 알 수 없다. 예를 들어 부분 행렬 B(1020)이 또는 라 하면, 각각의 경우에 v1, v2 값에 무관하게 기본 행렬 또는 무게 행렬이 또는 로 동일하나 사이클 특성은 큰 차이가 있다. 인 경우에 v1 또는 v2 중 적어도 하나가 0이거나 (또는 )이면 많은 수의 4-사이클이 생성되므로 기본적으로 v1, v2는 , (또는 )를 만족하는 정수로 설정된다. 마찬가지로 인 경우에 v1 = 0인 경우에는 많은 수의 4-cycle이 생성되므로, 기본적으로 v1은 을 만족하는 정수, v2는 을 만족하는 정수로 설정된다. 이상은 4-사이클을 제거하기 위한 방법일 뿐이며, 보다 긴 사이클들을 얻기 위해서 v1, v2 값들은 다양한 방식으로 제한될 수 있다.In general, an upper bound on the cycle length can be predicted from the base matrix or weight matrix, but the cycle characteristics of the parity check matrix corresponding to the base matrix or weight matrix are unknown. For example, if the submatrix B(1020) or In each case, regardless of the values of v1 and v2, the base matrix or weight matrix is or Although they are the same, their cycle characteristics are very different. If at least one of v1 or v2 is 0, or (or ) will generate a large number of 4-cycles, so basically v1, v2 , (or ) is set to an integer satisfying . Similarly In the case where v1 = 0, a large number of 4-cycles are generated, so basically v1 is An integer satisfying v2 is is set to an integer satisfying . The above is only a method to remove 4-cycles, and the values of v1 and v2 can be limited in various ways to obtain longer cycles.

만일 통신시스템이 [표 9]에서 설명한 정보어 비트의 천공을 적용하는 경우에는 다음과 같이 코어 행렬이 만족해야할 조건이 추가될 수 있다.If the communication system applies the perforation of the information bits described in [Table 9], the following conditions that the core matrix must satisfy may be added.

조건 7 :정보어 비트의 천공이 적용되는 LDPC 부호화 시스템에서, 상기 천공된 정보어 비트에 대응되는 열들로만 구성되는 코어 행렬의부분 행렬은 행 무게가 1인 행이 적어도 1개 이상 존재한다. Condition 7 : In an LDPC encoding system where puncturing of information word bits is applied, a submatrix of a core matrix composed only of columns corresponding to the punctured information word bits has at least one row with a row weight of 1.

수신기에서 천공된 비트는 수신 과정에서 소실된 비트처럼 간주되기 때문에, 상기 천공된 비트가 0일 확률과 1일 확률이 동일하다고 판단된다. 이는 통상적으로 LR 값을 사용하여 복호화를 수행할 경우에는 1, LLR 값을 사용하여 복호화를 수행할 경우에는 0을 의미하는데, 복호화 과정에서 사용하는 값들을 기반으로 다른 형태로 결정될 수도 있다. 조건 7을 만족하지 않는 패리티 검사 행렬을 기반으로 LDPC 복호화를 수행할 경우에는, ML (maximum likelihood) 복호화 또는 유사 ML (pseudo ML)복호화 기법을 사용하지 않는 경우에는상기 천공된 정보어 비트들이 복호되지 않을 수 있다. ML 또는 유사 ML 복호화 방식은 복잡도로 인해 통상적으로 사용되지 않기 때문에 복호 성공을 보장하기 위해서 패리티 검사 행렬은 조건 7을 만족하도록결정될 수 있다.Since the bits punctured at the receiver are regarded as bits lost during the reception process, the probability that the punctured bit is 0 and the probability that the punctured bit is 1 are determined to be the same. This usually means 1 when decoding is performed using the LR value, and 0 when decoding is performed using the LLR value, but it can be determined in another form based on the values used in the decoding process. When LDPC decoding is performed based on a parity check matrix that does not satisfy Condition 7, the punctured information bits may not be decoded unless ML (maximum likelihood) decoding or pseudo ML decoding is used. Since ML or pseudo ML decoding is not commonly used due to its complexity, the parity check matrix can be determined to satisfy Condition 7 to ensure decoding success.

만일 LDPC 부호가 QC-LDPC 부호인 경우에는 상기 패리티 검사 행렬은 리프팅 크기 Z 값과 기본 행렬 및/또는 무게 행렬 및/또는 지수 행렬 등을 기반으로 표현 가능하기 때문에 다음 조건 8과 같이 표현할 수도 있다.If the LDPC code is a QC-LDPC code, the parity check matrix can be expressed based on the lifting size Z value and the basic matrix and/or weight matrix and/or exponent matrix, etc., and thus can be expressed as in the following condition 8.

조건 8 :리프팅 크기 Z 또는 그 배수 단위로 정보어 비트의 천공이 적용되는 QC-LDPC 부호화 시스템에서, 상기 천공된 a*Z (a: 1 이상의 정수) 정보어 비트들에 대응되는 a*Z개의 열들로만 구성되는 코어 행렬의 부분 행렬에 대응되는 a개의 열들로만 구성된 기본 행렬의 부분 행렬은 무게가 1인 행이 적어도 1개 이상 존재한다.또한,상기 a*Z개의 열들로만 구성되는 코어 행렬의 부분 행렬에 대응되는 a개의 열들로만 구성된 무게 행렬의 부분 행렬은 무게가 1이며 원소가 1인 행이 적어도 1개 이상 존재한다. Condition 8 : In a QC-LDPC encoding system in which puncturing of information bits is applied in units of a lifting size Z or its multiples, a submatrix of a basic matrix composed of only a columns corresponding to a submatrix of a core matrix composed of only a*Z columns corresponding to the punctured a*Z (a: integer greater than or equal to 1) information bits has at least one row with weight 1. In addition, a submatrix of a weight matrix composed of only a columns corresponding to a submatrix of a core matrix composed of only a*Z columns has at least one row with weight 1 and an element 1.

예를 들어, 항상 2Z비트의 정보어 비트의 천공이 적용되는 QC-LDPC 부호화 시스템에서는 조건 8에서 a = 2임을 의미한다.For example, in a QC-LDPC encoding system where puncturing of the information bits of 2Z bits is always applied, condition 8 implies that a = 2.

한편,본 개시에서는 패리티 검사 행렬을 구성하기 위해 상기 조건들 중 적어도 하나가 사용될 수 있다.즉,패리티 검사 행렬은 상기 조건들 중 하나를 만족하도록 결정되거나 상기 조건들 중 적어도 두 개 이상의 조합을 만족하도록 결정될 수 있다.Meanwhile, in the present disclosure, at least one of the above conditions may be used to construct a parity check matrix. That is, the parity check matrix may be determined to satisfy one of the above conditions or a combination of at least two of the above conditions.

본 개시의 일 실시 예로서 LDPC 부호의 오류 마루 성능을 개선하기 위한 방법을 제안한다. 일반적으로 LDPC 부호의 오류 마루 현상은 태너 그래프의 사이클 특성에 의해 많은 영향을 받는다. 그런데 QC LDPC 부호는 기본 행렬과 순환 순열 행렬의 지수 또는 순환 이동 값의 관계에 따라 태너 그래프 상의 사이클 특성이 결정되기 때문에, 패리티 검사 행렬을 구성하는 순환 순열 행렬의 위치뿐만 아니라 순환 이동 값이 적절하게 선택되어야 한다.As an embodiment of the present disclosure, a method for improving the error floor performance of an LDPC code is proposed. In general, the error floor phenomenon of an LDPC code is greatly affected by the cycle characteristics of the Tanner graph. However, since the cycle characteristics of a QC LDPC code on the Tanner graph are determined by the relationship between the base matrix and the indices or cyclic shift values of the cyclic permutation matrix, not only the positions of the cyclic permutation matrix constituting the parity check matrix but also the cyclic shift values must be appropriately selected.

본 개시에서는 도 10에서 부분 행렬 A(1010)와 B(1020)로 구성된 패리티 검사 행렬의 제1 파트에서 제1 패리티 비트들(또는 제1 패리티 비트 벡터) 에 대응되는 부분 행렬 B(1020)가 만족해야할 대수적인 특성을 제안한다.In the present disclosure, first parity bits (or first parity bit vector) in the first part of the parity check matrix composed of sub-matrices A (1010) and B (1020) in FIG. 10 We propose an algebraic property that the submatrix B(1020) corresponding to must satisfy.

상기 부분 행렬 B(1020)의 크기는 (또는 )이며, 상기 부분 행렬 B(1020)은 (또는 ) 크기의 기본 행렬 또는 무게 행렬에 대응된다. 또한 부분 행렬 B(1020)의 첫번째 열 블록은 3개의 순환 순열 행렬로 구성되어 있다. 이 때, 상기 순환 순열 행렬에는 항등 행렬이 포함될 수 있다. 즉, 본 개시에서 순환 순열 행렬은 항등 행렬의 각 원소들을 i 만큼 순환 이동시킨 형태의 행렬로 정의되며, i 값이 0인 경우 순환 순열 행렬은 항등 행렬이 될 수 있다. 이는 본 개시의 상세한 설명 전반에 적용될 수 있다. 또한 부분 행렬 B(1020)의 나머지 열 블록들은 2개의 순환 순열 행렬 또는 항등 행렬로 구성된다. 본 발명에서는 편의상 나머지 열 블록들은 항등 행렬이 이중 대각 구조로 구성되어 있는 경우만 표현하지만, 일반적으로 그와 같이 제한될 필요는 없다.The size of the above submatrix B(1020) is (or ), and the submatrix B(1020) is (or ) corresponds to the basic matrix or weight matrix of the size. In addition, the first column block of the submatrix B(1020) is composed of three cyclic permutation matrices. At this time, the cyclic permutation matrix may include an identity matrix. That is, in the present disclosure, the cyclic permutation matrix is defined as a matrix in which each element of the identity matrix is cyclically shifted by i, and when the value of i is 0, the cyclic permutation matrix may be an identity matrix. This can be applied throughout the detailed description of the present disclosure. In addition, the remaining column blocks of the submatrix B(1020) are composed of two cyclic permutation matrices or identity matrices. In the present invention, for convenience, the remaining column blocks are expressed only when the identity matrix is composed of a double diagonal structure, but in general, it is not necessary to be limited thereto.

수학식 15에 상기 부분 행렬 B(1020)의 구체적인 일례를 나타내었다. 부분 행렬 B(1020)는 하기 수학식 15에 포함된 행렬들 중 적어도 하나에 기반하여 결정될 수 있다. 하지만, 본 개시의 실시예가 이에 한정되는 것은 아니며 상기의 특성 (첫 번째 열 블록은 3개의 순환 순열 행렬로 구성, 나머지 열 블록들은 2개의 순환 순열 행렬 또는 항등 행렬로 구성)을 만족하는 다양한 행렬들이 고려될 수 있다.A specific example of the partial matrix B(1020) is shown in Mathematical Expression 15. The partial matrix B(1020) can be determined based on at least one of the matrices included in Mathematical Expression 15 below. However, the embodiment of the present disclosure is not limited thereto, and various matrices satisfying the above characteristics (the first column block is composed of three cyclic permutation matrices, and the remaining column blocks are composed of two cyclic permutation matrices or an identity matrix) can be considered.

[수학식 15][Equation 15]

상기 수학식 15에서 , , , 는 첫번째 열 블록이 세 개의 서로 다른 순환 순열 행렬 , , 로 구성되어 있다. 또한, 수학식 15에서는 편의상 값이 3, 4, 5, 6인 경우에 대해서만 나타내었지만, 그 이상의 정수에 대해서도 유사하게 부분 행렬 B(1020)이 정의될 수 있다. 또한 적절한 역변환(invertible transform) 과정을 통해 위와 같은 형태의 부분 행렬 B(1020)로 변환 가능한 행렬들은 대수적으로 동일한 행렬로 간주할 수 있다.In the above mathematical formula 15 , , , The first column block contains three different cyclic permutation matrices , , It consists of . Also, in mathematical expression 15, for convenience, Although only the cases where the values are 3, 4, 5, and 6 are shown, a submatrix B(1020) can be similarly defined for integers greater than those. Furthermore, matrices that can be transformed into a submatrix B(1020) of the above form through an appropriate invertible transform process can be considered as algebraically identical matrices.

본 개시에서는 상기 수학식 15의 , , , 뿐만 아니라 유사한 형태의 더 큰 부분 행렬 B(1020)에 대해서 사이클 특성을 개선하는 방법을 제안하고자 한다. 편의상 QCLDPC 부호의 사이클 특성을 분석하는 방법 및 일부 대수적 특성에 대한 상세한 내용은 본 개시에서는 생략하지만, 참조 문헌 [Myung2005]의 내용을 참조한다.In the present disclosure, the mathematical expression 15 above , , , In addition, we propose a method for improving the cycle characteristics for a larger submatrix B(1020) of a similar form. For convenience, details on the method for analyzing the cycle characteristics of the QCLDPC code and some of its algebraic properties are omitted in this disclosure, but reference is made to the reference [Myung2005].

[Myung2005][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. 2894-2901, Aug. 2005.

만일 수학식 15처럼 부분 행렬 B(1020)에서 첫번째 열 블록을 제외하고 나머지 열 블록들이 항등 행렬들로 구성된 크기의 이중 대각(dual diagonal) 구조를 가질 때, 기존에는 부호화의 편의성을 위해 첫번째 열 블록의 순환 순열 행렬의 지수들 (또는 순환 이동 값) , , 중에서 적어도 2개의 값은 같은 값으로 설정되었다. 이 경우에 부호화 과정에서 사용되는 크기의 행렬이항등 행렬 또는 단순한 순환 순열 행렬 가 되는데, 의 역행렬 가 항등 행렬 또는 같이 단순화되어 부호화 과정이 간결해진다. (자세한 QC LDPC 부호의 부호화 과정은 [Myung2005] 참조) 구체적인 예로서 로 설정할 경우에 가 되며 가 되므로 효율적인 부호화를 수행할 수있다. 마찬가지로, 로 설정할 경우에 가 되며 가 되므로 효율적인 부호화를 수행할 수있다.If, as in Equation 15, the submatrix B(1020) has a dual diagonal structure with the size of the remaining column blocks excluding the first column block, which is composed of identity matrices, the indices (or cyclic shift values) of the cyclic permutation matrix of the first column block were used for encoding convenience. , , At least two values among them were set to the same value. In this case, the values used in the encoding process are Size of matrix identity matrix or a simple cyclic permutation matrix It becomes, Inverse matrix of is the identity matrix or It is simplified together, so the encoding process becomes simpler. (For detailed encoding process of QC LDPC code, refer to [Myung2005]) As a specific example, If set to Is and become Is Therefore, efficient encoding can be performed. Similarly, If set to Is and become Is Therefore, efficient encoding can be performed.

그런데 인 경우에는 다음 수학식 16에 나타낸 구조에 의해 태너 그래프 상에서 길이가 인 사이클 개가 항상 존재한다. 다시 말해,만일 의 값이 고정되어 있다면 리프팅 크기 및 지수 값에 상관없이 길이가 인 사이클이 항상 존재한다. (자세한 QC LDPC 부호의 사이클 특성에 대한 내용은 [Myung2005] 참조)however In this case, the length on the Tanner graph is according to the structure shown in the following mathematical expression 16. In cycle The dog is always present. In other words, if If the value of is fixed, the lifting size and index Regardless of the value, the length There is always a cycle in the QC LDPC code. (For detailed information on the cycle characteristics of QC LDPC codes, see [Myung2005].)

[수학식 16][Equation 16]

그뿐만 아니라 인 경우에는 다음 수학식 17과 같은 구조로 인해, 리프팅 크기 및 지수 값에 상관없이 보다도 더 짧은 사이클이 항상 존재한다.Not only that In this case, due to the structure as in the following mathematical expression 17, the lifting size and index Regardless of the value There are always shorter cycles than that.

[수학식 17][Equation 17]

만일 값이 적절히 큰 경우에는 수학식 16 및 수학식 17과 같은 구조에 대응되는 태너 그래프의 사이클 특성이 LDPC 부호의 성능에 큰 영향을 주지 않을 수도 있다.하지만, 값이 상대적으로 작은 경우에는 오류 마루 현상으로 인해 BLER이 증가할 가능성이 있으며, 이는 시스템의 타겟 BLER가낮을수록 무시할 수 없는 문제가 된다.should When the value is appropriately large, the cycle characteristics of the Tanner graph corresponding to structures such as Equations 16 and 17 may not have a significant impact on the performance of the LDPC code. However, When the value is relatively small, the BLER may increase due to the error floor phenomenon, which becomes a non-negligible problem as the target BLER of the system is lower.

본 발명에서는 이러한 문제를 해결하기 위해 수학식 15와 같은 구조를 갖는 부분 행렬 B(1020)의 첫번째 열 블록을 구성하는 순환 순열 행렬들의 지수들 (또는 순환 이동 값) , , 가 특정 대수적인 조건을 만족하도록한정하여 사이클 특성을 개선하는 방법을 제안한다. 또한 상기 방법은 사이클 특성을 개선하면서도 LDPC 부호화 과정에서 필요한 행렬과 관련된 연산 복잡도가 합리적인 수준으로 증가하는 특징이 있음을 설명한다.In order to solve this problem, in the present invention, the indices (or cyclic shift values) of the cyclic permutation matrices constituting the first column block of the submatrix B(1020) having the structure as in mathematical expression 15 , , We propose a method to improve cycle characteristics by limiting the satisfies certain algebraic conditions. In addition, the method improves cycle characteristics while also providing the necessary parameters in the LDPC encoding process. It explains that the computational complexity associated with matrices increases to a reasonable level.

만일 QC LDPC 부호의 패리티 검사 행렬에 대해 리프팅 크기 , (는 홀수, 은 0 이상의 정수)라 할 때, 부분 행렬 B(1020)의 첫번째 열 블록을 구성하는 순환 순열 행렬들의 지수들 (또는 순환 이동 값) , , 는 서로 다른 정수이며, 다음의 조건들의 적어도 일부 또는 전부를 만족한다:If the lifting size for the parity check matrix of the QC LDPC code cast , ( is odd, When is an integer greater than or equal to 0, the indices (or circular shift values) of the cyclic permutation matrices that constitute the first column block of the submatrix B(1020) , , are distinct integers, satisfying at least some or all of the following conditions:

지수 조건1a :두 지수(순환 이동 값)사이의 차이(difference)들 중 적어도 하나는 리프팅 크기 와의 최대 공약수가 1이거나 1보다 큰 의 약수 중 가장 작은 수이다. (즉, 와 서로 소이거나 1 보다 큰 의 최소 약수를 최대 공약수로 갖는다.) Index condition 1a : At least one of the differences between two indices (circular shift values) is a lifting magnitude. The greatest common divisor with is 1 or greater than 1 is the smallest number among the divisors of (i.e., and are mutually prime or greater than 1 ) has the least divisor as the greatest common divisor.

지수 조건1b : 두 지수사이의 차이들 중 두 개는 리프팅 크기 와의 공약수가 1이거나 1보다 큰 의 약수 중 가장 작은 수이다. Index condition 1b : Two of the differences between the two indices are the lifting magnitudes. The common divisor with is 1 or greater than 1 It is the smallest number among the divisors of .

지수 조건2a :두 지수 사이의 차이들 중 적어도 하나는 ()이다. Index condition 2a : At least one of the differences between the two indices is ( )am.

지수 조건2b : 두 지수 사이의 차이들 중 적어도 하나는 가 1이고 인 경우에는 ()이며, 가 3 이상인 홀수이고 인 경우에는 ()이다. Index condition 2b : At least one of the differences between the two indices is is 1 In this case ( ) and is an odd number greater than or equal to 3 In this case ( )am.

참고로 상기 지수 조건들에서 사용되는 지수 사이의 차이는 , , 등을 의미한다.For reference, the difference between the exponents used in the above exponent conditions is , , It means back.

상기 지수 조건 1a에 따르면, 두 지수의 차이가 와 서로 소인 경우에는 상기 두 지수와 관련된 순환 순열 행렬에 의해 결정되는 사이클의 길이가 최대화된다. 예를 들어, 의 값이 와 서로 소인 경우에 수학식17의 에 의해서 결정되는 태너 그래프 상의 사이클의 길이는 가 된다. 만일 의 최대 공약수가 라면 사이클 길이는 가 된다. 결과적으로 값이 증가할수록 사이클의 길이 또한 함께 증가하게 된다.According to the above index condition 1a, the difference between the two indices is If and are relatively prime, the length of the cycle determined by the cyclic permutation matrix associated with the two indices is maximized. For example, The value of In case of coprime, mathematical expression 17 The length of a cycle on a Tanner graph is determined by becomes. If and The greatest common divisor of The ramen cycle length is becomes. As a result As the value increases, the length of the cycle also increases.

또 다른 예로서, 의 값이 와 서로 소인 경우에 수학식16의 구조에 의해 결정되는 사이클 길이는 가 된다. 만일 의 최대 공약수가 라면 사이클 길이는 가 된다. 결과적으로 Z 값과 무관하게 사이클 길이가 고정되는 것이 아니라 Z 값 증가에 따라 사이클 길이도 증가함을 알 수 있다. 사이클 특성만을 고려하면 지수 사이의 차이가 와 서로 소인 것이 바람직하지만, 상황에 따라 다른 조건에 의해 최대 공약수 D가 작도록 (예를 들어, 1보다 큰 Z의 최소 약수가 되도록) 지수가 선택될 수 있다.예를 들어, 지수 사이의 차이가 Z와 서로 소인 특징을 만족할 수 없는 경우, 최대 공약수 가 작게되는 지수가 선택되는 것이 바람직하다.As another example, The value of In the case where and are relatively prime, the cycle length determined by the structure of mathematical expression 16 is becomes. If and The greatest common divisor of The ramen cycle length is As a result, it can be seen that the cycle length is not fixed regardless of the Z value, but rather increases as the Z value increases. Considering only the cycle characteristics, the difference between the exponents is Although it is desirable that they are relatively prime, depending on the situation, the exponents may be chosen so that the greatest common divisor D is small (for example, to be the smallest divisor of Z greater than 1) by other conditions. For example, if the difference between the exponents cannot satisfy the property of being relatively prime to Z, the greatest common divisor It is desirable to select an exponent that makes the value smaller.

상기 지수 조건 1b는 지수 조건 1a 보다 지수 조건을 보다 한정하여 사이클 특성을 더욱 개선하기 위한 조건이다. 예를 들어, 값이 와 서로 소인 경우에 와 같이 지수 a, b와 관련된 사이클 특성이 개성된 뿐만 아니라 와 같이 지수 b, c와 관련된 사이클 특성또한 마찬가지로 개선되는 특성이 있다. (수학식 15 및 수학식 15에 기반하여 확장된 다른 형태의 부분 행렬 B에 대해서도 마찬가지로 성립한다.)The above index condition 1b is a condition for further improving cycle characteristics by restricting the index condition more than index condition 1a. For example, and The value And in case they are mutually prime Not only are the cycle characteristics related to the indices a and b unique, but Likewise, the cycle characteristics related to the indices b and c are also improved. (The same holds true for other forms of submatrix B extended based on Equation 15 and Equation 15.)

수학식 15 및 수학식 15에 기반하여 확장된 다른 형태의 부분 행렬 B는 , , 가 모두 다를 때, 부호화 과정에서 필요한 행렬이 와 같이 정의된다. 이러한 행렬은 을 구하기도 쉽지 않지만, 행렬의 무게 밀도 (density of weights) 또한 일반적으로 저밀도 특성이 아닌 고밀도 특성을 갖는 경우가 많다. 즉, 저밀도 특성을 갖는 행렬이 행렬의 저밀도 특성을 보장하지 못하는 특징이 있다. 이러한 행렬의 고밀도 특성은 부호화 복잡도를 증가시키는 원인이기 때문에 행렬의 밀도는 가능한 낮은 것이 바람직하며, 행렬은 간단한 구조를 갖는 것이 바람직하다.Another form of submatrix B based on equation 15 and equation 15 is , , When all are different, the encoding process requires The matrix is defined as follows. The matrix is It is not easy to obtain, The density of weights of a matrix also often has a high density characteristic rather than a low density characteristic. That is, it has a low density characteristic. The matrix It has the characteristic that it does not guarantee the low density characteristic of the matrix. Because the high density nature of the matrix increases the encoding complexity, It is desirable that the density of the matrix be as low as possible, It is desirable for matrices to have a simple structure.

상기 지수 조건 2a 및 2b는 효율적인 LDPC 부호화를 위하여 행렬을 가능한 단순화하기 위한 조건이다.예를 들어, 상기 지수 조건 2a에서 라 할 경우에The above index conditions 2a and 2b are for efficient LDPC encoding. It is a condition to simplify the matrix as much as possible. For example, in the above index condition 2a, In that case

가 되어 이 된다. 여기서 Become This is it. Here silver

이므로 는 비교적 간단하게 결정될 수 있으나 값이 증가함에 따라 에 의한 연산 복잡도는 증가함을 알 수 있다. 따라서 시스템에서 허용 가능한 복잡도에 따라 값을 적절히 제한하여 사용할 수 있다. 통상적으로 값은 범위에서 사용하는 것이 바람직하나 시스템의 허용 범위에 따라 더 큰 값이 사용될 수도 있다.since can be determined relatively simply, but As the value increases It can be seen that the computational complexity increases. Therefore, depending on the complexity that is acceptable in the system, The values can be used by appropriately limiting them. Typically, The value is It is recommended to use a range, but larger values may be used depending on the system's allowable range.

참고로 길이가 인 임의의 비트열 에 대해 크기의 순환 순열 행렬 를 곱하는 연산 은 실제 행렬 곱 연산이라기 보다 비트열 에 대해 비트만큼 순환 이동 (circular shift)하는 것과 동일하다. 즉, 실제로는 행렬 곱이라기 보다는 비트 이동 연산으로 구현 가능하기에 상기 연산은 복잡도가 매우 낮은 연산 또는 동작을 의미한다. 그뿐만 아니라 를 연산하는 과정에서도 의 각 항들을 전개하여 연산하는 것이 아니라 와 같이 단계적인 계산을 통해 연산 복잡도를 최소화할 수 있다. 간단한 예로서 다음과 같은 방법으로 연산을 수행할 수 있다:For reference, the length is An arbitrary bit string About Circular permutation matrix of size Multiplying operation is a bit string operation rather than an actual matrix multiplication operation. About It is equivalent to performing a circular shift by a bit. In other words, the above operation means an operation or action with very low complexity, as it can be implemented as a bit shift operation rather than a matrix multiplication. In addition, Even in the process of calculating Rather than expanding and calculating each term, Computational complexity can be minimized through step-by-step calculations, as in the following example:

상기 지수 조건 2a에서 인 경우에도 마찬가지 방법으로 을 결정하여 부호화가 수행될 수 있다. 하지만, 모든 두 지수 사이의 차이들이 형태인 경우는 사이클 특성이 나빠질 가능성이 높다. 따라서, 효율적인 부호화와 좋은 사이클 특성을 위해서는 두 지수 사이의 차이들 중 적어도 하나는 ()인 특성을 만족하고,나머지 지수 차이들은 지수 조건 1a또는 지수 조건 1b를 만족하도록 하는 방법이 고려될 수 있다. 또한,두 지수 사이의 차이가 이고 지수 조건 1a 또는 지수 조건 1b 중 적어도 하나를 만족하는 경우가 있다면 상기 지수들을 선택할 수 있다.In the above index condition 2a me In the same way, if Encoding can be performed by determining the difference between all two indices. However, In the case of the form, the cycle characteristics are likely to be poor. Therefore, for efficient encoding and good cycle characteristics, at least one of the differences between the two indices should be ( ) and the remaining exponent differences can be considered to satisfy the exponent condition 1a or exponent condition 1b. In addition, the difference between the two exponents The above indices can be selected if at least one of the index conditions 1a or 1b is satisfied.

지수 조건 2b는 지수 조건 2a 보다 지수 조건을 보다 한정하여 효율적인 부호화는 가능하되 사이클 특성을 더욱 개선하기 위한 조건이다.지수 조건 2b를 만족할 경우에는 기존 5G LDPC 부호 대비 부호화 복잡도는 다소 증가하지만, 사이클 특성은 개선되는 장점이 있다. 물론 지수 조건 2b를 만족하는 경우가 없다면, 지수 조건 2a를 고려하여 지수들이 결정될 수 있다. 참고로 지수 조건 2a에서 을 만족하는 경우를 제외하면, 두 지수의 차이는 와 항상 서로 소가 아님을 알 수 있다. 즉, 와 두 지수의 차이는 1 보다 큰 공약수를 갖는다. 을 만족하는 가 있다는 것은 임을 의미하는데, 이는 지수 조건 2b를 만족해야 조건에 의해 와 두 지수의 차이가 서로 소가 아니며, 를 공약수로 갖는다.Index condition 2b is a condition for further improving cycle characteristics while enabling efficient encoding by restricting the index condition more than index condition 2a. When index condition 2b is satisfied, encoding complexity increases somewhat compared to the existing 5G LDPC code, but it has the advantage of improving cycle characteristics. Of course, if there is no case where index condition 2b is satisfied, the indices can be determined by considering index condition 2a. For reference, in index condition 2a, The difference between the two indices is , except that And you can always see that they are not the same. That is, And the difference between the two exponents has a common divisor greater than 1. Satisfying That there is This means that the index condition 2b must be satisfied. By condition And the difference between the two exponents is not prime, has as its common divisor.

본 개시의 일 실시예로서 상기 지수 조건들을 이용하여 도 10의 부분 행렬 B(1020)을 구성하는 보다 구체적인 예를 설명한다.As an embodiment of the present disclosure, a more specific example of constructing a submatrix B(1020) of FIG. 10 using the above exponential conditions is described.

먼저 5G처럼 표 3 내지 표 8에 나타낸 것처럼 리프팅 크기 집합이 정의되어 있고, 리프팅 크기 집합에 포함되어 있는 리프팅 크기만 적용할 수 있는 통신 시스템 또는 방송 시스템을 고려한다. 또한 각 리프팅 크기 집합 별로 별도의 패리티 검사 행렬 또는 지수 행렬이 정의될 수 있다. 즉, 표 3 내지 표 8의 경우에 총 8개의 집합 인덱스 별로 패리티 검사 행렬 또는 지수 행렬 등이 정의될 수 있다.First, consider a communication system or broadcasting system, such as 5G, where a set of lifting sizes is defined, as shown in Tables 3 through 8, and only lifting sizes included in the set can be applied. Furthermore, a separate parity check matrix or index matrix can be defined for each lifting size set. That is, in the cases of Tables 3 through 8, a parity check matrix or index matrix can be defined for each of the eight set indices.

수학식 15 및 수학식 15에 기반하여 확장된 다른 형태의 부분 행렬 B에서 , , 를 다음과 같이 결정한다고 하자. 일반적으로 에 () 대응되는 패리티 검사 행렬의 부분 행렬 B에 대한 지수 , , 값이 모두 다를 수도 있기 때문에 편의상 , , 로 표현하였다.In Equation 15 and another form of submatrix B extended based on Equation 15, , , Let us decide as follows. In general, to ( ) index for the submatrix B of the corresponding parity check matrix , , For convenience, since the values may all be different , , It was expressed as .

지수 선택 예 1 () Example 1 of selecting an index ( )

- 는 임의의 정수- is an arbitrary integer

- 이며, 여기서 를 만족하는 정수이며, 즉, 부분 행렬 B에 대응되는 지수들 중 , 을 만족하는 정수이다. 여기서 , 의 최대공약수를 의미하며, 에 대응되는 리프팅 크기 집합에 속해 있는 임의의 리프팅 크기를 의미한다.- Is and here Is is an integer satisfying , that is, among the indices corresponding to the submatrix B, , Is is an integer satisfying . Here, Is , It means the greatest common divisor of Is It means any lifting size that belongs to the set of lifting sizes corresponding to .

- 이며, 여기서 에 대응되는 리프팅 크기 집합에 속해 있는 리프팅 크기 값들 중 가장 큰 리프팅 크기 보다는 작은 리프팅 크기 중 하나이다.- Is and here Is The largest lifting size among the lifting size values belonging to the corresponding lifting size set It is one of the smaller lifting sizes.

상기 지수 선택 예 1을 통해서 결정되는 부분 행렬 B에 대해 각 지수의 차이를 구해보면, 임의의 리프팅 크기 에 대해 이므로 지수 조건 1a를 만족하며, 에서 값들 중 하나이면서 각각의 값은 서로 배수 관계이므로 ( 배수 관계), 의 정의에 따라 이 성립하여 지수 조건 1b도 만족하게 된다. 그런데 이므로 지수 조건 2a및 지수 조건 2b는 리프팅 크기 에 따라 만족 여부가 달라진다. 예를 들어, 인 경우에는 지수 조건 2a 및 지수 조건 2b를 항상 만족하지만, 인 경우에는 가 성립하여 크기의 순환 순열 행렬 는 사실상 같게 되므로 지수 조건 2a 및 지수 조건 2b를 만족하지 않을 수 있다. 다시 말해, 인 경우에는 수학식 16과 같은 구조가 되며 사이클 특성이 개선되지 않음을 의미한다. 결론적으로 다양한 길이의 리프팅 크기에 대해 사이클 특성을 개선하기 위해서는 값은 되도록 작은 값으로 결정되는 것이 바람직하다.If we calculate the difference between each index for the submatrix B determined through the above index selection example 1, an arbitrary lifting size About Therefore, it satisfies the index condition 1a, at Is One of the values, each of which Since the values are multiples of each other ( drainage relationship), According to the definition of This is established and the index condition 1b is also satisfied. However, Therefore, the index condition 2a and the index condition 2b are the lifting size Satisfaction varies depending on the situation. For example, In this case, the index condition 2a and the index condition 2b are always satisfied, but In this case is established Circular permutation matrix of size and Since they are virtually the same, they may not satisfy the exponent conditions 2a and 2b. In other words, In this case, the structure is as in mathematical expression 16, which means that the cycle characteristics are not improved. In conclusion, in order to improve the cycle characteristics for lifting sizes of various lengths, It is desirable that the value be determined as small as possible.

하지만 LDPC 부호화를 위한 리프팅 크기 값이 값에 비해 상대적으로 클 경우에 (즉, 에서 값이 큰 경우에) 행렬 관련 연산으로 인해 부호화 복잡도가 크게 증가할 가능성이 높다. 따라서 값은 사이클 특성과 부호화 복잡도를 고려하여 선택될 수 있다. 사이클 특성 개선만을 고려할 경우에는 에 대응되는 리프팅 크기 집합에 속해 있는 리프팅 크기 값들 중 가장 작은 리프팅 크기가 로 선택될 수 있다.또한 제한적인 부호화 복잡도 증가를 고려할 경우에는 에 대응되는 리프팅 크기 집합에 속해 있는 리프팅 크기 값들 중 가장 작은 리프팅 크기 보다 크고, 가장 큰 리프팅 크기 보다 작은 리프팅 크기가 로 선택될 수 있다. 통상적으로 리프팅 크기 집합에 포함된 리프팅 크기가 , , …, 라 할 때 (), 값은 ()로 설정될 수 있다. 일반적으로 , , …, 의 값들이 연속적인 정수 값이 아니라면, 값은 , , …가 아닌 정수로 선택될 수도 있다. 상기 실시예 외에도 다른 실시예에 대해서도 는 앞서 설명한 바와 같이 다양한 조건에 기반하여 통해 선택될 수 있으나 설명의 편의를 위해 자세한 설명은 생략할 수도 있다.However, the lifting size for LDPC encoding The value If it is relatively large compared to the value (i.e., at (if the value is large) It is highly likely that the encoding complexity will increase significantly due to matrix-related operations. Therefore, The value can be selected by considering the cycle characteristics and encoding complexity. If only the cycle characteristics improvement is considered, The smallest lifting size among the lifting size values belonging to the corresponding lifting size set can be selected. Also, when considering the limited increase in encoding complexity, Among the lifting size values belonging to the corresponding lifting size set, a lifting size that is greater than the smallest lifting size and smaller than the largest lifting size can be selected. Typically, the lifting sizes included in the lifting size set are , , … , When ( ), The value is ( ) can be set. Generally, , , … , If the values are not consecutive integers, The value is , , … may be selected as an integer other than the above embodiment. In addition to the above embodiment, for other embodiments as well As previously explained, it can be selected based on various conditions, but detailed explanation may be omitted for convenience of explanation.

지수 선택 방법의 구체적인 예로서 편의상 , 즉, 로 설정하였을 때 지수 선택의 예를 다음에 나타내었다.For convenience, as a concrete example of the index selection method, , in other words, An example of index selection when set to is shown below.

지수 선택 예 2 () Example 2 of selecting an index ( )

- -

- (로 설정하면, , )- ( If set to , , )

- (또는 )이며, 여기서 에 대응되는 리프팅 크기 집합에 속해 있는 리프팅 크기 값들 중 가장 큰 리프팅 크기 보다는 작은 리프팅 크기 중 하나이다.- Is (or ) and here Is The largest lifting size among the lifting size values belonging to the corresponding lifting size set It is one of the smaller lifting sizes.

상기 지수 선택 예 2를 통해서 결정되는 부분 행렬 B에 대해 각 지수의 차이를 구해보면, 이 되어 임의의 리프팅 크기 에 대해 항상 이 성립하고, 이 되어 이 성립하므로 지수 조건 1a 및 지수 조건 1b를 만족할 수 있다. 상기 지수 선택 예 2처럼 인 경우에는 뿐만 아니라 일반적으로 )를 만족하는 임의의 에 대해서도 지수 조건 1a 및 지수 조건 1b를 만족할 수 있다. 즉, 인 정수 에 대해,, , , 와 같이 설정된 부분 행렬 B는 지수 조건 1a 및 지수 조건 1b를 만족한다. 또한, 이므로 지수 조건 2a및 지수 조건 2b는 리프팅 크기 에 따라 만족 여부가 달라진다. (또는 )는 앞서 설명한 것처럼 사이클 특성 개선 및 부호화 복잡도를 고려하여 다양한 조건에 기반하여 선택될 수 있다.If we calculate the difference between each index for the submatrix B determined through the above index selection example 2, This is an arbitrary lifting size Always about This is established, Become this Since this holds, index condition 1a and index condition 1b can be satisfied. As in the above index selection example 2. In this case as well as in general ) that satisfies For this, index conditions 1a and 1b can be satisfied. That is, In Jeong-su About, , , , the submatrix B set as satisfies the index condition 1a and the index condition 1b. In addition, Therefore, the index condition 2a and the index condition 2b are the lifting size Satisfaction varies depending on the situation. (or ) can be selected based on various conditions, taking into account cycle characteristic improvement and encoding complexity, as explained above.

지수 선택 예 2와 관련된 구체적인 실시예를 이하에서 설명한다.A specific example related to index selection example 2 is described below.

표 8과 같은 리프팅 크기 집합이 주어져 있을 때, 부분 행렬 B의 구체적인 예시를 다음 수학식 18에 나타내었다. 수학식 18은 표 8의 에 대한 패리티 검사 행렬에서 부분 행렬 B의 예를 나타낸 것이다. (수학식 15의 행렬들의 를 설정한 예시이다.) 부분행렬 B는 하기 수학식 18에 포함된 행렬들 중 적어도 하나에 기반하여 결정될 수 있다. 하지만, 본 개시의 실시예가 이에 한정되는 것은 아니다. 즉, 하기 실시예는 리프팅 크기 중 32가 선택되는 경우를 일 예로 설명한 것이나 상기 표 8에 포함된 리프팅 크기 중 어느 하나가 선택될 수 있다. 따라서, 리프팅 크기에 따라 결정된 c에 기반하여 다양한 행렬들이 고려될 수 있다.Given a set of lifting sizes as in Table 8, a specific example of the submatrix B is given in the following mathematical expression 18. Mathematical expression 18 is An example of a submatrix B in the parity check matrix for is shown. (Matrix of Equation 15) Here is an example of setting the submatrix B. The submatrix B can be determined based on at least one of the matrices included in the following mathematical expression 18. However, the embodiments of the present disclosure are not limited thereto. That is, the following embodiment is an example of a case where 32 is selected among the lifting sizes, but any one of the lifting sizes included in Table 8 above can be selected. Accordingly, various matrices can be considered based on c determined according to the lifting size.

[수학식 18][Equation 18]

- , , (리프팅 크기 중 32 선택)- , , (Choose 32 from lifting sizes)

수학식 18의 경우에 0번째 리프팅 크기 집합에서 리프팅 크기 값이 8, 16, 32와 같이 32 이하로 선택될 경우에는 로부터 이 되어 사실상 행렬이항등 행렬 가 되어 또한 항등 행렬 가 되므로 부호화 과정이 간결해지는 반면에 사이클 특성이 개선되지 않는 단점이 있다. 만일 사이클 특성을 개선하면서 제한된 부호화 복잡도 증가를 고려했을 때 상기 수학식 18의 구조를 갖는 부분 행렬에서 에 대응되는 지수 쌍 는 다음과 같은 조합들이 가능할 수 있다.In the case of mathematical expression 18, the lifting size in the 0th lifting size set If the value is selected as 32 or less, such as 8, 16, or 32, From This has become a reality matrix identity matrix Become Also the identity matrix Since the encoding process becomes simpler, there is a disadvantage that the cycle characteristic is not improved. If the cycle characteristic is improved while considering the limited increase in encoding complexity, in the submatrix having the structure of the above mathematical expression 18, The corresponding exponent pair The following combinations may be possible:

[표 10][Table 10]

상기 표 10은 일례일 뿐이며,일반적으로 Zmax 보다 작은 리프팅 크기 값들 중에서 하나 를 선택하여로 결정될 수 있다.The above Table 10 is only an example, and is generally one of the lifting size values smaller than Zmax. By selecting can be decided by

본 개시의 일 실시예로서 상기 값은 특정 기준 값 보다 작은 리프팅 크기들 중에서 가장 큰 리프팅 크기에 기반하여 결정될 수도 있다.구체적으로 설명하면, 만일 기준 값이 96로 설정되었다면, [표 3]내지 [표 8]과 같은 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 96 이하인 수는 순서대로 64, 96, 80, 56, 72, 88, 52, 60이다. 따라서 각각의 리프팅 크기 집합에서 주어진 기준 값에 기반하여각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면,상기 값은 각 리프팅 크기 집합 인덱스에 따라 순서대로 65, 97, 81, 57, 73, 89, 53, 61로 정의될 수 있다. 만일 기준 값이 48로 설정되었다면, 마찬가지 방법으로 상기 값은 각 리프팅 크기 집합 인덱스에 따라 순서대로 33, 49, 41, 29, 37, 45, 27, 31로 정의될 수 있다. 참고로 [표 3] 또는 [표 8]에서 ()안의 숫자를 제외한 리프팅 크기 집합을 사용하는 경우에, iLS = 1인 리프팅 크기 집합에 포함된 리프팅 크기 중 i번째로 큰 리프팅 크기를 기준 값으로 결정하면, 각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값은 각 집합에서 i번째로 큰 리프팅 크기에 1을 더한 정수로 결정되는 특징이 있다.As one embodiment of the present disclosure, the above The value may be determined based on the largest lifting size among the lifting sizes smaller than a specific reference value. Specifically, if the reference value is set to 96, in a system using lifting size sets such as [Table 3] to [Table 8], the numbers less than or equal to 96 in each lifting size set are 64, 96, 80, 56, 72, 88, 52, and 60 in that order. Therefore, in each lifting size set, based on the given reference value, the parity check matrix corresponding to the index of each lifting size set is defined. If the value is determined, the above The values can be defined as 65, 97, 81, 57, 73, 89, 53, 61 in order according to each lifting size set index. If the reference value is set to 48, the above method can be used in the same way. The values can be defined as 33, 49, 41, 29, 37, 45, 27, 31 in order according to each lifting size set index. For reference, in case of using a lifting size set excluding the numbers in () in [Table 3] or [Table 8], if the i-th largest lifting size among the lifting sizes included in the lifting size set with iLS = 1 is determined as the reference value, the corresponding parity check matrix defined according to each lifting size set index The value has the characteristic that it is determined as an integer that adds 1 to the ith largest lifting size in each set.

또한,부호화 방법의 균일성을 위해 각 리프팅 크기 집합에서 i번째로 큰 리프팅 크기가 선택될 수도 있다 (i = 2, 3, 4, …). 예를 들어 [표 3]과 같은 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 5번째로 큰 수는 16, 24, 20, 14, 18, 22, 13, 15이이다. 따라서 각각의 리프팅 크기 집합에서 5번째로 큰 수에 기반하여각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=5),상기 값은 각 리프팅 크기 집합 인덱스에 따라 순서대로 17, 25, 21, 15, 19, 23, 14, 16으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 4번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=4), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 33, 49, 41, 29, 37, 45, 27, 31로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 3번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=3), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 65, 97, 81, 57, 73, 89, 53, 61로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 2번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=2), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 129, 193, 161, 113, 145, 177, 105, 121로 정의될 수 있다.In addition, for the uniformity of the encoding method, the ith largest lifting size in each lifting size set may be selected (i = 2, 3, 4, …). For example, in a system using the lifting size sets as in [Table 3], the fifth largest numbers in each lifting size set are 16, 24, 20, 14, 18, 22, 13, 15. Therefore, based on the fifth largest number in each lifting size set, the corresponding parity check matrix defined according to each lifting size set index is If the value is determined (i=5), the above The values can be defined as 17, 25, 21, 15, 19, 23, 14, 16 in order according to each lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the fourth largest number in each lifting size set. If the value is determined (i=4), The values can be defined as 33, 49, 41, 29, 37, 45, 27, 31 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the third largest number in each lifting size set. If the value is determined (i=3), The values can be defined as 65, 97, 81, 57, 73, 89, 53, 61 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the second largest number in each lifting size set. If the value is determined (i=2), The values can be defined as 129, 193, 161, 113, 145, 177, 105, 121 in order of lifting size set index.

만일 [표 8]에서 ()안의 값들을 제외한 값들의 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 5번째로 큰 수는 32, 48, 40, 28, 36, 44, 26, 30이다. 따라서 각각의 리프팅 크기 집합에서 5번째로 큰 수에 기반하여 각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=5),상기 값은 리프팅 크기 집합 인덱스에 따라 순서대로 33, 49, 41, 29, 37, 45, 27, 31으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 4번째로 큰 수를 바탕으로 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=4), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 65, 97, 81, 57, 73, 89, 53, 61로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 3번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=3), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 129, 193, 161, 113, 145, 177, 105, 121로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 2번째로 큰 수를 바탕으로 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=2), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 257, 385, 321, 225, 289, 353, 209, 241로 정의될 수 있다.In a system that uses the lifting size sets of values excluding the values in () in [Table 8], the fifth largest numbers in each lifting size set are 32, 48, 40, 28, 36, 44, 26, and 30. Therefore, based on the fifth largest number in each lifting size set, the corresponding parity check matrix defined according to each lifting size set index is If the value is determined (i=5), the above The values can be defined as 33, 49, 41, 29, 37, 45, 27, 31 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the fourth largest number in each lifting size set. If the value is determined (i=4), The values can be defined as 65, 97, 81, 57, 73, 89, 53, 61 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the third largest number in each lifting size set. If the value is determined (i=3), The values can be defined as 129, 193, 161, 113, 145, 177, 105, 121 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the second largest number in each lifting size set. If the value is determined (i=2), The values can be defined as 257, 385, 321, 225, 289, 353, 209, 241 in order of the lifting size set index.

또한 상기 수학식 18 및 상기 표 10 및 그에 대응되는 실시예에 나타낸 쌍에 따르면, 행렬이 이 되는데, 상기 지수 선택 예 2에 따라 리프팅 크기 값이 보다 작거나 같은 경우에는 이 성립하게 되어 결국 이므로 사이클 특성이 개선되지는 않지만, 이 성립함을 이용하여 효율적인 LDPC 부호화가 가능하다. 리프팅 크기 값이 보다 큰 경우에는 를 만족하는 가 존재하여 () 이 되고, 따라서 인 성질을 이용하여 부호화 복잡도는 증가하지만 효율적인 LDPC 부호화가 가능하다. 여기서 에 의해서 결정되는 사이클 길이는 기존의 에서 로 증가한다. 또는 에 의해서 결정되는 사이클 길이는 지수 조건 1a, 지수 조건 1b를 만족하기 때문에 값에 비례하여 크게 증가한다.Also, as shown in the above mathematical formula 18 and the above table 10 and the corresponding examples, According to the pair, The matrix This is done, and the lifting size is determined according to the above index selection example 2. The value If less than or equal to This was established and eventually Therefore, the cycle characteristics are not improved, This establishment allows efficient LDPC encoding. Lifting size The value In larger cases Satisfying exists ( ) This becomes, and therefore By using the human nature, efficient LDPC encoding is possible, although the encoding complexity increases. Here, and The cycle length determined by the existing at It increases to . and or and The cycle length determined by satisfies exponential condition 1a and exponential condition 1b. It increases significantly in proportion to the value.

지수 선택 방법의 구체적인 예로서 편의상 , 즉, 로 설정하였을 때 지수 선택의 예를 다음에 나타내었다.For convenience, as a concrete example of the index selection method, , in other words, An example of index selection when set to is shown below.

지수 선택 예3 () Example 3 of selecting an index ( )

- -

- (로 설정하면, , )- ( If set to , , )

- (또는 )이며, 여기서 에 대응되는 리프팅 크기 집합에 속해 있는 리프팅 크기 값들 중 가장 큰 리프팅 크기 보다는 작은 리프팅 크기 중 하나이다.- Is (or ) and here Is The largest lifting size among the lifting size values belonging to the corresponding lifting size set It is one of the smaller lifting sizes.

상기 지수 선택 예 3을 통해서 결정되는 부분 행렬 B에 대해 각 지수의 차이를 구해보면, 이 되어 임의의 리프팅 크기 에 대해 항상 이 성립하고, 이 되어 이 성립하므로 지수 조건 1a 및 지수 조건 1b를 만족할 수 있다. 상기 지수 선택 예 3처럼 인 경우에는 뿐만 아니라 일반적으로 )를 만족하는 임의의 에 대해서도 지수 조건 1a 및 지수 조건 1b를 만족할 수 있다. 즉, 인 정수 에 대해,, , , 와 같이 설정된 부분 행렬 B는 지수 조건 1a 및 지수 조건 1b를 만족한다. 또한, 이므로 지수 조건 2a및 지수 조건 2b는 리프팅 크기 에 따라 만족 여부가 달라진다. (또는 )는 앞서 설명한 것처럼 사이클 특성 개선 및 부호화 복잡도를 고려하여 다양한 조건에 기반하여 선택될 수 있다.If we calculate the difference between each index for the submatrix B determined through the above index selection example 3, This is an arbitrary lifting size Always about This is established, Become this Since this holds, index condition 1a and index condition 1b can be satisfied. As in the above index selection example 3. In this case as well as in general ) that satisfies For this, index conditions 1a and 1b can be satisfied. That is, In Jeong-su About, , , , the submatrix B set as satisfies the index condition 1a and the index condition 1b. In addition, Therefore, the index condition 2a and the index condition 2b are the lifting size Satisfaction varies depending on the situation. (or ) can be selected based on various conditions, taking into account cycle characteristic improvement and encoding complexity, as explained above.

지수 선택 예 3와 관련된 구체적인 실시예를 이하에서 설명한다.Specific examples related to index selection example 3 are described below.

표 8과 같은 리프팅 크기 집합이 주어져 있을 때, 부분 행렬 B의 구체적인 예시를 다음 수학식 19에 나타내었다. 수학식 19는 표 8의 에 대한 패리티 검사 행렬에서 부분 행렬 B의 예를 나타낸 것이다. (수학식 15의 행렬들의 를 설정한 예시이다.) 부분행렬 B는 하기 수학식 19에 포함된 행렬들 중 적어도 하나에 기반하여 결정될 수 있다. 하지만, 본 개시의 실시예가 이에 한정되는 것은 아니다. 즉, 하기 실시예는 리프팅 크기 중 32가 선택되는 경우를 일 예로 설명한 것이나 상기 표 8에 포함된 리프팅 크기 중 어느 하나가 선택될 수 있다. 따라서, 리프팅 크기에 따라 결정된 c에 기반하여 다양한 행렬들이 고려될 수 있다.Given a set of lifting sizes as in Table 8, a specific example of the submatrix B is given in Equation 19 below. Equation 19 is given in Table 8. An example of a submatrix B in the parity check matrix for is shown. (Matrix of Equation 15) Here is an example of setting the submatrix B. The submatrix B can be determined based on at least one of the matrices included in the following mathematical expression 19. However, the embodiments of the present disclosure are not limited thereto. That is, the following embodiment is an example of a case where 32 is selected among the lifting sizes, but any one of the lifting sizes included in Table 8 above can be selected. Accordingly, various matrices can be considered based on c determined according to the lifting size.

[수학식 19][Equation 19]

- , , (리프팅 크기 중 32 선택)- , , (Choose 32 from lifting sizes)

수학식 19의 경우에 0번째 리프팅 크기 집합에서 리프팅 크기 값이 8, 16, 32와 같이 32 이하로 선택될 경우에는 로부터 이 되어 사실상 행렬이 순환 순열 행렬 가 되어 는 순환 순열 행렬 가 되므로 부호화 과정이 간결해지는 반면에 사이클 특성이 개선되지 않는 단점이 있다. 만일 사이클 특성을 개선하면서 제한된 부호화 복잡도 증가를 고려했을 때 상기 수학식 18의 구조를 갖는 부분 행렬에서 에 대응되는 지수 쌍 는 다음과 같은 조합들이 가능할 수 있다.In the case of mathematical expression 19, the lifting size in the 0th lifting size set If the value is selected as 32 or less, such as 8, 16, or 32, From This has become a reality The matrix is a cyclic permutation matrix Become is a cyclic permutation matrix Since the encoding process becomes simpler, there is a disadvantage that the cycle characteristic is not improved. If the cycle characteristic is improved while considering the limited increase in encoding complexity, in the submatrix having the structure of the above mathematical expression 18, The corresponding exponent pair The following combinations may be possible:

[표 11][Table 11]

상기 표 11은 일례일 뿐이며,일반적으로 Zmax 보다 작은 리프팅 크기 값들 중에서 하나 를 선택하여로 결정될 수 있다.The above Table 11 is only an example, and is generally one of the lifting size values smaller than Zmax. By selecting can be decided by

본 개시의 일 실시예로서 상기 값은 특정 기준 값 보다 작은 리프팅 크기들 중에서 가장 큰 리프팅 크기에 기반하여 결정될 수도 있다.구체적으로 설명하면, 만일 기준 값이 96으로 설정되었다면, [표 3]내지 [표 8]과 같은 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 96 이하인 수는 순서대로 64, 96, 80, 56, 72, 88, 52, 60이다. 따라서 각각의 리프팅 크기 집합에서 주어진 기준 값에 기반하여각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면, 상기 값은 각 리프팅 크기 집합 인덱스에 따라 순서대로 64, 96, 80, 56, 72, 88, 52, 60으로 정의될 수 있다. 만일 기준 값이 48로 설정되었다면, 마찬가지 방법으로 상기 값은 각 리프팅 크기 집합 인덱스에 따라 순서대로 32, 48, 40, 28, 36, 44, 26, 30으로 정의될 수 있다. [표 3] 또는 [표 8]에서 ()안의 숫자를 제외한 리프팅 크기 집합을 사용하는 경우에, iLS = 1인 리프팅 크기 집합에 포함된 리프팅 크기 중 i번째로 큰 리프팅 크기를 기준 값으로 결정하면, 각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값은 각 집합에서 i번째로 큰 리프팅 크기로 결정되는 특징이 있다.As one embodiment of the present disclosure, the above The value may be determined based on the largest lifting size among the lifting sizes smaller than a specific reference value. Specifically, if the reference value is set to 96, in a system using lifting size sets such as [Table 3] to [Table 8], the numbers less than or equal to 96 in each lifting size set are 64, 96, 80, 56, 72, 88, 52, and 60 in that order. Therefore, in each lifting size set, based on the given reference value, the parity check matrix corresponding to the index of each lifting size set is defined. If the value is determined, the above The values can be defined as 64, 96, 80, 56, 72, 88, 52, 60 in order according to each lifting size set index. If the reference value is set to 48, the above can be defined in the same way. The values can be defined as 32, 48, 40, 28, 36, 44, 26, 30 in order according to each lifting size set index. In case of using a lifting size set excluding the numbers in () in [Table 3] or [Table 8], if the i-th largest lifting size among the lifting sizes included in the lifting size set with iLS = 1 is determined as the reference value, the corresponding parity check matrix defined according to each lifting size set index The value has the characteristic that it is determined by the i-th largest lifting size in each set.

또한,부호화 방법의 균일성을 위해 각 리프팅 크기 집합에서 i번째로 큰 리프팅 크기가 선택될 수도 있다 (i = 2, 3, 4, 5, 6, …). 예를 들어 [표 3]과 같은 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 5번째로 큰 수는 16, 24, 20, 14, 18, 22, 13, 15이다. 따라서 각각의리프팅 크기 집합에서 5번째로 큰 수에 기반하여 각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=5), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 16, 24, 20, 14, 18, 22, 13, 15로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 4번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=4), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 32, 48, 40, 28, 36, 44, 26, 30으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 3번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=3), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 64, 96, 80, 56, 72, 88, 52, 60으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 2번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=2), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 128, 192, 160, 112, 144, 176, 104, 120로 정의될 수 있다.In addition, for the uniformity of the encoding method, the ith largest lifting size in each lifting size set may be selected (i = 2, 3, 4, 5, 6, …). For example, in a system using lifting size sets as in [Table 3], the fifth largest numbers in each lifting size set are 16, 24, 20, 14, 18, 22, 13, 15. Therefore, the parity check matrix corresponding to each lifting size set index is defined based on the fifth largest number in each lifting size set. If the value is determined (i=5), The values can be defined as 16, 24, 20, 14, 18, 22, 13, 15 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the fourth largest number in each lifting size set. If the value is determined (i=4), The values can be defined as 32, 48, 40, 28, 36, 44, 26, 30 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the third largest number in each lifting size set. If the value is determined (i=3), The values can be defined as 64, 96, 80, 56, 72, 88, 52, 60 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the second largest number in each lifting size set. If the value is determined (i=2), The values can be defined as 128, 192, 160, 112, 144, 176, 104, 120 in order of the lifting size set index.

만일 [표 8]에서 ()안의 값들을 제외한 값들의 리프팅 크기 집합을 사용하는 시스템에서 각각의 리프팅 크기 집합에서 5번째로 큰 수는 32, 48, 40, 28, 36, 44, 26, 30이다. 따라서 각각의 리프팅 크기 집합에서 5번째로 큰 수에 기반하여 각 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=5),상기 값은 리프팅 크기 집합 인덱스에 따라 순서대로 32, 48, 40, 28, 36, 44, 26, 30으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 4번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=4), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 64, 96, 80, 56, 72, 88, 52, 60으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 3번째로 큰 수에 기반하여 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=3), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 128, 192, 160, 112, 144, 176, 104, 120으로 정의될 수 있다. 마찬가지 방법으로 각각의 리프팅 크기 집합에서 2번째로 큰 수에 기반하여, 리프팅 크기 집합 인덱스에 따라 정의되는 패리티 검사 행렬에 대응되는 값이 결정된다면 (i=2), 값은 리프팅 크기 집합 인덱스에 따라 순서대로 256, 384, 320, 224, 288, 353, 208, 240으로 정의될 수 있다.In a system that uses the lifting size sets of values excluding the values in () in [Table 8], the fifth largest numbers in each lifting size set are 32, 48, 40, 28, 36, 44, 26, and 30. Therefore, based on the fifth largest number in each lifting size set, the corresponding parity check matrix defined according to each lifting size set index is If the value is determined (i=5), the above The values can be defined as 32, 48, 40, 28, 36, 44, 26, 30 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the fourth largest number in each lifting size set. If the value is determined (i=4), The values can be defined as 64, 96, 80, 56, 72, 88, 52, 60 in order according to the lifting size set index. Similarly, the parity check matrix corresponding to the lifting size set index is defined based on the third largest number in each lifting size set. If the value is determined (i=3), The values can be defined as 128, 192, 160, 112, 144, 176, 104, 120 in order according to the lifting size set index. Similarly, based on the second largest number in each lifting size set, the corresponding parity check matrix defined according to the lifting size set index If the value is determined (i=2), The values can be defined as 256, 384, 320, 224, 288, 353, 208, 240 in order of the lifting size set index.

또한 상기 수학식 19 및 상기 표 11 및 그에 대응되는 실시예에 나타낸 쌍에 따르면, 행렬이 이 되는데, 상기 지수 선택 예 3에 따라 리프팅 크기 값이 보다 작거나 같은 경우에는 이 성립하게 되어 결국 이므로 사이클 특성이 개선되지는 않지만, , 이 성립함을 이용하여 효율적인 LDPC 부호화가 가능하다. 리프팅 크기 값이 보다 큰 경우에는 를 만족하는 가 존재하여 ()이 되고, 따라서 인 성질을 이용하여 부호화 복잡도는 증가하지만 효율적인 LDPC 부호화가 가능하다. 여기서 에 의해서 결정되는 사이클 길이는 기존의 에서 로 증가한다. 또는 에 의해서 결정되는 사이클 길이는 지수 조건 1a, 지수 조건 1b를 만족하기 때문에 값에 비례하여 크게 증가한다.Also, as shown in the above mathematical formula 19 and the above table 11 and the corresponding examples, According to the pair, The matrix This is done, and the lifting size is determined according to the above index selection example 3. The value If less than or equal to This was established and eventually Therefore, the cycle characteristics are not improved, , This establishment allows efficient LDPC encoding. Lifting size The value In larger cases Satisfying exists ( ) This becomes, and therefore By using the human nature, efficient LDPC encoding is possible, although the encoding complexity increases. Here, and The cycle length determined by the existing at It increases to . and or and The cycle length determined by satisfies exponential condition 1a and exponential condition 1b. It increases significantly in proportion to the value.

상기 지수 선택 예 1, 지수 선택 예 2 및 지수 선택 예 3은 사이클 특성 개선과 부호화 복잡도를 동시에 고려한 도 10의 패리티 검사 행렬에서 부분 행렬 B(1020)을 구성하는 일부 순환 순열 행렬의 지수 선택 방법이다. 상기 지수 선택 예시들은 리프팅 크기가 작아 부호 길이가 짧을 때는 사이클 특성이 개선되지 않지만 부호화 복잡도가 매우 낮고, 리프팅 크기가 커짐에 따라 부호화 복잡도는 다소 증가하는 대신 사이클 특성을 개선하는 방법을 제안하고 있다. 일반적으로 LDPC 부호는 길이가 길수록 사이클 특성으로 인한 오류마루 현상에 더 민감하게 영향을 받을 수 있기 때문에, 리프팅 크기가 증가하면서 부호의 길이가 함께 증가함에 따라 사이클 특성 또한 더욱 개선되는 상기 방법들은 LDPC 부호의 길이에 맞게 오류마루 현상을 개선할 수 있는 방법이라고 할 수 있다.The above index selection examples 1, 2, and 3 are index selection methods for some cyclic permutation matrices constituting the submatrix B(1020) in the parity check matrix of FIG. 10, which simultaneously consider improvement of cycle characteristics and coding complexity. The above index selection examples propose a method in which the cycle characteristics are not improved when the code length is short due to a small lifting size, but the coding complexity is very low, and the coding complexity increases somewhat as the lifting size increases, but the cycle characteristics are improved. In general, as the length of an LDPC code is longer, the longer the code, the more sensitively it can be affected by the error floor phenomenon due to the cycle characteristics. Therefore, the above methods, in which the cycle characteristics are further improved as the code length increases along with the lifting size, can be said to be methods that can improve the error floor phenomenon according to the length of the LDPC code.

물론 리프팅 크기가 작아 부호 길이가 짧은 경우에는 사이클 특성이 오류마루 현상에 크게 영향을 주지 않지만, 리프팅 크기가 작은 경우에도 사이클 특성을 개선하는 방법을 적용할 수도 있다.Of course, when the lifting size is small and the code length is short, the cycle characteristics do not significantly affect the error floor phenomenon, but even when the lifting size is small, a method to improve the cycle characteristics can be applied.

본 개시의 일 실시예로서 부호 길이가 짧은 경우에 사이클 특성을 개선하는 방법을 설명한다.As one embodiment of the present disclosure, a method for improving cycle characteristics when a code length is short is described.

지수 선택 예 4 () Example 4 of selecting an index ( )

- 는 임의의 정수- is an arbitrary integer

- 이며, 여기서 를 만족하는 정수이며, 즉,부분 행렬 B에 대응되는 지수들 중 , 을 만족하는 정수이다. 여기서 , 의 최대공약수를 의미하며, 에 대응되는 리프팅 크기 집합에 속해 있는 임의의 리프팅 크기를 의미한다. ( , 는 홀수, )- Is and here Is is an integer satisfying , that is, among the indices corresponding to the submatrix B, , Is is an integer satisfying . Here, Is , It means the greatest common divisor of Is It means any lifting size that belongs to the set of lifting sizes corresponding to . ( , is odd, )

- - Is

또는 .or .

만일 시스템에서 지원하는 의 크기가 항상 보다 같거나 큰 경우에는 로 간단히 표현할 수 있다.If the system supports The size of is always If it is equal to or greater than It can be simply expressed as .

상기 지수 선택 예 4는 순환 순열 행렬 의 각 지수들이 모두 고정된 값이 아니라 적어도 하나의 리프팅 크기 Z에 기반하여 가변적으로 결정되는는 방법을 설명한다. 따라서 [표 3] 내지 [표 8]의 리프팅 크기 집합들뿐만 아니라 그 외의 다양한 리프팅 크기 집합들이 정의되어 있는 경우에도 본 개시에서 제안하는 방법을 적용할 수 있다.Example 4 of the above index selection is a cyclic permutation matrix We describe a method in which each index is not a fixed value, but is determined variably based on at least one lifting size Z. Therefore, the method proposed in the present disclosure can be applied not only to the lifting size sets of [Table 3] to [Table 8], but also to various other lifting size sets defined.

만일 에서 인 경우에는 이 정수가 아니므로 상기 예에서는 가 되도록 설정될 수 있다. 즉, 시스템에서 지원하는 값들과 주어진 J 값에 따라서 값이 가변적으로 결정될 수 있다. 만일 시스템에서 지원하는 값이 보다 크거나 같은 경우에는 가 항상 정수이므로, 와 같이 하나의 방법으로 결정할 수 있다.should at In this case Since this is not an integer, in the above example can be set to be, i.e., supported by the system. Depending on the values and the given J value The value can be determined variably. If the system supports The value If it is greater than or equal to Since is always an integer, It can be decided in one way as follows.

상기 지수 선택 예 4의 방법은 지수 조건 1a및 지수 조건 1b를 만족하며, 리프팅 크기 에 따라 지수 조건 2a및 지수 조건 2의 만족 여부는 달라진다. 예를 들어, 지원하는 값의 범위가 보다 크거나 같은 경우에는 지수 조건 2a및 지수 조건 2b를 만족하며, 보다 작은 경우에는 만족하지 않는다.The method of the above index selection example 4 satisfies index condition 1a and index condition 1b, and the lifting size Depending on the index condition 2a and the index condition 2, the satisfaction of the index condition 2 varies. For example, if the support The range of values If it is greater than or equal to, it satisfies the exponent condition 2a and the exponent condition 2b, If it is less than that, it is not satisfied.

상기 지수 선택 예 4의 실시예에 따르면, (또는 )인 경우에는 에 의해서 결정되는 사이클 길이는 기존의 에서 로 증가하며, (또는 )인 경우에는 로 증가한다. ( 인 경우에는 증가하지 않는다.) 또는 에 의해서 결정되는 사이클 길이는 지수 조건 1a, 지수 조건 1b를 만족하기 때문에 값에 비례하여 크게 증가한다.According to the embodiment of the above index selection example 4, (or ) in this case and The cycle length determined by the existing at increases to , (or ) in this case increases to ( ) does not increase in this case. and or and The cycle length determined by satisfies exponential condition 1a and exponential condition 1b. It increases significantly in proportion to the value.

또한 (또는 )인 경우에는 행렬이also (or ) in this case The matrix

이므로,since,

을 이용하여 LDPC 부호화가 가능하다. (또는 )인 경우에는 행렬이LDPC encoding is possible using . (or ) in this case The matrix

이므로,since,

를 만족하는 정수 ()가 존재하므로 유사한 방식으로 LDPC 부호화가 가능하다.Integers that satisfy ( ) exists, so LDPC encoding is possible in a similar manner.

상기 지수 선택 예 4의 방식은 J 값에 따라 개선할 수 있는 사이클의 길이의 최댓값이 리프팅 크기 Z에 무관하게 고정되는 단점이 있는 반면에 리프팅 크기 Z가 작은 경우에도 사이클 특성이 개선되는 장점이 있다. 다시 말해, 순환 순열 행렬 의 각 지수들을 모두 고정된 정수 값이 아니라 상기 순환 순열 행렬의 각 지수들 중 적어도 하나가 리프팅 크기 Z에 기반하여 가변적으로 결정됨으로써 다양한 리프팅 크기에 대해 사이클 특성이 개선될 수 있다.The method of the above index selection example 4 has the disadvantage that the maximum value of the cycle length that can be improved depending on the J value is fixed regardless of the lifting size Z, but has the advantage that the cycle characteristics are improved even when the lifting size Z is small. In other words, the cyclic permutation matrix The cycle characteristics can be improved for various lifting sizes by determining at least one of the indices of the cyclic permutation matrix to be variably determined based on the lifting size Z rather than all of the indices being fixed integer values.

상기 지수 선택 예 4에 대한 구체적인 예로서 편의상 , 즉, 로 설정하였을 때 지수 선택의 예를 다음에 나타내었다.For convenience, as a specific example of the above index selection example 4, , in other words, An example of index selection when set to is shown below.

지수 선택 예 5 () Example 5 of selecting an index ( )

- -

- ()- ( )

- - Is

또는 or

만일 시스템에서 지원하는 의 크기가 항상 보다 같거나 큰 경우에는 로 간단히 표현할 수 있다.If the system supports The size of is always If it is equal to or greater than It can be simply expressed as .

상기 지수 선택 예 5처럼 인 경우에는 뿐만 아니라 를 만족하는 임의의 에 대해서도 지수 조건 1a 및 지수 조건 1b를 만족한다. 즉, 인 정수 에 대해, ,, (또는 )와 같이 설정된 부분 행렬 B는 지수 조건 1a 및 지수 조건 1b를 만족한다.As in example 5 of the above index selection In this case yes Any arbitrary It also satisfies index condition 1a and index condition 1b. That is, In Jeong-su About, , , (or ) The submatrix B set as satisfies the index condition 1a and the index condition 1b.

상기 지수 선택 예 5와 같은 방식에 따르면,According to the same method as the above index selection example 5,

가 되어 를 이용하여 효율적인 부호화가 가능하다.Become Efficient encoding is possible using .

상기 지수 선택 예 4에 대한 보다 구체적인 예로서 편의상 , 즉, 로 설정하였을 때 지수 선택의 예를 다음에 나타내었다.For convenience, as a more specific example of the above index selection example 4, , in other words, An example of index selection when set to is shown below.

지수 선택 예 6 () Example 6 of selecting an index ( )

- -

- ()- ( )

- - Is

또는 )or )

만일 시스템에서 지원하는 의 크기가 항상 보다 같거나 큰 경우에는 로 간단히 표현할 수 있다.If the system supports The size of is always If it is equal to or greater than It can be simply expressed as .

상기 지수 선택 예 6처럼 인 경우에는 뿐만 아니라 를 만족하는 임의의 에 대해서도 지수 조건 1a 및 지수 조건 1b를 만족한다. 즉, 인 정수 에 대해, , , (또는 )와 같이 설정된 부분 행렬 B는 지수 조건 1a 및 지수 조건 1b를 만족한다.As in example 6 of the above index selection In this case yes Any arbitrary It also satisfies index condition 1a and index condition 1b. That is, In Jeong-su About, , , (or ) The submatrix B set as satisfies the index condition 1a and the index condition 1b.

상기 지수 선택 예 6과 같은 방식에 따르면,According to the same method as the above index selection example 6,

를 기반으로 효율적인 부호화가 가능하다.Efficient encoding is possible based on .

상기 지수 선택 예 4, 지수 선택 예 5 및 지수 선택 예 6의 지수 선택 방법은 효율적인 부호화를 고려했을 때 사이클 길이가 최대 로 개선될 수 있게 한다. 만일 값이 비교적 크다면 J 값이 크지 않아도 충분히 사이클 특성이 개선될 수 있다. 통상적으로 J 값은 시스템에서 주어진 패리티 검사 행렬에서 코어 행렬 부분의 행의 개수를 지시하는 파라미터 값과 타겟 BLER 값들을 고려하여 결정될 수 있다. 예를 들어, 타겟 BLER가 비교적 높거나 코어 행렬의 값이 큰 경우에는 J = 1, 2로 충분할 수 있으나, 타겟 BLER가 비교적 낮거나 코어 행렬의 값이 작은 경우에는 J = 2, 3, 4, … 등으로 설정하는 것이 바람직하다.The index selection methods of the above index selection examples 4, 5 and 6 are such that the cycle length is at most It can be improved by. If If the value is relatively large, the cycle characteristics can be sufficiently improved even if the J value is not large. Typically, the J value is a parameter that indicates the number of rows in the core matrix portion of the parity check matrix given in the system. It can be determined by considering the values and target BLER values. For example, if the target BLER is relatively high or the core matrix For large values, J = 1, 2 may be sufficient, but if the target BLER is relatively low or the core matrix is For small values, it is desirable to set J = 2, 3, 4, …, etc.

일반적으로 부호의 길이에 따라 부호의 성능이 사이클 특성에 영향을 받는 정도가 다르기 때문에 리프팅 크기에 따라 J 값을 다르게 설정하는 것 또한 가능하다. 즉, 지수들 중 적어도 하나를 리프팅 크기에 따라 결정하되, 리프팅 크기가 상대적으로 작을 때는 값을 작게, 리프팅 크기가 상대적으로 큰 경우에는 값을 크게 설정할 수 있다 (). 리프팅 크기에 따라 J 값을 다르게 설정하는 경우에는 기준이 되는 리프팅 크기 및 적절한 , 값을 결정해야 한다.In general, since the degree to which the performance of a code is affected by the cycle characteristics varies depending on the length of the code, it is also possible to set the J value differently depending on the lifting size. That is, at least one of the exponents is determined based on the lifting size, but when the lifting size is relatively small, If the value is small and the lifting size is relatively large, You can set the value to a large value ( ). When setting the J value differently depending on the lifting size, the standard lifting size and the appropriate , The value must be determined.

상기 지수 선택 예 1 내지 지수 선택 예 6를 포함하여 여러 가지 가능한 지수 선택 방법은 시스템의 타겟 BLER 및/또는 리프팅 크기에 따라서도 가변적으로 적용될 수 있다. 예를 들면, 만일 시스템의 타겟 BLER가 높을 경우에는 사이클 특성이 부호의 복호 성능에 큰 영향을 주지 않기 때문에 사이클 특성은 개선되지 않더라도 부호화 효율성이 가장 높은 기존 방법을 이용하여 부호화를 수행할 수도 있으나, 타겟 BLER가 낮을 경우에는 본 개시에서 제안된 지수 선택 방법들이 적용될 수 있다. 여기서 타겟 BLER의 높고 낮음은 시스템에서 적용 가능한 타겟 BLER가 복수 개 존재할 경우에 상대적으로 결정될 수 있다. 예를 들어, 제1 타겟 BLER가 이고 제2 타겟 BLER가 일 때, 제1 타겟 BLER가 제2 타겟 BLER에 비해 높다고 할 수 있다. 만일 제1 타겟 BLER가 , 제2 타겟 BLER가 이고, 제3 타겟 BLER가 일 (또는 )일 때, 제1 타겟 BLER가 제2 타겟 BLER 및 제3 타겟 BLER에 비해 높다고 결정될 수 있으며, 제1 타겟 BLER및 제2 타겟 BLER가 제3 타겟 BLER에 비해 높다고 결정될 수도 있다. 이와 같이 시스템에서 적용 가능한 타겟 BLER가 복수 개 존재할 때 특정 BLER 값을 기준으로 BLER의 높고 낮음을 판단한 다음에 이에 기반하여 본 개시에서 제안된 지수 선택 방법이 가변적으로 적용될 수 있다.Various possible index selection methods, including the index selection examples 1 to 6, can be variably applied depending on the target BLER and/or lifting size of the system. For example, if the target BLER of the system is high, encoding can be performed using an existing method with the highest encoding efficiency even if the cycle characteristics are not improved because the cycle characteristics do not have a significant impact on the decoding performance of the code. However, if the target BLER is low, the index selection methods proposed in the present disclosure can be applied. Here, the high and low of the target BLER can be relatively determined when there are multiple target BLERs applicable in the system. For example, if the first target BLER is And the second target BLER When the first target BLER is higher than the second target BLER, it can be said that the first target BLER is higher than the second target BLER. If the first target BLER is , the second target BLER And the third target BLER work (or ), the first target BLER may be determined to be higher than the second target BLER and the third target BLER, and the first target BLER and the second target BLER may be determined to be higher than the third target BLER. In this way, when there are multiple target BLERs applicable to the system, the high and low of the BLER can be determined based on a specific BLER value, and then the index selection method proposed in the present disclosure can be variably applied based on this.

다만, 이는 본 발명의 일 실시예이며, 타겟 BLER가 높은 경우 또는 타겟 BLER와 상관없이 본 개시에서 제안된 지수 선택 방법이 적용될 수 있으며, 다른 요인에 기반하여 가변적으로 적용될 수 있다. 또한,본 개시의 전반에 걸쳐 기재된 지수 선택 방법은 패리티 검사 행렬의 부분 행렬 (구체적으로,부분 행렬 B)에 포함된 순환 순열 행렬의 지수를 선택하는 방법을 의미하므로, 본 개시의 지수 선택 방법은 패리티 검사 행렬을 결정하는 방법 또는 패리티 검사 행렬에 포함되는 부분 행렬을 결정하는 방법으로 기재될 수 있다. 또한, 리프팅 크기는 부호 길이 또는 TBS 등과 밀접한 관련이 있기 때문에 본 발명에서 개시된 실시예들 중에서 리프팅 크기에 기반하여 결정되는 모든 과정은 부호 길이 또는 TBS에 기반하여 결정되는 방식으로 변경될 수도 있다.또한 상기 지수 선택 예 1 내지 지수 선택 예 6에서 리프팅 크기 는 편의상 " , , 는 홀수"와 같이 표현되었으나, 일반적으로는 [표 7-1] 또는 [표 7-2]처럼 ", , 번째 리프팅 크기 집합에서 가장 작은 리프팅 크기"와 같이 를 홀수로 제한하지 않는 경우에도 마찬가지 방법으로 지수 선택 방법들을 적용할 수 있다.However, this is one embodiment of the present invention, and the index selection method proposed in the present disclosure can be applied when the target BLER is high or regardless of the target BLER, and can be applied variably based on other factors. In addition, since the index selection method described throughout the present disclosure refers to a method of selecting an index of a cyclic permutation matrix included in a submatrix of a parity check matrix (specifically, a submatrix B), the index selection method of the present disclosure can be described as a method of determining a parity check matrix or a method of determining a submatrix included in a parity check matrix. In addition, since the lifting size is closely related to the code length or TBS, etc., all processes determined based on the lifting size among the embodiments disclosed in the present invention can be changed to a method determined based on the code length or TBS. In addition, in the index selection examples 1 to 6, the lifting size For convenience, " , , is expressed as "odd number", but is generally expressed as " as in [Table 7-1] or [Table 7-2] , , Is "The smallest lifting size in the set of lifting sizes" The same methods for selecting exponents can be applied even when the number is not restricted to odd numbers.

지수 선택 예 4 내지 지수 선택 예 6에서 J 값의 적용에 대한 구체적인 예로서 시스템 타겟 BLER가 높다고 판단된 경우에 상기 J 값을 으로 작게 설정하고, 시스템 타겟 BLER가 낮다고 판단된 경우에는 J 값을 상대적으로 큰 값으로 설정할 수 있다 (). 또한 이러한 지수 선택의 방법 또는 J 값에 대한 결정은 리프팅 크기를 함꼐 고려하여 결정할 수도 있다. 일반적으로 기준이 되는 BLER 및/또는 리프팅 크기를 A개로 설정하고, 총 (A+1)개의 서로 다른 J 값으로 구분할 수 있다. 예를 들어, 제1 기준 값, 제2 기준 값, … 등이 있다면, J 값은 , , … 등과 같이 세분화될 수 있다. 일반적으로 J는 0으로도 설정될 수도 있는데, 이 경우에는 가 되어 사이클 특성이 개선되지 않고 가장 간단한 부호화가 가능한 기존 방식을 의미한다.As a specific example of the application of the J value in Index Selection Example 4 to Index Selection Example 6, if the system target BLER is judged to be high, the J value is If the system target BLER is judged to be low, set the J value to a relatively large value. can be set to a value ( ). Also, the method of selecting these indices or the decision on the J value can be determined by considering the lifting size together. Generally, the reference BLER and/or lifting size is set to A, and a total of (A+1) different J values can be distinguished. For example, if there are the first reference value, the second reference value, etc., the J value is , , … can be subdivided into, etc. In general, J can also be set to 0, in which case It refers to the existing method that enables the simplest encoding without improving cycle characteristics.

참고로 단말이나 기지국에서 타겟 BLER에 대해서 판단하는 방법은 시스템에 따라 다양하게 적용할 수 있다. 예를 들어, 설정된 RRC (radio resource control)정보와 같은 상위 계층 시그널링 등으로부터 직접 시스템 타겟 BLER가 지시될 수도 있으며, 설정된 CQI 테이블 또는 MCS 테이블에 따라 간접적으로 타겟 BLER가 지시될 수도 있으며, 설정된 서비스 시나리오에 따라 간접적으로 타겟 BLER가 지시될 수도 있다.Note that the method for determining the target BLER at the terminal or base station can vary depending on the system. For example, the system target BLER may be indicated directly from upper-layer signaling, such as configured RRC (radio resource control) information, indirectly based on configured CQI tables or MCS tables, or indirectly based on configured service scenarios.

본 개시의 일 실시 예로서 LDPC 부호의 오류 마루 성능을 개선하기 위한 방법을 제안한다. 본 개시에서는 도 10에서 부분 행렬 A(1010)와 B(1020)로 구성된 패리티 검사 행렬의 제1 파트에서 제1 패리티 비트들에 대응되는 부분 행렬 B(1020)가 아래 수학식 20의 형태일 때 상기 패리티 검사 행렬의 제1 파트가 만족해야할 대수적인 특성을 제안한다.As an embodiment of the present disclosure, a method for improving the error floor performance of an LDPC code is proposed. In the present disclosure, an algebraic property that the first part of the parity check matrix, which is composed of sub-matrices A (1010) and B (1020) in FIG. 10, must satisfy when the sub-matrix B (1020) corresponding to the first parity bits in the first part of the parity check matrix is in the form of the following mathematical expression 20 is proposed.

[수학식 20][Equation 20]

상기 수학식 20의 부분 행렬 B(1020)의 크기는 (또는 )이며, 크기의 기본 행렬 또는 무게 행렬에 대응된다. 또한 부분 행렬 B(1020)의 첫번째 열 블록은 1개의 순환 순열 행렬과 2개의 순환 순열 행렬이 중첩된 순환 행렬로 구성되어 있으며, 두 번째 열 블록은 2개의 항등 행렬 (또는 순환 순열 행렬)로 구성된다. 본 개시에서는 편의상 두 번째 열 블록들은 항등 행렬로 구성되어 있는 경우만 표현하지만, 일반적으로 그와 같이 제한될 필요는 없다. 또한 적절한 역변환(invertible transform) 과정을 통해 위와 같은 형태의 부분 행렬 B(1020)로 변환 가능한 행렬들은 대수적으로 동일한 행렬로 간주할 수 있다.The size of the submatrix B(1020) of the above mathematical expression 20 is (or ) and corresponds to the base matrix or weight matrix of size. Also, the first column block of the submatrix B(1020) is 1 A cyclic permutation matrix and two cyclic permutation matrices superimposed It consists of a circular matrix, and the second column block has two It consists of an identity matrix (or a cyclic permutation matrix). For convenience, in this disclosure, the second row blocks are represented only when they consist of an identity matrix, but in general, there is no need to be so restricted. Furthermore, matrices that can be transformed into a submatrix B(1020) of the above form through an appropriate invertible transform process can be considered as algebraically identical matrices.

수학식 20의 부분 행렬 B(1020)의 경우에 부호화 과정에서 사용되는 크기의 행렬이 가 되므로 앞선 실시예들처럼 지수 선택에 따라 효율적인 부호화가 가능해진다. 그런데 상기 수학식 20의 구조에서 길이가 4인 사이클을 제거하기 위해서는 , (또는 )과 같은 조건을 만족해야 한다. 길이가 4인 사이클은 부호의 복호 성능을 감소시키기 때문에 제거되는 것이 바람직하다. 이하에서는 상기 수학식 20의 부분 행렬에 대해 사이클 특성을 개선하면서, LDPC 부호화 과정에서 필요한 행렬과 관련된 연산의 복잡도를 합리적인 수준으로 증가시킴으로써 효율적인 부호화를 가능하게 하는 지수 선택 방법을 설명한다.본 개시의 실시예에서는 길이가 4인 사이클을 제거하기 위한 상기 조건은 기본적으로 만족하는 것을 가정한다.In the case of the submatrix B(1020) of mathematical expression 20, it is used in the encoding process. Size of The matrix Therefore, efficient encoding is possible depending on the index selection as in the previous examples. However, in order to remove the cycle of length 4 in the structure of the above mathematical expression 20, , (or ) must satisfy the same conditions. It is desirable to remove cycles with a length of 4 because they reduce the decoding performance of the code. In the following, while improving the cycle characteristics for the partial matrix of the above mathematical expression 20, the necessary conditions in the LDPC encoding process are A method for selecting an index that enables efficient encoding by increasing the complexity of operations involving matrices to a reasonable level is described. In the embodiments of the present disclosure, it is assumed that the above condition for removing cycles of length 4 is basically satisfied.

만일 QC LDPC 부호의 패리티 검사 행렬에 대해 리프팅 크기 , (는 홀수, 은 0 이상의 정수)라 할 때, 부분 행렬 B(1020)의 첫번째 열 블록을 구성하는 순환 순열 행렬들의 지수들 (또는 순환 이동 값) 0, , 는 서로 다른 정수이며, 다음의 조건들의 적어도 일부 또는 전부를 만족한다:If the lifting size for the parity check matrix of the QC LDPC code cast , ( is odd, When is an integer greater than or equal to 0, the indices (or cyclic shift values) of the cyclic permutation matrices constituting the first column block of the submatrix B(1020) are 0, , are distinct integers, satisfying at least some or all of the following conditions:

지수 조건3 : 는 리프팅 크기 와의 최대 공약수가 1이거나 1보다 큰 의 약수 중 가장 작은 수이다. (즉,와 서로 소이거나 1 보다 큰 의 최소 약수를 최대 공약수로 갖는다.) Index condition 3 : is the lifting size The greatest common divisor with is 1 or greater than 1 is the smallest number among the divisors of (i.e., Is and are mutually prime or greater than 1 ) has the least divisor as the greatest common divisor.

지수 조건4: 인 정수 에 대해, Index condition 4: In Jeong-su About,

지수 조건5: 인 정수 에 대해, Index Condition 5: In Jeong-su About,

지수 조건6: (, 는 홀수) Index condition 6: ( , is an odd number)

상기 지수 조건 3에 따르면, 와 서로 소인 경우에는 수학식 20의 행렬에서 에 의해 결정되는 태너 그래프 상의 사이클의 길이가 가 된다. 지수 조건 3에 의한 사이클 특성에 대해 간단한 예를 도 12a에 나타내었다.According to the above index condition 3, go In the case where they are relatively prime, in the matrix of mathematical expression 20 The length of the cycle on the Tanner graph is determined by A simple example of the cycle characteristics by the exponential condition 3 is shown in Fig. 12a.

도 12a는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.FIG. 12a is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.

상기 도 12a는 인 경우에 에서 에 의해 유도되는 사이클 특성을 나타낸 예시도로서 길이가 32인 사이클을 도시한다. 일반적으로 의 최대 공약수가 라면 사이클 길이는 가 된다. 따서 값이 증가할수록 사이클의 길이가 증가한다.사이클 특성만을 고려하면 와 서로 소인 것이 바람직하지만, 상황에 따라 다른 조건에 의해 최대 공약수 D가 작도록 (1보다 큰 Z의 최소 약수가 되도록)지수가 선택될 수 있다.예를 들어, a가 Z와 서로 소인 특징을 만족할 수 없는 경우, 최대 공약수 가 작게되는 지수가 선택되는 것이 바람직하다.The above figure 12a In case of at An example diagram showing the cycle characteristics induced by a cycle of length 32 is shown. Generally, and The greatest common divisor of The ramen cycle length is It becomes. So As the value increases, the length of the cycle increases. Considering only the cycle characteristics, go Although it is desirable that a and Z are relatively prime, the exponents may be chosen so that the greatest common divisor D is small (so that it is the smallest divisor of Z greater than 1) depending on other conditions. For example, if a cannot satisfy the property of being relatively prime to Z, the greatest common divisor It is desirable to select an exponent that makes the value smaller.

상기 지수 조건 4는 수학식 20의 행렬에서 에 의해 결정되는 태너 그래프 상의 사이클의 특성을 개선하기 위한 조건이다. 지수 조건 4를 만족할 경우에 상기 구조에서 길이가 이하인 사이클들이 모두 제거되기 때문에 길이가 이상인 사이클들만 존재한다.The above index condition 4 is in the matrix of mathematical expression 20. It is a condition for improving the characteristics of the cycle on the Tanner graph determined by . If the index condition 4 is satisfied, the length in the above structure is Since all cycles below are removed, the length is Only ideal cycles exist.

상기 지수 조건 5는 수학식 20의 행렬에서 에 의해 결정되는 태너 그래프 상의 사이클의 특성을 개선하기 위한 조건이다. 지수 조건 5를 만족할 경우에 상기 구조에서 인 정수 에 대해 길이가 이하인 사이클들이 모두 제거되기 때문에 길이가 이상인 사이클들만 존재한다. 지수 조건 5에 의한 사이클 특성에 대해 간단한 예를 도 12b 및 도 12c에 나타내었다.The above index condition 5 is in the matrix of mathematical expression 20. It is a condition for improving the characteristics of the cycle on the Tanner graph determined by . In the above structure, if the index condition 5 is satisfied, In Jeong-su About the length Since all cycles below are removed, the length is Only ideal cycles exist. A simple example of cycle characteristics according to the exponent condition 5 is shown in Figs. 12b and 12c.

도 12b는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.FIG. 12b is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.

구체적으로, 도 12b는 인 경우에 에 의해 유도되는 사이클 특성을 나타낸다. 에 대해서Specifically, Fig. 12b In case of It shows the cycle characteristics induced by . About

를 만족하지만,에 대해 이 성립하기 때문에 길이가 4인 사이클은 제거되지만 길이가 6인 사이클이 존재할 수 있다.but is satisfied with About Because this holds, cycles of length 4 are eliminated, but cycles of length 6 can exist.

도 12c는 본 개시에서 제안하는 특성을 만족하는 LDPC 부호에 대한 패리티 검사 행렬의 부분 행렬에서 사이클 특성을 설명하기 위한 예시도이다.FIG. 12c is an exemplary diagram for explaining cycle characteristics in a submatrix of a parity check matrix for an LDPC code satisfying the characteristics proposed in the present disclosure.

구체적으로, 도 12c는 인 경우에 에 의해 유도되는 사이클 특성을 나타낸다. 에 대해서Specifically, Fig. 12c In case of It shows the cycle characteristics induced by . About

를 만족하지만,에 대해서 이 성립하기 때문에 길이가 4, 6인 사이클은 제거되지만 길이가 8인 사이클이 존재할 수 있다.but is satisfied with About Because this holds, cycles of length 4 and 6 are eliminated, but cycles of length 8 can exist.

상기 지수 조건 6은 효율적인 LDPC 부호화를 위하여 행렬을 가능한 단순화하기 위한 조건이다. 수학식 20의 부분 행렬 B를 포함하는 패리티 검사 행렬에 기반하여 LDPC 부호화를 수행하는 과정에서 필요한 행렬은 와 같이 정의될 수 있다. 이 때,로 설정되는 경우 이므로 가 되어 이 된다. 따라서 행렬을 이용하여 비교적 효율적인 부호화가 가능하다. 상기 지수 조건 6에서 만일 리프팅 크기 가 홀수인 경우에는 값이 정수가 될 수 없기 때문에 본 실시예는 리프팅 크기가 모두 짝수인 경우에만 적용될 수 있다. 즉, 에서 은 1 이상인 정수인 경우에만 적용 가능하다. 예를 들면, [표 9]처럼 리프팅 크기 집합들의 각 집합에서 최소 리프팅 크기가 모두 짝수여야 한다.The above index condition 6 is for efficient LDPC encoding. It is a condition for simplifying the matrix as much as possible. In the process of performing LDPC encoding based on the parity check matrix including the submatrix B of mathematical expression 20, The matrix is can be defined as follows. At this time, If set to since Become This becomes. Therefore Relatively efficient encoding is possible using matrices. In the above index condition 6, if the lifting size If is odd Since the values cannot be integers, this embodiment can only be applied when all lifting sizes are even. That is, at is applicable only if the number is an integer greater than or equal to 1. For example, in each set of lifting size sets as in [Table 9], the minimum lifting size must be an even number.

[표 9][Table 9]

본 개시의 일 실시예로서 상기 지수 조건들을 이용하여 도 10의 부분 행렬 B(1020)을 구성하는 보다 구체적인 예를 설명한다.As an embodiment of the present disclosure, a more specific example of constructing a submatrix B(1020) of FIG. 10 using the above exponential conditions is described.

먼저 5G처럼 표 3 내지 표 9에 나타낸 것처럼 리프팅 크기 집합이 정의되어 있고, 리프팅 크기 집합에 포함되어 있는 리프팅 크기만 적용할 수 있는 통신 시스템 또는 방송 시스템을 고려한다. 또한 각 리프팅 크기 집합 별로 별도의 패리티 검사 행렬 또는 지수 행렬이 정의될 수 있다. 즉, 표 3 내지 표 9의 경우에 총 8개의 집합 인덱스 별로 패리티 검사 행렬 또는 지수 행렬 등이 정의될 수 있다.First, consider a communication system or broadcasting system, such as 5G, where a set of lifting sizes is defined, as shown in Tables 3 through 9, and only lifting sizes included in the set can be applied. Furthermore, a separate parity check matrix or index matrix can be defined for each lifting size set. That is, in the cases of Tables 3 through 9, a parity check matrix or index matrix can be defined for each of the eight set indices.

수학식 20에 기반한 부분 행렬 B에서 , 를 다음과 같이 결정한다고 하자. 본 개시에서는 편의를 위해 인 경우에 대해서만 설명하지만, 의 값은 와 서로 소이거나 최대 공약수가 작은 값들 중에서 선택될 수 있다. 일반적으로 에 () 대응되는 패리티 검사 행렬의 부분 행렬 B에 대한 지수 값이 모두 다를 수도 있기 때문에 로 표현하였다. 또한 에 대응되는 리프팅 크기 집합에 속해 있는 임의의 리프팅 크기를 의미하며, (는 홀수 또는 최소 리프팅 크기, )와 같은 형태로 표현될 수 있다.In the submatrix B based on mathematical expression 20, , Let us decide as follows. For convenience in this disclosure, I will explain only the case where The value of and can be selected from values that are mutually prime or have a smaller greatest common divisor. In general, to ( ) index for the submatrix B of the corresponding parity check matrix Because the values may all be different It was expressed as . Also Is It means any lifting size that belongs to the set of lifting sizes corresponding to , ( is an odd or minimum lifting size, ) can be expressed in the same form.

지수 선택 예 7 () Example 7 of selecting an index ( )

- -

- -

(단, , 즉, 는 만족해야 한다.)(step, , in other words, ) must be satisfied.

상기 지수 선택 예 7에서 만일 시스템이 지원하는 의 크기가 모두 의 배수인 경우에는 (단, )로 간단히 표현될 수 있다. 이 경우 상기 [표 9]와 같은 각각의 리프팅 크기 집합에서 최소 리프팅 크기는 의 배수임을 의미한다. 예를 들어, J = 2로 설정된 경우에 최소 리프팅 크기는 각각 4의 배수임을 의미하며, J = 3로 설정된 경우에 최소 리프팅 크기는 각각 8의 배수임을 의미한다. 표 3 내지 표 9에서 의 리프팅 크기 집합처럼 형태인 경우에는 조건을 만족하기 위해서최소 리프팅 크기는 이다. 예를 들어, J = 2, 3으로 설정된 경우에 최소 리프팅 크기는 각각 8, 16이다. 본 개시에서는 설명의 편의상 각 리프팅 크기 집합에서 최소 리프팅 크기가 의 배수인 경우에 대해서만 설명한다. 일반적으로는 각 리프팅 크기 집합에서 최소 리프팅 크기가 2의 배수이지만, 의 배수는 아닌 경우에도 본 개시에서 설명된 방법으로 지수 선택 방법이 적용될 수 있다.In the above index selection example 7, if the system supports The size of all If it is a multiple of (step, ) can be simply expressed as. In this case, the minimum lifting size in each lifting size set as in [Table 9] above is It means that the minimum lifting size is a multiple of 4. For example, when J is set to 2, it means that the minimum lifting size is a multiple of 4, and when J is set to 3, it means that the minimum lifting size is a multiple of 8. In Tables 3 to 9, Like a set of lifting sizes In case of the form To satisfy the condition, the minimum lifting size is For example, when J = 2, 3 are set, the minimum lifting sizes are 8, 16, respectively. In the present disclosure, for convenience of explanation, the minimum lifting size in each lifting size set is This is explained only for cases where the minimum lifting size is a multiple of 2. In general, the minimum lifting size in each set of lifting sizes is a multiple of 2, but Even if the index is not a multiple of , the index selection method described in the present disclosure can be applied.

상기 지수 선택 예 7에 따르면, 지수 조건 3 및 지수 조건 6이 성립한다.According to the above index selection example 7, index conditions 3 and 6 are established.

또한 이므로 지수조건 4에 따르면 에 의해 유도되는 길이가 4인 사이클은 존재하지 않는다. 만일 가 3인 소인수를 갖고 있지 않으면 (즉, 가 3의 배수인 홀수가 아니면) 은 정수가 될 수 없기 때문에 길이가 6인 사이클도 존재하지 않는다. 가 3인 소인수를 갖고 있는 경우에는 형태임을 의미하므로,also Therefore, according to the index condition 4, There is no cycle of length 4 induced by . If If it does not have a prime factor of 3 (i.e., (If it is not an odd number that is a multiple of 3) There is no cycle of length 6, since it cannot be an integer. If a has a prime factor of 3, Because it means the form,

이다. 만일 J=2이고, 이면 이며,is. If J=2, Back side and,

이므로 모든 리프팅 크기에 대해 길이가 6인 사이클이 존재하지 않는다. 또한 J=2이면, 로부터 를 만족하므로 에 의해 유도되는 길이가 8인 사이클도 존재하지 않는다. 따라서 J가 2 이상의 정수로 선택되는 경우에 에 의해 유도되는 사이클의 길이는 최소한 10이다. J 값이 증가할수록 사이클 특성은 더욱 개선될 수 있지만, 부호화 복잡도 증가 및 리프팅 크기에 대한 제약이 증가하기 때문에 시스템의 요구 조건에 따라 적절한 J 값을 선택하는 것이 바람직하다.Therefore, there is no cycle of length 6 for all lifting sizes. Also, if J = 2, From Because it satisfies There is no cycle of length 8 induced by . Therefore, if J is chosen as an integer greater than or equal to 2, The length of the cycle induced by is at least 10. As the J value increases, the cycle characteristics can be further improved, but it is desirable to select an appropriate J value according to the requirements of the system because the encoding complexity increases and the constraints on the lifting size increase.

지수 선택 예 7에 따르면, 는 0부터 비교적 큰 정수 까지 만족하지만, 인 경우에 를 만족하기 때문에 지수 조건 5에 따라서도 12b 및 도 12c와 같이 에 의해 유도되는 사이클 중 길이가 4인사이클만 제거된다. 따라서 더 긴 길이의 사이클들을 제거하려면, J는 2 이상인 정수로 설정되고 를 만족하는 리프팅 크기에 대해서 상기 지수 선택 방법을 적용하는 것이 바람직하다. 예를 들어 J = 2, 인 경우에는According to Example 7 of selecting an index, is a relatively large integer starting from 0 I am satisfied with it, but and In case of Since it satisfies the index condition 5, as in Fig. 12b and Fig. 12c, Among the cycles induced by , only cycles of length 4 are removed. Therefore, to remove cycles of longer length, J is set to an integer greater than or equal to 2. It is desirable to apply the above index selection method for the lifting size satisfying . For example, J = 2, In this case

- ; - ;

- ; - ;

- ; - ;

- ; - ;

가 성립할 수 있다. 따라서 지수 조건 5에 따르면, 도 12b 및 도 12c와 같이 에 의해 유도될 수 있는 사이클 중 길이가 12 이하인 사이클들이 모두 제거됨을 알 수 있다.can be established. Therefore, according to index condition 5, as in Fig. 12b and Fig. 12c, It can be seen that all cycles with a length of 12 or less among the cycles that can be induced by are removed.

지수 조건 3 내지 지수 조건 6과 상기 지수 선택 예 7의 특징들을 고려하면, 다음과 같이 주어진 리프팅 크기 집합의 최소 리프팅 크기에 기반하여 지수를 선택하는 방법도 적용할 수 있다.Considering the features of index conditions 3 to 6 and the index selection example 7 above, a method of selecting an index based on the minimum lifting size of a given set of lifting sizes can also be applied.

지수 선택 예 8 () Example 8 of selecting an index ( )

- -

- 에 대응되는 리프팅 크기 집합 = - A set of lifting sizes corresponding to =

단, 이며, 는 반드시 홀수일 필요는 없다.step, and, does not necessarily have to be an odd number.

- -

지수 선택 예 8는 리프팅 크기 집합이 주어져 있을 때 각 리프팅 크기 집합에 포함되어 있는 최소 리프팅 크기 에 기반하여 지수를 선택하는 방법을 의미한다. 지수 선택 예 8에 따르면 로 표현될 수도 있다. 구체적인 예로서, [표 9]에서 ()안의 수를 제외한 리프팅 크기 집합들을 적용하는 시스템에서 J = 2로 설정되었을 경우에 각 집합 인덱스 별로 값은 순차적으로 4, 6, 5, 7, 9, 11, 13, 15이다. 만일 J=3으로 설정되었고, 각 리프팅 크기 집합의 최소 리프팅 크기가 각각 32, 48, 40, 56, 72, 88, 104, 120이라 하면, 각 집합 인덱스 별로 값은 순차적으로 4, 6, 5, 7, 9, 11, 13, 15이다.Example 8 of index selection is given a set of lifting sizes, and the minimum lifting size contained in each lifting size set is It means a method of selecting an index based on. According to index selection example 8, It can also be expressed as . As a specific example, in a system that applies lifting size sets excluding the numbers in () in [Table 9], when J = 2 is set, for each set index The values are sequentially 4, 6, 5, 7, 9, 11, 13, 15. If J is set to 3 and the minimum lifting size of each lifting size set is 32, 48, 40, 56, 72, 88, 104, 120, then for each set index The values are sequentially 4, 6, 5, 7, 9, 11, 13, 15.

본 개시의 일 실시예로서 상기 값은 특정 기준 값보다 큰 리프팅 크기들에 기반하여 결정될 수도 있다.구체적으로 설명하면, J = 2이고 기준 값이 64로 설정된 경우를 가정한다. 만일 값이 상기 기준 값 이상인 경우에만 상기 지수 선택 예 8이 적용되는 경우, 각 집합 인덱스 별로 값은 순차적으로 16, 24, 20, 28, 36, 44, 52, 60이다. 또 다른 실시 예로 J = 3이고 기준 값이 64로 설정된 경우를 가정한다. 만일 값이 상기 기준 값 이상인 경우에만 상기 지수 선택 예 8이 적용되는 경우, 각 집합 인덱스 별로 값은 순차적으로 8, 12, 10, 14, 18, 22, 26, 30이다.As one embodiment of the present disclosure, the above The value may also be determined based on lifting sizes greater than a certain reference value. Specifically, assume that J = 2 and the reference value is set to 64. If If the above index selection example 8 is applied only when the value is greater than or equal to the above reference value, then for each set index The values are sequentially 16, 24, 20, 28, 36, 44, 52, 60. As another example, assume that J = 3 and the reference value is set to 64. If If the above index selection example 8 is applied only when the value is greater than or equal to the above reference value, then for each set index The values are sequentially 8, 12, 10, 14, 18, 22, 26, 30.

본 개시의 일 실시 예로서 LDPC 부호의 복호 효율성을 개선하기 위한 지수 선택 방법을 제안한다. 본 개시에서는 수학식 21과 같은 형태의 패리티 검사 행렬을 이용한 LDPC 부호화 및 복호화 시스템을 가정한다.As an embodiment of the present disclosure, an index selection method for improving the decoding efficiency of LDPC codes is proposed. In the present disclosure, an LDPC encoding and decoding system using a parity check matrix of the form shown in Equation 21 is assumed.

[수학식 21][Equation 21]

상기 수학식 21의 패리티 검사 행렬의 크기는 이며, 기본 행렬 또는 무게 행렬 등이 각각 이다. 상기 수학식 21의 패리티 검사 행렬은 도 10에서 부분 행렬 A(1010)의 크기가 이며, 부분 행렬 B(1020)의 크기가 인 코어 행렬에 대응될 수 있다. (도 10에서 M2 = 0인 경우에는 상기 수학식 21은 전체 패리티 검사 행렬에 대응된다.)The size of the parity check matrix of the above mathematical expression 21 is , and the basic matrix or weight matrix, etc., respectively. The parity check matrix of the above mathematical expression 21 has the size of the submatrix A(1010) in FIG. 10. , and the size of the submatrix B(1020) is It can correspond to the in-core matrix. (In Fig. 10, when M2 = 0, the above mathematical expression 21 corresponds to the entire parity check matrix.)

또한 각 번째 열 블록은 개의 순환 순열 행렬이 중첩된 순환 행렬로 구성된다. 본 개시에서는 편의상 각 열 블록을 구성하는 순환 순열 행렬 중 하나는 항등 행렬로 구성되어 있는 경우를 예를 들어 설명하지만 (), 일반적으로 그와 같이 제한될 필요는 없다. 또한 순환 이동 및 순열 등과 같은적절한 역변환 과정을 통해 위와 같은 형태의 패리티 검사 행렬로 변환 가능한 행렬들은 대수적으로 동일한 행렬로 간주될 수 있다.Also each The th column block is doggy Circular permutation matrix nested It is composed of a circulant matrix. In the present disclosure, for convenience, it is explained as an example that one of the circulant permutation matrices constituting each column block is composed of an identity matrix ( ), it is not generally necessary to be so restricted. Also, matrices that can be transformed into a parity check matrix of the above form through appropriate inverse transformation processes such as circular shift and permutation can be considered as algebraically identical matrices.

상기 수학식 21의 패리티 검사 행렬에서 정보어에 대응되는 앞쪽 개의 크기 순환 행렬들은 3개 이상의 순환 순열 행렬들로 구성될 수 있으며, 부호의 최소 거리 (minimum distance) 특성을 개선하기 위해 통상적으로 4개 이상의 순환 순열 행렬들로 구성될 수 있다. 패리티 비트에 대응되는 마지막 번째 순환 행렬은 2개 이상의 순환 순열 행렬들로 구성되는데, 2개 또는 4개의 순환 순열 행렬로 구성된 순환 행렬은 최대 랭크(full rank)를 갖지 못하기 때문에 번째 순환 행렬의 열들 중 적어도 하나는 정보어 비트에 대응된다. 따라서 통상적으로 최소 거리 특성 개선 및 기존에 알려진 효율적인 부호화 방법을 적용하기 위해서 3개 이상의 홀수개의 순환 순열 행렬로 구성된다. 또한, 통상적으로 길이가 4인 사이클을 제거하기 위해여 하나의 크기 순환 행렬을 구성하는 순환 순열 행렬들에 대응되는 각 지수(또는 순환 이동 값)들의 차이들은 modulo- 에 대해서 모두 다르다.In the parity check matrix of the above mathematical expression 21, the front corresponding to the information word doggy The size circulant matrices can be composed of three or more circulant permutation matrices, and are typically composed of four or more circulant permutation matrices to improve the minimum distance property of the code. The last circulant corresponding to the parity bit The th circulant matrix is composed of two or more circulant permutation matrices, but since a circulant matrix composed of two or four circulant permutation matrices does not have full rank, At least one of the columns of the th circulant matrix corresponds to an information word bit. Therefore, it is usually composed of three or more odd circulant permutation matrices to improve the minimum distance characteristic and apply an efficient encoding method known in the past. In addition, it is usually composed of one to remove a cycle of length 4. The differences between the indices (or circular shift values) corresponding to the cyclic permutation matrices that constitute the size cyclic matrix are modulo- It's all different.

상기 수학식 21의 패리티 검사 행렬의 예를 도 13에 나타내었다.상기 도 13의 패리티 검사 행렬은 에 대해 크기이며, 세 개의 열블록을 구성하는 순환 순열 행렬이 다음수학식22와 같다.An example of the parity check matrix of the above mathematical expression 21 is shown in Fig. 13. The parity check matrix of Fig. 13 is About The size is , and the cyclic permutation matrix constituting the three column blocks is as follows: Equation 22.

[수학식 22][Equation 22]

일반적으로 상기 수학식 21 및 도 13의 패리티 검사 행렬처럼 하나의 순환 행렬에 3개 이상의 순환 순열 행렬이 중첩되어 있는 경우에는 길이가 6인 사이클이 항상 생성될 수 있다. 다시 말해 상기 수학식 21의 패리티 검사 행렬에서 인 경우가 하나 이상 있으면 태너 그래프 상의 거스(girth, 부호에 대응되는태너 그래프 상의 최소 사이클 길이를 의미)는 6이다. 따라서 상기 수학식 21의 패리티 검사 행렬은 사이클 특성을 개선할 수 없기 때문에 사이클 특성의 영향을 크게 받지 않는 환경에서 사용되는 것이 바람직하다. 사이클 특성에 민감하지 않은 통신 시스템은 통상적으로 지원되는 부호의 길이가 짧거나 및/또는지원되는 부호율이 높거나 및/또는 타겟 BLER가 높은 시스템 등이 있다.In general, one parity check matrix like the above mathematical expression 21 and FIG. 13 If three or more cyclic permutation matrices are nested in a cyclic matrix, a cycle of length 6 can always be created. In other words, in the parity check matrix of the above mathematical expression 21, If there is at least one case, the girth (meaning the minimum cycle length on the Tanner graph corresponding to a code) on the Tanner graph is 6. Therefore, the parity check matrix of the above mathematical expression 21 cannot improve the cycle characteristic, so it is preferable to use it in an environment that is not greatly affected by the cycle characteristic. Communication systems that are not sensitive to the cycle characteristic typically have short supported code lengths and/or high supported code rates and/or high target BLER systems.

상기 수학식 21의 패리티 검사 행렬에 따르면, 개의 지수가 확인되면 의 크기와 무관하게 패리티 검사 행렬이 생성될 수 있기 때문에 저장 효율성이 높은 장점이 있다. 예를 들어, 상기 도 13의 패리티 검사 행렬은 단말 또는 기지국이 값과 [(0, 1, 2, 3,) (0, 5, 10, 15) (0, 2, 3)]의 정보를 확인할 수 있으면 패리티 검사 행렬을 생성 또는 결정할 수 있다.According to the parity check matrix of the above mathematical expression 21, Once the dog's index is confirmed It has the advantage of high storage efficiency because the parity check matrix can be generated regardless of the size of the terminal or base station. For example, the parity check matrix of FIG. 13 is If we can verify the information of values and [(0, 1, 2, 3,) (0, 5, 10, 15) (0, 2, 3)], we can create or determine the parity check matrix.

일반적으로 QC-LDPC 부호는 레이어드 복호화 방식을 통해 하나의 행 블록을 기본 단위로 병렬 처리를 수행하기 적합한 구조이다. 하지만, 상기 수학식 21 또는 도 13의 패리티 검사 행렬은 모든 행이 하나의 행 블록이기 때문에 -단위의 병렬 처리 프로세서를 통한 복호화를 수행하는 동작은 모든 행을 동시에 처리하는 것을 의미한다. 이러한 복호기 구조는 값이 작을 경우에는 문제가 없지만, 부호의 길이가 증가함에 따라 행의 길이, 즉, 값이 증가하기 때문에 큰 부호 길이를 지원할 경우에는 복호기 구현에 부담이 있을 수 있다.In general, QC-LDPC codes are structured to perform parallel processing with one row block as the basic unit through a layered decoding method. However, since the parity check matrix of the above mathematical expression 21 or FIG. 13 has all rows as one row block, - The operation of performing decryption through a parallel processing processor of the unit means processing all rows simultaneously. This decoder structure There is no problem when the value is small, but as the length of the sign increases, the length of the row, i.e., Supporting large code lengths can be burdensome for decoder implementations as the values increase.

본 개시에서는 상기 수학식 21의 구조를 갖는 패리티 검사 행렬에 대해 적절한 지수 선택 방법을 제시하고, 상기 제안된 지수 선택 방법을 적용하면 보다 작은 병렬 처리 프로세싱이 가능함을 설명한다.In this disclosure, an appropriate index selection method is proposed for a parity check matrix having the structure of the above mathematical expression 21, and when the proposed index selection method is applied, Explains that smaller parallel processing is possible.

먼저 순환 행렬에 대해 다음과 같은 열 순열 (column permutation) 및 행 순열 (row permutation)을 적용하는 규칙을 정의한다.first We define rules for applying the following column permutations and row permutations to circulant matrices.

[순열 규칙 (Permutation Rule)][Permutation Rule]

- , (: 1 보다 큰 의 약수)- , ( : greater than 1 divisor of)

- 각각의 크기 순환 행렬에 다음 순열 규칙을 적용한다.- Each Apply the following permutation rules to the size circulant matrix.

- , 에 대해,- , About,

(a) 열 순열 규칙: 번째 열을 번째 열로 이동(a) Column permutation rules: The second column Go to the second column

(b) 행 순열 규칙: 번째 행을 번째 행으로 이동(b) Row permutation rules: The second row Move to the th row

상기 [순열 규칙]을 도 13의 패리티 검사 행렬에 적용한 구체적인 예를 도 14a 및 도 14b에 나타내었다. 상기 도 14a 및 도 14b에서는 , , 를 기반으로 순열 규칙을 적용하였다.A specific example of applying the above [permutation rule] to the parity check matrix of Fig. 13 is shown in Figs. 14a and 14b. In Figs. 14a and 14b, , , The permutation rule was applied based on .

도 14a 및 도 14b는 본 개시의 실시 예에 따른 순열 규칙을 패리티 검사 행렬에 적용하는 예시도이다.FIG. 14a and FIG. 14b are exemplary diagrams of applying a permutation rule according to an embodiment of the present disclosure to a parity check matrix.

도 14a는 도 13의 패리티 검사 행렬에 열 순열을 적용한 예시도이며, 도 14b는 도 14a의 패리티 검사 행렬에 행 순열을 추가로 적용한 예시도이다. 상기 도 14b를 참조하면, 크기의 순환 행렬로 구성된 수학식 22의 패리티 검사 행렬이 상기 순열 규칙을 적용하여 열과 행을 재정렬하면 다음 수학식 23과 같이 크기의 순환 순열 행렬로 구성된 패리티 검사 행렬로 표현될 수 있다.Fig. 14a is an example diagram of applying column permutation to the parity check matrix of Fig. 13, and Fig. 14b is an example diagram of additionally applying row permutation to the parity check matrix of Fig. 14a. Referring to Fig. 14b, The parity check matrix of mathematical formula 22, which is composed of a circulant matrix of size , is rearranged by applying the permutation rule to the columns and rows, as in mathematical formula 23. It can be represented as a parity check matrix consisting of a cyclic permutation matrix of size .

[수학식 23][Equation 23]

일반적으로 열과 행에 대한 단순한 순열은 부호의 특성이나 성능에 영향을 주지 않는다. 특히 행 순열은 부호의 특징에 아무 영향을 주지 않으며, 열 순열 또한 비트들의 순서에만 영향을 줄 뿐이며 부호의 특성이나 성능에 영향을 주지 않는다. 따라서 이와 같이 패리티 검사 행렬의 재정렬만으로 -단위의 레이어드 복호화 방식을 적용하기 용이한 구조로 변환 가능하다.In general, simple permutations of rows and columns do not affect the characteristics or performance of the code. In particular, row permutations do not affect the characteristics of the code at all, and column permutations only affect the order of bits and do not affect the characteristics or performance of the code. Therefore, simply rearranging the parity check matrix in this way - It can be converted into a structure that is easy to apply the layered decryption method of the unit.

크기의 순환 행렬에 상기 순열 규칙을 적용하면 다음 수학식 24와 같이 의 약수 에 대해 개의 개의 순환 순열 행렬로 분할될 수 있다. Applying the above permutation rule to the circulant matrix of size, we get the following mathematical expression 24. divisor of About doggy It can be partitioned into a matrix of cyclic permutations.

[수학식 24][Equation 24]

상기 수학식 24는 크기의 순환 행렬을 분할하였을 때 순환 순열 행렬에 중첩된 순환 행렬이 존재하지 않는 경우를 나타내었으나, 일반적으로는 다음 수학식 25와 같이 재정렬 이후에도 순환 행렬이 존재할 수 있다.The above mathematical expression 24 is When a circulant matrix of size is divided, a case is shown where there is no circulant matrix nested in the circulant permutation matrix, but in general, a circulant matrix may exist even after rearrangement, as in the following mathematical expression 25.

[수학식 25][Equation 25]

이와 같이 수학식 21의 패리티 검사 행렬을 구성하는 순환 순열 행렬의 지수에 따라 다양한 형태의 재정렬이 가능하다. 하지만 통상적으로 3개 이상의 순환 순열 행렬이 중첩된 순환 행렬은 복호기 구현 복잡도를 크게 증가시키기 때문에 가능한 순환 순열 행렬이 중첩되지 않거나 최대 2개만 중첩되도록 하는 것이 복호기 구현상 유리하다.In this way, various forms of rearrangement are possible depending on the index of the cyclic permutation matrix that constitutes the parity check matrix of mathematical expression 21. However, since a cyclic matrix in which three or more cyclic permutation matrices are overlapped typically significantly increases the decoder implementation complexity, it is advantageous for the decoder implementation to ensure that the cyclic permutation matrices do not overlap, or overlap at most two, if possible.

상기 수학식 24 및 수학식 26에 따르면,각 순환 순열 행렬의 열 인덱스 및 행 인덱스를순환 순열 행렬의크기 ()의 약수 로 나눈 나머지가 재정렬 이후의 위치에 영향을 줄 수 있다. 즉, 약수 에 대한 나머지가 같은 열 및 행에 대응되는 원소들(entries)은 재정렬 이후에 동일한 크기의 순환 행렬에 포함된다 (). 구체적인 예로서, 약수 에 대해 나머지가 i인 행들과 나머지가 j인 열들에 대응되는 개의 원소들은 i번째 행 블록의 j번째 열 블록에 대응되는 크기의 순환 행렬에 포함된다 ( . 따라서 본 개시에서 제안하는 순열 규칙을 적용하여 패리티 검사 행렬을 재정렬한 이후에 크기의 순환 행렬에 2개 이상의 순환 순열 행렬이 대응되지 않게 하기 위해서는 처음 주어진 패리티 검사 행렬에서 하나의 크기 순환 행렬을 구성하는 순환 순열 행렬들에 대응되는 각 지수들(또는 순환 이동 값들)은 의 약수인 에 대해 나머지가 모두 다르거나 같은 경우가 최대 1개가 되도록 설정될 수 있다. 다시 말하면, 순환 순열 행렬에 대응하는 지수들 (또는 순환 이동 값들)이 modulo-에 대해 모두 다른 값을 갖거나 최대 한 개의 같은 값을 갖도록 (같은 경우가 한 개 이하가 되도록) 하는 가 존재해야 재정렬 이후에 크기의 순환 행렬에 2개 이상의 순환 순열 행렬이 대응되지 않는다. 각 열 블록의 무게 중 가장 큰 수를 라 할 때, 관계가 성립한다면, 적어도 하나의 순환 행렬에 3개의 순환 순열 행렬이 중첩됨을 의미한다. 따라서, 를 만족하는 경우 상기와 같은 재정렬이 가능하다.According to the above mathematical expressions 24 and 26, the column index and row index of each cyclic permutation matrix are the size of the cyclic permutation matrix ( ) divisor The remainder after division can affect the position after rearrangement. That is, the divisor The elements (entries) corresponding to the same column and row for the remainder are the same after reordering. It is included in the circulant matrix of size ( ). As a concrete example, divisors The rows corresponding to the remainder i and the columns corresponding to the remainder j are The elements of the dog correspond to the jth column block of the ith row block. It is included in the circulant matrix of size ( . Therefore, after rearranging the parity check matrix by applying the permutation rule proposed in this disclosure, In order to prevent more than two circulant permutation matrices from being mapped to a circulant matrix of size , one is added to the initially given parity check matrix. Each index (or circular shift value) corresponding to the cyclic permutation matrices that constitute the size cyclic matrix is divisor of It can be set so that there is at most one case where all remainders are different or equal. In other words, the indices (or cyclic shift values) corresponding to the cyclic permutation matrix are modulo- to have all different values or at most one identical value (with no more than one identical case). After reordering, there must be There are no more than two circulant permutation matrices corresponding to a circulant matrix of size . The largest number among the weights of each column block is When you say, If a relationship is established, at least one This means that three circulant permutation matrices are superimposed on a circulant matrix. Therefore, If satisfied, the above rearrangement is possible.

패리티 검사 행렬의 재정렬 이후에 크기의 순환 행렬에 1개 이하의 순환 순열 행렬이 대응되게 하려면, 각 지수들(또는 순환 이동 값들)은 의 약수 에 대한 나머지가 모두 달라야 한다. 또한 관계가 성립한다면, 적어도 하나의 순환 행렬에 2개의 순환 순열 행렬이 중첩됨을 의미하기 때문에 를 만족해야 상기와 같은 재정렬이 가능하다.After rearranging the parity check matrix To ensure that a circulant matrix of size has at most one circulant permutation matrix, each of the indices (or circulant shift values) must be divisor of The rest of it must all be different. Also If a relationship is established, at least one Because it means that two circulant permutation matrices are superimposed on a circulant matrix. The above rearrangement is possible only if .

마지막 열 블록에 대응되는 순환 행렬을 구성하는 순환 순열 행렬들의 지수를 결정하기 위해 에 대한 나머지뿐만 아니라, 효율적인 부호화가 고려되어야 한다. 패리티 검사 행렬에서 패리티에 대응되는 부분 행렬은 하삼각 행렬 (lower triangular matrix) 형태에 가까울수록 부호화 복잡도가 작은 경우가 많기 때문에 상기 조건을 만족하는 지수들 중에서 하삼각 행렬에 가까운 지수들을 선택하는 것이 바람직하다. 본 개시에서는 값이 4 이상인 경우를 고려하여 마지막 열 블록의 순환 행렬은 또는 이 적용될 수 있다. 조건을 고려할 때 가 4 이상이라 간주하면, 지수쌍 (0, 1, 3) 또는 (0, 2, 3)은 항상 에 대한 나머지가 다르기 때문이다. 물론 이는 일례일 뿐이며, 순환 순열 행렬의 지수 값은 리프팅 크기 및/또는 패리티 검사 행렬의 크기 및/또는 크기로 분할된 형태로 재정렬하기 위한 약수 값 및/또는 각 열 블록을 구성하는 순환 행렬의 무게 분포 중 적어도 하나를 기반으로 적절히 선택될 수 있다. 한편,본 개시의 전반에 걸쳐 기재된 지수 선택 방법은 패리티 검사 행렬의 부분 행렬에 포함된 순환 순열 행렬의 지수를 선택하는 방법을 의미하므로, 본 개시의 지수 선택 방법은 패리티 검사 행렬을 결정하는 방법 또는 패리티 검사 행렬에 포함되는 부분 행렬을 결정하는 방법으로 기재될 수 있다.To determine the indices of the circulant permutation matrices that constitute the circulant matrix corresponding to the last column block. In addition to the remainder, efficient encoding should be considered. Since the encoding complexity of the submatrix corresponding to the parity in the parity check matrix is often smaller when it is closer to a lower triangular matrix, it is desirable to select indices close to a lower triangular matrix among the indices satisfying the above conditions. In the present disclosure, Considering the case where the value is 4 or greater, the circulant matrix of the last column block is or This can be applied. Considering the conditions If we consider that is greater than or equal to 4, then the exponent pair (0, 1, 3) or (0, 2, 3) is always Because the remainder is different. Of course, this is just an example, and the index value of the cyclic permutation matrix is the lifting size. and/or the size of the parity check matrix and/or Divisors for rearranging into a form divided by size The index selection method described throughout the present disclosure may be appropriately selected based on at least one of the weight distributions of the circulant matrix constituting the value and/or each column block. Meanwhile, since the index selection method described throughout the present disclosure refers to a method for selecting an index of a circulant permutation matrix included in a submatrix of a parity check matrix, the index selection method of the present disclosure may be described as a method for determining a parity check matrix or a method for determining a submatrix included in a parity check matrix.

본 개시의 일 실시예로서 패리티 검사 행렬이 수학식 20 또는 수학식 21과 같이 2개의 순환 순열 행렬이 중첩된 순환 행렬을 적어도 하나 포함하고 있는 경우에 대한 레이트 매칭 방법을 제시한다.As one embodiment of the present disclosure, the parity check matrix is a superposition of two cyclic permutation matrices as in Equation 20 or Equation 21. We present a rate matching method for the case where a matrix contains at least one circulant matrix.

일반적으로 패리티 검사 행렬의 무게가 높을 때,패리티 검사 행렬의 행을 분리하여 확장하는 (Row Spliting-Extending, RSE) 방법을 통해 추가적인 패리티를 생성할 수 있다. 수학식 26의 패리티 검사 행렬을 이용한 부호화 방식을 이용하여 RSE 방법을 간단히 설명하면 다음과 같다.In general, when the weight of the parity check matrix is high, additional parity can be generated through the Row Splitting-Extending (RSE) method that separates and extends the rows of the parity check matrix. The RSE method is briefly explained using the encoding method using the parity check matrix of Equation 26 as follows.

[수학식 26][Equation 26]

먼저 상기 수학식 26은 다음 수학식 27과 같이 3개의 방정식으로 나누어 표현할 수 있다.First, the above mathematical expression 26 can be expressed by dividing it into three equations as shown in the following mathematical expression 27.

[수학식 27][Equation 27]

상기 수학식 27에서 중간 변수(intermediate variable) 역할을 하는 값 , 가 있고 그 값을 이용하여 수학식 28과 같이 방정식을 분리하여 정리할 수 있다.A value that acts as an intermediate variable in the above mathematical expression 27 , There is a value and using that value, the equation can be separated and organized as in mathematical expression 28.

[수학식 28][Equation 28]

상기 수학식 28은 다음 수학식 29와 같이 확장된 패리티 검사 행렬에 기반한 관계식으로 표현될 수 있다.The above mathematical expression 28 can be expressed as a relational expression based on an extended parity check matrix as in the following mathematical expression 29.

[수학식 28][Equation 28]

상기 수학식 28을 참고하면, 기존의 부호어 의 값은 변형되지 않으면서 중간 변수 , 이 추가로 도입되는 효과가 있다. 이와 같은 과정은 수학식 26의 크기의 패리티 검사 행렬의 행 중 일부를 적절히 분리하고 새로운 열을 추가하여 수학식 28과 같이 크기의 확장된 패리티 검사 행렬에 대해 만족하는 부호어 를 정의하는 것과 같다. 또한 , 는 기존 부호어에 대해 패리티가 추가로 늘어나는 것과 마찬가지이므로, 이는 증가 리던던시 (Incremental Redundancy, IR) 동작과 동일하다. 본 개시에서는 이와 같은 IR 과정을 편의상 RSE 방법이라 부른다.Referring to the above mathematical expression 28, the existing codeword The value of the intermediate variable is not changed , This additionally introduces the effect. This process is expressed in Equation 26. By appropriately separating some of the rows of the parity check matrix of size and adding new columns, as in Equation 28, Codeword satisfying for extended parity check matrix of size It is like defining . Also , Since this is equivalent to additionally increasing parity for the existing codeword, it is equivalent to an incremental redundancy (IR) operation. In this disclosure, this IR process is conveniently called the RSE method.

RSE 방법을 통한 IR 방법의 성능을 높이기 위해 패리티 검사 행렬에서 RSE 방법을 적용할 행을 결정하는 것이 중요하다. 간단한 예로서, 수학식 29의 패리티 검사 행렬 에서 RSE 방법 (RSE 방법 1, RSE 방법 2)를 적용하여 또는 와 같은 행렬을 획득할 수 있다. 한편, 이하에서는 RSE 방법을 적용하여 획득한 (또는 정의된) 행렬을 로 기재하며 동일한 의미를 갖는 다른 표현들 (예를 들어, 수정된 패리티 검사 행렬, 확장된 패리티 검사 행렬, 분리된 패리티 검사 행렬 등)이 사용될 수 있다. 따라서, 또는 각각 제1 수정된 패리티 검사 행렬 또는 제2 수정된 패리티 검사 행렬로 칭할 수 있다.To improve the performance of the IR method using the RSE method, it is important to determine which rows in the parity check matrix to apply the RSE method to. As a simple example, consider the parity check matrix of Equation 29. By applying the RSE method (RSE method 1, RSE method 2) or A matrix such as can be obtained. Meanwhile, below, the matrix obtained (or defined) by applying the RSE method is , and other expressions with the same meaning (e.g., modified parity check matrix, extended parity check matrix, separated parity check matrix, etc.) may be used. Therefore, or Is Each may be referred to as a first modified parity check matrix or a second modified parity check matrix.

[수학식 29][Equation 29]

상기 수학식 29의 , 는 모두 크기의 순환 순열 행렬 또는 순열 행렬들로 구성되어 있으며, 그 크기는 각각 , , 이다. 의 마지막 열 블록 은 추가되는 중간 변수들에 대응되는 열 블록으로서 새롭게 생성되는 패리티 비트들에 대응된다. RSE 방법은 수학식 26 내지 수학식 28처럼 행 단위로 수행될 수도 있지만, 상기 수학식 29와 같이 행 블록 단위로 수행될 수 있다.In the above mathematical expression 29 , and are all It consists of a cyclic permutation matrix or permutation matrices of size , each of which is of size , , am. and The last ten blocks of corresponds to newly generated parity bits as a column block corresponding to the added intermediate variables. The RSE method can be performed row by row as in Equations 26 to 28, but can also be performed row by row block as in Equation 29.

상기 수학식 29의 는 모두 동일한 행 무게와 열 무게를 갖는다. 하지만 는 최대 2개의 순환 순열 행렬이 중첩된 순환 행렬을 포함하고 있지만, 는 최대 3개의 순환 순열 행렬이 중첩된 순환 행렬을 포함하고 있다. 순환 행렬을 구성하는 중첩된 순환 순열들의 개수가 증가할수록 패리티 검사 행렬은 단순한 형태를 갖는 장점이 있다. 다만, 순환 행렬을 구성하는 중첩된 순환 순열들의 개수가 증가할수록 패리티 검사 행렬은 매우 제한적인 사이클 특성을 갖게 되어 LDPC 부호의 복호를 위해 통상적으로 사용되는 신뢰도 전파 (belief-propagation BP) 복호화를 수행할 경우에는 오류 정정 효과가 열화될 수 있다. 특히 하나의 순환 행렬을 구성하는 중첩된 순환 순열 행렬의 개수가 3개 이상인 경우에는 최대 사이클 길이가 6을 넘을 수 없게 되는 문제점이 있기 때문에 수학식 21 또는 수학식 29와 같이 패리티 검사 행렬이 하나의 행 블록으로 구성된 경우를 제외하고, 와 같이 2개 이상의 행 블록으로 구성된 패리티 검사 행렬에서는 최대한 중첩된 순환 순열 행렬의 개수가 3개 이상인 순환 행렬이 포함되지 않도록 하는 것이 바람직하다.In the above mathematical expression 29 and have the same row and column weights. However, contains a circulant matrix with at most two nested circulant permutation matrices, but contains a circulant matrix in which up to three circulant permutation matrices are nested. As the number of nested circulant permutations constituting the circulant matrix increases, the parity check matrix has the advantage of having a simple form. However, as the number of nested circulant permutations constituting the circulant matrix increases, the parity check matrix has a very limited cycle characteristic, so that the error correction effect may be degraded when performing belief-propagation BP decoding, which is commonly used for decoding LDPC codes. In particular, when the number of nested circulant permutation matrices constituting one circulant matrix is three or more, there is a problem that the maximum cycle length cannot exceed 6. Therefore, except for the case where the parity check matrix is composed of one row block, as in Equation 21 or Equation 29, and In a parity check matrix consisting of two or more row blocks, it is desirable to avoid including a circulant matrix with three or more overlapping circulant permutation matrices.

패리티 검사 행렬의 사이클 특성 및 차수 분포를 고려한 RSE 방법의 일반적인 규칙을 다음과 같이 정리할 수 있다.The general rules of the RSE method considering the cycle characteristics and degree distribution of the parity check matrix can be summarized as follows.

[RSE 규칙][RSE Rules]

(1) 3개 이상의 순환 순열 행렬이 중첩된 순환 행렬을 포함하는 행 블록을 먼저 분리 및 확장한다. 분리 및 확장된 이후의 패리티 검사 행렬에는 3개 이상의 순환 순열 행렬이 중첩된 순환 행렬은 없도록 하기 위해, 1개의 행 블록을 2개 또는 3개 이상의 행 블록으로 분리 및 2개 또는 3개 이상의 열 블록으로 확장할 수 있다.(1) First, a row block containing a circulant matrix in which three or more circulant permutation matrices are overlapped is split and expanded. To ensure that the parity check matrix after splitting and expanding does not contain a circulant matrix in which three or more circulant permutation matrices are overlapped, one row block can be split into two or three or more row blocks and expanded into two or three or more column blocks.

(2) 3개 이상의 순환 순열 행렬이 중첩된 순환 행렬이 없는 경우에는 2개 이상의 순환 순열 행렬이 중첩된 순환 행렬을 포함하는 행 블록을 먼저 분리 및 확장한다. 분리 및 확장된 이후의 패리티 검사 행렬에는 2개 이상의 순환 순열 행렬이 중첩된 순환 행렬은 없도록 하기 위해, 1개의 행 블록을 2개 또는 3개 이상의 행 블록으로 분리 및 2개 또는 3개 이상의 열 블록으로 확장할 수 있다.(2) If there is no circulant matrix in which three or more circulant permutation matrices are overlapped, the row block containing the circulant matrix in which two or more circulant permutation matrices are overlapped is first separated and expanded. In order to ensure that the parity check matrix after separation and expansion does not contain a circulant matrix in which two or more circulant permutation matrices are overlapped, one row block can be separated into two or three or more row blocks and expanded into two or three or more column blocks.

(3) 2개 이상의 순환 순열 행렬이 중첩된 순환 행렬이 없는 경우에는 패리티 검사 행렬에서 행의 차수가 가장 높은 행 블록을 먼저 분리 및 확장한다. 분리 및 확장된 이후의 패리티 검사 행렬에서 행의 차수를 효율적으로 낮추기 위해 1개의 행 블록을 2개 또는 3개 이상의 행 블록으로 분리 및 2개 또는 3개 이상의 열 블록으로 확장할 수 있다.(3) If there is no circulant matrix in which two or more circulant permutation matrices overlap, the row block with the highest row degree in the parity check matrix is first separated and expanded. In order to efficiently reduce the row degree in the parity check matrix after separation and expansion, one row block can be separated into two or three or more row blocks and expanded into two or three or more column blocks.

RSE 방법을 위한 상기 규칙 (1) 내지 (3)은 모두 사용되거나 적어도 하나가 사용되어 분리 및 확장된 패리티 검사 행렬이 획득될 수 있다.All or at least one of the above rules (1) to (3) for the RSE method can be used to obtain a separated and extended parity check matrix.

처음 주어진 패리티 검사 행렬을 , 상기 RSE 규칙에 따라 분리 및 확장된 패리티 검사 행렬을 라 할 때, 대비 에서 새롭게 생성된 열 또는 열 블록에 대응되는 비트들은 추가적인 패리티 비트로 간주될 수 있다. 또한, HARQ 같은 재전송 방식 등과 같이 신뢰도 향상을 위해 별도로 패리티 비트를 전송해야 하는 서비스에 상기 추가적인 패리티 비트들이 이용될 수도 있다. 또한, 특정 수신기들이 패리티 검사 행렬 를 이용하여 복호화를 수행해야 하고, 특정 수신기들이 패리티 검사 행렬 를 이용하여 복호화를 수행할 수 있는 경우에 상기 추가적인 패리티를 별도로 전송하여 각각의 수신기 특성에 맞는 복호를 수행할 수도 있다. 한편, 본 개시에서는 상기 패리티 검사 행렬 를 제1 패리티 검사 행렬, 패리티 검사 행렬 를 제2 패리티 검사 행렬로 칭하거나 상기 패리티 검사 행렬 를 패리티 검사 행렬, 패리티 검사 행렬을 를 확장된 패리티 검사 행렬 또는 수정된 (modified) 패리티 검사 행렬로 칭할 수 있다.The first given parity check matrix , the parity check matrix separated and extended according to the above RSE rule. When you say, Contrast The bits corresponding to the newly generated column or column block can be considered as additional parity bits. In addition, the additional parity bits may be used for services that require separate parity bit transmission to improve reliability, such as retransmission methods such as HARQ. In addition, certain receivers may use the parity check matrix Decryption must be performed using a parity check matrix, and specific receivers must use a parity check matrix. In cases where decoding can be performed using the additional parity, the additional parity can be transmitted separately to perform decoding suited to the characteristics of each receiver. Meanwhile, in the present disclosure, the parity check matrix The first parity check matrix, the parity check matrix is called the second parity check matrix or the parity check matrix The parity check matrix, the parity check matrix It can be called an extended parity check matrix or a modified parity check matrix.

이와 같이 수신기는 물리적으로 패리티 검사 행렬 로부터 패리티 검사 행렬의 분리 및 확장된 패리티 검사 행렬 를 결정하고, 를 이용하여 LDPC 복호화를 수행할 수도 있다. 다른 방법으로서 수신기는 를 이미 저장하고 있으면서, 만일 추가적인 패리티 부분이 전송되지 않으면, 대비 확장된 의 열 또는 열 블록에 대응되는 패리티 비트들은 천공되었다고 간주하고 복호를 수행할 수 있으며, 추가적인 패리티의 전부 또는 적어도 일부가 전송된 경우에는 대비 확장된 의 열 또는 열 블록 전부 또는 적어도 일부를 사용하여 복호를 수행할 수도 있다.In this way, the receiver physically has a parity check matrix Separation of the parity check matrix from and extended parity check matrix Decide on, LDPC decoding can also be performed using . Alternatively, the receiver can use If no additional parity portion is transmitted while already stored, Contrast extended Parity bits corresponding to a column or block of columns are considered to be punctured and decoding can be performed, and if all or at least part of the additional parity has been transmitted, Contrast extended Decryption may also be performed using all or at least part of a column or block of columns.

본 발명에서 추가적인 패리티를 전송하는 방법 또는 전송된 추가 패리티 비트에 대응되는 신호를 기반으로 복호를 수행하는 방법 및 장치에 있어서, 송신기 또는 수신기가 물리적으로 패리티 검사 행렬 로부터 패리티 검사 행렬의 분리 및 확장된 패리티 검사 행렬 를 생성하는 과정 및 장치를 포함할 수 있으며, 송신기 또는 수신기가 만을 저장하고 있으면서 대비 확장된 의 열 또는 열 블록 전부 또는 적어도 일부에 대응되는 패리티 비트에 대해 적절한 레이트 매칭을 통해 부호화 및 복호화를 수행하는 방법 및 장치도 포함한다.In the present invention, in a method and device for transmitting additional parity or performing decoding based on a signal corresponding to the transmitted additional parity bit, a transmitter or a receiver physically transmits a parity check matrix Separation of the parity check matrix from and extended parity check matrix may include a process and device for generating a transmitter or receiver. While saving only Contrast extended Also included are a method and device for performing encoding and decoding through appropriate rate matching for parity bits corresponding to all or at least a portion of a column or column block.

이와 같이 패리티 검사 행렬의 분리 및 확장은 구현 방식에 따라 실제로는 송신기 또는 수신기에서 동작하지 않을 수도 있으나, 패리티 검사 행렬 로 및 분리 및 확장된 패리티 검사 행렬 의 관계가 각각 를 만족하며, 동일한 입력 비트 또는 정보어 비트에 대해 생성된 부호어 를 항상 포함하는 관계가 있다. 다시 말해, 동일한 입력 비트 또는 정보어 비트에 대해 에 추가적인 패리티 비트를 덧붙여 가 결정될 수 있다. 또한, 의 생성 방법으로부터 의 행 또는 행 블록 중 일부를 적절히 결합(combining)하여 일부 열 또는 열 블록을 제거하면 가 되는 특징이 있다. 본 발명에서 의 특징 중 하나는 실제로 단말 또는 기지국에서 를 함께 구현하지 않더라도, 를 통해 를 결정하거나, 를 통해 를 결정할 수가 있다. 다시말해, 송신 장치 또는 수신 장치에서 중 어느 하나의 패리티 검사 행렬에 대한 정보만 저장하고 있어도, 를 모두 저장하고 있는 것과 동일한 효과가 있다. 그뿐만아니라, 에 기반한 제1 통신시스템이 있다고 할 때, 패리티 검사 행렬 에 기반한 다른 제2 통신시스템 또는 상기 제1 통신시스템의 다른 버전이 존재할 수도 있다.This separation and expansion of the parity check matrix may not actually work in the transmitter or receiver depending on the implementation method, but the parity check matrix Raw and separated and extended parity check matrix The relationship between each and , and the codeword generated for the same input bits or information word bits and Is go There is a relationship that always includes . In other words, for the same input bits or information bits, Add an additional parity bit to can be decided. Also, From the method of creation By appropriately combining some of the rows or row blocks, some of the columns or column blocks are removed. There is a characteristic that it becomes. In the present invention One of the features is that it is actually located at the terminal or base station. and Even if we do not implement it together, Through decide, or Through can be determined. In other words, in the transmitting device or the receiving device. and Even if we only store information about one parity check matrix, and It has the same effect as saving all of them. Not only that, When there is a first communication system based on a parity check matrix There may be other second communication systems based on or other versions of the first communication system.

또한, 특정 단말 또는 기지국이 분리 및 확장된 패리티 검사 행렬 를 저장하고 있으면서, 패리티 검사 행렬 를 저장하고 있는 단말 또는 기지국과 통신을 수행할 경우에는 통상적인 레이트 매칭 과정을 수행할 수 있다. 다만, 상기 패리티 검사 행렬 을 저장하고 있는 단말 또는 기지국이 패리티 검사 행렬 만을 저장하고 있는 단말 또는 기지국과 통신을 수행할 경우에는 에 기반하여 LDPC 부호화를 수행한 다음 레이트 매칭 과정에서 대비 확장된 의 열 또는 열 블록 전부 또는 적어도 일부에 대응되는 패리티 비트에 대해서는 항상 천공을 적용할 수도 있다. 레이트 매칭 과정에서 대비 확장된 의 열 또는 열 블록 전부 또는 적어도 일부에 대응되는 패리티 비트에 대해서는 항상 천공을 적용하는 경우에는, 단말 또는 기지국에서 LDPC 복호화를 수행할 때 의 행 또는 행 블록을 결합하여 를 기반으로 복호를 수행할 수도 있다. 그리고 단말 또는 기지국이 또는 를 저장하고 있는지 여부는 통상적으로 프리앰블에 따라 시스템 버전을 구분하여 결정될 수도 있고, 상위 계층 시그널링을 통해 결정할 수도 있다.Additionally, a specific terminal or base station may have a separate and extended parity check matrix. While storing the parity check matrix When communicating with a terminal or base station storing the parity check matrix, a normal rate matching process can be performed. However, the parity check matrix The terminal or base station storing the parity check matrix When communicating with a terminal or base station that only stores LDPC encoding is performed based on the rate matching process. Contrast extended Perforation may always be applied to the parity bits corresponding to all or at least part of a column or column block. In the rate matching process. Contrast extended When performing LDPC decoding at a terminal or base station, if puncturing is always applied to parity bits corresponding to all or at least part of a column or column block, Combine rows or blocks of rows Decryption can also be performed based on the terminal or base station. or Whether or not a system is storing a preamble can typically be determined by distinguishing the system version, or it can be determined through higher layer signaling.

본 개시의 일 실시예로서 만일 패리티 검사 행렬에서 패리티 비트에 대응되는 부분 행렬이 [수학식 20]과 같은 형태일 때 분리 및 확장된 패리티 검사 행렬에서 패리티 비트에 대응되는 부분 행렬의 구조에 대해서 다음 수학식 30과 같이 제안한다.As an embodiment of the present disclosure, when a sub-matrix corresponding to a parity bit in a parity check matrix has a form as in [Mathematical Formula 20], the structure of a sub-matrix corresponding to a parity bit in a separated and extended parity check matrix is proposed as in the following Mathematical Formula 30.

[수학식 30][Equation 30]

상기 수학식 30을 참고하면, 만일 를 포함하는 패리티 검사 행렬에서 하나의 행 블록에 대해서만 분리 및 확장을 적용할 경우에는 [RSE 규칙]에 따라 2개의 순환 순열 행렬로 구성된 순환 행렬이 포함된 행을 분리하여, 적어도 패리티 비트에 대응되는 부분 행렬 에서는 모두 순환 순열 행렬 또는 영-행렬로만 구성되도록 한다. 만일 를 포함하는 패리티 검사 행렬에서 두 개의 행 블록에 대해서 분리 및 확장을 적용할 경우에는 첫번째 행 블록과 두 번째 행 블록에 대해 각각 분리 및 확장을 적용하여 와 같은 패리티 비트에 대응되는 부분 행렬을 얻을 수 있다.Referring to the above mathematical expression 30, if When applying splitting and expansion to only one row block in a parity check matrix including [RSE rule], the row containing the circulant matrix is split into two circulant permutation matrices, and at least the submatrix corresponding to the parity bits In , all of them are made up of cyclic permutation matrices or zero matrices. If When applying splitting and expansion to two row blocks in a parity check matrix including , splitting and expansion are applied to the first row block and the second row block respectively. We can obtain a submatrix corresponding to the parity bits.

앞서 설명한 것과 같이, 단말 또는 기지국에서 물리적으로 패리티 검사 행렬을 분리 및 확장할 수도 있지만, 구현에 따라 실제로 분리 및 확장하는 것이 아니라 상기 수학식 30에 나타낸 확장된 패리티 구조를 포함하는 패리티 검사 행렬을 저장해 놓고 LDPC 부호화 및 복호화를 수행할 수도 있다. 구체적인 예로서 에서 확장된 열 또는 열 블록에 대응되는 패리티 비트들이 모두 천공되어 수신되는 경우, 수신기는 또는 와 같이 적절히 행이 결합된 패리티 검사 행렬에 기반하여 복호를 수행할 수도 있다. 마찬가지로 에서 확장된 열 또는 열 블록에 대응되는 패리티 비트들이 모두 천공되어 수신되는 경우, 수신기는 와 같이 적절히 행이 결합된 패리티 검사 행렬에 기반하여 복호를 수행할 수도 있다.As explained above, the terminal or base station may physically separate and expand the parity check matrix, but depending on the implementation, instead of actually separating and expanding, the parity check matrix including the extended parity structure shown in the above mathematical expression 30 may be stored and LDPC encoding and decoding may be performed. As a specific example, If all parity bits corresponding to an extended column or column block are received with the bits punctured, the receiver or Decoding can also be performed based on a parity check matrix with appropriately combined rows, as in If all parity bits corresponding to an extended column or column block are received with the bits punctured, the receiver Decoding can also be performed based on a parity check matrix with appropriately combined rows, such as

본 개시의 일 실시예로서 분리 및 확장된 패리티 검사 행렬을 기반으로 LDPC 부호화 및 레이트 매칭을 적용하는 과정의 일 예에 대해 설명한다.As an embodiment of the present disclosure, an example of a process for applying LDPC encoding and rate matching based on a separated and extended parity check matrix is described.

송신 장치 및 수신 장치에서 LDPC 부호화 및 복호화를 수행할 때 사용되는 패리티 검사 행렬 또는 패리티 검사 행렬의 제1 파트가 라 하자. 여기서 는 정보어 비트들에 대응되는 부분 행렬이며, 는 패리티 비트에 대응되는 부분 행렬로서 수학식 31에 개시된 행렬들 중 적어도 하나에 상응할 수 있다.The parity check matrix or the first part of the parity check matrix used when performing LDPC encoding and decoding in the transmitting device and the receiving device Let's say here is a submatrix corresponding to the information word bits, is a submatrix corresponding to a parity bit and may correspond to at least one of the matrices disclosed in mathematical expression 31.

[수학식 31][Equation 31]

상기 수학식 31의 패리티 비트에 대응되는 부분 행렬들은 RSE 과정의 역과정, 즉, 행 블록들의 적절한 결합 및 열 블록 삭제를 통해 또는 와 같은 순서로 결정될 수 있다. 다만, 에서 를 결정하는 과정을 순차적으로 나타내기 위해 와 같은 순서로 부분 행렬을 결정하는 것으로 표현하였으나 상기의 순서에 따른 결정 과정이 필수적으로 수행되어야하는 것은 아니다. 즉, 에 기반하여 중 적어도 하나가 결정될 수 있으며 또는 에 기반하여 중 적어도 하나가 결정될 수 있고, 에 기반하여 결정될 수 있다. 또한, 상기 결정 과정이 필수적으로 수행되어야 하는 것은 아니며 내지 중 적어도 하나가 송신 장치 및 수신 장치에 저장되어 있을 수 있고, 송신 장치 및 수신 장치는 상기 부분 행렬을 이용하여 부호화 또는 복호화를 수행할 수 있다. 또한, RSE 과정을 통해 IR 기법을 적용할 수 있는 것처럼 RSE 역과정을 통해 IR에 사용되었던 추가 생성된 패리티 비트들에 대해 천공을 적용할 수 있다. 다시 말해, IR 과정과는 반대로 패리티를 충분히 생성한 다음 천공을 취하는 방식으로 부호율을 조절하는 방법을 제안한다. 이 방식은 전송되지 않을 수도 있는 패리티들을 생성하는 단점이 있지만, 패리티 비트의 일부를 천공하는 레이트 매칭 방식을 통해 부호율을 조절하기 용이할 뿐만 아니라, 재전송시 천공된 패리티들의 적어도 일부를 추가로 전송하면 효율적으로 IR 기법을 지원할 수 있는 장점이 있다.The submatrices corresponding to the parity bits of the above mathematical expression 31 are obtained through the reverse process of the RSE process, i.e., by appropriately combining row blocks and deleting column blocks. or It can be decided in the same order. However, at To sequentially represent the process of determining Although it is expressed as determining the sub-matrix in the same order, the decision process according to the above order is not necessarily performed. That is, Based on At least one of them can be determined or Based on At least one of them can be determined, go It can be decided based on. In addition, the above decision process is not necessarily required to be performed. Inland At least one of them may be stored in the transmitter and receiver, and the transmitter and receiver may perform encoding or decoding using the partial matrix. In addition, just as the IR technique can be applied through the RSE process, puncturing can be applied to the additionally generated parity bits used in the IR through the RSE inverse process. In other words, we propose a method of adjusting the code rate by generating sufficient parity and then puncturing, contrary to the IR process. Although this method has a disadvantage of generating parities that may not be transmitted, it is easy to adjust the code rate through a rate matching method that punctures a portion of the parity bits, and has an advantage of efficiently supporting the IR technique by additionally transmitting at least a portion of the punctured parities during retransmission.

통상적인 레이트 매칭 방식은 부호율에 따라 마지막 패리티 비트부터 가장 먼저 천공되는 방식으로 진행된다. 하지만, RSE 역과정을 고려하면, 패리티 비트의 천공을 마지막 패리티 비트부터 적용하는 것보다 중간의 패리티 비트를 천공할 때 더 좋은 부호화 성능을 제공할 수 있다.Conventional rate matching methods begin with the last parity bit being punctured first, depending on the code rate. However, considering the inverse RSE process, puncturing parity bits in the middle can provide better encoding performance than puncturing parity bits starting from the last bit.

에서 RSE 역과정을 통해 를 얻는 과정을 고려하면, 에 대한 패리티 비트들 에서 마지막 비트부터 천공하는 것이 아니라 수학식 32와 같이 의 3번째 열 블록에 대응되는 패리티 비트를 천공할 수 있다 (첫 번째 열 블록을 0번째 열 블록이라 가정). 한편, 상기 에서 (1)은 에 대응하는 것임을 지시하기 위해 포함된 것이나, 상기 (1)은 생략될 수 있다. 따라서, 패리티 비트들 로 표기될 수 있다. 또한, 는 0번째 열 블록에서 4번째 열 블록에 대한 패리티 비트를 의미하며, 가 0 번째 열 블록, 가 1번째 열 블록, 가 2번째 열 블록, 가 3번째 열 블록, 가 4번째 열 블록에 대한 패리티 비트를 의미할 수 있다. Through the RSE reverse process Considering the process of obtaining , Parity bits for Instead of punching from the last bit, as in mathematical expression 32, The parity bit corresponding to the third column block can be punched (assuming the first column block is the 0th column block). Meanwhile, In (1) is included to indicate that it corresponds to, but (1) above may be omitted. Therefore, the parity bits Is can be expressed as . Also, means the parity bit for the 4th column block from the 0th column block, 0th column block, 1st row block, 2nd row block, 3rd row block, This may mean a parity bit for the 4th column block.

[수학식 32][Equation 32]

상기 수학식 32의 에 대한 패리티 비트이다. 즉, 상기 는 3번째 열 블록에 대한 패리티 비트 가 천공되었음을 의미할 수 있다.In the above mathematical expression 32 Is is the parity bit for the above. That is, is the parity bit for the third column block This may mean that it has been perforated.

마찬가지 방식으로 에서 RSE 역과정을 통해 를 얻는 과정을 고려하면, 추가적인 패리티 비트를 천공할 경우에 에 대한 패리티 비트들 에서 마지막 비트부터 천공하는 것이 아니라 수학식 33과 같이 의 1번째 열 블록, 즉, 의 1번째 열 블록에 대응되는 패리티 비트를 천공할 수 있다.In the same way Through the RSE reverse process Considering the process of obtaining , if additional parity bits are punched, Parity bits for Instead of punching from the last bit, as in mathematical expression 33, The first column block of, i.e., The parity bit corresponding to the first column block can be punched.

[수학식 33][Equation 33]

상기 수학식 33의 에 대한 패리티 비트이다.In the above mathematical expression 33 Is is the parity bit for .

마찬가지 방식으로 에서 RSE 역과정을 통해 를 얻는 과정을 고려하면, 추가적인 패리티 비트를 천공할 경우에 에 대한 패리티 비트들 에서 수학식 34와 같이 의 2번째 열 블록, 즉, 의 4번째 열 블록에 대응되는 패리티 비트를 천공할 수 있다.In the same way Through the RSE reverse process Considering the process of obtaining , if additional parity bits are punched, Parity bits for As in mathematical formula 34 The second column block of, i.e., The parity bit corresponding to the fourth column block can be punched.

[수학식 34][Equation 34]

상기 수학식 34의 에 대한 패리티 비트이다.In the above mathematical expression 34 Is is the parity bit for .

결과적으로 통상적인 레이트 매칭 방식은 패리티에 대응되는 부분 행렬에서 (4, 3, 2, 1, 0)번째 열 블록에 대응되는 패리티 비트들의 순서로 패리티 천공을 적용하지만, 본 실시예처럼 RSE 또는 RSE의 역과정을 고려하여 (3, 1, 4, 2, 0)번째 열 블록에 대응되는 패리티 비트들의 순서로 패리티 천공을 적용하는 것이 더 좋은 부호화 성능을 제공할 수도 있다.As a result, the conventional rate matching method applies parity puncturing in the order of parity bits corresponding to the (4, 3, 2, 1, 0)th column block in the submatrix corresponding to the parity, but applying parity puncturing in the order of parity bits corresponding to the (3, 1, 4, 2, 0)th column block by considering RSE or the inverse process of RSE as in this embodiment may provide better encoding performance.

에서 RSE 역과정을 통해 를 얻는 과정에서 의 2번째 열 블록, 즉, 의 2번째 열 블록에 대응되는 패리티 비트를 천공하는 경우에도 동일한 결과를 얻을 수 있다. 이 경우는 수학식 33 및 수학식 34에서 표현한 은 다음 수학식 35와 같이 나타낼 수 있으며, (3, 2, 4, 1, 0)번째 열 블록에 대응되는 패리티 비트들의 순서로 패리티 천공을 적용함을 의미한다. Through the RSE reverse process In the process of obtaining The second column block of, i.e., The same result can be obtained even if the parity bit corresponding to the second column block is punctured. In this case, it is expressed in Equations 33 and 34. and It can be expressed as the following mathematical expression 35, and means that parity puncturing is applied in the order of parity bits corresponding to the (3, 2, 4, 1, 0)th column block.

[수학식 35][Equation 35]

에서 RSE 역과정을 통해 를 얻는 또 다른 과정을 고려하면, 에 대한 패리티 비트들에서 수학식 36과 같이 마지막 비트부터 천공하는 것도 가능하다. Through the RSE reverse process Considering another process to obtain , It is also possible to puncture from the last bit in the parity bits as in mathematical expression 36.

[수학식 36][Equation 36]

상기 수학식 36의 에 대한 패리티 비트이다.In the above mathematical expression 36 Is is the parity bit for .

마찬가지 방식으로 에서 RSE 역과정을 통해 를 얻는 과정을 고려하면, 패리티 비트를 천공할 경우에 에 대한 패리티 비트들 에서 마지막 비트부터 천공하는 것이 아니라 수학식 37과 같이 의 1번째 열 블록 또는 2번째 열 블록, 즉, 의 1번째 열 블록 또는 3번째 열 블록에 대응되는 패리티 비트를 천공할 수 있다.In the same way Through the RSE reverse process Considering the process of obtaining , when the parity bit is punctured, Parity bits for Instead of punching from the last bit, as in mathematical expression 37, The first or second row block of the The parity bit corresponding to the first or third column block can be punched.

[수학식 37][Equation 37]

또는or

상기 수학식 33의 에 대한 패리티 비트이다.In the above mathematical expression 33 Is is the parity bit for .

마찬가지 방식으로 에서 RSE 역과정을 통해 를 얻는 과정을 고려하면, 패리티 비트를 천공할 경우에 에 대한 패리티 비트들 에서 수학식 38과 같이 의 2번째 열 블록, 즉, 의 3번째 열 블록에 대응되는 패리티 비트를 천공할 수 있다.In the same way Through the RSE reverse process Considering the process of obtaining , when the parity bit is punctured, Parity bits for As in mathematical expression 38 The second column block of, i.e., The parity bit corresponding to the third column block can be punched.

[수학식 38][Equation 38]

상기 수학식 38의 에 대한 패리티 비트이다.In the above mathematical expression 38 Is is the parity bit for .

결과적으로 RSE 또는 RSE의 역과정을 고려하여 (4, 1, 3, 2, 0)번째 열 블록에 대응되는 패리티 비트들의 순서 또는 (4, 2, 3, 1, 0)번째 열 블록에 대응되는 패리티 비트들의 순서로 패리티 천공을 적용하는 것이 더 좋은 부호화 성능을 제공할 수도 있다.Consequently, applying parity puncturing in the order of parity bits corresponding to the (4, 1, 3, 2, 0)th column block or in the order of parity bits corresponding to the (4, 2, 3, 1, 0)th column block by considering RSE or the inverse process of RSE may provide better encoding performance.

위 결과에 따르면, 레이트 매칭 과정에서 2개 이상의 열 블록에 대응되는 패리티 비트들을 천공할 때, 4번째 열 블록에서 3번째 열 블록 순서로 마지막 패리티 비트들부터 순차적으로 천공하는 것 보다 (3, 1, 4, 2, 0) 또는 (3, 2, 4, 1, 0) 또는 (4, 1, 3, 2, 0) 또는 (4, 2, 3, 1, 0) 순서처럼 패리티 비트들을 적절한 순서에 따라 천공할 경우 보다 우수한 부호화 성능을 얻을 수 있다. 특히 상기 5개의 열 블록 중에서 가장 먼저 천공되는 패리티 비트들이 1 또는 2 또는 3 번째 열 블록 중에 하나에 대응되거나, 가장 먼저 천공되는 패리티 비트들이 4번째 열 블록에 대응될 경우에는 그 다음으로 대응되는 열 블록이 1 또는 2 번째 열 블록인 경우에 우수한 성능을 제공한다.According to the above results, when puncturing parity bits corresponding to two or more column blocks in the rate matching process, better encoding performance can be obtained when the parity bits are punctured in an appropriate order, such as (3, 1, 4, 2, 0) or (3, 2, 4, 1, 0) or (4, 1, 3, 2, 0) or (4, 2, 3, 1, 0), rather than puncturing them sequentially from the last parity bits in the order of the 3rd column block to the 4th column block. In particular, when the parity bits that are punctured first among the above five column blocks correspond to one of the 1st, 2nd, or 3rd column blocks, or when the parity bits that are punctured first correspond to the 4th column block, and the next corresponding column block is the 1st or 2nd column block, better performance is provided.

RSE 또는 RSE 역과정은 패리티 비트에 대응되는 부분 행렬뿐만 아니라 정보어 비트에 대응되는 부분 행렬에 대한 결합 또는 분리 등에 대해서도 적용될 수 있다. 따라서 RSE 또는 RSE 역과정을 통해 결정되는 패리티 비트에 대응되는 부분 행렬이 동일한 형태를 갖더라도 정보어 비트에 대응되는 부분 행렬이 서로 달라 레이트 매칭된 패리티 비트들이 서로 다를 수 있다. 이와 같이 정보어 비트에 대응되는 부분 행렬의 결합까지 고려하여 RSE 또는 RSE 역과정을 적용하면 더 우수한 부호화 성능을 지원하는 레이트 매칭 순서를 결정할 수 있다.RSE or RSE inverse process can be applied not only to the sub-matrices corresponding to the parity bits but also to the combination or division of the sub-matrices corresponding to the information bits. Therefore, even if the sub-matrices corresponding to the parity bits determined through RSE or RSE inverse process have the same form, the sub-matrices corresponding to the information bits may be different from each other, and thus the rate-matched parity bits may be different from each other. In this way, if RSE or RSE inverse process is applied while considering the combination of the sub-matrices corresponding to the information bits, the rate matching order supporting better encoding performance can be determined.

상기 예시들에서는 송신 장치 및 수신 장치에서 LDPC 부호화 및 복호화를 수행할 때 사용되는 패리티 검사 행렬 또는 패리티 검사 행렬의 제1 파트가 인 경우에 대해서 설명하였지만, 패리티 검사 행렬 또는 패리티 검사 행렬의 제1 파트가 인 경우에는 와 같은 순서의 RSE의 역과정을 고려하여 패리티 비트의 천공 순서를 결정할 수 있다. 예를 들어, 을 기준으로 패리티 비트의 천공 순서는 (1, 3, 2, 0)번째 열 블록의 순서 또는 (2, 3, 1, 0)번째 열 블록의 순서로 나타낼 수 있다.In the above examples, the parity check matrix or the first part of the parity check matrix used when performing LDPC encoding and decoding in the transmitting device and the receiving device As explained in the case of the parity check matrix or the first part of the parity check matrix In this case The puncturing order of the parity bits can be determined by considering the reverse process of the RSE in the same order. For example, The punching order of the parity bits based on the standard can be expressed as the order of the (1, 3, 2, 0)th column block or the order of the (2, 3, 1, 0)th column block.

한편, 상기 예시들에서 또는 로 정의된 경우에는 레이트 매칭을 위한 패리티 비트의 천공 순서는 패리티에 대응되는 부분 행렬에서 (1, 3, 4, 2, 0) 또는 (1, 4, 3, 2, 0) 또는 (2, 3, 4, 1, 0) 또는 (2, 4, 3, 1, 0) 열 블록 순서로 천공되거나 (2, 3, 1, 0) 또는 (3, 2, 1, 0) 열 블록 순서로 천공되는 레이트 매칭을 적용할 수 있다. 특히 이 경우에는 기존 레이트 매칭 과정과 동일하게 (3, 2, 1, 0) 순서로 천공을 적용할 수 있다.Meanwhile, in the above examples or In the case defined as , the puncturing order of the parity bits for rate matching can be applied to the rate matching in which the parity bits are punctured in the order of column blocks (1, 3, 4, 2, 0) or (1, 4, 3, 2, 0) or (2, 3, 4, 1, 0) or (2, 4, 3, 1, 0) in the submatrix corresponding to the parity, or in the order of column blocks (2, 3, 1, 0) or (3, 2, 1, 0). In particular, in this case, the puncturing can be applied in the order of (3, 2, 1, 0) in the same manner as the existing rate matching process.

한편, 상술한 바와 같이 상기의 순서에 따른 결정 과정이 필수적으로 수행되어야하는 것은 아니다. 즉, 또는 에 기반하여 가 결정될 수 있으며 에 기반하여 가 결정될 수 있다. 그뿐만 아니라, 레이트 매칭 과정에 있어 , 또는 , 만 고려하여 패리티 비트들을 천공하거나, , 또는 , 만 고려하여 패리티 비트들을 천공하는 경우에는 천공되는 패리티 비트들의 순서가 다르게 설정될 수도 있다.Meanwhile, as described above, the decision-making process according to the above order is not necessarily required. That is, or Based on can be decided Based on can be determined. In addition, in the rate matching process, , or , Or, by punching the parity bits only, , and or , and When puncturing parity bits by considering only the order of the punctured parity bits, the order of the punctured parity bits may be set differently.

예를 들어, 레이트 매칭 과정에서 에 대응되는 패리티 비트들 중 하나의 열 블록에 대응되는 비트 이내로 천공이 제한될 경우에는 0번째 열 블록에 대응되는 패리티 비트들을 제외하고, 1번째 또는 2번째 또는 3번째 또는 4번째 열 블록 중 하나의 열 블록에 대응되는 패리티 비트들에 대해 천공을 적용할 수 있다. 여기서 의 1번째 또는 2번째 열 블록에 대응되는 패리티 비트들을 천공하는 경우에는 에 대응되는 패리티 비트들을 생성하는 것과 동일하며, 의 3번째 또는 4번째 열 블록에 대응되는 패리티 비트들을 천공하는 경우에는 에 대응되는 패리티 비트들을 생성하는 것과 동일하다. 만일 어떠한 열 블록에 대응되는 패리티 비트들을 천공하여도 부호화 성능에 큰 영향을 주지 않는다면 통상적인 레이트 매칭 동작처럼 가장 마지막 열 블록에 대응되는 패리티 비트들부터 천공을 적용할 수 있다.For example, in the rate matching process One of the parity bits corresponding to a column block corresponds to When perforation is limited to within a bit, perforation can be applied to the parity bits corresponding to one of the column blocks of the 1st, 2nd, 3rd, or 4th column blocks, excluding the parity bits corresponding to the 0th column block. Here In case of punching the parity bits corresponding to the first or second column block of is equivalent to generating the corresponding parity bits, In case of punching the parity bits corresponding to the 3rd or 4th column block, It is equivalent to generating parity bits corresponding to each column block. If puncturing the parity bits corresponding to any column block does not significantly affect the encoding performance, puncturing can be applied starting from the parity bits corresponding to the last column block, as in the normal rate matching operation.

또한 레이트 매칭 과정에서 에 대응되는 패리티 비트들 중 두 개의 열 블록에 대응되는 비트 이내로 천공을 적용할 경우에는 3개의 열 블록에 대응되는 패리티 비트는 천공을 적용하지 않아도 되므로, (3, 1, *, *, *) 또는 (3, 2, *, *, *) 또는 (4, 1, *, *, *) 또는 (4, 2, *, *, *) 또는 (1, 3, *, *, *) 또는 (1, 4, *, *, *) 또는 (2, 3, *, *, *) 또는 (2, 4, *, *, *)와 같이 천공에 대응되는 열 블록에 대해서만 표현될 수도 있다. (*는 아무 숫자도 표기되지 않거나, 표기되더라도 천공과 무관함을 의미한다.) 마찬가지로 레이트 매칭 과정에서 에 대응되는 패리티 비트들 중 두 개의 열 블록에 대응되는 비트 이내로 천공을 적용할 경우에는 3개의 열 블록에 대응되는 패리티 비트는 천공을 적용하지 않아도 되므로, (3, 1, 4, *, *) 또는 (3, 2, 4, *, *) 또는 (4, 1, 3, *, *) 또는 (4, 2, 3, *, *) 또는 (1, 3, 4, *, *) 또는 (1, 4, 3, *, *) 또는 (2, 3, 4, *, *) 또는 (2, 4, 3, *, *)와 같이 천공에 대응되는 열 블록에 대해서만 표현될 수도 있다. 레이트 매칭 과정에서 패리티 비트를 천공하는 순서를 다르게 설정하는 방법은 다양한 방식으로 구현 가능하다. 상기 실시예처럼 송신 장치 또는 수신 장치에서 천공될 비트들의 순서에 대한 패턴을 저장하고 있으면, 레이트 매칭을 통해 천공된 패리티 비트들의 위치를 파악할 수 있기 때문에 LDPC 부호화 및 복호화가 가능하다.Also in the rate matching process Two columns of parity bits corresponding to the corresponding block When applying perforation within bits, the parity bits corresponding to three column blocks do not need to be perforated, so they can be expressed only for column blocks corresponding to perforation, such as (3, 1, *, *, *) or (3, 2, *, *, *) or (4, 1, *, *, *) or (4, 2, *, *, *) or (1, 3, *, *, *) or (1, 4, *, *, *) or (2, 3, *, *, *) or (2, 4, *, *, *). (* means that no number is indicated, or if indicated, it is unrelated to perforation.) Similarly, in the rate matching process Two columns of parity bits corresponding to the corresponding block When puncturing is applied within a bit, the parity bits corresponding to three column blocks do not need to be punctured, so they can be expressed only for the column blocks corresponding to the puncturing, such as (3, 1, 4, *, *) or (3, 2, 4, *, *) or (4, 1, 3, *, *) or (4, 2, 3, *, *) or (1, 3, 4, *, *) or (1, 4, 3, *, *) or (2, 3, 4, *, *) or (2, 4, 3, *, *). The method of setting the order of puncturing parity bits differently in the rate matching process can be implemented in various ways. As in the above embodiment, if a pattern for the order of bits to be punctured is stored in a transmitting device or a receiving device, the positions of the punctured parity bits can be identified through rate matching, so LDPC encoding and decoding are possible.

다른 방법은 생성된 패리티 비트들을 적절히 인터리빙 한 다음 기존 레이트 매칭 방식을 적용할 수도 있다. 예를 들면, (0, 1, 2, 3, 4)번째 열 블록 순서로 생성된 패리티 비트들을 비트의 열 블록 단위로 인터리빙을 수행하여 (0, 2, 4, 1, 3) 또는 (0, 1, 4, 2, 3) 또는 (0, 2, 3, 1, 4) 또는 (0, 1, 3, 2, 4) 또는 (0, 2, 4, 3, 1) 또는 (0, 2, 3, 4, 1) 또는 (0, 1, 4, 3, 2) 또는 (0, 1, 3, 4, 2)번째 열 블록에 대응되도록 패리티 비트들을 인터리빙 한 다음, 기존 레이트 매칭 방법처럼 인터리빙된 마지막 패리티 비트들부터 순차적으로 천공을 적용하면 상기 실시예의 천공 방법을 지원할 수 있다. 천공될 패리티 비트들의 최댓 값이 로 정해져 있을 경우, 상기 인터리빙 패턴에서 앞쪽 개의 순서는 뒤바뀔 수 있다.Another way is to appropriately interleave the generated parity bits and then apply the existing rate matching method. For example, the parity bits generated in the order of the (0, 1, 2, 3, 4)th column blocks By performing interleaving in units of column blocks of bits to correspond to the (0, 2, 4, 1, 3) or (0, 1, 4, 2, 3) or (0, 2, 3, 1, 4) or (0, 1, 3, 2, 4) or (0, 2, 4, 3, 1) or (0, 2, 3, 4, 1) or (0, 1, 4, 3, 2)th column block, and then sequentially applying puncturing from the last interleaved parity bits as in the existing rate matching method, the puncturing method of the above embodiment can be supported. The maximum value of the parity bits to be punctured is If it is determined as , the front of the above interleaving pattern The order of the dogs can be reversed.

예를 들어, 부분 행렬의 열 블록에 대응되는 패리티 비트를 라 하고, (0, 2, 3, 1, 4)번째 열 블록 순서로 인터리빙되는 경우, 인터리빙된 패리티 비트For example, the parity bits corresponding to the column blocks of the submatrix And, if interleaved in the order of (0, 2, 3, 1, 4)th column block, interleaved parity bits

가 될 수 있다. It can be.

또는, 부분 행렬의 열 블록에 대응되는 패리티 비트를 라 하고, (0, 1, 3, 2, 4)번째 열 블록 순서로 인터리빙되는 경우, 인터리빙된 패리티 비트Alternatively, the parity bits corresponding to the column blocks of the submatrix And, if interleaved in the order of (0, 1, 3, 2, 4)th column block, interleaved parity bits

가 될 수 있다. It can be.

마찬가지로 (0, 1, 2, 3)번째 열 블록 순서로 생성된 패리티 비트들을 열 블록 단위로 인터리빙을 수행하여 (0, 2, 3, 1) 또는 (0, 1, 3, 2) 또는 (0, 1, 3, 2)번째 열 블록에 대응되도록 패리티 비트들을 인터리빙 한다음, 기존 레이트 매칭 방법처럼 인터리빙된 마지막 패리티 비트들부터 순차적으로 천공을 적용하면 상기 실시예의 천공 방법을 지원할 수 있다. 단, 패리티 비트에 대응되는 부분 행렬이 인 경우에는 인터리빙을 적용하지 않을 수도 있다.Similarly, the parity bits generated in the order of the (0, 1, 2, 3)th column blocks are interleaved in units of column blocks so that the parity bits correspond to the (0, 2, 3, 1) or (0, 1, 3, 2) or (0, 1, 3, 2)th column blocks, and then the puncturing is sequentially applied from the last interleaved parity bits like the existing rate matching method, thereby supporting the puncturing method of the above embodiment. However, if the submatrix corresponding to the parity bit is In this case, interleaving may not be applied.

이와 같이 준순환 LDPC 부호 중에서 패리티 검사 행렬이 수학식 15 또는 수학식 31 같이 패리티 비트에 대응되는 부분 행렬의 이중 대각 (dual diagonal) 구조를 갖는 경우에는 적절한 패리티 천공을 통해 마치 패리티 검사 행렬의 행 블록이 결합되는 것과 유사한 효과를 얻을 수 있음을 알 수 있다.In this way, in the case where the parity check matrix among the quasi-cyclic LDPC codes has a dual diagonal structure of a sub-matrix corresponding to the parity bits, such as in Equation 15 or Equation 31, it can be seen that an effect similar to that of combining row blocks of the parity check matrix can be obtained through appropriate parity puncturing.

한편, 본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), TV, 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 또한 프레임을 전송하는 동작은 무선 채널 등을 통해 전송되는 것만을 의미하는 것뿐만 아니라, 다양한 전자 장치에 전송을 위해 프레임을 출력하는 인터페이스가 포함되어 있음을 의미할 수도 있다. 예를 들어, 어떤 프로세서는 버스 인터페이스 (bus interface)를 통하여 전송을 위해 RF 프론트 엔드로 프레임을 출력할 수 있다. 마찬가지로 다른 장치로부터 프레임을 수신하는 동작은 다양한 전자 장치가 다른 장치로부터 수신된 프레임을 얻기 위한 인터페이스가 있음을 의미할 수도 있다. 예를 들어, 어떤 프로세서는 RF 프론드 엔드로부터 버스 인터페이스를 통하여 프레임을 수신 또는 얻을(obtain) 수 있음을 의미한다.Meanwhile, the electronic devices according to the various embodiments disclosed in this document may be devices of various forms. The electronic devices may include, for example, at least one of a portable communication device (e.g., a smartphone), a TV, a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. The electronic devices according to the embodiments of this document are not limited to the aforementioned devices. Furthermore, the act of transmitting a frame does not only mean that it is transmitted via a wireless channel or the like, but may also mean that various electronic devices include an interface for outputting the frame for transmission. For example, a processor may output a frame to an RF front-end for transmission via a bus interface. Similarly, the act of receiving a frame from another device may mean that various electronic devices have an interface for obtaining a frame received from another device. For example, a processor may receive or obtain a frame from an RF front-end via a bus interface.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.It should be understood that the various embodiments and terminology used in this document are not intended to limit the technology described in this document to a specific embodiment, but rather to encompass various modifications, equivalents, and/or alternatives of the embodiments.

도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 일(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.In connection with the description of the drawings, similar reference numerals may be used for similar components. The singular expression may include the plural expression unless the context clearly indicates otherwise. In this document, expressions such as "A or B", "at least one of A and/or B", "A, B, or C", or "at least one of A, B, and/or C" may include all possible combinations of the items listed together. Expressions such as "first", "second", "first", or "second" may modify the corresponding components without regard to order or importance, and are only used to distinguish one component from another component and do not limit the corresponding components. When one (e.g., a first) component is said to be "(functionally or communicatively) connected" or "connected" to another (e.g., a second) component, the one component may be directly connected to the other component, or may be connected via another component (e.g., a third component).

또한 "결정하다(determining)"는 말은 다양한 의미를 내포할 수 있는데, 예를 들어, 상황에 따라 확인하다(identifying), 계산/산출하다 (caluculating or computing), 프로세싱하다(processing), 유래/유도하다(deriving), 조사하다 (investigating), 예측/추측하다(estimating), 찾아보다(looking up) (예를 들면, 데이터 베이스나 다른 데이터 구조로부터), 알아내다(ascertaining) 등과 같은 다양한 동작을 의미할 수도 있다.Also, the word "determining" can have many different meanings, such as identifying, calculating or computing, processing, deriving, investigating, estimating, looking up (e.g., from a database or other data structure), and ascertaining, depending on the context.

한편, 본 개시의 방법을 설명하는 도면에서 설명의 순서가 반드시 실행의 순서와 대응되지는 않으며, 선후 관계가 변경되거나 병렬적으로 실행될 수도 있다.Meanwhile, the order of description in the drawings explaining the method of the present disclosure does not necessarily correspond to the order of execution, and the order of precedence may be changed or executed in parallel.

또는, 본 개시의 방법을 설명하는 도면은 본 개시의 본질을 해치지 않는 범위 내에서 일부의 구성 요소가 생략되고 일부의 구성요소만을 포함할 수 있다.Alternatively, the drawings illustrating the method of the present disclosure may omit some components and include only some components without detracting from the essence of the present disclosure.

또한, 본 개시의 방법은 발명의 본질을 해치지 않는 범위 내에서 각 실시예에 포함된 내용의 일부 또는 전부가 조합되어 실행될 수도 있다.In addition, the method of the present disclosure may be implemented by combining some or all of the contents included in each embodiment within a scope that does not harm the essence of the invention.

본 개시는 바람직한 실시예로 설명하였지만, 다양한 변경 및 변형이 당업자에게 제시될 수도 있다. 이러한 변경 및 변형들은 첨부된 청구범위에 포함되는 것으로 의도하는 바이다. 또한 본 개시의 동작 흐름도에서 설명의 편의상 다른 블록으로 표현된 동작들은 실제 시스템에서는 복수 개의 프로세서로 분리되어 구현될 수도 있지만, 하나의 프로세서로 통합되어 구현될 수도 있음은 자명하다.While the present disclosure has been described with preferred embodiments in mind, various modifications and variations may occur to those skilled in the art. Such modifications and variations are intended to be encompassed by the appended claims. Furthermore, it should be understood that operations represented by different blocks in the flowchart of the present disclosure for convenience of explanation may be implemented separately across multiple processors in an actual system, but may also be implemented integrated into a single processor.

Claims (16)

통신 시스템에서 송신기에 의해 수행되는 방법에 있어서,
입력 비트의 수를 결정하는 단계;
상기 입력 비트의 수에 기반하여 기본 행렬을 결정하는 단계;
상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하는 단계;
상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하는 단계; 및
상기 패리티 검사 행렬과 상기 입력 비트에 기반하여 부호화를 수행하는 단계; 및
상기 부호화된 비트에 기반하여 레이트 매칭을 수행하는 단계를 포함하며,
상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서

를 포함하며,
상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공이 시작되며,
상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , ,는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 하는 방법.
In a method performed by a transmitter in a communication system,
A step of determining the number of input bits;
A step of determining a basic matrix based on the number of input bits;
A step of determining a lifting size (Z) based on at least one of the number of input bits or the basic matrix;
determining a parity check matrix based on at least one of the basic matrix or the lifting size (Z); and
A step of performing encoding based on the parity check matrix and the input bits; and
A step of performing rate matching based on the encoded bits,
The above parity check matrix is a submatrix corresponding to the parity bits.

Includes,
Among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the above submatrix, puncturing begins from the parity bits corresponding to the 4th column block.
Included in the above parity check matrix Is is the identity matrix of size, Is is a zero-sized matrix, , , ,Is A method characterized in that the matrix is an identity matrix or a cyclic permutation matrix of size.
제1항에 있어서,
상기 부호화된 비트 중 상기 부분 행렬에 대응되는 패리티 비트들을 비트 단위로 인터리빙을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
In the first paragraph,
Among the encoded bits, the parity bits corresponding to the submatrix A method characterized by further comprising the step of performing interleaving on a bit-by-bit basis.
제2항에 있어서,
상기 인터리빙에 기반하여 상기 부분 행렬의 열 블록에 대응되는 패리티 비트

또는

로 결정되며,
상기 레이트 매칭에 기반하여 인터리빙된 패리티 비트들 의 마지막 비트부터 역순서대로 천공되는 것을 특징으로 하는 방법.
In the second paragraph,
Parity bits corresponding to the column blocks of the submatrix based on the above interleaving Is

or

is determined by,
Interleaved parity bits based on the above rate matching A method characterized in that the last bit of the bit is perforated in reverse order.
제1항에 있어서,
상기 패리티 검사 행렬을 결정하는 단계는,
상기 패리티 검사 행렬에 기반하여 수정된 패리티 검사 행렬을 결정하는 단계를 더 포함하며,
상기 수정된 패리티 검사 행렬은 상기 패리티 검사 행렬 내에 두 개 이상의 열들을 제외하고 두 개 이상의 행들을 결합하여 정의되는 것을 특징으로 하는 방법.
In the first paragraph,
The step of determining the above parity check matrix is:
Further comprising a step of determining a modified parity check matrix based on the above parity check matrix,
A method characterized in that the above modified parity check matrix is defined by combining two or more rows while excluding two or more columns within the parity check matrix.
통신 시스템에서 수신기에 의해 수행되는 방법에 있어서,
입력 비트에 상응하는 신호를 수신하는 단계;
복호화를 위한 값을 결정하기 위해 상기 신호를 복조하는 단계;
상기 신호에 기반하여 상기 입력 비트의 수를 확인하는 단계;
상기 입력 비트의 수에 기반하여 기본 행렬을 결정하는 단계;
상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하는 단계;
상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하는 단계; 및
상기 패리티 검사 행렬과 상기 값들에 기반하여 복호화를 수행하는 단계를 포함하며,
상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서

를 포함하며,
상기 신호는 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4 번째 열 블록에 대응되는 패리티 비트들부터 천공된 패리티 비트들을 포함하며,
상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , ,는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 하는 방법.
In a method performed by a receiver in a communication system,
A step of receiving a signal corresponding to an input bit;
A step of demodulating the signal to determine a value for decoding;
A step of checking the number of input bits based on the above signal;
A step of determining a basic matrix based on the number of input bits;
A step of determining a lifting size (Z) based on at least one of the number of input bits or the basic matrix;
determining a parity check matrix based on at least one of the basic matrix or the lifting size (Z); and
A step of performing decryption based on the above parity check matrix and the above values,
The above parity check matrix is a submatrix corresponding to the parity bits.

Includes,
The above signal includes punctured parity bits starting from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the above submatrix,
Included in the above parity check matrix Is is the identity matrix of size, Is is a zero-sized matrix, , , ,Is A method characterized in that the matrix is an identity matrix or a cyclic permutation matrix of size.
제5항에 있어서,
상기 신호는 상기 부분 행렬에 대응되는 패리티 비트들이 비트 단위로 인터리빙된 패리티 비트들을 포함하는 것을 특징으로 하는 방법.
In paragraph 5,
The above signal is the parity bits corresponding to the above submatrix. A method characterized by including parity bits interleaved in bit units.
제6항에 있어서,
상기 인터리빙된 패리티 비트들은 상기 부분 행렬의 열 블록에 대응되는 패리티 비트 에 기반하여

또는

로 결정되며,
상기 인터리빙된 패리티 비트들 의 마지막 비트부터 역순서대로 천공되는 것을 특징으로 하는 방법.
In Article 6,
The above interleaved parity bits are parity bits corresponding to the column blocks of the above submatrix. Based on

or

is determined by,
The above interleaved parity bits A method characterized in that the last bit of the bit is perforated in reverse order.
제5항에 있어서,
상기 패리티 검사 행렬을 결정하는 단계는,
상기 패리티 검사 행렬에 기반하여 수정된 패리티 검사 행렬을 결정하는 단계를 더 포함하며,
상기 수정된 패리티 검사 행렬은 상기 패리티 검사 행렬 내에 두 개 이상의 열들을 제외하고 두 개 이상의 행들을 결합하여 정의되는 것을 특징으로 하는 방법.
In paragraph 5,
The step of determining the above parity check matrix is:
Further comprising a step of determining a modified parity check matrix based on the above parity check matrix,
A method characterized in that the above modified parity check matrix is defined by combining two or more rows while excluding two or more columns within the parity check matrix.
통신 시스템에서 송신기에 있어서,
송수신부; 및
상기 송수신부와 연결된 제어부를 포함하며,
상기 제어부는,
입력 비트의 수를 결정하고,
상기 입력 비트의 수에 기반하여 기본 행렬을 결정하고,
상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하고,
상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하고,
상기 패리티 검사 행렬과 상기 입력 비트에 기반하여 부호화를 수행하고,
상기 부호화된 비트에 기반하여 레이트 매칭을 수행하며,
상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서

를 포함하며,
상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공이 시작되며,
상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , , 는 크기의 항등 행렬 또는 순환 순열 행렬임을 특징으로 하는 송신기.
In a transmitter in a communication system,
Transmitter and receiver; and
Includes a control unit connected to the above transmitter and receiver,
The above control unit,
Determine the number of input bits,
Determine the basic matrix based on the number of input bits,
Determine the lifting size (Z) based on the number of input bits or at least one of the basic matrices,
Determine a parity check matrix based on at least one of the above basic matrix or the above lifting size (Z),
Encoding is performed based on the above parity check matrix and the above input bits,
Rate matching is performed based on the above encoded bits,
The above parity check matrix is a submatrix corresponding to the parity bits.

Includes,
Among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the above submatrix, puncturing begins from the parity bits corresponding to the 4th column block.
Included in the above parity check matrix Is is the identity matrix of size, Is is a zero-sized matrix, , , , Is A transmitter characterized by being an identity matrix or a cyclic permutation matrix of size .
제9항에 있어서,
상기 제어부는 상기 부호화된 비트 중 상기 부분 행렬에 대응되는 패리티 비트들을 비트 단위로 인터리빙을 수행하는 것을 특징으로 하는 송신기.
In paragraph 9,
The above control unit selects the parity bits corresponding to the sub-matrix among the encoded bits. A transmitter characterized by performing interleaving on a bit-by-bit basis.
제10항에 있어서,
상기 인터리빙에 기반하여 상기 부분 행렬의 열 블록에 대응되는 패리티 비트

또는

로 결정되며,
상기 레이트 매칭에 기반하여 인터리빙된 패리티 비트들 의 마지막 비트부터 역순서대로 천공되는 것을 특징으로 하는 송신기.
In Article 10,
Parity bits corresponding to the column blocks of the submatrix based on the above interleaving Is

or

is determined by,
Interleaved parity bits based on the above rate matching A transmitter characterized in that the last bit of the data is perforated in reverse order.
제9항에 있어서,
상기 제어부는,
상기 패리티 검사 행렬에 기반하여 수정된 패리티 검사 행렬을 결정하며,
상기 수정된 패리티 검사 행렬은 상기 패리티 검사 행렬 내에 두 개 이상의 열들을 제외하고 두 개 이상의 행들을 결합하여 정의되는 것을 특징으로 하는 송신기.
In paragraph 9,
The above control unit,
Determine a modified parity check matrix based on the above parity check matrix,
A transmitter characterized in that the above modified parity check matrix is defined by combining two or more rows excluding two or more columns within the parity check matrix.
통신 시스템에서 수신기에 있어서,
송수신부; 및
상기 송수신부와 연결된 제어부를 포함하며,
상기 제어부는,
입력 비트에 상응하는 신호를 수신하고,
복호화를 위한 값을 결정하기 위해 상기 신호를 복조하고,
상기 신호에 기반하여 상기 입력 비트의 수를 확인하고,
상기 입력 비트의 수에 기반하여 기본 행렬을 결정하고,
상기 입력 비트의 수 또는 상기 기본 행렬 중 적어도 하나에 기반하여 리프팅 크기(Z)를 결정하고,
상기 기본 행렬 또는 상기 리프팅 크기(Z) 중 적어도 하나에 기반하여 패리티 검사 행렬을 결정하고,
상기 패리티 검사 행렬과 상기 값들에 기반하여 복호화를 수행하며,
상기 패리티 검사 행렬은 패리티 비트에 대응되는 부분 행렬로서

를 포함하며,
상기 신호는 상기 부분 행렬의 0번째, 1번째, 2번째, 3번째, 4번째 열 블록 중에서 4번째 열 블록에 대응되는 패리티 비트들부터 천공된 패리티 비트들을 포함하며,
상기 패리티 검사 행렬에 포함된 크기의 항등 행렬이며, 크기의 0 행렬이며, , , , 는 크기의 항등 행렬 또는 순환 순열 행렬인 것을 특징으로 하는 수신기.
In a receiver in a communication system,
Transmitter and receiver; and
Includes a control unit connected to the above transmitter and receiver,
The above control unit,
Receive a signal corresponding to the input bit,
Demodulating the signal to determine the value for decoding,
Check the number of input bits based on the above signal,
Determine the basic matrix based on the number of input bits,
Determine the lifting size (Z) based on the number of input bits or at least one of the basic matrices,
Determine a parity check matrix based on at least one of the above basic matrix or the above lifting size (Z),
Decryption is performed based on the above parity check matrix and the above values,
The above parity check matrix is a submatrix corresponding to the parity bits.

Includes,
The above signal includes punctured parity bits starting from the parity bits corresponding to the 4th column block among the 0th, 1st, 2nd, 3rd, and 4th column blocks of the above submatrix,
Included in the above parity check matrix Is is the identity matrix of size, Is is a zero-sized matrix, , , , Is A receiver characterized by being an identity matrix or a cyclic permutation matrix of size.
제13항에 있어서,
상기 신호는 상기 부분 행렬에 대응되는 패리티 비트들이 비트 단위로 인터리빙된 패리티 비트들을 포함하는것을 특징으로 하는 수신기.
In Article 13,
The above signal is the parity bits corresponding to the above submatrix. A receiver characterized by including parity bits interleaved in bit units.
제13항에 있어서,
상기 인터리빙된 패리티 비트들은 상기 부분 행렬의 열 블록에 대응되는 패리티 비트 에 기반하여

또는


로 결정되며,
상기 인터리빙된 패리티 비트들 의 마지막 비트부터 역순서대로 천공되는 것을 특징으로 하는 수신기.
In Article 13,
The above interleaved parity bits are parity bits corresponding to the column blocks of the above submatrix. Based on

or


is determined by,
The above interleaved parity bits A receiver characterized in that the last bit of the signal is perforated in reverse order.
제13항에 있어서,
상기 제어부는,
상기 패리티 검사 행렬에 기반하여 수정된 패리티 검사 행렬을 결정하며,
상기 수정된 패리티 검사 행렬은 상기 패리티 검사 행렬 내에 두 개 이상의 열들을 제외하고 두 개 이상의 행들을 결합하여 정의되는 것을 특징으로 하는 수신기.
In Article 13,
The above control unit,
Determine a modified parity check matrix based on the above parity check matrix,
A receiver characterized in that the above modified parity check matrix is defined by combining two or more rows excluding two or more columns within the parity check matrix.
KR1020240032729A 2024-01-22 2024-03-07 Apparatus and method for encoding and decoding of data in communication or broadcasting system Pending KR20250115278A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2025/000986 WO2025159450A1 (en) 2024-01-22 2025-01-17 Method and apparatus for encoding and decoding data in communication or broadcasting system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20240009767 2024-01-22
KR1020240009767 2024-01-22

Publications (1)

Publication Number Publication Date
KR20250115278A true KR20250115278A (en) 2025-07-30

Family

ID=96584586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240032729A Pending KR20250115278A (en) 2024-01-22 2024-03-07 Apparatus and method for encoding and decoding of data in communication or broadcasting system

Country Status (1)

Country Link
KR (1) KR20250115278A (en)

Similar Documents

Publication Publication Date Title
US11133825B2 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102694927B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102482110B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US11101926B2 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
US20180323807A1 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR20170060562A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20170075627A (en) Apparatus and method for encoding and decoding in communication or broadcasting system
KR102635532B1 (en) Method and apparatus for transmitting and receiving a signal using polar coding in a communication system
CN111357218B (en) Method and apparatus for encoding and decoding channel in communication or broadcasting system
KR102396814B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US12021618B2 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR20250115278A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR102445150B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20250035395A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR20250035396A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR20250113863A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR20170060574A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20250034850A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR102302366B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20250052570A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR20250011556A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR20250115271A (en) Apparatus and method for encoding and decoding of data in communication or broadcasting system
KR102732465B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
CN119895754A (en) Method for encoding and decoding concatenated codes and communication device

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501