WO2020262775A1 - Device and method for decoding polar code - Google Patents

Device and method for decoding polar code Download PDF

Info

Publication number
WO2020262775A1
WO2020262775A1 PCT/KR2019/015834 KR2019015834W WO2020262775A1 WO 2020262775 A1 WO2020262775 A1 WO 2020262775A1 KR 2019015834 W KR2019015834 W KR 2019015834W WO 2020262775 A1 WO2020262775 A1 WO 2020262775A1
Authority
WO
WIPO (PCT)
Prior art keywords
partial sum
pruning
operation unit
node
candidate
Prior art date
Application number
PCT/KR2019/015834
Other languages
French (fr)
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 재단법인대구경북과학기술원
Publication of WO2020262775A1 publication Critical patent/WO2020262775A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Definitions

  • the present invention relates to an extreme code decoding apparatus and method, and in particular, to an extreme code decoding apparatus and method for implementing ultra-low latency characteristics in 5G and next-generation wireless communication.
  • the 5G communication system or the pre-5G communication system is called a communication system after a 4G network (Beyond 4G Network) or a system after an LTE system (Post LTE).
  • the 5G communication system is being considered for implementation in the ultra-high frequency (mmWave) band (eg, such as the 60 Giga (60 GHz) band).
  • mmWave ultra-high frequency
  • ACM advanced coding modulation
  • FQAM Hybrid FSK and QAM Modulation
  • SWSC Soliding Window Superposition Coding
  • FBMC Filter Bank Multi Carrier
  • NOMA non orthogonal multiple access
  • SCMA sparse code multiple access
  • IoT Internet of Things
  • M2M Machine to machine
  • MTC Machine Type Communication
  • IoT Internet Technology
  • IoT is the field of smart home, smart building, smart city, smart car or connected car, smart grid, healthcare, smart home appliance, advanced medical service, etc. through the convergence and combination of existing IT (information technology) technology and various industries. Can be applied to.
  • a 5G communication system to an IoT network.
  • technologies such as sensor network, machine to machine (M2M), and MTC (Machine Type Communication) are implemented by techniques such as beamforming, MIMO, and array antenna, which are 5G communication technologies.
  • M2M machine to machine
  • MTC Machine Type Communication
  • beamforming MIMO
  • array antenna which are 5G communication technologies.
  • cloud RAN cloud radio access network
  • an error correction coding scheme exists as a coding scheme designed to correct an error generated by a communication channel in a receiver.
  • This error correction code is also referred to as channel coding.
  • the error correction coding technique is a technique in which redundancy bits are added to the data to be transmitted and transmitted.
  • error correction coding techniques there are various methods of error correction coding techniques. For example, there are convolutional coding, turbo coding, LDPC coding, and polar coding.
  • the polar code technique is the first code that has been theoretically proven to achieve a point-to-point channel capacity by using channel polarization.
  • the extreme code it is possible to design a code optimized for each channel or code rate through density evolution and reciprocal channel approximation (RCA).
  • RCA reciprocal channel approximation
  • index sequence polar code sequence
  • eMBB Enhanced Mobile Broadband
  • URLLC Ultra-Reliable and Low Latency Communication
  • mMTC Massive Machine Type Communication
  • the polar decoding system was adopted by 3GPP, a standardization organization, as an error correction system for 5G wireless communication control channels.
  • Polar abdominal coding systems include SC (Successive Cancellation), SSC (Simplified Successive Cancellation), SCL (Successive Cancellation List), Fast-SSCL-SPC (Fast-simplified SCL-SPC), and the like.
  • the SCL scheme proposed to improve the error correction performance of the existing SC decoding method could improve the error correction performance, but there is a limitation in that the delay time is long due to the sequential protection characteristics.
  • the SSC method which is another method to compensate for the problem of the SC decoding method, does not visit a child node when all child nodes are frozen bits or information bits, and multi-bits in the corresponding mode. bit).
  • the Fast-SSCL-SPC decoding method can decode several bits at the same time without visiting a lower child node in a special node (Rate-0, Rate-1, REP, SPC) having a specific pattern of the tree.
  • a special node Rate-0, Rate-1, REP, SPC
  • the Fast-SSCL-SPC method has the effect of significantly reducing the delay time compared to the SCL method, but it is known that there is a problem in the utilization of a processing element (PE).
  • PE processing element
  • US Patent No. 10,075,193B2 proposes a decoding algorithm and hardware configuration for the SC scheme, and describes a configuration for reducing the delay time through pruning or comprising in the case of a special node.
  • FIG. 1 is a block diagram of a conventional Fast-SSCL decoding apparatus.
  • a conventional decoding apparatus includes a memory 100 for storing received bits, a processing element 200 for performing an F operation or a G operation according to a node of a received bit of the memory 100. , A metric computing unit (300) that performs pruning to output the decoded information bits, a partial sum network (400) that calculates a subtotal, and an output bit of the memory (100). It includes a pointer 500.
  • the configuration including the memory 100, the processing element 200, the metric operation unit 300, the subtotal network 400, and the pointer 500 is a configuration of an extreme code decoding device, and the decoding device is a separate The operation is controlled by the controller of
  • the decoding device is a device added to a receiver for wireless communication and decodes information data from received data.
  • the controller performs F operation or G operation according to the characteristics of the node to be currently operated, and performs pruning. Pruning is a process of omitting unnecessary node visits along the decoding tree and finally sorting.
  • FIG. 2 is an exemplary diagram of a conventional decoding tree.
  • a decoding tree is a structure in which a layer and a leaf layer of the layer are connected, and a specific leaf node is visited according to log-likelihood ratios (LLR).
  • LLR log-likelihood ratios
  • the node includes a special node.
  • Special nodes are usually labeled as Rate-0, Rate-1, REP, and SPC, and multiple bits can be decoded at the same time without visiting a lower leaf node (or child node).
  • G operation must be performed after pruning of the special node.
  • the G operation or F operation is performed according to the cycle of the system clock, and one system clock is allocated for the operation.
  • F operation F-function
  • G operation G-function
  • the likelihood for the repetitive node may be calculated by performing the G operation.
  • the processing element 200 performs an F operation or a G operation according to the type of a node, and the metric operation unit 300 performs pruning according to the likelihood calculated by the processing element 200 to output the decoded bit value. do.
  • pruning includes sorting, and classification is the most time-consuming process in the pruning process.
  • the processing element 200 becomes an idle state in which no operation is performed. This is because a subtotal, which is an output of the subtotal network 400 in the previous state, is required to perform the G operation.
  • the G operation cannot be performed in advance, and the G operation is possible after the pruning of the previous state is completed.
  • the processing element 200 When pruning of the metric calculation unit 300 is completed, the processing element 200 performs an F operation or a G operation according to the node type again at the next system clock. If the node is a special node, the partial sum of the previous state Perform G operation using.
  • the operation of the processing element 200 is stopped during the pruning process, which acts as a delay factor of the entire decoding apparatus and method.
  • the technical problem to be solved by the present invention in consideration of the above problems is to provide an extreme code decoding apparatus and method capable of further reducing a delay time in an SCL-based decoding scheme.
  • An extreme code decoding apparatus for solving the above problems, performs F operation or G operation according to a memory storing a received bit and a node of the received bit of the memory, Simultaneously with the pruning process, a processing element that performs G operation using Candidate Partial Sum, and outputs the decoded information bits by performing pruning, and sorting during the pruning process Includes a metric computing unit that selectively outputs a previous value, and a partial sum network that calculates a subtotal and calculates and outputs the candidate subtotal using the pre-classification value of the metric calculation unit. do.
  • the processing element includes an F operation unit for performing an F operation, a G operation unit for performing G operation, and a superposition for selecting and outputting one of two operation results of the G operation unit according to the candidate subtotal. It may include an operation unit.
  • the overlapping operation unit includes a pair of multiplexers each selecting one of two operation results of the G operation unit, and the pair of multiplexers is the G operation unit according to different candidate subtotals. One of the two calculation results of can be selected and output.
  • the metric calculation unit selects and outputs one of a metric calculation unit including a plurality of classifiers to perform pruning including sorting, and calculation values of the front end of the classifiers. May contain multiplexers.
  • the polar code decoding method includes: a) checking whether a special node is processed, and b) selecting one of an operation value of the front end of the classifier of claim 4 in the pruning process if the processing is a special node. Steps, c) calculating a candidate partial sum using one of the operation values selected in step b), and d) performing a G operation according to the candidate partial sum value, wherein the G operation and the rounding process The last process can be performed superimposed on the same clock cycle.
  • one of the outputs of the G operation unit that performs the G operation may be selected according to the candidate partial sum.
  • the G operation may be performed by being superimposed on the same clock cycle as the classification process of the pruning process.
  • the extreme code decoding apparatus and method of the present invention has the effect of shortening the delay time by performing the G operation performed after the special node operation in the fast-SSCL method extreme code decoding in the same clock cycle as the operation of the special node. .
  • the polar code decoding apparatus and method of the present invention enables the operation of the PE to be performed in advance without stopping the operation of the PE during the operation of the special node, thereby reducing the delay time.
  • FIG. 1 is a block diagram of a conventional pole code decoding apparatus.
  • FIG. 2 is a block diagram of a conventional decoding tree.
  • FIG. 3 is a block diagram of an extreme code decoding apparatus according to a preferred embodiment of the present invention.
  • FIG. 4 is a block diagram of a processing element applied to the present invention.
  • FIG. 5 is a block diagram of a metric calculation unit applied to the present invention.
  • FIG. 6 is an exemplary diagram of a decoding tree according to the present invention.
  • FIG. 7 is a graph comparing the processing of the present invention and the conventional processing according to the type of special node.
  • each block of the flowchart diagrams and combinations of the flowchart diagrams may be executed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general purpose computer, special purpose computer or other programmable data processing equipment, the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates a means to perform functions. These computer program instructions can also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory It is also possible to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block(s).
  • Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for instructions to perform processing equipment to provide steps for executing the functions described in the flowchart block(s).
  • each block may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s).
  • functions mentioned in blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding function.
  • the term' ⁇ unit' used in the present embodiment refers to software or hardware components such as FPGA or ASIC, and' ⁇ unit' performs certain roles.
  • The' ⁇ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors.
  • ' ⁇ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. Components and functions provided in the' ⁇ units' may be combined into a smaller number of elements and' ⁇ units', or may be further separated into additional elements and' ⁇ units'.
  • components and' ⁇ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
  • the polar code is an error correction code and may have a performance higher than a certain level while having low coding performance and low complexity.
  • the extreme code it is a code that can achieve the data transmission limit, channel capacity, in all binary discrete memoryless channels.
  • the polar code has similar performance to the turbo code and LDPC (low-density parity-check) code, which are other channel capacity proximity codes, and in the case of the polar code, the performance when transmitting a code of a shorter length compared to the other codes. It can have an advantage. Accordingly, it is possible to transmit/receive a signal to which a polar code is applied throughout the communication system, and more specifically, it is possible to consider using a polar code to transmit control information of a predetermined length or less.
  • the polar code is an error correction code that can be defined based on a phenomenon called channel polarization under the assumption of binary discrete memoryless channel (B-DMC).
  • B-DMC binary discrete memoryless channel
  • each bit can be independently and statistically a channel W having the same characteristics.
  • the channel capacity of each channel is 0 ⁇ C(W) ⁇ 1
  • N bits through B-DMC without any operation all channels through which each bit is transmitted have a channel capacity of C(W), and information as much as N ⁇ C(W) bits is theoretically transmitted. Can be.
  • channel polarization The basic concept of channel polarization is to combine (channel combining) and splitting (channel splitting) channels through which N bits pass, so that the channel capacity of the resulting channel experienced by a specific ratio of bits is equal to 1.
  • the channel capacity of the resulting channel which becomes a close value, and the remaining bits experience, can be adjusted to be close to zero.
  • the transmission effect can be maximized by transmitting the information bit to a channel with a high channel capacity after channel polarization and fixing the information bit to a specific value on a channel with a low channel capacity. have.
  • FIG. 3 is a block diagram of a polar decoding apparatus according to an embodiment of the present invention.
  • the extreme code decoding apparatus performs an F operation or a G operation according to a memory 10 storing received bits and a node of a received bit of the memory 10.
  • a processing element (20) that performs G operation in advance using a candidate partial sum, and a decoded information bit by performing pruning are output, but sorting (sorting) )
  • a metric computing unit (30) that provides a candidate partial sum by providing a previous value, a partial sum network (40) that calculates a subtotal, and an output bit of the memory 10 It includes a pointer 50 to designate.
  • the received bits stored in the memory 10 are selected by the pointer 50, and the received bits are input to the processing element 20, and the F operation or the G operation is performed depending on the node.
  • FIG. 4 is a block diagram of the processing element 20 of the present invention.
  • the processing element 20 applied to the present invention includes an F operation unit 21 and a G operation unit 22, and superimposes the selection and output of the G operation result by a candidate partial sum. It is configured to further include an overlaping) operation unit (23).
  • the superposition operation unit 23 includes two multiplexers that select and output one of the two output values of the G operation unit 22 according to a plurality of candidate partial sums (Candidate Partial Sum 0, Candidate Partial Sum 1).
  • the F operation unit 21 and the G operation unit 22 are elements of a typical processing element, and perform F operation or G operation on information bits ⁇ according to nodes.
  • the G operation unit 22 generates two result values, and selects and outputs one of the two result values according to the subtotal.
  • the G operation is performed in advance before the subtotal of the previous state required by the G operation unit 22 is calculated, so that the processing element 20 becomes the idle state by performing the G operation while performing pruning. Can be prevented.
  • FIG. 5 is a block diagram of a metric calculation unit 30 applied to the present invention.
  • a result of the F operation of the processing element 20 or the result of the superimposition G operation of the superimposition operation unit 23 are selectively input and pruned to output decoded bits.
  • the reason why the superimposed G operation result is received is because there is a possibility that the next operation process after the operation of the superimposition operation unit 23 is a pruning operation of a special node.
  • the configuration of the metric calculation unit 30 applied to the present invention includes a metric calculation unit 31 that performs pruning, and a multi-layer for selecting processed values before being input to sorters in the calculation process of the metric calculation unit 31. It consists of a flexor (32).
  • the configuration of the metric calculation unit 31 itself may be the same as that of a typical metric calculation unit (MCU).
  • MCU typical metric calculation unit
  • the value selected by the multiplexer 32 may be selected according to the type of the special node.
  • the value selected by the multiplexer 32 is provided to the subtotal network 40, and the subtotal network 40 obtains a candidate subtotal and provides it to the superposition operation unit 23 of the processing element 20 described above.
  • the G operation can be performed in the processing element 20 together with the sorting process that takes the most time in the pruning process, thereby preventing loss of the system clock cycle.
  • FIG. 6 is an exemplary diagram of a decoding tree according to the present invention.
  • a classification operation is performed in a 5-layer 16-bit decoding tree, and the following G operation is superimposed and calculated.
  • the delay factor because it is not necessary to use a separate system clock for the G operation, which must be performed after the processing of the special node.
  • the delay factor can be further reduced.
  • FIG. 7 is a graph comparing the processing of the present invention and the conventional processing according to the type of special node.
  • the operation of the processing element, the pruning operation of the metric operation unit, and the G operation each use a clock, but in the present invention, the pruning operation of the metric operation unit and the G operation are simultaneously performed The clock cycle can be reduced.
  • Rate 1 the operation of the processing element and the operation of the metric calculation unit occur simultaneously, and in the next clock cycle, the G operation is performed again in the next clock cycle after the sorting operation, but in the present invention, the classification operation and Since the G operation can be performed simultaneously, the clock cycle can be reduced.
  • the G operation was conventionally performed by separating the G operation in a clock cycle following the clock cycle of the classification operation, but in the present invention, the clock cycle can be reduced by overlapping the classification operation and the G operation in the same clock cycle. have.
  • the clock cycle is reduced by overlapping the G operation in the clock cycle for the last parity check.
  • the present invention has a feature of reducing delay by reducing one clock cycle in all special nodes.
  • the present invention is to shorten the delay time by performing the G operation after the special node operation in the same clock cycle as the operation of the special node in Fast-SSCL extreme code decoding using the natural law. There is this.

Landscapes

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

Abstract

The present invention relates to a device and a method for decoding a polar code, the device comprising: a memory for storing a received bit; a processing element for performing computation F or computation G according to a node of a received bit in the memory, wherein computation G is performed using a candidate partial sum concurrently with a pruning procedure of a special node; a metric computing unit for performing pruning to output a decoded information bit while selectively outputting a value before sorting during the pruning; and a partial sum network for computing a partial sum, computing the candidate partial sum by using the value before sorting by the metric computing unit, and outputting the computed candidate partial sum.

Description

극부호 복호 장치 및 방법Polar code decoding apparatus and method
본 발명은 극부호 복호 장치 및 방법에 관한 것으로, 특히 5G 및 차세대 무선통신에서 초저지연 특성을 구현하기 위한 극부호 복호 장치 및 방법에 관한 것이다.The present invention relates to an extreme code decoding apparatus and method, and in particular, to an extreme code decoding apparatus and method for implementing ultra-low latency characteristics in 5G and next-generation wireless communication.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로 손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다. Efforts are being made to develop an improved 5G communication system or a pre-5G communication system in order to meet the increasing demand for wireless data traffic after the commercialization of 4G communication systems. For this reason, the 5G communication system or the pre-5G communication system is called a communication system after a 4G network (Beyond 4G Network) or a system after an LTE system (Post LTE). In order to achieve a high data rate, the 5G communication system is being considered for implementation in the ultra-high frequency (mmWave) band (eg, such as the 60 Giga (60 GHz) band). In order to mitigate the path loss of radio waves in the ultra high frequency band and increase the transmission distance of radio waves, in 5G communication systems, beamforming, massive MIMO, and Full Dimensional MIMO (FD-MIMO) ), array antenna, analog beam-forming, and large scale antenna technologies are being discussed.
또한, 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다. 이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.In addition, in order to improve the network of the system, in 5G communication systems, evolved small cells, advanced small cells, cloud radio access networks (cloud RAN), and ultra-dense networks ), Device to Device communication (D2D), wireless backhaul, moving network, cooperative communication, CoMP (Coordinated Multi-Points), and interference cancellation ), and other technologies are being developed. In addition, in the 5G system, advanced coding modulation (ACM) methods such as Hybrid FSK and QAM Modulation (FQAM) and SWSC (Sliding Window Superposition Coding), advanced access technologies such as Filter Bank Multi Carrier (FBMC), NOMA (non orthogonal multiple access), and sparse code multiple access (SCMA) have been developed.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다.On the other hand, the Internet is evolving from a human-centered network in which humans generate and consume information, to an Internet of Things (IoT) network that exchanges and processes information between distributed components such as objects. IoE (Internet of Everything) technology, which combines IoT technology with big data processing technology through connection with cloud servers, is also emerging. In order to implement IoT, technological elements such as sensing technology, wired/wireless communication and network infrastructure, service interface technology, and security technology are required, and recently, a sensor network for connection between objects, machine to machine, M2M) and MTC (Machine Type Communication) technologies are being studied.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.In the IoT environment, intelligent IT (Internet Technology) services that create new value in human life by collecting and analyzing data generated from connected objects can be provided. IoT is the field of smart home, smart building, smart city, smart car or connected car, smart grid, healthcare, smart home appliance, advanced medical service, etc. through the convergence and combination of existing IT (information technology) technology and various industries. Can be applied to.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 5G 통신 기술인 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.Accordingly, various attempts have been made to apply a 5G communication system to an IoT network. For example, technologies such as sensor network, machine to machine (M2M), and MTC (Machine Type Communication) are implemented by techniques such as beamforming, MIMO, and array antenna, which are 5G communication technologies. will be. As the big data processing technology described above, a cloud radio access network (cloud RAN) is applied as an example of the convergence of 5G technology and IoT technology.
일반적으로 통신 시스템에서 송신기와 수신기 사이에 데이터를 송신 및 수신하는 경우 통신 채널에 존재하는 잡음으로 인해 데이터 오류가 발생할 수 있다. 이처럼 통신 채널에 의해 발생된 오류를 수신기에서 정정할 수 있도록 설계된 부호화 방식으로 오류 정정 부호 방식이 존재한다. 이러한 오류 정정 부호는 채널 부호화(channel coding)라고도 한다. 오류 정정 부호 기법은 전송하고자 하는 데이터에 추가적인 비트(redundancy bit)를 추가하여 송신하도록 하는 기법이다.In general, when data is transmitted and received between a transmitter and a receiver in a communication system, data errors may occur due to noise present in the communication channel. As described above, an error correction coding scheme exists as a coding scheme designed to correct an error generated by a communication channel in a receiver. This error correction code is also referred to as channel coding. The error correction coding technique is a technique in which redundancy bits are added to the data to be transmitted and transmitted.
오류 정정 부호 기법에는 다양한 방식들이 존재한다. 예컨대, 길쌈 부호(convolutional coding), 터보 부호(Turbo coding), 저밀도 패리티 검사 부호(LDPC coding) 및 극부호(Polar coding) 방식 등이 존재한다. 이러한 오류 정정 부호 기법들 중 중 극부호(polar code) 기법은 채널 양극화 현상(channel polarization)을 이용하여 점대점 채널 용량을 달성함이 이론적으로 증명된 최초의 부호이다. 극부호는 밀도 진화(density evolution), RCA(Reciprocal Channel Approximation) 등으로 각 채널 또는 부호율(code rate)에 최적화된 부호 설계가 가능하다. 그러나 실제 통신 시스템에서의 극부호 기법을 적용하기 위해서는 각 부호율에 최적화된 인덱스 시퀀스(index sequence, polar code sequence)를 미리 가지고 있어야 한다.There are various methods of error correction coding techniques. For example, there are convolutional coding, turbo coding, LDPC coding, and polar coding. Among these error correction coding techniques, the polar code technique is the first code that has been theoretically proven to achieve a point-to-point channel capacity by using channel polarization. As for the extreme code, it is possible to design a code optimized for each channel or code rate through density evolution and reciprocal channel approximation (RCA). However, in order to apply the polar code technique in an actual communication system, it is necessary to have an index sequence (polar code sequence) optimized for each code rate in advance.
한편, 최근 차세대 이동통신 시스템으로 제안이 이루어지고 있는 5세대(5G) 이동통신 기술에서는 크게 아래의 3가지 시나리오들에 대하여 언급하고 있다. 첫째 eMBB(Enhanced Mobile Broadband), 둘째 URLLC(Ultra-Reliable and Low Latency Communication), 셋째 mMTC(Massive Machine Type Communication) 시나리오이다. 이처럼 다양한 방식을 지원하기 위한 오류 정정 부호는 다양한 부호율을 안정된 성능으로 지원해야 한다.Meanwhile, in the 5th generation (5G) mobile communication technology, which has been recently proposed as a next-generation mobile communication system, the following three scenarios are largely mentioned. First, eMBB (Enhanced Mobile Broadband), second URLLC (Ultra-Reliable and Low Latency Communication), and third mMTC (Massive Machine Type Communication) scenario. Error correction codes to support such various methods must support various code rates with stable performance.
폴라 복부호화 시스템은 표준화기관인 3GPP에 의해 5G 무선 통신 콘트롤 채널의 오류정정부호 시스템으로 채택되었다.The polar decoding system was adopted by 3GPP, a standardization organization, as an error correction system for 5G wireless communication control channels.
폴라 복부호화 시스템은 SC(Successive Cancellation), SSC(Simplified Successive Cancellation), SCL(Successive Cancellation List), Fast-SSCL-SPC(Fast-simplified SCL-SPC) 방식 등이 있다.Polar abdominal coding systems include SC (Successive Cancellation), SSC (Simplified Successive Cancellation), SCL (Successive Cancellation List), Fast-SSCL-SPC (Fast-simplified SCL-SPC), and the like.
기존의 SC 복호 방법의 오류정정성능을 개선하기 위해 제안된 SCL 방식은 오류정정성능을 향상시킬 수 있었으나, 순차적인 보호 특성에 의해 지연시간이 길다는 한계가 있다.The SCL scheme proposed to improve the error correction performance of the existing SC decoding method could improve the error correction performance, but there is a limitation in that the delay time is long due to the sequential protection characteristics.
SC 복호방법의 문제를 보완하기 위한 다른 방식인 SSC 방식은 자식 노드가 모두 프로즌 비트(frozen bit)이거나 정보 비트(informaion bit)인 경우에 자식 노드를 방문하지 않고, 해당 모드에서 멀티 비트(multi-bit)를 결정하는 방식이다.The SSC method, which is another method to compensate for the problem of the SC decoding method, does not visit a child node when all child nodes are frozen bits or information bits, and multi-bits in the corresponding mode. bit).
상기 SCL 방식의 문제점을 해소하기 위하여 SCL을 기반으로 하여 방문 노드를 줄임으로써 지연시간을 줄이는 방식의 연구가 진행되었다. 이러한 연구들 중 지연시간 최소화하의 성능이 가장 우수한 것으로 알려진 복호화 방식이 Fast-SSCL-SPC이다.In order to solve the problem of the SCL method, a study on a method of reducing the delay time by reducing the number of visited nodes based on the SCL has been conducted. Among these studies, Fast-SSCL-SPC is known to have the best performance with minimal delay time.
Fast-SSCL-SPC 복호 방식은 트리의 특정한 패턴을 가지는 스페셜 노드(Rate-0, Rate-1, REP, SPC)에서 하위의 자식 노드를 방문하지 않고 동시에 여러 비트를 복호화 할 수 있다.The Fast-SSCL-SPC decoding method can decode several bits at the same time without visiting a lower child node in a special node (Rate-0, Rate-1, REP, SPC) having a specific pattern of the tree.
그러나 Fast-SSCL-SPC 방식은 SCL 방식에 비하여 지연시간을 대폭 감소시킨 효과가 있으나, PE(Processing Element)의 이용(utilization)에 문제가 있는 것으로 알려져 있다. However, the Fast-SSCL-SPC method has the effect of significantly reducing the delay time compared to the SCL method, but it is known that there is a problem in the utilization of a processing element (PE).
구체적으로 스페셜 노드에 도달하면, 자식 노드를 방문하지 않는 대신 복잡도가 높은 특별한 연산을 수행하기 위하여 추가적인 클록 사이클(clock cycle)을 소비한다.Specifically, when a special node is reached, an additional clock cycle is consumed in order to perform a special operation with high complexity instead of visiting a child node.
상기 추가적인 클록 사이클의 수행시 PE의 연산은 의미가 없고, 사실상 PE가 중단된 상태가 된다. 5G 이동 통신에서는 실제 사용하는 코드 길이 1024, 512비트에서 스페셜 노드가 다수 존재하기 때문에 PE의 중단이 빈번해지는 문제점이 있었다.When the additional clock cycle is performed, the operation of the PE is meaningless, and the PE is actually stopped. In 5G mobile communication, since there are many special nodes with a code length of 1024 and 512 bits actually used, there is a problem that the PE is frequently interrupted.
미국등록특허 US 10,075,193B2에는 SC 방식에 대한 디코딩 알고리즘과 하드웨어 구성을 제안하고 스페셜 노드의 경우 프루닝(pruning) 또는 컴프라이징(comprising)을 통해 지연시간을 줄이는 구성이 기재되어 있다.US Patent No. 10,075,193B2 proposes a decoding algorithm and hardware configuration for the SC scheme, and describes a configuration for reducing the delay time through pruning or comprising in the case of a special node.
또한, 라인 디코더를 사용하여 PE가 독립적으로 동작하는 풀리 패러럴 PE(Fully Parallel PE)의 문제점을 해결하기 위하여 PE의 수를 줄여 세미 패러럴로 동작하는 시스템에 대하여 제안하고 있다. In addition, in order to solve the problem of a fully parallel PE (Fully Parallel PE) in which PE operates independently using a line decoder, a system that operates in semi-parallel by reducing the number of PEs is proposed.
그러나 이와 같은 시스템은 PE의 수를 직접 줄여 하드웨어 비용을 줄일 수 있다는 장점은 있으나, 지연시간을 단축할 수는 없었다.However, such a system has the advantage of reducing hardware cost by directly reducing the number of PEs, but it cannot shorten the delay time.
다른 극부호 복호화의 지연시간 단축에 관한 선행기술로서 "Fast and Flexible Successive-Cancellation List Decoders for Polar Codes, Seyyed Ali Hashemi, Student Member, IEEE, Carlo Condo, and Warren J. Gross, Senior Member, IEEE, IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 65, NO. 21, NOVEMBER 1, 2017"가 있다.As a prior art for shortening the delay time of other polar code decoding, "Fast and Flexible Successive-Cancellation List Decoders for Polar Codes, Seyyed Ali Hashemi, Student Member, IEEE, Carlo Condo, and Warren J. Gross, Senior Member, IEEE, IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 65, NO. 21, NOVEMBER 1, 2017".
위의 논문에서는 Fast-SSCL 또는 Fast-SSCL-SPC 극부호 디코더에 대한 내용이 기재되어 있다. 종래의 SCL에서는 SC와 다르게 리스트에 대한 랭킹(ranking)을 매겨 선택하기 때문에, 각 리스트에 스코어를 매기고 분류하는 추가적인 연산이 필요하다.In the above paper, the contents of Fast-SSCL or Fast-SSCL-SPC polar code decoder are described. In the conventional SCL, differently from the SC, since the list is ranked and selected, an additional operation of scoring and classifying each list is required.
더욱이, SCL에서 스페셜노드의 프루닝을 위해 리스트 스코어링(list scoring)을 하는 방법이 이전까지는 개발되지 않았지만, 이 논문에서 오류정정성능을 유지하면서 SCL의 프루닝이 가능한 방법을 제안하였다. Moreover, a method of performing list scoring for pruning of a special node in SCL has not been developed before, but in this paper, a method capable of pruning of SCL while maintaining error correction performance was proposed.
그러나 스페셜 노드의 연산 중에는 PE의 동작이 정지하게 되기 때문에, 별도의 클록 사이클(clock cycle)을 소비하게 된다.However, since the PE operation is stopped during the operation of the special node, a separate clock cycle is consumed.
상기 추가적인 클록 사이클의 수행시 PE의 연산은 의미가 없고, 사실상 PE가 중단된 상태가 된다. 5G 이동 통신에서는 실제 사용하는 코드 길이 1024, 512비트에서 스페셜 노드가 다수 존재하기 때문에 PE의 중단이 빈번해지는 문제점이 있었다.When the additional clock cycle is performed, the operation of the PE is meaningless, and the PE is actually stopped. In 5G mobile communication, since there are many special nodes with a code length of 1024 and 512 bits actually used, there is a problem that the PE is frequently interrupted.
도 1은 종래 Fast-SSCL 복호 장치의 블록 구성도이다.1 is a block diagram of a conventional Fast-SSCL decoding apparatus.
도 1을 참조하면 종래 복호 장치는, 수신 비트를 저장하는 메모리(100)와, 상기 메모리(100)의 수신 비트의 노드에 따라 F 연산 또는 G 연산을 수행하는 프로세싱 엘리먼트(Processing Element, 200)와, 프루닝을 수행하여 복호화된 정보 비트를 출력하는 메트릭 연산 유닛(Metric Computing Unit, 300)과, 부분합을 연산하는 부분합 네트워크(Partial Sum Network, 400)와, 메모리(100)의 출력 비트를 지정하는 포인터(500)를 포함한다.Referring to FIG. 1, a conventional decoding apparatus includes a memory 100 for storing received bits, a processing element 200 for performing an F operation or a G operation according to a node of a received bit of the memory 100. , A metric computing unit (300) that performs pruning to output the decoded information bits, a partial sum network (400) that calculates a subtotal, and an output bit of the memory (100). It includes a pointer 500.
상기 메모리(100), 프로세싱 엘리먼트(200), 메트릭 연산 유닛(300), 부분합 네트워크(400), 포인터(500)를 포함하는 구성은 극부호의 복호 장치(decoder)의 구성이며, 복호 장치는 별도의 콘트롤러(controller)에 의해 동작이 제어된다.The configuration including the memory 100, the processing element 200, the metric operation unit 300, the subtotal network 400, and the pointer 500 is a configuration of an extreme code decoding device, and the decoding device is a separate The operation is controlled by the controller of
상기 복호 장치는 무선 통신의 수신기에 부가된 장치로서, 수신된 데이터에서 정보 데이터를 복호한다.The decoding device is a device added to a receiver for wireless communication and decodes information data from received data.
상기 콘트롤러는 현재 연산할 노드의 특징에 따라 F연산 또는 G연산을 수행하며, 프루닝을 수행한다. 프루닝은 복호화 트리를 따라 불필요한 노드의 방문을 생략하고, 최종적으로 분류(sorting)하는 과정이다.The controller performs F operation or G operation according to the characteristics of the node to be currently operated, and performs pruning. Pruning is a process of omitting unnecessary node visits along the decoding tree and finally sorting.
도 2에는 종래 디코딩 트리의 예시도이다.2 is an exemplary diagram of a conventional decoding tree.
도 2를 참조하면 디코딩 트리는 계층과 그 계층의 리프(leaf) 계층을 연결한 구조이며, 우도(log-likelihood ratios, LLR)에 따라 특정한 리프 노드를 방문한다.Referring to FIG. 2, a decoding tree is a structure in which a layer and a leaf layer of the layer are connected, and a specific leaf node is visited according to log-likelihood ratios (LLR).
상기 노드는 스페셜 노드를 포함한다. 스페셜 노드는 통상 Rate-0, Rate-1, REP, SPC으로 표기하며, 하위의 리프 노드(또는 자식 노드)를 방문하지 않고도 동시에 여러 비트를 복호화할 수 있다.The node includes a special node. Special nodes are usually labeled as Rate-0, Rate-1, REP, and SPC, and multiple bits can be decoded at the same time without visiting a lower leaf node (or child node).
이때, 스페셜 노드의 프루닝 후에는 반드시 G연산을 수행해야 한다.At this time, G operation must be performed after pruning of the special node.
상기 G연산 또는 F연산은 시스템 클록의 주기에 맞춰 이루어지며, 연산은 하나의 시스템 클록이 할당된다.The G operation or F operation is performed according to the cycle of the system clock, and one system clock is allocated for the operation.
복호 중 수행되는 F연산(F-함수)와 G연산(G-함수)의 두 가지 연산이 수행되며, 단일 패리티 검사 노드에서는 F연산, 반복 노드에서는 G연산이 수행될 수 있다.Two operations, F operation (F-function) and G operation (G-function), which are performed during decoding, may be performed, F operation in a single parity check node, and G operation in a repetitive node.
노드에 대한 비트 값이 경판정되어 예측되거나 결정된 경우, G연산을 수행하여 반복 노드에 대한 우도를 산출할 수 있다. When the bit value for the node is hard-determined and predicted or determined, the likelihood for the repetitive node may be calculated by performing the G operation.
상기 프로세싱 엘리먼트(200)는 노드의 종류에 따라 F연산 또는 G연산을 수행하며, 프로세싱 엘리먼트(200)에서 산출된 우도에 따라 매트릭 연산 유닛(300)은 프루닝을 수행하여 복호화된 비트 값을 출력한다.The processing element 200 performs an F operation or a G operation according to the type of a node, and the metric operation unit 300 performs pruning according to the likelihood calculated by the processing element 200 to output the decoded bit value. do.
이때 프루닝은 분류(sorting)을 포함하며, 분류는 프루닝 과정에서 가장 시간이 소모가 많은 과정이다. At this time, pruning includes sorting, and classification is the most time-consuming process in the pruning process.
이처럼 매트릭 연산 유닛(300)에서 프루닝이 수행되는 시스템 클록 주기에서 상기 프로세싱 엘리먼트(200)는 동작을 하지 않는 아이들 스테이트(idle state)가 된다. 이는 G연산을 수행하기 위해서는 이전 상태의 부분합 네트워크(400)의 출력인 부분합이 필요하기 때문이다.As described above, in the system clock period in which pruning is performed in the metric operation unit 300, the processing element 200 becomes an idle state in which no operation is performed. This is because a subtotal, which is an output of the subtotal network 400 in the previous state, is required to perform the G operation.
즉, 이전 상태의 부분합이 산출되지 않은 상태이기 때문에 G연산을 미리 수행할 수 없었으며, 이전 상태의 프루닝이 완료된 후에 G연산이 가능하다.That is, since the subtotal of the previous state has not been calculated, the G operation cannot be performed in advance, and the G operation is possible after the pruning of the previous state is completed.
상기 매트릭 연산 유닛(300)의 프루닝이 완료되면 다음의 시스템 클록에서 다시 프로세싱 엘리먼트(200)에서 노드의 종류에 따라 F연산 또는 G연산을 수행하게 되며, 노드가 스페셜 노드인 경우 이전 상태의 부분합을 이용하여 G연산을 수행한다.When pruning of the metric calculation unit 300 is completed, the processing element 200 performs an F operation or a G operation according to the node type again at the next system clock. If the node is a special node, the partial sum of the previous state Perform G operation using.
따라서, 종래 복호 장치 및 방법은 프루닝 과정에서는 프로세싱 엘리먼트(200)의 작용이 정지된 상태가 되며, 이는 전체 복호 장치 및 방법의 지연 요소로 작용하게 된다.Accordingly, in the conventional decoding apparatus and method, the operation of the processing element 200 is stopped during the pruning process, which acts as a delay factor of the entire decoding apparatus and method.
상기와 같은 문제점을 고려한 본 발명이 해결하고자 하는 기술적 과제는, SCL 기반의 복호 방식에서 지연시간을 더욱 단축시킬 수 있는 극부호 복호 장치 및 방법을 제공함에 있다.The technical problem to be solved by the present invention in consideration of the above problems is to provide an extreme code decoding apparatus and method capable of further reducing a delay time in an SCL-based decoding scheme.
특히, SCL 방식의 지연시간을 단축한 Fast-SSCL 방식에서 PE의 동작을 최적화하여 지연시간을 단축할 수 있는 극부호 복호 장치 및 방법을 제공함에 있다.In particular, to provide an extreme code decoding apparatus and method capable of shortening the delay time by optimizing the operation of the PE in the Fast-SSCL method in which the delay time of the SCL method is shortened.
상기와 같은 과제를 해결하기 위한 본 발명의 일측면에 따른 극부호 복호 장치는, 수신 비트를 저장하는 메모리와, 상기 메모리의 수신 비트의 노드에 따라 F연산 또는 G연산을 수행하되, 스페셜 노드의 프루닝 과정과 동시에 후보 부분합(Candidate Partial Sum)을 이용하여 G연산을 수행하는 프로세싱 엘리먼트(Processing Element)와, 프루닝을 수행하여 복호화된 정보 비트를 출력함과 아울러 프루닝 과정 중 분류(sorting) 전의 값을 선택적으로 출력하는 메트릭 연산 유닛(Metric Computing Unit)와, 부분합을 연산하며, 상기 메트릭 연산 유닛의 분류 전의 값을 이용하여 상기 후보 부분합을 연산하여 출력하는 부분합 네트워크(Partial Sum Network)를 포함한다.An extreme code decoding apparatus according to an aspect of the present invention for solving the above problems, performs F operation or G operation according to a memory storing a received bit and a node of the received bit of the memory, Simultaneously with the pruning process, a processing element that performs G operation using Candidate Partial Sum, and outputs the decoded information bits by performing pruning, and sorting during the pruning process Includes a metric computing unit that selectively outputs a previous value, and a partial sum network that calculates a subtotal and calculates and outputs the candidate subtotal using the pre-classification value of the metric calculation unit. do.
본 발명의 실시예에서, 상기 프로세싱 엘리먼트는, F연산을 수행하는 F연산부와, G연산을 수행하는 G연산부와, 상기 G연산부의 두 연산결과 중 하나를 상기 후보 부분합에 따라 선택하여 출력하는 중첩 연산부를 포함할 수 있다.In an embodiment of the present invention, the processing element includes an F operation unit for performing an F operation, a G operation unit for performing G operation, and a superposition for selecting and outputting one of two operation results of the G operation unit according to the candidate subtotal. It may include an operation unit.
본 발명의 실시예에서, 상기 중첩 연산부는, 각각 상기 G연산부의 두 연산결과 중 하나를 선택하는 한 쌍의 멀티플랙서를 포함하며, 상기 한 쌍의 멀티플랙서는 각기 다른 후보 부분합에 따라 상기 G연산부의 두 연산결과 중 하나를 선택하여 출력할 수 있다.In an embodiment of the present invention, the overlapping operation unit includes a pair of multiplexers each selecting one of two operation results of the G operation unit, and the pair of multiplexers is the G operation unit according to different candidate subtotals. One of the two calculation results of can be selected and output.
본 발명의 실시예에서, 상기 메트릭 연산 유닛은, 분류(sorting)을 포함하는 프루닝을 수행하기 위해 다수의 분류기를 포함하는 메트릭 연산부와, 상기 분류기들의 전단의 연산 값들 중 하나를 선택하여 출력하는 멀티플랙서를 포함할 수 있다.In an embodiment of the present invention, the metric calculation unit selects and outputs one of a metric calculation unit including a plurality of classifiers to perform pruning including sorting, and calculation values of the front end of the classifiers. May contain multiplexers.
본 발명의 다른 측면에 따른 극부호 복호 방법은, a) 스페셜 노드의 처리인지 확인하는 단계와, b) 스페셜 노드의 처리이면 프루닝 과정에서 상기 제4항의 분류기 전단의 연산 값 중 하나를 선택하는 단계와, c) 상기 b) 단계에서 선택된 연산 값 중 하나를 이용하여 후보 부분 합을 연산하는 단계와, d) 상기 후보 부분 합의 값에 따라 G연산을 수행하되, G연산과 상기 푸르닝 과정의 마지막 과정은 동일 클록 사이클에 중첩되어 수행될 수 있다.The polar code decoding method according to another aspect of the present invention includes: a) checking whether a special node is processed, and b) selecting one of an operation value of the front end of the classifier of claim 4 in the pruning process if the processing is a special node. Steps, c) calculating a candidate partial sum using one of the operation values selected in step b), and d) performing a G operation according to the candidate partial sum value, wherein the G operation and the rounding process The last process can be performed superimposed on the same clock cycle.
본 발명의 실시예에서, 상기 d) 단계는, G연산을 수행하는 G연산부의 출력 중 하나를 상기 후보 부분 합의 값에 따라 선택할 수 있다.In an embodiment of the present invention, in step d), one of the outputs of the G operation unit that performs the G operation may be selected according to the candidate partial sum.
본 발명의 실시예에서, 상기 G연산은 프루닝 과정의 분류 과정과 동일 클록 사이클에 중첩되어 수행될 수 있다.In an embodiment of the present invention, the G operation may be performed by being superimposed on the same clock cycle as the classification process of the pruning process.
본 발명 극부호 복호 장치 및 방법은, Fast-SSCL 방식의 극부호 복호화에서 스페셜 노드 연산 이후에 수행되는 G 연산을 스페셜 노드의 연산과 동일 클록 사이클에서 수행함으로써 지연시간을 단축할 수 있는 효과가 있다.The extreme code decoding apparatus and method of the present invention has the effect of shortening the delay time by performing the G operation performed after the special node operation in the fast-SSCL method extreme code decoding in the same clock cycle as the operation of the special node. .
좀 더 구체적으로 본 발명 극부호 복호 장치 및 방법은 스페셜 노드의 연산 중에 PE의 작용이 멈추지 않고 G 연산을 미리 수행할 수 있도록 함으로써, 지연시간을 단축할 수 있는 효과가 있다. More specifically, the polar code decoding apparatus and method of the present invention enables the operation of the PE to be performed in advance without stopping the operation of the PE during the operation of the special node, thereby reducing the delay time.
도 1은 종래 극부호 복호 장치의 블록 구성도이다.1 is a block diagram of a conventional pole code decoding apparatus.
도 2는 종래 복호 트리의 구성도이다.2 is a block diagram of a conventional decoding tree.
도 3은 본 발명의 바람직한 실시예에 따른 극부호 복호 장치의 블록 구성도이다.3 is a block diagram of an extreme code decoding apparatus according to a preferred embodiment of the present invention.
도 4는 본 발명에 적용된 프로세싱 엘리먼트의 블록 구성도이다.4 is a block diagram of a processing element applied to the present invention.
도 5는 본 발명에 적용되는 메트릭 연산 유닛의 블록 구성도이다.5 is a block diagram of a metric calculation unit applied to the present invention.
도 6은 본 발명의 복호 트리의 예시도이다.6 is an exemplary diagram of a decoding tree according to the present invention.
도 7은 스페셜 노드의 종류에 따른 본 발명의 처리와 종래의 처리 과정을 비교한 그래프이다.7 is a graph comparing the processing of the present invention and the conventional processing according to the type of special node.
- 부호의 설명 --Explanation of the sign-
10:메모리 20:프로세싱 엘리먼트10: memory 20: processing element
21:F연산부 22:G연산부21: F operation unit 22: G operation unit
23:중첩 연산부 30:메트랙 연산 유닛23: superimposed operation unit 30: metrack operation unit
31:메트릭 연산부 32:멀티플랙서31: metric calculation unit 32: multiplexer
40:부분합 네트워크 50:포인터40: subtotal network 50: pointer
이하, 첨부된 도면들을 참조하여 다양한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 이하에 첨부된 본 발명의 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 도면에 예시된 형태 또는 배치 등에 본 발명이 제한되지 않음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. In this case, it should be noted that the same components in the accompanying drawings are indicated by the same reference numerals as possible. In addition, the accompanying drawings of the present invention are provided to aid understanding of the present invention, and it should be noted that the present invention is not limited in the form or arrangement illustrated in the drawings of the present invention. In addition, detailed descriptions of known functions and configurations that may obscure the subject matter of the present invention will be omitted. In the following description, it should be noted that only parts necessary to understand the operation according to various embodiments of the present invention will be described, and descriptions of other parts will be omitted so as not to obscure the gist of the present invention.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention by omitting unnecessary description.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated. In addition, the size of each component does not fully reflect the actual size. The same reference numerals are assigned to the same or corresponding components in each drawing.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same components throughout the specification.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.In this case, it will be appreciated that each block of the flowchart diagrams and combinations of the flowchart diagrams may be executed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general purpose computer, special purpose computer or other programmable data processing equipment, the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates a means to perform functions. These computer program instructions can also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory It is also possible to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for instructions to perform processing equipment to provide steps for executing the functions described in the flowchart block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative execution examples, functions mentioned in blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding function.
이때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. In this case, the term'~ unit' used in the present embodiment refers to software or hardware components such as FPGA or ASIC, and'~ unit' performs certain roles. However,'~ part' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. Components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further separated into additional elements and'~ units'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
극부호(Polar code)는 오류 정정 부호로 낮은 부호화 성능 및 낮은 복잡도를 가지면서 일정 수준 이상의 성능을 가질 수 있다. 또한 극부호의 경우 모든 binary discrete memoryless channels 에서 데이터 전송 한계인 채널 용량 (channel capacity) 을 달성할 수 있는 코드이다. 또한 폴라 코드는 다른 채널 용량 근접 부호인 터보 코드(Turbo code), LDPC (low-density parity-check) code와 유사한 성능을 가지며, 폴라 코드의 경우 상기 다른 부호들 대비 짧은 길이의 부호를 전송할 때 성능 이점을 가질 수 있다. 따라서 통신 시스템 전반에서 폴라 코드를 적용한 신호 송수신을 수행할 수 있으며, 보다 구체적으로 일정 길이 이하의 제어 정보를 전송하는 용도로 폴라 코드를 사용을 고려할 수 있다.The polar code is an error correction code and may have a performance higher than a certain level while having low coding performance and low complexity. In addition, in the case of the extreme code, it is a code that can achieve the data transmission limit, channel capacity, in all binary discrete memoryless channels. In addition, the polar code has similar performance to the turbo code and LDPC (low-density parity-check) code, which are other channel capacity proximity codes, and in the case of the polar code, the performance when transmitting a code of a shorter length compared to the other codes. It can have an advantage. Accordingly, it is possible to transmit/receive a signal to which a polar code is applied throughout the communication system, and more specifically, it is possible to consider using a polar code to transmit control information of a predetermined length or less.
또한 폴라 코드는 binary discrete memoryless channel (B-DMC) 가정 하에 채널양극화(channel polarization)이라는 현상을 기반으로 정의될 수 있는 오류 정정 부호이다. 이와 같은 폴라 코드를 적용할 경우 각 비트는 독립적이고 통계적으로 동일한 특성을 갖는 채널 W를 할 수 있다. 이 때 각 채널의 채널 용량을 0≤C(W)≤1 라고 하면, 이는 어떤 한 비트를 채널을 통해 전송했을 때 이론적으로 C(W) 비트만큼 정보 전달이 가능하다. 아무런 동작 없이 N개의 비트를 B-DMC를 통해 전송하는 경우, 각 비트가 전송되는 채널은 모두 C(W) 의 채널 용량을 가지며, 총 N×C(W) 비트만큼의 정보가 이론적으로는 전달될 수 있다. Channel polarization의 기본적인 개념은 N 개의 비트가 통과하는 채널들을 결합하고 (channel combining), 분리하는 (channel splitting) 동작을 수행하여 특정 비율의 비트가 겪는 결과적인 채널 (effective channel) 의 채널 용량은 1에 가까운 값이 되고, 남은 비트가 겪는 결과적인 채널의 채널 용량은 0에 가까운 값이 되도록 조절할 수 있다. 이와 같이 Polar code를 간단하게 개념적으로 설명하면, channel polarization 후 채널 용량이 높은 채널로 정보 비트를 전송하고 채널 용량이 낮은 채널에는 정보 비트를 싣지 않고 특정 값으로 고정하는 방법으로 전송 효과를 최대화할 수 있다.In addition, the polar code is an error correction code that can be defined based on a phenomenon called channel polarization under the assumption of binary discrete memoryless channel (B-DMC). In the case of applying such a polar code, each bit can be independently and statistically a channel W having the same characteristics. In this case, if the channel capacity of each channel is 0≦C(W)≦1, it is theoretically possible to transfer information as much as C(W) bits when a certain bit is transmitted through the channel. In the case of transmitting N bits through B-DMC without any operation, all channels through which each bit is transmitted have a channel capacity of C(W), and information as much as N×C(W) bits is theoretically transmitted. Can be. The basic concept of channel polarization is to combine (channel combining) and splitting (channel splitting) channels through which N bits pass, so that the channel capacity of the resulting channel experienced by a specific ratio of bits is equal to 1. The channel capacity of the resulting channel, which becomes a close value, and the remaining bits experience, can be adjusted to be close to zero. In this simple, conceptual description of the polar code, the transmission effect can be maximized by transmitting the information bit to a channel with a high channel capacity after channel polarization and fixing the information bit to a specific value on a channel with a low channel capacity. have.
도 3은 본 발명의 바람직한 실시예에 따른 폴라 복호 장치의 블록 구성도이다.3 is a block diagram of a polar decoding apparatus according to an embodiment of the present invention.
도 3을 참조하면 본 발명의 바람직한 실시예에 따른 극부호 복호 장치는, 수신 비트를 저장하는 메모리(10)와, 상기 메모리(10)의 수신 비트의 노드에 따라 F연산 또는 G연산을 수행하되, 스페셜 노드의 프루닝 과정에서 후보 부분합(Candidate Partial Sum)을 이용하여 미리 G연산을 수행하는 프로세싱 엘리먼트(Processing Element, 20)와, 프루닝을 수행하여 복호화된 정보 비트를 출력하되, 분류(sorting) 전의 값을 제공하여 후보 부분합(Candidate Partial Sum)을 제공하는 메트릭 연산 유닛(Metric Computing Unit, 30)과, 부분합을 연산하는 부분합 네트워크(Partial Sum Network, 40)와, 메모리(10)의 출력 비트를 지정하는 포인터(50)를 포함한다.Referring to FIG. 3, the extreme code decoding apparatus according to a preferred embodiment of the present invention performs an F operation or a G operation according to a memory 10 storing received bits and a node of a received bit of the memory 10. , In the pruning process of the special node, a processing element (20) that performs G operation in advance using a candidate partial sum, and a decoded information bit by performing pruning are output, but sorting (sorting) ) A metric computing unit (30) that provides a candidate partial sum by providing a previous value, a partial sum network (40) that calculates a subtotal, and an output bit of the memory 10 It includes a pointer 50 to designate.
이하, 상기와 같이 구성되는 본 발명의 바람직한 실시예에 따른 극부호 복호 장치의 구성과 작용에 대하여 보다 상세히 설명한다.Hereinafter, the configuration and operation of the pole code decoding apparatus according to a preferred embodiment of the present invention configured as described above will be described in more detail.
먼저, 메모리(10)에 저장된 수신 비트들은 포인터(50)에 의해 선택되는 것으로 하며, 수신 비트들은 프로세싱 엘리먼트(20)로 입력되어 노드에 따라 F연산 또는 G연산이 수행된다.First, it is assumed that the received bits stored in the memory 10 are selected by the pointer 50, and the received bits are input to the processing element 20, and the F operation or the G operation is performed depending on the node.
도 4는 본 발명의 프로세싱 엘리먼트(20)의 블록 구성도이다.4 is a block diagram of the processing element 20 of the present invention.
도 4를 참조하면 본 발명에 적용되는 프로세싱 엘리먼트(20)는 F연산부(21)와, G연산부(22)를 구비하며, G연산 결과를 후보 부분합(Candidate Partial Sum)에 의해 선택 출력하는 중첩(overlaping) 연산부(23)를 더 포함하여 구성된다.Referring to FIG. 4, the processing element 20 applied to the present invention includes an F operation unit 21 and a G operation unit 22, and superimposes the selection and output of the G operation result by a candidate partial sum. It is configured to further include an overlaping) operation unit (23).
중첩 연산부(23)는 복수의 후보 부분합(Candidate Partial Sum 0, Candidate Partial Sum 1)에 따라 상기 G연산부(22)의 두 출력 값 중 하나를 선택하여 출력하는 두 개의 멀티플랙서를 포함한다. The superposition operation unit 23 includes two multiplexers that select and output one of the two output values of the G operation unit 22 according to a plurality of candidate partial sums (Candidate Partial Sum 0, Candidate Partial Sum 1).
상기 F연산부(21)와 G연산부(22)는 통상의 프로세싱 엘리먼트의 요소이며, 노드에 따라 정보 비트(α)들을 F연산하거나 G연산을 수행한다. G연산을 위해서는 이전 상태의 부분합(β)이 요구된다. The F operation unit 21 and the G operation unit 22 are elements of a typical processing element, and perform F operation or G operation on information bits α according to nodes. For G operation, the partial sum (β) of the previous state is required.
상기 G연산부(22)는 두 개의 결과값을 만들며, 부분합에 따라 두 개의 결과값 중 하나를 선택하여 출력한다.The G operation unit 22 generates two result values, and selects and outputs one of the two result values according to the subtotal.
본 발명은 G연산부(22)에서 필요로하는 이전 상태의 부분합이 연산되기 전에 G연산을 미리 수행함으로써, 프루닝을 수행함과 동시에 G연산을 수행하여, 프로세싱 엘리먼트(20)가 아이들 스테이트가 되는 것을 방지할 수 있다.In the present invention, the G operation is performed in advance before the subtotal of the previous state required by the G operation unit 22 is calculated, so that the processing element 20 becomes the idle state by performing the G operation while performing pruning. Can be prevented.
이처럼 중첩 연산부(23)에서 프루닝과 동시에 G연산을 수행하기 위해서는 이전상태의 부분합 정보가 필요하며, 본 발명에서는 메트릭 연산 유닛(30)에서 분류 전의 값을 선택적으로 부분합 네트워크(40)에 제공하여 후보 부분합을 구할 수 있도록 한다.In this way, in order to perform G operation at the same time as pruning in the superimposition operation unit 23, the subtotal information of the previous state is required. Make it possible to find the candidate subtotal.
도 5는 본 발명에 적용되는 메트릭 연산 유닛(30)의 블록 구성도이다.5 is a block diagram of a metric calculation unit 30 applied to the present invention.
도 5를 참조하면 본 발명은 프로세싱 엘리먼트(20)의 F연산 결과 또는 중첩 연산부(23)의 중첩 G연산 결과를 선택적으로 입력받아 프루닝하여 복호 비트를 출력한다.Referring to FIG. 5, according to the present invention, a result of the F operation of the processing element 20 or the result of the superimposition G operation of the superimposition operation unit 23 are selectively input and pruned to output decoded bits.
중첩 G연산 결과를 입력받는 이유는 상기 중첩 연산부(23)의 연산 이후 다음의 연산 과정이 스페셜 노드의 프루닝 연산일 가능성이 있기 때문이다. The reason why the superimposed G operation result is received is because there is a possibility that the next operation process after the operation of the superimposition operation unit 23 is a pruning operation of a special node.
본 발명에 적용된 메트릭 연산 유닛(30)의 구성은 프루닝을 수행하는 메트릭 연산부(31)와, 상기 메트릭 연산부(31)의 연산 과정에서 분류기(sorter)들에 입력되기 전의 처리 값들은 선택하는 멀티플랙서(32)로 이루어진다.The configuration of the metric calculation unit 30 applied to the present invention includes a metric calculation unit 31 that performs pruning, and a multi-layer for selecting processed values before being input to sorters in the calculation process of the metric calculation unit 31. It consists of a flexor (32).
상기 메트릭 연산부(31)의 구성 자체는 통상의 메트릭 연산 유닛(MCU)의 구성과 동일한 것일 수 있다.The configuration of the metric calculation unit 31 itself may be the same as that of a typical metric calculation unit (MCU).
상기 멀티플랙서(32)에서 선택되는 값은 스페셜 노드의 종류에 따라 선택될 수 있다.The value selected by the multiplexer 32 may be selected according to the type of the special node.
상기 멀티플랙서(32)에서 선택된 값은 상기 부분합 네트워크(40)로 제공되며, 부분합 네트워크(40)에서는 후보 부분합을 구하여 앞서 설명한 프로세싱 엘리먼트(20)의 중첩 연산부(23)로 제공한다.The value selected by the multiplexer 32 is provided to the subtotal network 40, and the subtotal network 40 obtains a candidate subtotal and provides it to the superposition operation unit 23 of the processing element 20 described above.
이처럼 본 발명은 프루닝 과정에서 시간이 가장 많이 소요되는 분류(Sorting) 과정과 함께 프로세싱 엘리먼트(20)에서 G연산을 수행하도록 할 수 있어, 시스템 클록 사이클의 손실을 방지할 수 있다.As described above, according to the present invention, the G operation can be performed in the processing element 20 together with the sorting process that takes the most time in the pruning process, thereby preventing loss of the system clock cycle.
즉, 프로세싱 엘리먼트(20)가 아이들 스테이트로 동작하는 것을 방지하여, 지연시간을 줄일 수 있는 특징이 있다.That is, by preventing the processing element 20 from operating in an idle state, there is a characteristic that the delay time can be reduced.
도 6은 본 발명의 복호 트리의 예시도이다.6 is an exemplary diagram of a decoding tree according to the present invention.
도 6을 참조하면 5계층 16비트 복호 트리에서 분류 동작을 수행함과 아울러 다음의 G연산을 중첩하여 연산한다. 이처럼 분류 동작과 G연산의 동시 수행에 의하여 스페셜 노드의 처리 후 반드시 수행되어야 하는 G연산을 위한 별도의 시스템 클럭을 사용하지 않아도 되기 때문에 지연 요소를 줄일 수 있다.Referring to FIG. 6, a classification operation is performed in a 5-layer 16-bit decoding tree, and the following G operation is superimposed and calculated. As described above, by performing the classification operation and the G operation simultaneously, it is possible to reduce the delay factor because it is not necessary to use a separate system clock for the G operation, which must be performed after the processing of the special node.
특히 스페셜 노드의 수가 많은 경우에는 지연 요소를 더욱 줄일 수 있다.In particular, when the number of special nodes is large, the delay factor can be further reduced.
도 7은 스페셜 노드의 종류에 따른 본 발명의 처리와 종래의 처리 과정을 비교한 그래프이다.7 is a graph comparing the processing of the present invention and the conventional processing according to the type of special node.
도 7을 참조하면 Rate 0에 대해서 종래에는 프로세싱 엘리먼트의 동작, 메트릭 연산 유닛의 프루닝 동작, G연산이 각각 클록을 사용하지만, 본 발명에서는 메트릭 연산 유닛의 프루닝 동작과 G연산을 동시에 수행함으로써 클록 사이클을 줄일 수 있다.Referring to FIG. 7, for Rate 0, conventionally, the operation of the processing element, the pruning operation of the metric operation unit, and the G operation each use a clock, but in the present invention, the pruning operation of the metric operation unit and the G operation are simultaneously performed The clock cycle can be reduced.
Rate 1의 경우 프로세싱 엘리먼트의 동작과 메트릭 연산 유닛의 동작이 동시에 일어나고, 다음의 클록 사이클에서 종래에는 분류(sorting) 동작 후 다시 그 다음의 클록 사이클에서 G연산을 수행하였으나, 본 발명에서는 분류 동작과 G연산을 동시에 수행할 수 있어 클록 사이클을 줄일 수 있다.In the case of Rate 1, the operation of the processing element and the operation of the metric calculation unit occur simultaneously, and in the next clock cycle, the G operation is performed again in the next clock cycle after the sorting operation, but in the present invention, the classification operation and Since the G operation can be performed simultaneously, the clock cycle can be reduced.
REF 노드의 경우에도 종래에는 분류 동작의 클록 사이클 다음의 클록 사이클에서 G연산을 분리하여 수행하였으나, 본 발명에서는 분류 동작과 G연산을 동일한 클록 사이클에서 중첩하여 처리함으로써 클록 사이클을 줄일 수 있는 특징이 있다.In the case of the REF node, the G operation was conventionally performed by separating the G operation in a clock cycle following the clock cycle of the classification operation, but in the present invention, the clock cycle can be reduced by overlapping the classification operation and the G operation in the same clock cycle. have.
마지막으로 SPC 노드에서는 패리티 체크를 위한 2개의 클록 사이클의 사이에 두 개의 클록 사이클 동안 분류 동작을 수행하는 종래의 방식에서, 마지막 패리티 체크를 위한 클록 사이클에서 G연산을 중첩처리함으로써, 클록 사이클을 줄일 수 있는 특징이 있다.Finally, in the SPC node, in the conventional method of performing the classification operation for two clock cycles between two clock cycles for parity check, the clock cycle is reduced by overlapping the G operation in the clock cycle for the last parity check. There are features that can be.
이처럼 본 발명은 모든 스페셜 노드에서 하나의 클록 사이클을 줄일 수 있어 지연을 줄일 수 있는 특징이 있다.As described above, the present invention has a feature of reducing delay by reducing one clock cycle in all special nodes.
본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 아니하는 범위 내에서 다양하게 수정, 변형되어 실시될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어서 자명한 것이다.It is apparent to those of ordinary skill in the art that the present invention is not limited to the above embodiments and can be variously modified and modified within the scope of the technical gist of the present invention. will be.
본 발명은 자연법칙을 이용하여 Fast-SSCL 방식의 극부호 복호화에서 스페셜 노드 연산 이후에 수행되는 G 연산을 스페셜 노드의 연산과 동일 클록 사이클에서 수행하여, 지연시간을 단축하기 위한 것으로 산업상 이용 가능성이 있다.The present invention is to shorten the delay time by performing the G operation after the special node operation in the same clock cycle as the operation of the special node in Fast-SSCL extreme code decoding using the natural law. There is this.

Claims (7)

  1. 수신 비트를 저장하는 메모리;A memory for storing received bits;
    상기 메모리의 수신 비트의 노드에 따라 F연산 또는 G연산을 수행하되, 스페셜 노드의 프루닝 과정과 동시에 후보 부분합(Candidate Partial Sum)을 이용하여 G연산을 수행하는 프로세싱 엘리먼트(Processing Element); A processing element that performs an F operation or a G operation according to a node of the received bit of the memory, and performs a G operation using a candidate partial sum at the same time as the pruning process of the special node;
    프루닝을 수행하여 복호화된 정보 비트를 출력함과 아울러 프루닝 과정 중 분류(sorting) 전의 값을 선택적으로 출력하는 메트릭 연산 유닛(Metric Computing Unit); 및A metric computing unit that performs pruning to output decoded information bits and selectively outputs a value before sorting during a pruning process; And
    부분합을 연산하며, 상기 메트릭 연산 유닛의 분류 전의 값을 이용하여 상기 후보 부분합을 연산하여 출력하는 부분합 네트워크(Partial Sum Network)를 포함하는 극부호 복호 장치.An extreme code decoding apparatus comprising a partial sum network that calculates a partial sum and calculates and outputs the candidate partial sum using a value before classification of the metric calculation unit.
  2. 제1항에 있어서,The method of claim 1,
    상기 프로세싱 엘리먼트는,The processing element,
    F연산을 수행하는 F연산부;An F operation unit that performs an F operation;
    G연산을 수행하는 G연산부;A G operation unit that performs G operation;
    상기 G연산부의 두 연산결과 중 하나를 상기 후보 부분합에 따라 선택하여 출력하는 중첩 연산부를 포함하는 극부호 복호 장치.An extreme code decoding apparatus comprising a superposition operation unit for selecting and outputting one of two operation results of the G operation unit according to the candidate subsum.
  3. 제2항에 있어서,The method of claim 2,
    상기 중첩 연산부는,The overlapping operation unit,
    각각 상기 G연산부의 두 연산결과 중 하나를 선택하는 한 쌍의 멀티플랙서를 포함하며,Each includes a pair of multiplexers for selecting one of the two operation results of the G operation unit,
    상기 한 쌍의 멀티플랙서는 각기 다른 후보 부분합에 따라 상기 G연산부의 두 연산결과 중 하나를 선택하여 출력하는 것을 특징으로 하는 극부호 복호 장치.Wherein the pair of multiplexers selects and outputs one of two calculation results of the G operation unit according to different candidate subsums.
  4. 제1항에 있어서,The method of claim 1,
    상기 메트릭 연산 유닛은,The metric calculation unit,
    분류(sorting)을 포함하는 프루닝을 수행하기 위해 다수의 분류기를 포함하는 메트릭 연산부와, 상기 분류기들의 전단의 연산 값들 중 하나를 선택하여 출력하는 멀티플랙서를 포함하는 극부호 복호 장치.A pole code decoding apparatus including a metric calculating unit including a plurality of classifiers to perform pruning including sorting, and a multiplexer for selecting and outputting one of calculated values of the front end of the classifiers.
  5. a) 스페셜 노드의 처리인지 확인하는 단계;a) checking whether the special node is processed;
    b) 스페셜 노드의 처리이면 프루닝 과정에서 상기 제4항의 분류기 전단의 연산 값 중 하나를 선택하는 단계;b) selecting one of the calculation values of the front end of the classifier of claim 4 in the pruning process in case of processing of the special node;
    c) 상기 b) 단계에서 선택된 연산 값 중 하나를 이용하여 후보 부분 합을 연산하는 단계;c) calculating a candidate partial sum using one of the operation values selected in step b);
    d) 상기 후보 부분 합의 값에 따라 G연산을 수행하되,d) Perform G operation according to the candidate partial sum value,
    G연산과 상기 푸르닝 과정의 마지막 과정은 동일 클록 사이클에 중첩되어 수행되는 것을 특징으로 하는 극부호 복호 방법.The extreme code decoding method, characterized in that the G operation and the final process of the Fourning process are performed superimposed on the same clock cycle.
  6. 제5항에 있어서,The method of claim 5,
    상기 d) 단계는,Step d),
    G연산을 수행하는 G연산부의 출력 중 하나를 상기 후보 부분 합의 값에 따라 선택하는 것을 특징으로 하는 극부호 복호 방법.An extreme code decoding method, characterized in that one of the outputs of the G operation unit performing the G operation is selected according to a value of the candidate partial sum.
  7. 제6항에 있어서,The method of claim 6,
    상기 G연산은 프루닝 과정의 분류 과정과 동일 클록 사이클에 중첩되어 수행되는 것을 특징으로 하는 극부호 복호 방법.The G operation is performed by being superimposed on the same clock cycle as the classification process of the pruning process.
PCT/KR2019/015834 2019-06-28 2019-11-19 Device and method for decoding polar code WO2020262775A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0077703 2019-06-28
KR1020190077703A KR102115216B1 (en) 2019-06-28 2019-06-28 Polar codes decoding device and method thereof

Publications (1)

Publication Number Publication Date
WO2020262775A1 true WO2020262775A1 (en) 2020-12-30

Family

ID=70914911

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/015834 WO2020262775A1 (en) 2019-06-28 2019-11-19 Device and method for decoding polar code

Country Status (2)

Country Link
KR (1) KR102115216B1 (en)
WO (1) WO2020262775A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511779B1 (en) 2021-04-12 2023-03-17 아주대학교산학협력단 Apparatus and method for successive cancellation flip decoding of polar code

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170054046A (en) * 2015-11-09 2017-05-17 삼성전자주식회사 Method and apparatus for decoding in a wireless communication system
US20170366199A1 (en) * 2016-06-17 2017-12-21 Huawei Technologies Co., Ltd. Apparatus and methods for error detection coding
KR20190013374A (en) * 2017-07-28 2019-02-11 삼성전자주식회사 APPARATUS AND METHOD FOR Polar ENCODING/DECODING IN COMMUNICATION OR BROADCASTING SYSTEM
KR20190051245A (en) * 2017-11-06 2019-05-15 삼성전자주식회사 Device and method for decoding polar code

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452618B1 (en) * 2017-06-08 2022-10-11 삼성전자주식회사 Polar encoding and decoding using predefined information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170054046A (en) * 2015-11-09 2017-05-17 삼성전자주식회사 Method and apparatus for decoding in a wireless communication system
US20170366199A1 (en) * 2016-06-17 2017-12-21 Huawei Technologies Co., Ltd. Apparatus and methods for error detection coding
KR20190013374A (en) * 2017-07-28 2019-02-11 삼성전자주식회사 APPARATUS AND METHOD FOR Polar ENCODING/DECODING IN COMMUNICATION OR BROADCASTING SYSTEM
KR20190051245A (en) * 2017-11-06 2019-05-15 삼성전자주식회사 Device and method for decoding polar code

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOUSAVI, MAHSA ET AL.: "Efficient Partial-Sum Netwolk Architectures for List Successive-Cancellation Decoding of Polar Codes", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 66, 25 August 2018 (2018-08-25), pages 3848 - 3858, XP055778362 *

Also Published As

Publication number Publication date
KR102115216B1 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
WO2018231023A1 (en) Sequence generation method for polar code, storage medium thereof, and data transmission method and apparatus using same
AU2018288906B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
WO2014092516A1 (en) Packet decoding method and apparatus
WO2014092502A1 (en) Encoding method and apparatus using crc code and polar
WO2018174615A1 (en) Method and apparatus for rate-matching of polar codes
WO2011159089A2 (en) Method and apparatus for parallel processing in a gigabit ldpc decoder
CN110268653A (en) Cascade polarization code with adaptive error detection
WO2017082626A1 (en) Decoding method and apparatus in wireless communication system
WO2018236114A1 (en) Method and apparatus of rate-matching for communication and broadcasting systems
JP7279779B2 (en) Method and Apparatus for Construction of Polar Codes
JP6803969B2 (en) Methods and devices for transporting identification information
WO2010074537A2 (en) Convolutional turbo coding method and device for implementing the coding method
CN110402553A (en) Coding techniques for Multistage Control information
WO2019024594A1 (en) Methods, apparatuses and devices for coding and decoding polarization code
WO2018202140A1 (en) Encoding method, device and apparatus
CN112260798B (en) Physical layer control channel blind detection method based on polarization code
WO2020262775A1 (en) Device and method for decoding polar code
EP3965345A1 (en) Information receiving and sending methods, terminal, and network device
CN110582942A (en) Early termination with distributed CRC polarization code
Shen et al. Low-latency segmented list-pruning software polar list decoder
WO2019021188A1 (en) Enhanced information sequences for polar codes
WO2016043509A1 (en) Decoding method and apparatus in system using sequentially connected binary codes
WO2018176495A1 (en) Polar code transmission method and apparatus
WO2020262777A1 (en) Multi-bit partial sum network device of parallel sc decoder
EP3396862A1 (en) Use of crc and parity bits for early termination of polar code decoding for wireless networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19935377

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19935377

Country of ref document: EP

Kind code of ref document: A1