WO2020262777A1 - Multi-bit partial sum network device of parallel sc decoder - Google Patents

Multi-bit partial sum network device of parallel sc decoder Download PDF

Info

Publication number
WO2020262777A1
WO2020262777A1 PCT/KR2019/017108 KR2019017108W WO2020262777A1 WO 2020262777 A1 WO2020262777 A1 WO 2020262777A1 KR 2019017108 W KR2019017108 W KR 2019017108W WO 2020262777 A1 WO2020262777 A1 WO 2020262777A1
Authority
WO
WIPO (PCT)
Prior art keywords
subtotal
stage
multiplexers
unit
bit
Prior art date
Application number
PCT/KR2019/017108
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 WO2020262777A1 publication Critical patent/WO2020262777A1/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/6561Parallelized implementations

Definitions

  • the present invention relates to a multi-bit subtotal network apparatus and method of a parallel SC decoder, and more particularly, to a multibit subtotal network apparatus of a parallel SC decoder capable of simplifying hardware configuration.
  • 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 configuration of a decoder for SC decoding is usually a memory storing received bits, a processing element (PE) that performs an F operation or a G operation depending on the node of the received bit of the memory, and performs pruning to decode. It is configured to include a metric computing unit that outputs the generated information bits and a partial sum network device that calculates a partial sum.
  • PE processing element
  • the subtotal output of the subtotal network device is provided to the PE, and allows the PE to selectively output the result of the G operation according to the subtotal.
  • a subtotal network device is composed of a matrix generator and a subtotal operation unit, and a partial sum is a previous decoding result, and a next operation value is determined using the previous decoding result.
  • Such a parallelization technique can further reduce the delay time of decoding the SC polar code (polar code).At this time, each parallel polar code decoding tree requires its own subtotal, and pruning technology is applied to obtain a result of several bits at the same time. Therefore, efficient subtotal update logic is required.
  • Prior Document 1 a method of updating several bits in a subtotal register at once is used.
  • FIG. 1 is a block diagram of a conventional subtotal network device.
  • the subtotal network device of FIG. 1 is “Fan, Y., and Tsui, C. Y.. “An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation.” IEEE Transactions on Signal Processing 62.12 (2014): 3165-3179.' (Prior Document 2), it is composed of a matrix generation unit (Matrix Generation Unit) and a partial sum calculation unit (Partial Sum Computation Unit).
  • Matrix Generation Unit matrix generation unit
  • Partial Sum Computation Unit Partial Sum Computation Unit
  • the maximum (M/2)-to-1 multiplexer should be used in the subtotal network to which the folding technique is applied. That is, when M is 64, 32-to-1 mux should be used.
  • the meaning of 32-to-1 can be understood as selecting one of 32 inputs and outputting it.
  • Prior Document 3 assumes that there is no limit to the bits generated at the same time, so that the number of multiplexers (mux) in the matrix generation unit of FIG. 1 increases, and hardware complexity increases.
  • the technical problem to be solved by the present invention in consideration of the above problems is to provide a multi-bit subtotal network apparatus of a parallel SC decoder capable of reducing the complexity of a subtotal network apparatus and simplifying a hardware configuration.
  • the present invention is to provide a multi-bit subtotal network apparatus of a parallel SC decoder capable of reducing the size of a multiplexer disposed between a subtotal network apparatus and a PE.
  • the multi-bit subtotal network apparatus of the parallel SC decoder of the present invention includes a matrix generation unit that calculates a register position to update a current decoding result, an operation result value of the matrix generation unit, and a current decoding result and transfer.
  • a multi-bit subtotal network device of a parallel SC decoder comprising a subtotal operation unit that calculates a partial sum using a decoding result, and a connection multiplexer that selects some of the operation results of the subtotal operation unit and provides it as a processing element
  • the matrix generation unit limits the number of maximum generation bits to the same number as the number of processing elements, and determines the number of inputs of the multiplexers of each of the remaining stages to the number of inputs of the multiplexer of the last stage of the maximum generation bit. Limited to an equal number.
  • the order of the last stage may be defined by Equation 1 below.
  • M is the number of processing elements
  • P is the number of parallels
  • the number of multiplexers of the remaining stage and the number of inputs of each multiplexer may be defined by Equation 2 below.
  • the subtotal operation unit is configured to further include a stage register unit to a subtotal order operation unit, and the stage register unit to at least one stage dedicated register determined according to the number of subtotals required by the processing element. It may have been done.
  • the stage register unit may include the stage dedicated register in stages 0, 1, and 2.
  • the multi-bit subtotal network device of the parallel SC decoder of the present invention has the effect of reducing the number of multiplexers, improving complexity, and reducing hardware cost by limiting the maximum pruning bits of the matrix generation unit to the number of PEs.
  • the parallel decoders applied to the present invention share one matrix generation unit, thereby minimizing the hardware cost of the matrix generation unit.
  • the present invention reduces the complexity of generating the selection signal of the connection multiplexer and minimizes the delay time by adding a dedicated register to a specific stage of the subtotal operation unit to reduce the size of the connection multiplexer for connection with the PE. There is an effect that can be done.
  • FIG. 1 is a block diagram of a conventional multi-bit subtotal network device.
  • FIG. 2 is a block diagram of a multi-bit subtotal network device according to a preferred embodiment of the present invention.
  • FIG. 3 is a block diagram of a matrix generation unit applied to the present invention.
  • FIG. 4 is a block diagram of a subtotal generation unit applied to the present invention.
  • 5 is a block diagram showing that the matrix generation unit is shared.
  • FIG. 6 is a diagram showing the position of r, which is a subtotal register required by PE_0, in a state where the number M of the conventional PE is 16.
  • FIG. 7 is a diagram showing a register that can be omitted when adding a stage dedicated register in the present invention.
  • FIG. 8 is an exemplary diagram showing the number of inputs of a conventional connected multiplexer.
  • connection multiplexer 9 is an exemplary diagram showing the number of inputs of the connection multiplexer of the present invention.
  • 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 a 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. 2 is a block diagram of a multi-bit subtotal network device of a parallel SC decoder according to a preferred embodiment of the present invention
  • FIG. 3 is a block diagram of a matrix generating unit 10 in FIG. 2
  • FIG. 4 is a subtotal operation unit It is a block diagram of (20).
  • the multi-bit subtotal network device of the present invention selects one of the subtotal outputs of the matrix generation unit 10, the subtotal operation unit 20, and the subtotal operation unit 20 to a PE. It is configured to include a connection multiplexer 30 to provide.
  • the matrix generation unit 10 is for generating a matrix G using input bits, and converts the input bits into a matrix G using a multiplexer and an adder.
  • P is the number of parallels
  • M is the number of PEs
  • N is the code length.
  • the matrix generation unit 10 is shared with the subtotal registers of the parallel subtotal operation unit 20.
  • Fig. 5 shows that the matrix generation unit 10 is shared with each subtotal register.
  • the first stage (0-th) it is possible to generate a matrix without using a multiplexer. As the stage increases, the number of multiplexers continues to increase.
  • the maximum pruning bit is limited to be equal to the number of PEs.
  • the maximum pruning bit is also limited to 64.
  • the multiplexers of the residual stage in addition to the necessary bits also continued to increase as the order of the stage increased. It was a composition to do.
  • the number of inputs of the multiplexer of the remaining stage after the stage used for calculating the maximum pruning bit is equal to the last stage of calculating the maximum pruning bit (log 2 (2M/P)-th) (log It consists of 2 (2M/P)-th).
  • each parallel decoder is pruning up to 8 bits, processing 64 bits of the conventional serial decoding structure. The same processing as that is possible becomes possible.
  • the number of multiplexers in the remaining stage and the number of inputs of each multiplexer can be defined by the following equation.
  • the K-to-1 multiplexer can be configured with K-1 2-to-1 multiplexers.
  • Table 1 when all multiplexers are implemented as 2-to-1 multiplexers, the number of 2-to-1 multiplexers used in the conventional matrix generation unit and the 2-to-1 multiplexers used in the present invention The number of books was compared.
  • the matrix G can be generated by using a multiplexer of 1/15 or less of the amount of the multiplexer used in the prior art of the present invention, and thus the hardware configuration can be simplified to reduce cost.
  • the M/P values (u) generated by the matrix generating unit 10 are input to the subtotal operation unit 20.
  • the subtotal operation unit 20 uses N/2 parallel operation registers (PS REG) to calculate each order of the subtotal like a conventional subtotal operation unit.
  • PS REG parallel operation registers
  • dedicated registers are used for each selected stage.
  • the subtotal operation unit 20 may include a subtotal order operation unit 21 and a stage register unit 22.
  • the subtotal order calculation unit 21 includes N/2 registers to obtain subtotals for N codes, as in the configuration example of FIG. 1.
  • a stage register unit 22 is further added, and a dedicated register is added to a specific stage according to the number of subtotals required by the PE.
  • FIG 4 shows an example when the number of subtotals required by PE is 1, 2 or 4.
  • One stage register in stage 0, two stage registers in stage 1, and four registers in stage 2 can be added to meet the number of subtotals required by the PE.
  • connection multiplexer 30 Accordingly, the number of inputs to the connection multiplexer 30 can be reduced.
  • the conventional connection multiplexer requires a maximum of 32-to-1 multiplexers, and for stages 0, 1, and 2 as in the present invention. Up to 6-to-1 multiplexers can be used by adding registers.
  • connection multiplexer 30 the number of inputs to the connection multiplexer 30 can be drastically reduced, the complexity of the selection signal can be reduced, and the delay time can be shortened.
  • connection multiplexer 30 In more detail, specific details for reducing the number of inputs of the connection multiplexer 30 will be described in more detail as follows.
  • FIG. 6 is a diagram showing the position of r, which is a subtotal register required by PE_0, in a state where the number M of the conventional PE is 16. This is an example of PSN for a tree where N is 64.
  • values of 1 or 0 in each column are values for determining whether to update ui in each subtotal register when each value ui generated in each matrix generation unit is decoded and obtained.
  • the value of the column is a value generated by the matrix generating unit 10 at the corresponding timing.
  • values (1 or 0) of the column indicated by a circle are the subtotal values required by PE 0 in the decoding process, and for example, 1 indicated by a circle at the top is decoded when u0 is updated to r0. This means that the value stored in r0 is necessary for the operation of PE0.
  • the required size of the connection multiplexer 30 is M/2-to-1 when the number of PEs is M.
  • FIG. 7 shows a process of reducing a register by using a register for each stage in the present invention.
  • FIG. 8 is a block diagram showing an example of a conventional subtotal network
  • FIG. 9 is a block diagram showing an example of a subtotal network applied to the present invention.
  • the present invention can reduce the number of inputs of the connection multiplexer 30 in each stage by using a stage dedicated register.
  • FIG. 9 is the configuration of the present invention. In the example of, it is shown that the input of the connected multiplexer 30 can be reduced to five by using three stage dedicated registers.
  • the present invention limits the number of maximum generation bits of the matrix generation unit 10 to the same number as the number of PEs, and the configuration of the remaining stages is composed of the same number of multiplexers as the configuration of the stage corresponding to the maximum number of generation bits.
  • the number of multiplexers can be greatly reduced, and a connection multiplexer that connects the subtotal network device and the PE by adding a dedicated register to a specific stage of the subtotal operation unit 20 according to the number of subtotals required by the PE. It is possible to drastically reduce the number of inputs of (30).
  • the present invention is capable of simplifying a circuit by limiting the number of bits of a matrix generating device by using devices using natural laws such as multiplexers and registers, and has industrial applicability.

Abstract

The present invention relates to a multi-bit partial sum network device of a parallel SC decoder, the device comprising: a matrix generation unit for generating a matrix by using a previous decoding result; a partial sum computing unit for computing a partial sum by computing the matrix of the matrix generation unit; and a connection multiplexer for selecting a part of computing results of the partial sum computing unit and providing the selected part to a processing element, wherein the matrix generation unit limits the number of maximum generation bits to the same number as the number of the processing elements, and the input number of multiplexers of each of the remaining stages is limited to the same number as the input number of the multiplexer of the last stage of the maximum generation bits.

Description

병렬 SC 복호기의 멀티비트 부분합 네트워크 장치Multi-bit subtotal network device of parallel SC decoder
본 발명은 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치 및 방법에 관한 것으로, 특히 하드웨어 구성을 단순화할 수 있는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치에 관한 것이다.The present invention relates to a multi-bit subtotal network apparatus and method of a parallel SC decoder, and more particularly, to a multibit subtotal network apparatus of a parallel SC decoder capable of simplifying hardware configuration.
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 복호를 위한 복호기(decoder)의 구성은 통상 수신 비트를 저장하는 메모리, 메모리의 수신 비트의 노드에 따라 F 연산 또는 G 연산을 수행하는 프로세싱 엘리먼트(Processing Element, PE), 프루닝을 수행하여 복호화된 정보 비트를 출력하는 메트릭 연산 유닛(Metric Computing Unit), 부분합을 연산하는 부분합 네트워크(Partial Sum Network) 장치를 포함하여 구성된다.The configuration of a decoder for SC decoding is usually a memory storing received bits, a processing element (PE) that performs an F operation or a G operation depending on the node of the received bit of the memory, and performs pruning to decode. It is configured to include a metric computing unit that outputs the generated information bits and a partial sum network device that calculates a partial sum.
부분합 네트워크 장치의 부분합 출력은 상기 PE로 제공되며, PE에서 G연산의 결과를 부분합에 따라 선택적으로 출력할 수 있도록 한다.The subtotal output of the subtotal network device is provided to the PE, and allows the PE to selectively output the result of the G operation according to the subtotal.
통상 부분합 네트워크 장치는 매트릭스 발생부와 부분합 연산부로 구성되어 있으며, 부분합(partial sum)은 이전 복호 결과이며, 이전 복호 결과를 이용하여 다음의 연산값을 결정한다.In general, a subtotal network device is composed of a matrix generator and a subtotal operation unit, and a partial sum is a previous decoding result, and a next operation value is determined using the previous decoding result.
관련 선행기술 문헌인 'Dongyun Kam and Youngjoo Lee “Ultra-Low-Latency Parallel SC Polar Decoding Architecture for 5G Wireless Communications”, IEEE International Symposium on Circuit and Systems (ISCAS), 2019'(선행문헌1)에는 폴라 코드에서 8- 병렬처리 기반의 SC 복호화 알고리즘에 대하여 기재되어 있다. Related prior art literature'Dongyun Kam and Youngjoo Lee “Ultra-Low-Latency Parallel SC Polar Decoding Architecture for 5G Wireless Communications”, IEEE International Symposium on Circuit and Systems (ISCAS), 2019' (Prior Document 1) contains polar codes. 8- It describes the SC decoding algorithm based on parallel processing.
이와 같은 병렬화 기법은 SC 극부호(폴라 코드) 복호의 지연시간을 더 줄일 수 있으며, 이때 각 병렬 극부호 복호 트리는 독자적인 부분합을 필요로하며, 프루닝 기술이 적용되어 동시에 여러 비트의 결과를 얻어내야 하기 때문에 효율적인 부분합 업데이트 로직이 요구된다.Such a parallelization technique can further reduce the delay time of decoding the SC polar code (polar code).At this time, each parallel polar code decoding tree requires its own subtotal, and pruning technology is applied to obtain a result of several bits at the same time. Therefore, efficient subtotal update logic is required.
선행문헌1에서는 여러 비트를 한 번에 부분합 레지스터에 업데이트하는 방식을 사용하고 있다.In Prior Document 1, a method of updating several bits in a subtotal register at once is used.
도 1은 종래 부분합 네트워크 장치의 구성도이다.1 is a block diagram of a conventional subtotal network device.
도 1의 부분합 네트워크 장치는 'Fan, Y., and Tsui, C. Y.. "An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation." IEEE Transactions on Signal Processing 62.12 (2014): 3165-3179.'(선행문헌2)에 도시된 것으로서, 매트릭스 생성 유닛(Matrix Generation Unit)과 부분합 연산 유닛(Partial Sum Computation Unit)으로 구성된다.The subtotal network device of FIG. 1 is “Fan, Y., and Tsui, C. Y.. “An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation.” IEEE Transactions on Signal Processing 62.12 (2014): 3165-3179.' (Prior Document 2), it is composed of a matrix generation unit (Matrix Generation Unit) and a partial sum calculation unit (Partial Sum Computation Unit).
선행문헌2에서 제시한 부분합 네트워크 장치는 하드웨어 비용이 코드 길이에 무관하도록 구성한 것으로, 효율적인 부분합 네트워크 장치를 제안한다. 하지만, 동시에 만들어 내는 비트가 하나라는 것을 가정하기 때문에 프루닝과 병렬 디코딩이 적용된 SC 극부호 복호에는 적합하지 않다는 문제점이 있다. The subtotal network device presented in Prior Document 2 is configured so that the hardware cost is independent of the code length, and an efficient subtotal network device is proposed. However, since it is assumed that there is only one bit generated at the same time, there is a problem that it is not suitable for SC extreme code decoding to which pruning and parallel decoding are applied.
또한, 복호기에 사용되는 PE의 개수를 M이라고 가정할 때, 폴딩 기법이 적용된 부분합 네트워크에서 최대 (M/2)-to-1 멀티플랙서가 사용되어야 한다. 즉, M이 64인 경우 32-to-1 mux가 사용되어야 한다. 32-to-1의 의미는 32개의 입력 중 하나를 선택 출력하는 것으로 이해될 수 있다.In addition, assuming that the number of PEs used in the decoder is M, the maximum (M/2)-to-1 multiplexer should be used in the subtotal network to which the folding technique is applied. That is, when M is 64, 32-to-1 mux should be used. The meaning of 32-to-1 can be understood as selecting one of 32 inputs and outputting it.
이처럼 종래에는 부분합 네트워크 장치와 PE의 사이에 위치하는 멀티플랙서의 크기가 상대적으로 큰 문제점이 있었다. 멀티플랙서의 크기가 클 때의 문제점은 멀티플랙서의 선택신호 생성이 복잡하게 되며, 지연시간이 증가하게 되는 문제점이 있다.As described above, there is a problem in that the size of the multiplexer positioned between the subtotal network device and the PE is relatively large. A problem when the size of the multiplexer is large is that the generation of the selection signal of the multiplexer becomes complicated and the delay time increases.
'Han, J., and Wang, R.. "Simplified multi-bit SC list decoding for polar codes." IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016.'(선행문헌3)에는 해당 문헌에서 제안하는 복호방법에 특화된 멀티비트 부분합 알고리즘에 대한 내용이 기재되어 있다.'Han, J., and Wang, R.. "Simplified multi-bit SC list decoding for polar codes." IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016.' (Prior Document 3) describes a multi-bit subtotal algorithm specialized for the decoding method proposed in the document.
선행문헌3은 동시에 만들어 내는 비트에 제한이 없다는 것을 가정하기 때문에 도 1의 매트릭스 생성 유닛에서 멀티플랙서(mux)의 수가 증가하며, 하드웨어 복잡도가 증가하는 문제점이 있었다. Prior Document 3 assumes that there is no limit to the bits generated at the same time, so that the number of multiplexers (mux) in the matrix generation unit of FIG. 1 increases, and hardware complexity increases.
또한, 선행문헌3의 멀티비트 부분합 알고리즘은 선행문헌2의 부분합 구조를 기반으로 하기 때문에, 부분합 네트워크 장치와 PE사이에 배치되는 멀티플랙서의 크기가 커서, 지연시간이 증가하는 문제점이 있다.In addition, since the multi-bit subtotal algorithm of Prior Document 3 is based on the subtotal structure of Prior Document 2, the size of the multiplexer disposed between the subtotal network device and the PE is large, resulting in an increase in delay time.
상기와 같은 문제점을 고려한 본 발명이 해결하고자 하는 기술적 과제는, 부분합 네트워크 장치의 복잡도를 줄이고, 하드웨어 구성을 단순화할 수 있는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치를 제공함에 있다.The technical problem to be solved by the present invention in consideration of the above problems is to provide a multi-bit subtotal network apparatus of a parallel SC decoder capable of reducing the complexity of a subtotal network apparatus and simplifying a hardware configuration.
또한, 본 발명은 부분합 네트워크 장치와 PE 사이에 배치되는 멀티플랙서의 크기를 줄일 수 있는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치를 제공함에 있다.In addition, the present invention is to provide a multi-bit subtotal network apparatus of a parallel SC decoder capable of reducing the size of a multiplexer disposed between a subtotal network apparatus and a PE.
상기와 같은 과제를 해결하기 위한 본 발명 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치는, 현재 복호 결과를 업데이트할 레지스터 위치를 연산하는 매트릭스 생성 유닛과, 매트릭스 생성 유닛의 연산 결과 값과 현재 복호 결과 및 이전 복호 결과를 이용하여 부분 합을 연산하는 부분합 연산 유닛과, 부분합 연산 유닛의 연산결과들 중 일부를 선택하여 프로세싱 엘리먼트로 제공하는 연결 멀티플랙서를 포함하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치에 있어서, 상기 매트릭스 생성 유닛은, 최대 생성 비트의 수를 상기 프로세싱 엘리먼트의 수와 동수로 한정하고, 잔여 스테이지들 각각의 멀티플랙서의 입력수를 상기 최대 생성 비트의 마지막 스테이지의 멀티플랙서의 입력수와 동수로 제한된다.In order to solve the above problems, the multi-bit subtotal network apparatus of the parallel SC decoder of the present invention includes a matrix generation unit that calculates a register position to update a current decoding result, an operation result value of the matrix generation unit, and a current decoding result and transfer. A multi-bit subtotal network device of a parallel SC decoder comprising a subtotal operation unit that calculates a partial sum using a decoding result, and a connection multiplexer that selects some of the operation results of the subtotal operation unit and provides it as a processing element, The matrix generation unit limits the number of maximum generation bits to the same number as the number of processing elements, and determines the number of inputs of the multiplexers of each of the remaining stages to the number of inputs of the multiplexer of the last stage of the maximum generation bit. Limited to an equal number.
본 발명의 실시예에서, 상기 마지막 스테이지의 차수는 아래의 수학식 1로 정의될 수 있다.In an embodiment of the present invention, the order of the last stage may be defined by Equation 1 below.
[수학식 1][Equation 1]
log2(2M/P)log 2 (2M/P)
M은 프로세싱 엘리먼트의 수, P는 병렬 수M is the number of processing elements, P is the number of parallels
본 발명의 실시예에서, 상기 잔여 스테이지의 멀티플랙서의 수와 각 멀티플랙서의 입력수는 아래의 수학식 2로 정의될 수 있다.In an embodiment of the present invention, the number of multiplexers of the remaining stage and the number of inputs of each multiplexer may be defined by Equation 2 below.
[수학식 2][Equation 2]
((N/4P)-(4M/P))(멀티플랙서의 수) X (log2(2M/P)(입력 수)-to-1(출력 수))(멀티플랙서의 종류) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 멀티플랙서 수)((N/4P)-(4M/P))(Number of multiplexers) X (log 2 (2M/P)(Number of inputs)-to-1(Number of outputs))(Type of multiplexers) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 number of multiplexers)
본 발명의 실시예에서, 상기 부분합 연산 유닛은, 부분합 차수 연산부에 스테이지 레지스터부를 더 포함하여 구성되며, 상기 스테이지 레지스터부는 상기 프로세싱 엘리먼트에서 요구하는 부분합의 수에 따라 결정된 스테이지 전용의 적어도 하나 이상의 레지스터로 이루어진 것일 수 있다.In an embodiment of the present invention, the subtotal operation unit is configured to further include a stage register unit to a subtotal order operation unit, and the stage register unit to at least one stage dedicated register determined according to the number of subtotals required by the processing element. It may have been done.
본 발명의 실시예에서, 상기 프로세싱 엘리먼트에서 요구하는 부분합의 수가 1, 2 또는 4인 경우, 상기 스테이지 레지스터부는 스테이지 0, 스테이지 1, 스테이지 2에 상기 스테이지 전용 레지스터를 포함할 수 있다.In an embodiment of the present invention, when the number of subtotals required by the processing element is 1, 2, or 4, the stage register unit may include the stage dedicated register in stages 0, 1, and 2.
본 발명 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치는, 매트릭스 생성 유닛의 최대 프루닝 비트를 PE의 수로 제한함으로써, 멀티플랙서의 수를 줄여 복잡도를 개선하고, 하드웨어 비용을 줄일 수 있는 효과가 있다.The multi-bit subtotal network device of the parallel SC decoder of the present invention has the effect of reducing the number of multiplexers, improving complexity, and reducing hardware cost by limiting the maximum pruning bits of the matrix generation unit to the number of PEs.
또한, 본 발명에 적용되는 병렬 복호기들은 하나의 매트릭스 생성 유닛을 공유함으로써, 매트릭스 생성 유닛의 하드웨어 코스트를 최소화할 수 있다.Further, the parallel decoders applied to the present invention share one matrix generation unit, thereby minimizing the hardware cost of the matrix generation unit.
또한, 본 발명은 부분합 연산 유닛의 특정 스테이지에 전용 레지스터를 부가하여 PE와의 연결을 위한 연결 멀티플랙서의 크기를 줄임으로써, 연결 멀티플랙서의 선택신호 생성의 복잡도를 줄임과 아울러 지연시간을 최소화할 수 있는 효과가 있다.In addition, the present invention reduces the complexity of generating the selection signal of the connection multiplexer and minimizes the delay time by adding a dedicated register to a specific stage of the subtotal operation unit to reduce the size of the connection multiplexer for connection with the PE. There is an effect that can be done.
도 1은 종래 멀티비트 부분합 네트워크 장치의 블록 구성도이다.1 is a block diagram of a conventional multi-bit subtotal network device.
도 2는 본 발명의 바람직한 실시예에 따른 멀티비트 부분합 네트워크 장치의 블록 구성도이다.2 is a block diagram of a multi-bit subtotal network device according to a preferred embodiment of the present invention.
도 3은 본 발명에 적용되는 매트릭스 생성 유닛의 블록 구성도이다.3 is a block diagram of a matrix generation unit applied to the present invention.
도 4는 본 발명에 적용되는 부분합 생성 유닛의 블록 구성도이다.4 is a block diagram of a subtotal generation unit applied to the present invention.
도 5는 매트릭스 생성 유닛이 공유됨을 나타내는 블록 구성도이다.5 is a block diagram showing that the matrix generation unit is shared.
도 6은 종래 PE의 수 M을 16으로 가정한 상태에서 PE_0에서 요구되는 부분합 레지스터인 r의 위치를 나타낸 도면이다.6 is a diagram showing the position of r, which is a subtotal register required by PE_0, in a state where the number M of the conventional PE is 16.
도 7은 본 발명에서 스테이지 전용 레지스터의 추가시 생략할 수 있는 레지스터를 나타낸 도면이다.7 is a diagram showing a register that can be omitted when adding a stage dedicated register in the present invention.
도 8은 종래 연결 멀티플랙서의 입력 수를 나타낸 예시도이다.8 is an exemplary diagram showing the number of inputs of a conventional connected multiplexer.
도 9는 본 발명의 연결 멀티플랙서의 입력 수를 나타낸 예시도이다.9 is an exemplary diagram showing the number of inputs of the connection multiplexer of the present invention.
- 부호의 설명 --Explanation of the sign-
10:매트릭스 생성 유닛 20:부분합 연산 유닛10: matrix generation unit 20: subtotal calculation unit
21:부분합 차수 연산부 22:스테이지 레지스터부21: subtotal order calculation unit 22: stage register unit
30:연결 멀티플랙서30: connection multiplexer
이하, 첨부된 도면들을 참조하여 본 발명의 다양한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 이하에 첨부된 본 발명의 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 도면에 예시된 형태 또는 배치 등에 본 발명이 제한되지 않음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, various embodiments of the present invention 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 a 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.
도 2는 본 발명의 바람직한 실시예에 따른 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치의 블록 구성도이고, 도 3은 도 2에서 매트릭스 생성 유닛(10)의 블록 구성도이며, 도 4는 부분합 연산 유닛(20)의 블록 구성도이다.FIG. 2 is a block diagram of a multi-bit subtotal network device of a parallel SC decoder according to a preferred embodiment of the present invention, FIG. 3 is a block diagram of a matrix generating unit 10 in FIG. 2, and FIG. 4 is a subtotal operation unit It is a block diagram of (20).
도 2 내지 도 4를 각각 참조하면, 본 발명 멀티비트 부분합 네트워크 장치는 매트릭스 생성 유닛(10), 부분합 연산 유닛(20)과, 부분합 연산 유닛(20)의 부분합 출력들 중 하나를 선택하여 PE로 제공하는 연결 멀티플랙서(30)를 포함하여 구성된다.2 to 4, the multi-bit subtotal network device of the present invention selects one of the subtotal outputs of the matrix generation unit 10, the subtotal operation unit 20, and the subtotal operation unit 20 to a PE. It is configured to include a connection multiplexer 30 to provide.
매트릭스 생성 유닛(10)은 입력 비트의 이용하여 매트릭스 G를 생성하기 위한 것으로, 멀티플랙서, 가산기를 이용하여 입력 비트를 매트릭스 G로 변환한다. 도 3에서 P는 병렬 수이며, M은 PE의 수, N은 코드길이를 나타낸다.The matrix generation unit 10 is for generating a matrix G using input bits, and converts the input bits into a matrix G using a multiplexer and an adder. In FIG. 3, P is the number of parallels, M is the number of PEs, and N is the code length.
매트릭스 생성 유닛(10)은 병렬 부분합 연산 유닛(20)의 부분합 레지스터들에 공유된다.The matrix generation unit 10 is shared with the subtotal registers of the parallel subtotal operation unit 20.
도 5에 매트릭스 생성 유닛(10)이 각 부분합 레지스터들에 공유되는 것을 도시하였다.Fig. 5 shows that the matrix generation unit 10 is shared with each subtotal register.
첫 번째 스테이지(0-th)에서는 멀티플랙서의 사용 없이 매트릭스의 생성이 가능하다, 스테이지가 증가할수록 멀티플랙서의 수는 계속 증가하게 된다.In the first stage (0-th), it is possible to generate a matrix without using a multiplexer. As the stage increases, the number of multiplexers continues to increase.
본 발명에서는 최대 프루닝 비트를 PE의 수와 동일하게 되도록 제한한다.In the present invention, the maximum pruning bit is limited to be equal to the number of PEs.
예를 들어 PE의 수 M이 64인 경우 최대 프루닝 비트도 64로 제한한다. 종래에는 동시에 만들어 내는 비트에 제한이 없다는 것을 가정한 것이기 때문에 프루닝 비트의 최대값에 대한 제한이 없었으며, 필요한 비트 이외에 잔여(remainder) 스테이지의 멀티플랙서들도 스테이지의 차수가 증가하면서 계속 증가하는 구성이었다.For example, if the number M of PEs is 64, the maximum pruning bit is also limited to 64. Conventionally, since it was assumed that there was no limit on the bits generated at the same time, there was no limit on the maximum value of the pruning bit, and the multiplexers of the residual stage in addition to the necessary bits also continued to increase as the order of the stage increased. It was a composition to do.
본 발명에서는 최대 프루닝 비트의 산출에 사용되는 스테이지 이후의 잔여 스테이지의 멀티플랙서의 입력수를 최대 프루닝 비트 산출의 마지막 스테이지(log2(2M/P)-th)와 동일한 입력수(log2(2M/P)-th)로 구성한다.In the present invention, the number of inputs of the multiplexer of the remaining stage after the stage used for calculating the maximum pruning bit is equal to the last stage of calculating the maximum pruning bit (log 2 (2M/P)-th) (log It consists of 2 (2M/P)-th).
최대 프루닝 비트의 수를 64개인 PE의 수인 M과 동수로 정의하고, 병렬 복호화 구조의 수가 8개라고 하면, 각 병렬 복호화기는 최대 8bit를 푸루닝 하는 것으로, 종래의 직렬 복호화 구조의 64bit를 처리하는 것과 동일한 처리가 가능하게 된다.If the maximum number of pruning bits is defined as the same number as M, the number of PEs with 64, and the number of parallel decoding structures is 8, each parallel decoder is pruning up to 8 bits, processing 64 bits of the conventional serial decoding structure. The same processing as that is possible becomes possible.
이는 종래 직렬 복호화 구조에서는 64bit의 인덱스를 건너뛰어 업데이트 로직을 만들어야 했지만, 본 발명에서는 최대 8bit의 인덱스를 건너뛰어 매트릭스 G를 만들기 때문에 멀티플랙서의 수를 대폭 감소시킬 수 있다.In the conventional serial decoding structure, an update logic had to be created by skipping an index of 64 bits, but in the present invention, the number of multiplexers can be significantly reduced because the matrix G is created by skipping an index of up to 8 bits.
또한 잔여 스테이지의 멀티플랙서의 수와 각 멀티플랙서의 입력수는 아래의 식으로 정의할 수 있다.In addition, the number of multiplexers in the remaining stage and the number of inputs of each multiplexer can be defined by the following equation.
((N/4P)-(4M/P))(멀티플랙서의 수) X (log2(2M/P)(입력 수)-to-1(출력 수))(멀티플랙서의 종류) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 멀티플랙서 수)((N/4P)-(4M/P))(Number of multiplexers) X (log 2 (2M/P)(Number of inputs)-to-1(Number of outputs))(Type of multiplexers) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 number of multiplexers)
K-to-1 멀티플랙서는 K-1개의 2-to-1 멀티플랙서로 구성할 수 있다. 아래의 표 1에서 모든 멀티플랙서를 2-to-1 멀티플랙서로 구현했을 때, 종래 매트릭스 생성 유닛에 사용되는 2-to-1 멀티플랙서 수와 본 발명에 사용되는 2-to-1 멀티플랙서의 수를 비교하였다.The K-to-1 multiplexer can be configured with K-1 2-to-1 multiplexers. In Table 1 below, when all multiplexers are implemented as 2-to-1 multiplexers, the number of 2-to-1 multiplexers used in the conventional matrix generation unit and the 2-to-1 multiplexers used in the present invention The number of books was compared.
종래기술Prior art 본 발명The present invention
MGU의 2-to-1 MUX 수Number of 2-to-1 MUXs in MGU 17931793 113113
위의 표에서와 같이 본 발명의 종래기술의 멀티플랙서 사용량의 1/15 이하의 멀티플랙서를 사용하여 매트릭스 G를 생성할 수 있으며, 따라서 하드웨어 구성을 단순화하여 비용을 줄일 수 있는 특징이 있다.상기 매트릭스 생성 유닛(10)에서 생성된 M/P 개의 값(u)들은 부분합 연산 유닛(20)으로 입력된다. As shown in the table above, the matrix G can be generated by using a multiplexer of 1/15 or less of the amount of the multiplexer used in the prior art of the present invention, and thus the hardware configuration can be simplified to reduce cost. The M/P values (u) generated by the matrix generating unit 10 are input to the subtotal operation unit 20.
부분합 연산 유닛(20)은 종래 부분합 연산 유닛과 같이 부분합의 각 차수를 연산하기 위하여 N/2개의 병렬연산 레지스터(PS REG)를 사용한다. 이에 더하여 선택된 스테이지마다 전용 레지스터를 사용한다.The subtotal operation unit 20 uses N/2 parallel operation registers (PS REG) to calculate each order of the subtotal like a conventional subtotal operation unit. In addition, dedicated registers are used for each selected stage.
도 4를 참조하면 부분합 연산 유닛(20)은, 부분합 차수 연산부(21)와, 스테이지 레지스터부(22)로 구성될 수 있다. 부분합 차수 연산부(21)는 앞서 언급한 바와 같이 도 1의 구성 예와 같이 N개의 코드에 대한 부분합을 구하기 위하여 N/2 개의 레지스터를 포함하고 있다.Referring to FIG. 4, the subtotal operation unit 20 may include a subtotal order operation unit 21 and a stage register unit 22. As mentioned above, the subtotal order calculation unit 21 includes N/2 registers to obtain subtotals for N codes, as in the configuration example of FIG. 1.
본 발명에서는 스테이지 레지스터부(22)를 더 추가하여 PE에서 요구하는 부분합의 수에 따라 특정한 스테이지에 전용 레지스터를 추가한 것이다.In the present invention, a stage register unit 22 is further added, and a dedicated register is added to a specific stage according to the number of subtotals required by the PE.
도 4에는 PE에서 요구하는 부분합의 수가 1, 2 또는 4일 때의 예를 도시하였다. 스테이지 0에 하나의 스테이지 레지스터, 스테이지 1에 두 개의 스테이지 레지스터, 스테이지 2에 4개의 레지스터를 추가하여 PE에서 요구하는 부분합의 수를 충족할 수 있다.4 shows an example when the number of subtotals required by PE is 1, 2 or 4. One stage register in stage 0, two stage registers in stage 1, and four registers in stage 2 can be added to meet the number of subtotals required by the PE.
따라서 상기 연결 멀티플랙서(30)의 입력 수를 줄일 수 있다.Accordingly, the number of inputs to the connection multiplexer 30 can be reduced.
앞서 가정한 바와 같이 코드길이 N을 1024, PE의 수 M이 64라고 가정하면, 종래 연결 멀티플랙서는 최대 32-to-1 멀티플랙서가 요구되며, 본 발명과 같이 스테이지 0, 1, 2에 대한 레지스터를 추가하여 최대 6-to-1 멀티플랙서를 사용할 수 있다.As previously assumed, assuming that the code length N is 1024 and the number M of PEs is 64, the conventional connection multiplexer requires a maximum of 32-to-1 multiplexers, and for stages 0, 1, and 2 as in the present invention. Up to 6-to-1 multiplexers can be used by adding registers.
따라서 연결 멀티플랙서(30)의 입력 수를 획기적으로 줄여, 선택 신호의 복잡성을 줄일 수 있으며, 지연시간도 단축할 수 있다.Therefore, the number of inputs to the connection multiplexer 30 can be drastically reduced, the complexity of the selection signal can be reduced, and the delay time can be shortened.
이와 같이 연결 멀티플랙서(30)의 입력 수를 줄일 수 있는 구체적인 내용을 좀 더 상세히 설명하면 다음과 같다.In more detail, specific details for reducing the number of inputs of the connection multiplexer 30 will be described in more detail as follows.
도 6은 종래 PE의 수 M을 16으로 가정한 상태에서 PE_0에서 요구되는 부분합 레지스터인 r의 위치를 나타낸 도면이다. 이때 N이 64인 트리를 위한 PSN의 예이다.6 is a diagram showing the position of r, which is a subtotal register required by PE_0, in a state where the number M of the conventional PE is 16. This is an example of PSN for a tree where N is 64.
도 6을 참조하면, 각 열에 있는 1 또는 0의 값은 각 매트릭스 생성 유닛에서 생성된 값(ui) 각각이 복호화되어 얻어졌을 때 각 부분합 레지스터에 ui를 업데이트할 것인지를 판단하는 값들이다.Referring to FIG. 6, values of 1 or 0 in each column are values for determining whether to update ui in each subtotal register when each value ui generated in each matrix generation unit is decoded and obtained.
즉, 해당 열의 값은 해당 타이밍에 매트릭스 생성 유닛(10)에서 만들어지는 값이다.That is, the value of the column is a value generated by the matrix generating unit 10 at the corresponding timing.
도 6에서 원으로 표시된 열의 값들(1 또는 0)은 PE0가 디코딩 과정에서 요구하는 부분합의 값이며 예를 들어 가장 위에 위치하는 원으로 표시된 1은 u0가 r0에 업데이트 되어 있는 경우, u1을 디코딩하는 과정에서 r0에 저장된 값이 PE0의 연산에 필요하다는 의미이다.In FIG. 6, values (1 or 0) of the column indicated by a circle are the subtotal values required by PE 0 in the decoding process, and for example, 1 indicated by a circle at the top is decoded when u0 is updated to r0. This means that the value stored in r0 is necessary for the operation of PE0.
따라서 원으로 표시된 값들에 해당하는 레지스터들은 PE0에 연결되어 멀티플랙싱 과정이 필요하게 된다.Therefore, the registers corresponding to the values indicated by circles are connected to PE0, and a multiplexing process is required.
이때 필요한 연결 멀티플랙서(30)의 크기는 PE의 수를 M이라 할 때 M/2-to-1이 된다.At this time, the required size of the connection multiplexer 30 is M/2-to-1 when the number of PEs is M.
이는 동일 스테이지에서 요구되는 값들이 서로 다른 레지스터에 흩어져 있다는 것을 뜻하며 본 발명에서는 이를 해결하기 위해 스테이지 전용의 레지스터를 추가하고, PE의 특정 스테이지에서 선택하는 레지스터의 위치를 최소화하여 연결 멀티플랙서(30)의 입력 수를 줄일 수 있다. This means that the values required in the same stage are scattered in different registers. In the present invention, to solve this problem, a stage-dedicated register is added, and the position of the register selected in a specific stage of the PE is minimized. ) Can be reduced.
구체적으로 스테이지 0을 위한 레지스터를 추가하여 r2, r4, r6, r10, r12, r14의 연결을 하나의 스테이지 0 레지스터로 대체할 수 있어, 입력 수를 줄일 수 있게 된다.Specifically, by adding a register for stage 0, the connections of r2, r4, r6, r10, r12, and r14 can be replaced with one stage 0 register, thereby reducing the number of inputs.
도 7에는 본 발명에서 레지스터를 사용하여 각 스테이지의 전용 레지스터를 사용하여 레지스터를 줄이는 과정을 나타내었다.7 shows a process of reducing a register by using a register for each stage in the present invention.
도 8은 종래 부분합 네트워크의 예를 나타낸 블록도이고, 도 9는 본 발명에 적용되는 부분합 네트워크의 예를 나타낸 블록도이다.8 is a block diagram showing an example of a conventional subtotal network, and FIG. 9 is a block diagram showing an example of a subtotal network applied to the present invention.
도 8과 도 9를 비교하면 본 발명은 스테이지 전용 레지스터를 사용하여 각 스테이지에서의 연결 멀티플랙서(30)의 입력 수를 줄일 수 있다.8 and 9, the present invention can reduce the number of inputs of the connection multiplexer 30 in each stage by using a stage dedicated register.
도 8의 종래의 예에서는 스테이지 전용 레지스터를 사용하지 않고, PE0의 스테이지마다 필요한 레지스터 값을 선택적으로 출력하기 위하여 연결 멀티플랙서(30)의 입력이 9개가 필요하지만, 본 발명의 구성인 도 9의 예에서는 3개의 스테이지 전용 레지스터를 사용하여 연결 멀티플랙서(30)의 입력을 5개로 줄일 수 있는 것을 보여준다.In the conventional example of FIG. 8, 9 inputs of the connection multiplexer 30 are required to selectively output a register value required for each stage of PE0 without using a stage dedicated register, but FIG. 9 is the configuration of the present invention. In the example of, it is shown that the input of the connected multiplexer 30 can be reduced to five by using three stage dedicated registers.
이처럼 본 발명은 매트릭스 생성 유닛(10)의 최대 생성 비트의 수를 PE의 수와 동수로 한정하고, 잔여 스테이지를 이루는 구성을 최대 생성 비트 수에 해당하는 스테이지의 구성과 동일한 수의 멀티플랙서로 구성함으로써, 멀티플랙서의 사용 수를 대폭 줄일 수 있으며, PE에서 요구하는 부분합의 수에 따라 부분합 연산 유닛(20)의 특정 스테이지에 전용 레지스터를 부가하여 부분합 네트워크 장치와 PE를 연결하는 연결 멀티플랙서(30)의 입력 수를 획기적으로 줄일 수 있게 된다.As described above, the present invention limits the number of maximum generation bits of the matrix generation unit 10 to the same number as the number of PEs, and the configuration of the remaining stages is composed of the same number of multiplexers as the configuration of the stage corresponding to the maximum number of generation bits. By doing so, the number of multiplexers can be greatly reduced, and a connection multiplexer that connects the subtotal network device and the PE by adding a dedicated register to a specific stage of the subtotal operation unit 20 according to the number of subtotals required by the PE. It is possible to drastically reduce the number of inputs of (30).
본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 아니하는 범위 내에서 다양하게 수정, 변형되어 실시될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어서 자명한 것이다.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.
본 발명은 멀티플랙서, 레지스터 등 자연법칙을 이용한 장치들을 이용하여, 매트릭스 생성 장치의 비트 수를 제한하여, 회로를 단순화할 수 있는 것으로, 산업상 이용가능성이 있다.The present invention is capable of simplifying a circuit by limiting the number of bits of a matrix generating device by using devices using natural laws such as multiplexers and registers, and has industrial applicability.

Claims (5)

  1. 현재 복호 결과를 업데이트할 레지스터 위치를 연산하는 매트릭스 생성 유닛과, 매트릭스 생성 유닛의 연산 결과 값과 현재 복호 결과 및 이전 복호 결과를 이용하여 부분 합을 연산하는 부분합 연산 유닛과, 부분합 연산 유닛의 연산결과들 중 일부를 선택하여 프로세싱 엘리먼트로 제공하는 연결 멀티플랙서를 포함하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치에 있어서,A matrix generation unit that calculates the register position to update the current decoding result, a subtotal calculation unit that calculates a partial sum using the calculation result value of the matrix generation unit, the current decoding result, and the previous decoding result, and the calculation result of the subtotal calculation unit. In the multi-bit subtotal network device of a parallel SC decoder including a connection multiplexer that selects some of them and provides them as a processing element,
    상기 매트릭스 생성 유닛은,The matrix generation unit,
    최대 생성 비트의 수를 상기 프로세싱 엘리먼트의 수와 동수로 한정하고, Limit the number of generated bits to be equal to the number of processing elements,
    잔여 스테이지들 각각의 멀티플랙서의 입력수를 상기 최대 생성 비트의 마지막 스테이지의 멀티플랙서의 입력수와 동수로 제한한 것을 특징으로 하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치.A multi-bit subtotal network apparatus of a parallel SC decoder, characterized in that the number of inputs of the multiplexers of each of the remaining stages is limited to the number of inputs of the multiplexer of the last stage of the maximum generation bit.
  2. 제1항에 있어서,The method of claim 1,
    상기 마지막 스테이지의 차수는 아래의 수학식 1로 정의되는 것을 특징으로 하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치.The order of the last stage is defined by the following equation (1).
    [수학식 1][Equation 1]
    log2(2M/P)log 2 (2M/P)
    M은 프로세싱 엘리먼트의 수, P는 병렬 수M is the number of processing elements, P is the number of parallels
  3. 제2항에 있어서,The method of claim 2,
    상기 마지막 스테이지의 멀티플랙서의 수와 각 멀티플랙서의 입력수는 아래의 수학식 2로 정의되는 것을 특징으로 하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치.The number of multiplexers in the last stage and the number of inputs of each multiplexer are defined by Equation 2 below.
    [수학식 2][Equation 2]
    ((N/4P)-(4M/P))(멀티플랙서의 수) X (log2(2M/P)(입력 수)-to-1(출력 수))(멀티플랙서의 종류) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 멀티플랙서 수)((N/4P)-(4M/P))(Number of multiplexers) X (log 2 (2M/P)(Number of inputs)-to-1(Number of outputs))(Type of multiplexers) = ((N/4P)-(4M/P)) X (log(M/P))(2-to-1 number of multiplexers)
  4. 제1항에 있어서,The method of claim 1,
    상기 부분합 연산 유닛은,The subtotal operation unit,
    부분합 차수 연산부에 스테이지 레지스터부를 더 포함하여 구성되며,It is configured to further include a stage register unit in the subtotal order calculation unit,
    상기 스테이지 레지스터부는 상기 프로세싱 엘리먼트에서 요구하는 부분합의 수에 따라 결정된 스테이지 전용의 적어도 하나 이상의 레지스터로 이루어진 것을 특징으로 하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치.Wherein the stage register unit includes at least one register dedicated to the stage determined according to the number of subtotals required by the processing element.
  5. 제4항에 있어서,The method of claim 4,
    상기 프로세싱 엘리먼트에서 요구하는 부분합의 수가 1, 2 또는 4인 경우,If the number of subtotals required by the processing element is 1, 2 or 4,
    상기 스테이지 레지스터부는 스테이지 0, 스테이지 1, 스테이지 2에 상기 스테이지 전용 레지스터를 포함하는 병렬 SC 복호기의 멀티비트 부분합 네트워크 장치.The stage register unit is a multi-bit subtotal network device of a parallel SC decoder including the stage dedicated registers in stages 0, 1 and 2.
PCT/KR2019/017108 2019-06-28 2019-12-05 Multi-bit partial sum network device of parallel sc decoder WO2020262777A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190077704A KR102170785B1 (en) 2019-06-28 2019-06-28 Multi-bit partial sum network device for parallel SC decoder
KR10-2019-0077704 2019-06-28

Publications (1)

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

Family

ID=73136131

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/017108 WO2020262777A1 (en) 2019-06-28 2019-12-05 Multi-bit partial sum network device of parallel sc decoder

Country Status (2)

Country Link
KR (1) KR102170785B1 (en)
WO (1) WO2020262777A1 (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
KR20150122757A (en) * 2013-03-07 2015-11-02 후아웨이 테크놀러지 컴퍼니 리미티드 Polar code decoding method and decoder
KR20160098474A (en) * 2013-12-24 2016-08-18 후아웨이 테크놀러지 컴퍼니 리미티드 Polar code decoding method and decoding apparatus
US20170047947A1 (en) * 2015-08-12 2017-02-16 Telefonaktiebolaget L M Ericsson (Publ) Rate-compatible polar codes
WO2017082626A1 (en) * 2015-11-09 2017-05-18 삼성전자 주식회사 Decoding method and apparatus in wireless communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150122757A (en) * 2013-03-07 2015-11-02 후아웨이 테크놀러지 컴퍼니 리미티드 Polar code decoding method and decoder
KR20160098474A (en) * 2013-12-24 2016-08-18 후아웨이 테크놀러지 컴퍼니 리미티드 Polar code decoding method and decoding apparatus
US20170047947A1 (en) * 2015-08-12 2017-02-16 Telefonaktiebolaget L M Ericsson (Publ) Rate-compatible polar codes
WO2017082626A1 (en) * 2015-11-09 2017-05-18 삼성전자 주식회사 Decoding method and apparatus in wireless communication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIAOJUN ZHANG: "High-Throughput Fast-SSC Polar Decoder for Wireless Communications", HINDAWI, WIRELESSS COMMUNICATIONS AND MOBILE COMPUTING, 29 July 2018 (2018-07-29), XP055778359 *

Also Published As

Publication number Publication date
KR102170785B1 (en) 2020-10-27

Similar Documents

Publication Publication Date Title
AU2018288906B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
WO2011159089A2 (en) Method and apparatus for parallel processing in a gigabit ldpc decoder
WO2014092516A1 (en) Packet decoding method and apparatus
WO2014092502A1 (en) Encoding method and apparatus using crc code and polar
WO2017082626A1 (en) Decoding method and apparatus in wireless communication system
WO2018174615A1 (en) Method and apparatus for rate-matching of polar codes
WO2018231023A1 (en) Sequence generation method for polar code, storage medium thereof, and data transmission method and apparatus using same
WO2017209531A1 (en) Apparatus and method for encoding with cyclic redundancy check and polar code
WO2018236114A1 (en) Method and apparatus of rate-matching for communication and broadcasting systems
US7930623B2 (en) Method and system for generating parallel codes
WO2010074537A2 (en) Convolutional turbo coding method and device for implementing the coding method
KR20170102173A (en) Data transfer method and device
WO2017018859A1 (en) Method and apparatus for channel encoding and channel decoding in a wireless communication system
WO2017121334A1 (en) Data-processing method and device
Li et al. On convolutional network coding
WO2018101805A1 (en) Method for performing decoding by terminal and terminal for performing same method
WO2018174672A2 (en) Downlink signal reception method and user equipment, and downlink signal transmission method and base station
US11050510B2 (en) Polar code transmission method and apparatus
CN110582942A (en) Early termination with distributed CRC polarization code
WO2016043509A1 (en) Decoding method and apparatus in system using sequentially connected binary codes
WO2020262777A1 (en) Multi-bit partial sum network device of parallel sc decoder
WO2018151555A1 (en) Information transmission method and transmission device
WO2011043594A2 (en) Method and apparatus for relaying uplink signals
WO2013115563A1 (en) Apparatus and method for transmitting/receiving data in communication system
WO2020262775A1 (en) Device and method for decoding polar code

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: 19935652

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: 19935652

Country of ref document: EP

Kind code of ref document: A1