KR102277758B1 - Method and apparatus for decoding in a system using binary serial concatenated code - Google Patents

Method and apparatus for decoding in a system using binary serial concatenated code Download PDF

Info

Publication number
KR102277758B1
KR102277758B1 KR1020140121920A KR20140121920A KR102277758B1 KR 102277758 B1 KR102277758 B1 KR 102277758B1 KR 1020140121920 A KR1020140121920 A KR 1020140121920A KR 20140121920 A KR20140121920 A KR 20140121920A KR 102277758 B1 KR102277758 B1 KR 102277758B1
Authority
KR
South Korea
Prior art keywords
llr
bit
symbol
flipped
decoder
Prior art date
Application number
KR1020140121920A
Other languages
Korean (ko)
Other versions
KR20160031781A (en
Inventor
박우명
김상민
임치우
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020140121920A priority Critical patent/KR102277758B1/en
Priority to US15/511,615 priority patent/US10355820B2/en
Priority to PCT/KR2015/009686 priority patent/WO2016043509A1/en
Publication of KR20160031781A publication Critical patent/KR20160031781A/en
Application granted granted Critical
Publication of KR102277758B1 publication Critical patent/KR102277758B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/10Frequency-modulated carrier systems, i.e. using frequency-shift keying
    • H04L27/14Demodulator circuits; Receiver circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/38Demodulator circuits; Receiver circuits

Abstract

본 발명은 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치에 관한 것으로, 특히 이진 직렬 연결된 부호를 사용하는 시스템에서 복잡도를 줄이기 위한 복호 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 장치는, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부; 상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하고, 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 LLR 심볼 선택부; 상기 LLR 심볼 선택부에서 출력된 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 LLR 심볼 변환부; 상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함할 수 있다.
The present invention relates to a decoding method and apparatus in a system using a binary serial-connected code, and more particularly, to a decoding method and apparatus for reducing complexity in a system using a binary serial-connected code.
An apparatus according to an embodiment of the present invention performs iterative decoding using an external decoder and an internal decoder, and from a receiver of a system using a binary non-canonical iterative partial accumulation code to the internal decoder device, the bit received from the external decoder a first grouping unit for grouping columns according to decoding orders; An LLR symbol that calculates an index of grouped bits having a maximum probability value among the grouped bits, and selects and outputs a predetermined number of grouped bit LLR values using the index of the grouped bits having the maximum probability value selection part; an LLR symbol conversion unit for converting the grouped bit LLR value output from the LLR symbol selection unit into a symbol LLR value and outputting it; a BCJR processing unit that calculates the symbol LLR value using a BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm; a bit LLR calculation unit converting the output of the BCJR processing unit into a bit LLR value; and a second bit grouping unit for grouping the bit LLR values in a predetermined bit unit.

Figure R1020140121920
Figure R1020140121920

Description

이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치{METHOD AND APPARATUS FOR DECODING IN A SYSTEM USING BINARY SERIAL CONCATENATED CODE}Decoding method and apparatus in a system using binary serial-connected codes {METHOD AND APPARATUS FOR DECODING IN A SYSTEM USING BINARY SERIAL CONCATENATED CODE}

본 발명은 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치에 관한 것으로, 특히 이진 직렬 연결된 부호를 사용하는 시스템에서 복잡도를 줄이기 위한 복호 방법 및 장치에 관한 것이다.The present invention relates to a decoding method and apparatus in a system using a binary serial-connected code, and more particularly, to a decoding method and apparatus for reducing complexity in a system using a binary serial-connected code.

전자기술이 발전하면서, 전자장치간 데이터를 주고받는 다양한 방식들이 대두되고 있다. 특히 원거리에 위치한 전자장치간 무선 채널을 이용하여 데이터를 송신 및 수신하는 경우 변조 및 부호화 등을 이용하여 데이터를 송신 및 수신하게 된다. 이처럼 전자장치 예컨대, 휴대용 단말과 기지국 또는 액세스 포인트 등의 전자장치간 소정의 무선 채널을 통해 데이터를 송수신할 시 낮은 복잡도로 시스템을 운용하기 위해 간섭신호에 대하여 가우시안 가정을 해 왔다. 또한 간섭신호의 특성이 최대한 가우시안 특성에 가깝게 만들기 위해 QAM 변조 방식을 사용해 왔다.As electronic technology develops, various methods for exchanging data between electronic devices are emerging. In particular, when data is transmitted and received using a wireless channel between electronic devices located at a distance, data is transmitted and received using modulation and encoding. As such, when transmitting and receiving data through a predetermined wireless channel between an electronic device, for example, a portable terminal and an electronic device such as a base station or an access point, a Gaussian assumption has been made with respect to the interference signal to operate the system with low complexity. In addition, the QAM modulation method has been used to make the characteristics of the interference signal as close to Gaussian characteristics as possible.

무선 통신 시스템에서 가우시안 채널의 환경과 비가우시안 채널의 환경을 대비하여 살펴보면, 비가우시안 채널이 가우시안 채널보다 채널 용량이 큰 특징을 갖는다. 이처럼 비가우시안 채널의 용량이 가우시안 채널을 가정하는 경우의 용량보다 크기 때문에 시스템 운용 시 간섭신호의 통계적인 특성을 적절히 반영한다면 가우시안 채널보다 비가우시안 채널에서 더 높은 네트워크 처리량을 얻을 수 있다.When comparing the environment of the Gaussian channel and the environment of the non-Gaussian channel in the wireless communication system, the non-Gaussian channel has a larger channel capacity than the Gaussian channel. As such, since the capacity of the non-Gaussian channel is larger than that of assuming a Gaussian channel, higher network throughput can be obtained in the non-Gaussian channel than in the Gaussian channel if the statistical characteristics of the interference signal are properly reflected during system operation.

최근 보다 많은 양의 데이터를 보다 빠르게 전송할 수 있는 형태로의 진화가 요구됨에 따라 무선 통신 시스템에서 시스템의 처리량을 증대키기 위해 간섭 신호를 비가우시안 특성을 갖도록 하기 위한 변조 방식의 개발이 필요하게 되었다. 이처럼 채널 간섭의 특징이 비가우시안 특성을 갖도록 하기 위한 변조 방식으로 제안된 방식으로 FQAM 방식이 있다.Recently, as the evolution of a form capable of transmitting a larger amount of data more rapidly is required, it is necessary to develop a modulation scheme for making an interference signal have a non-Gaussian characteristic in order to increase the throughput of the system in a wireless communication system. As such, there is an FQAM method as a method proposed as a modulation method for making the channel interference characteristic have a non-Gaussian characteristic.

또한 FQAM 방식을 적용하여 더 높은 데이터 처리량을 얻기 위해서는 해당 변조 방식에 적합한 채널 부호화 방식이 필요하다. 일반적으로 변조 차수가 q차인 변조 방식을 사용하는 경우 같은 차수의 비이진 채널 부호를 사용해 부호화된 변조(Coded Modulation, CM) 방식을 적용하면, 이론적인 한계치인 채널 용량을 만족할 수 있다. 그러나 일반적으로 비이진 채널 부호의 복호 복잡도는 이진 부호인 경우보다 매우 복잡하다는 문제가 있다.In addition, in order to obtain higher data throughput by applying the FQAM method, a channel encoding method suitable for the corresponding modulation method is required. In general, when a modulation method having a modulation order of the q order is used, if a coded modulation (CM) method using a non-binary channel code of the same order is applied, the channel capacity, which is a theoretical limit, can be satisfied. However, in general, there is a problem that the decoding complexity of a non-binary channel code is much more complicated than that of a binary code.

기존 QAM 계열의 변조 방식에서는 그레이 매핑(Gray mapping)을 적용한 비트 인터리브드 부호화된 변조(Bit-Interleaved Coded Modulation, BICM) 방식을 이용하여 이론적인 채널 한계 용량에 거의 근접하는 성능을 얻을 수 있다. 그러나 FQAM 방식에서는 BICM 방식을 적용하면 원하는 성능을 얻을 수 없다. 이러한 문제를 해결할 수 있는 방법으로 채널 부호의 복호기와 복조기 사이에 반복 복호를 수행하는 방식인 BICM-ID(BICM with Iterative Decoding) 방식이 제안되었다. FQAM 방식의 경우 이진 비정규 반복 일부 축적(Irregular Repeat Partially Accumulate, 이하 "IRPA"라 함) 부호 기반의 BICM-ID 방식을 적용하면, 이론상의 한계치에 거의 근접하는 성능을 얻을 수 있다.In the existing QAM-based modulation method, a performance close to the theoretical channel limit capacity can be obtained by using a bit-interleaved coded modulation (BICM) method to which Gray mapping is applied. However, in the FQAM method, the desired performance cannot be obtained when the BICM method is applied. As a method to solve this problem, a BICM-ID (BICM with Iterative Decoding) method, which is a method for performing iterative decoding between a decoder and a demodulator of a channel code, has been proposed. In the case of the FQAM method, if the BICM-ID method based on the binary irregular repeat partial accumulation (hereinafter referred to as "IRPA") code is applied, performance close to the theoretical limit can be obtained.

이때, 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기는 내부 복호기와 외부 복호기로 구분될 수 있다. 수신기에서 소프트 메시지(soft message)는 내부 복호기와 외부 복호기 사이에서 처리된 결과를 주고받으면서 반복적으로 복호가 이루어진다. 이처럼 구성된 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기에서의 복호 방식은 매우 높은 복잡도를 갖게 되는 문제가 있다. 예컨대, 메시지 노드의 계산을 수행하는 외부 복호기는 복잡도에 큰 영향을 끼치지 않지만, 내부 복호기의 경우 매우 큰 복잡도를 갖게 되는 문제가 있다.In this case, the BICM-ID type decoder based on the binary IRPA code may be divided into an internal decoder and an external decoder. In the receiver, a soft message is repeatedly decoded while exchanging the processed result between the internal decoder and the external decoder. The decoding method in the BICM-ID method based on the binary IRPA code configured as described above has a problem in that it has a very high complexity. For example, an external decoder that calculates a message node does not significantly affect complexity, but an internal decoder has a problem in that it has very high complexity.

따라서 본 발명에서는 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기의 복잡도를 줄일 수 있는 장치 및 방법을 제공한다.Accordingly, the present invention provides an apparatus and method capable of reducing the complexity of a BICM-ID decoder based on a binary IRPA code.

또한 본 발명에서는 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기의 복잡도를 줄이면서 성능 열화를 줄일 수 있는 장치 및 방법을 제공한다.In addition, the present invention provides an apparatus and method capable of reducing performance degradation while reducing the complexity of a BICM-ID decoder based on a binary IRPA code.

본 발명의 일 실시 예에 따른 장치는, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부; 상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하고, 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 LLR 심볼 선택부; 상기 LLR 심볼 선택부에서 출력된 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 LLR 심볼 변환부; 상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함할 수 있다.An apparatus according to an embodiment of the present invention performs iterative decoding using an external decoder and an internal decoder, and from a receiver of a system using a binary non-canonical iterative partial accumulation code to the internal decoder device, the bit received from the external decoder a first grouping unit for grouping columns according to decoding orders; An LLR symbol that calculates an index of grouped bits having a maximum probability value among the grouped bits, and selects and outputs a predetermined number of grouped bit LLR values using the index of the grouped bits having the maximum probability value selection part; an LLR symbol conversion unit for converting the grouped bit LLR value output from the LLR symbol selection unit into a symbol LLR value and outputting it; a BCJR processing unit that calculates the symbol LLR value using a BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm; a bit LLR calculation unit converting the output of the BCJR processing unit into a bit LLR value; and a second bit grouping unit for grouping the bit LLR values in a predetermined bit unit.

본 발명의 다른 실시 예에 따른 장치는, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부; 상기 그룹핑된 비트열을 LLR 심볼로 변환하는 LLR 심볼 변환부; 상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 LLR 심볼 절단부; 상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함할 수 있다.An apparatus according to another embodiment of the present invention performs iterative decoding using an external decoder and an internal decoder, and from a receiver of a system using a binary non-canonical iterative partial accumulation code to the internal decoder device, the bit received from the external decoder a first grouping unit for grouping columns according to decoding orders; an LLR symbol converting unit converting the grouped bit stream into an LLR symbol; an LLR symbol cutting unit that sorts the elements of the vector of the LLR symbol-converted LLR symbols in order of magnitude and selects to output only a predetermined number of symbols in the order of LLR values; a BCJR processing unit for calculating the symbol LLR value output from the LLR symbol cutting unit using a BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm; a bit LLR calculation unit converting the output of the BCJR processing unit into a bit LLR value; and a second bit grouping unit for grouping the bit LLR values in a predetermined bit unit.

본 발명의 일 실시 예에 따른 방법은, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에 복호 방법으로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계; 상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하는 단계; 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 단계; 상기 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 단계; 상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함할 수 있다.A method according to an embodiment of the present invention performs iterative decoding using an external decoder and an internal decoder, and is a decoding method in the internal decoder device of a receiver of a system using a binary non-regular iterative partial accumulation code, from the external decoder grouping the received bit stream according to the decoding order; calculating an index of grouped bits having a maximum probability value among the grouped bits; selecting and outputting a predetermined number of grouped bit LLR values using the index of the grouped bits having the maximum probability value; converting the grouped bit LLR values into symbol LLR values and outputting them; calculating the symbol LLR value using a Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm; converting the output of the BCJR processing unit into a bit LLR value; and grouping the bit LLR values in a predetermined bit unit.

본 발명의 다른 실시 예에 따른 방법은, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에서 복호 방법으로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계; 상기 그룹핑된 비트열을 LLR 심볼로 변환하는 단계; 상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 단계; 상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함할 수 있다.A method according to another embodiment of the present invention performs iterative decoding using an external decoder and an internal decoder, and is a decoding method in the internal decoder device of a receiver of a system using a binary non-regular iterative partial accumulation code, from the external decoder. grouping the received bit stream according to the decoding order; converting the grouped bit stream into an LLR symbol; sorting elements of the vector of the LLR symbol-converted LLR symbols in order of magnitude, and selecting to output only a predetermined number of symbol LLR values in the order of magnitude; BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm calculating the symbol LLR value output from the LLR symbol cutting unit; converting the output of the BCJR processing unit into a bit LLR value; and grouping the bit LLR values in a predetermined bit unit.

본 발명에 따른 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기를 사용하면, 복잡도를 줄일 수 있으며, 복잡도를 감소시킴으로 인한 성능 열화를 줄일 수 있다. 또한 높은 처리율을 갖기 위한 병렬 구조의 복호기를 구현할 수 있다. When the decoder of the BICM-ID scheme based on the binary IRPA code according to the present invention is used, complexity can be reduced, and performance degradation due to the reduction of complexity can be reduced. In addition, it is possible to implement a decoder of a parallel structure to have a high throughput.

도 1은 비가우시안 특성을 갖는 FQAM 방식을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA부호 복호기의 내부 블록 구성도이다.
도 3은 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 다른 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.
도 5는 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 복호기에서 심볼의 복호 동작 시의 제어 흐름도이다.
도 7a 및 도 7b는 본 발명에 따른 실시예들과 기존 복호기를 사용하는 경우의 성능을 비교 분석한 시뮬레이션 그래프이다.
1 is a conceptual diagram for explaining an FQAM scheme having a non-Gaussian characteristic.
2 is an internal block diagram of a binary IRPA code decoder to which an FQAM scheme can be applied according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a method of truncating a symbol LLR message in an FQAM scheme according to an embodiment of the present invention.
4 is an internal block diagram of a binary IRPA code decoder to which an FQAM scheme can be applied according to another embodiment of the present invention.
5 is a conceptual diagram for explaining a method of truncating a symbol LLR message in an FQAM scheme according to an embodiment of the present invention.
6A and 6B are control flowcharts during a symbol decoding operation in a decoder according to an embodiment of the present invention.
7A and 7B are simulation graphs for comparing and analyzing the performance of the embodiments according to the present invention and the case of using the conventional decoder.

이하, 첨부된 도면들을 참조하여 다양한 실시예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 이하에 첨부된 본 발명의 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 도면에 예시된 형태 또는 배치 등에 본 발명이 제한되지 않음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.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 much as possible. In addition, it should be noted that the drawings of the present invention attached below are provided to help the understanding of the present invention, and the present invention is not limited to the form or arrangement illustrated in the drawings of the present invention. In addition, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted. In the following description, only parts necessary for understanding the operation according to various embodiments of the present invention will be described, and it should be noted that descriptions of other parts will be omitted so as not to obscure the gist of the present invention.

도 1은 비가우시안 특성을 갖는 FQAM 방식을 설명하기 위한 개념도이다.1 is a conceptual diagram for explaining an FQAM scheme having a non-Gaussian characteristic.

도 1은 (a), (b), (c)의 3가지 형태를 예로써 도시하고 있다. 도 1을 참조하면, (a)에 예시한 형태는 4-QAM 방식의 심볼들(101, 102, 103, 104)을 예로써 도시하고 있다. 4-QAM 방식에서는 도 1의 (a)에 예시된 바와 같이 실수(Re)축과 허수(Im)축의 좌표로 매핑된 S1(101), S2(102), S3(103), S4(104)의 각 심볼들로 데이터를 매핑하여 송신하는 형태이다. 또한 (b)에 예시한 4-FSK 방식은 서로 다른 4개의 주파수 대역들(111, 112, 113, 114)에서 특정한 주파수 대역을 이용하여 데이터를 매핑하여 송신하는 방식이다. 예컨대, 각 주파수 대역들(111, 112, 113, 114)은 서로 다른 데이터에 매핑될 수 있다.1 shows three types of (a), (b), and (c) as examples. Referring to FIG. 1 , the form illustrated in (a) shows symbols 101, 102, 103, and 104 of the 4-QAM scheme as examples. In the 4-QAM method, S 1 (101), S 2 (102), S 3 (103), S mapped to the coordinates of the real (Re) axis and the imaginary (Im) axis as illustrated in (a) of FIG. 1 . It is a form of transmitting data by mapping data to each symbol of 4 (104). In addition, the 4-FSK method illustrated in (b) is a method of mapping and transmitting data using a specific frequency band in four different frequency bands 111 , 112 , 113 , and 114 . For example, each of the frequency bands 111 , 112 , 113 , and 114 may be mapped to different data.

도 1의 (c)에 예시한 비가우시안 특성을 갖는 FQAM 방식은 도 1의 (a)에 예시한 4-QAM 방식과 도 1의 (b)에 예시한 4-FSK 방식이 결합된 하이브리드(hybrid) 변조 방식이다. 도 1의 (c)에 예시한 바와 같이 4-QAM 방식과 4-FSK 방식을 결합하여 데이터를 매핑하는 경우 FSK와 유사하게 간섭신호에 대하여 비가우시안 특성을 갖는다. 또한 도 1의 (c)에 예시한 FQAM 방식은 각각의 주파수 대역에서 4-QAM 방식으로 매핑된 심볼들(121, 122, 123, 124)의 형태를 볼 수 있다. 따라서 도 1의 (c)에 예시한 형태는 16-FQAM 방식이 된다. 이러한 FQAM 변조 방식은 QAM 변조 방식을 동시에 적용함으로써 FSK 변조 방식보다 스펙트럼 효과(spectral efficiency)를 크게 개선할 수 있다.The FQAM method having non-Gaussian characteristics illustrated in FIG. 1(c) is a hybrid in which the 4-QAM method illustrated in FIG. 1(a) and the 4-FSK method illustrated in FIG. 1(b) are combined. ) is a modulation method. As illustrated in (c) of FIG. 1 , when data is mapped by combining the 4-QAM method and the 4-FSK method, the interference signal has a non-Gaussian characteristic similar to FSK. In addition, in the FQAM scheme illustrated in FIG. 1(c), the shapes of symbols 121, 122, 123, and 124 mapped to the 4-QAM scheme in each frequency band can be seen. Accordingly, the form illustrated in FIG. 1C is a 16-FQAM scheme. The FQAM modulation scheme can significantly improve spectral efficiency compared to the FSK modulation scheme by simultaneously applying the QAM modulation scheme.

특히, 셀룰라 무선 통신 방식에서 셀의 가장자리(edge)에 위치한 단말은 일반적으로 높은 전송률로 데이터를 제공받기 어려운 문제가 있다. 하지만, FQMA 방식을 사용하는 경우 단말에서 셀간 간섭(Inter Cell Interference, 이하 "ICI"라 함)의 통계적 특성이 비가우시안 분포를 보이게 된다. 비가우시안 특성이 심화될수록 FQAM 방식에서는 채널 용량(channel capacity)이 증가하므로, 셀의 가장자리에 위치한 단말에 보다 높은 용량으로 데이터 전송을 가능하게 할 수 있다.In particular, in a cellular wireless communication method, a terminal located at an edge of a cell generally has a problem in that it is difficult to receive data at a high data rate. However, when the FQMA method is used, a statistical characteristic of inter-cell interference (hereinafter referred to as "ICI") in the terminal shows a non-Gaussian distribution. Since the channel capacity increases in the FQAM scheme as the non-Gaussian characteristic deepens, it is possible to enable data transmission with a higher capacity to the terminal located at the edge of the cell.

그러면, 이상에서 설명한 FQAM 방식을 이용하여 심볼을 송수신하는 방식에 대하여 살펴보기로 하자.Then, a method of transmitting and receiving symbols using the above-described FQAM method will be described.

이진 IRPA 부호는 이진 비정규 반복(Binary Irregular Repetition) 부호인 외부 부호와 부호율이 1인 트렐리스(Trellis) 부호로 구성된 내부 부호가 인터리버(Interleaver)를 통하여 연결된 구조를 가지고 있다. 이 방식은 전송하고자 하는 메시지를 비트 단위로 받아서 모든 비트를 미리 정해진 횟수만큼 반복한다. 이때 각 비트별로 반복하는 횟수는 균일하지 않을 수 있다. 이렇게 반복한 비트 열을 인터리버를 통해 임의로 섞어준 후 정해진 개 수 만큼 그룹핑(grouping)한다. 그룹핑의 결과로 나온 비트열을 내부 부호기를 이용하여 부호화 시킬 수 있다. 즉, 이진 IRPA 부호기는 이진 비정규 반복 부호를 생성하고, 인터리버를 통해 인터리빙 된 후 비이진 채널 부호기를 통해 채널 부호화 된다. 이처럼 부호화된 부호어(codeword)를 FQAM 변조기를 통해 변조할 수 있다. 변조된 신호는 미리 설정된 채널을 통해 수신기 측으로 전달될 수 있다.The binary IRPA code has a structure in which an outer code, which is a binary irregular repetition code, and an inner code composed of a trellis code having a code rate of 1 are connected through an interleaver. In this method, a message to be transmitted is received in bit units and all bits are repeated a predetermined number of times. In this case, the number of repetitions for each bit may not be uniform. These repeated bit streams are arbitrarily mixed through an interleaver, and then grouped by a predetermined number. The bit stream resulting from the grouping can be encoded using an internal encoder. That is, the binary IRPA encoder generates a binary non-canonical repeating code, is interleaved through an interleaver, and then is channel-encoded through a non-binary channel encoder. The coded codeword may be modulated through the FQAM modulator. The modulated signal may be transmitted to the receiver through a preset channel.

수신기에서는 수신된 신호를 복조기에서 복조하여 소프트 메시지(soft message)를 생성할 수 있다. 이처럼 생성된 소프트 메시지는 비이진 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 기반의 내부 복호기와 이진 외부 복호기 사이를 반복하면서 복호가 이루어진다. 이때, 외부 복호기는 비트 로그 우도율(Bit LLR(Log Likelihood Ratio, 이하 "LLR"이라 함)) 메시지 기반으로 동작하며 매우 간단한 계산으로 이루어져 있다. 이에 반하여 내부 복호기는 비이진 메시지인 심볼(Symbol) LLR 벡터를 기반으로 동작한다.The receiver may demodulate the received signal in a demodulator to generate a soft message. The soft message generated in this way is decoded while iterating between the non-binary BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm-based inner decoder and the binary outer decoder. In this case, the external decoder operates based on a bit log likelihood ratio (Bit Log Likelihood Ratio, hereinafter referred to as “LLR”) message and consists of a very simple calculation. In contrast, the inner decoder operates based on a symbol LLR vector that is a non-binary message.

그러면 이하에서 본 발명에 따른 FQAM 방식에 따른 신호를 수신하는 수신기에서 복호기의 내부 구성 및 동작에 대하여 살펴보기로 하자.Next, an internal configuration and operation of a decoder in a receiver receiving a signal according to the FQAM scheme according to the present invention will be described below.

도 2는 본 발명의 일 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.2 is an internal block diagram of a binary IRPA code decoder to which an FQAM scheme can be applied according to an embodiment of the present invention.

도 2를 참조하면, 외부 복호기(210), 내부 복호기(220), 인터리버(201) 및 디인터리버(202)로 구성된다. 외부 복호기(210)는 메시지 노드 계산부(211)를 포함하며, 내부 복호기(220)는 제1그룹핑부(221), LLR 심볼 변환부(222), LLR 심볼 절단부(223), BJCR 처리부(224), 비트 LLR 계산부(225) 및 제2비트 그룹핑부(226)를 포함한다.Referring to FIG. 2 , it includes an external decoder 210 , an internal decoder 220 , an interleaver 201 , and a deinterleaver 202 . The external decoder 210 includes a message node calculation unit 211 , and the internal decoder 220 includes a first grouping unit 221 , an LLR symbol converting unit 222 , an LLR symbol cutting unit 223 , and a BJCR processing unit 224 . ), a bit LLR calculation unit 225 and a second bit grouping unit 226 .

이러한 구성을 갖는 본 발명의 복호기를 설명하기에 앞서 최적의 내부 복호 알고리즘 연산에 대하여 간략히 살펴보기로 하자. 최적의 내부 복호 알고리즘 연산 방법은, 외부 복호기와 주고받는 메시지를 그룹핑(Grouping) 연산하고, 내부 복호기의 BCJR 알고리즘 연산에 룩업 테이블(Look-up table)과 같은 복잡한 연산이 많이 필요하다. 이 과정을 단순화하기 위해 기존 터보(Turbo) 부호 및 저밀도 패리티 체크(LDPC) 부호의 복호기에서 사용하는 방식과 유사하게 근사식을 이용하여 복호를 수행할 수 있다.Before describing the decoder of the present invention having such a configuration, let us briefly review the operation of the optimal internal decoding algorithm. In the optimal internal decoding algorithm calculation method, a grouping operation of messages exchanged with an external decoder is performed, and a lot of complex operations such as a look-up table are required for the BCJR algorithm operation of the internal decoder. In order to simplify this process, decoding may be performed using an approximation equation similar to a method used in a decoder of an existing turbo code and low density parity check (LDPC) code.

그러면 이하에서 도 2를 참조하여 상기한 구성을 갖는 각 블록들의 동작에 대하여 살펴보기로 하자. 수신 장치에서 변조된 신호를 수신하여 복조가 이루어지면, 복조된 신호는 BCJR 처리부(224)로 입력된다. 도 2에서는 복조된 신호가 수신되는 루트는 도시하지 않았음에 유의해야 한다.Then, with reference to FIG. 2, the operation of each block having the above configuration will be described. When the receiving apparatus receives the modulated signal and demodulation is performed, the demodulated signal is input to the BCJR processing unit 224 . It should be noted that the route through which the demodulated signal is received is not shown in FIG. 2 .

먼저 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘은 내부 복호기(220)에서 각 부호 심볼(code symbol)의 후처리(posteriori) LLR 값을 효과적으로 계산하는 알고리즘이다. 이 LLR 값은 채널로부터 수신된 정보와 계산하고자 하는 심볼을 제외한 모든 심볼의 비본질 정보(extrinsic information) 예를 들어, 이전 반복(iteration)에서 외부 복호기(outer decoder)(210)로부터 수신한 LLR 정보의 조합으로 계산할 수 있다. BCJR 처리부(224)는 내부 부호의 트랠리스(trellis)에서 비터비(Viterbi) 알고리즘과 유사한 전/후 회귀(forward/backward recursion) 계산을 통하여 후처리(posteriori) LLR 값을 효과적으로 얻을 수 있는 알고리즘이다. 이러한 BCJR 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다.First, the BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm is an algorithm for effectively calculating the posteriori LLR value of each code symbol in the inner decoder 220 . This LLR value includes information received from the channel and non-essential information of all symbols except for the symbol to be calculated, for example, LLR information received from the outer decoder 210 in the previous iteration. can be calculated as a combination of BCJR processing unit 224 is an algorithm that can effectively obtain post-processing (posteriori) LLR values through forward/backward recursion calculation similar to the Viterbi algorithm in the trellis of the inner code to be. Since the BCJR algorithm is a well-known algorithm, detailed operation descriptions will be omitted here.

최초로 복조된 신호가 BCJR 처리부(224)로 입력된 상태에서는 이전 반복이 없는 상태이므로, 외부 복호기(210)로부터 수신된 정보가 없는 상태이다. 따라서 최초 복조된 신호를 수신하는 경우 BCJR 처리부(224)는 복조된 신호만을 이용하거나 또는 외부 복호기의 입력을 특정 값 예컨대, "0(zero)"의 값으로 설정하여 알고리즘을 수행할 수 있다. 이처럼 BCJR 처리부(224)에서 BCJR 알고리즘에 따라 계산된 값은 비트 LLR 계산부(225)로 입력된다.Since there is no previous iteration in the state in which the first demodulated signal is input to the BCJR processing unit 224 , there is no information received from the external decoder 210 . Therefore, when receiving the first demodulated signal, the BCJR processing unit 224 may perform the algorithm by using only the demodulated signal or by setting the input of the external decoder to a specific value, for example, “0 (zero)”. As such, the value calculated according to the BCJR algorithm in the BCJR processing unit 224 is input to the bit LLR calculation unit 225 .

비트 LLR 계산부(225)는 BCJR 처리부(224)에서 심볼 BCJR 알고리즘에 의해 연산된 심볼 LLR 값을 비트 LLR 값이 되도록 연산한다. 이처럼 비트 LLR 계산부(225)에서 비트 LLR 값으로 계산된 비트 LLR 값은 제2비트 그룹핑부(226)로 입력된다. 제2비트 그룹핑부(226)는 비트 LLR 값을 일련의 비트 정보로 환원하여, 디인터리버(202)로 출력한다.The bit LLR calculation unit 225 calculates the symbol LLR value calculated by the symbol BCJR algorithm in the BCJR processing unit 224 to become the bit LLR value. As such, the bit LLR value calculated as the bit LLR value by the bit LLR calculation unit 225 is input to the second bit grouping unit 226 . The second bit grouping unit 226 reduces the bit LLR value to a series of bit information, and outputs it to the deinterleaver 202 .

디인터리버(202)는 미리 결정된 방식 예컨대, 송신 장치가 인터리빙한 방식의 역(reverse) 또는 인터리버(201)에서 인터리빙 된 방식의 역(reverse)이 되도록 디인터리빙하고, 디인터리빙된 비트 정보를 외부 복호기(210)의 메시지 노드 계산부(211)로 출력한다. 그러면 메시지 노드 계산부(211)는 디인터리빙되어 입력된 비트 단위의 정보를 이용하여 외부 복호를 수행한 후 인터리버(201)로 출력한다.The deinterleaver 202 deinterleaves in a predetermined method, for example, the reverse of the method interleaved by the transmitter or the reverse of the method interleaved by the interleaver 201, and the deinterleaved bit information is converted into an external decoder. The message is output to the node calculation unit 211 of 210 . Then, the message node calculation unit 211 performs external decoding using the deinterleaved and input bit-by-bit information, and then outputs it to the interleaver 201 .

외부 복호기(210)에서 복호된 결과는 인터리버(201)로 입력된다. 인터리버(201)는 외부 복호기(210)에서 계산된 메시지가 입력되면, 미리 설정된 인터리빙 방식 예컨대, 송신 장치에서 이루어진 방식과 동일한 방식으로 복조된 신호를 인터리빙하여 내부 복호기(220)로 출력한다. 이때, 인터리버는 일반적으로 비트 단위의 인터리빙을 수행할 수 있다. 따라서 인터리버(201)에서 출력된 신호는 인터리빙된 비트 단위의 신호가 된다.The result decoded by the external decoder 210 is input to the interleaver 201 . When the message calculated by the external decoder 210 is input, the interleaver 201 interleaves the demodulated signal using a preset interleaving method, for example, the same method as the method performed by the transmitter, and outputs it to the internal decoder 220 . In this case, the interleaver may perform interleaving in units of bits. Accordingly, the signal output from the interleaver 201 becomes an interleaved bit unit signal.

내부 복호기(220)의 제1비트 그룹핑부(221)는 인터리버(201)에서 인터리빙된 비트들을 수신하고, 미리 설정된 방식에 의거하여 소정의 단위로 그룹핑한다. 이는 부호의 부호율을 조절하기 위한 방법이다. 가령, 인터리버(201)에서 인터리빙된 2비트를 하나의 비트로 그룹핑할 수도 있고, 3비트를 하나의 비트로 그룹핑할 수도 있으며, 4비트를 하나의 비트로 그룹핑할 수도 있다. 즉, 부호의 부호율에 따라 소정 개수의 비트를 하나의 비트로 그룹핑하는 것이다.The first bit grouping unit 221 of the internal decoder 220 receives the interleaved bits from the interleaver 201 and groups them in a predetermined unit based on a preset method. This is a method for adjusting the code rate of the code. For example, 2 bits interleaved by the interleaver 201 may be grouped into one bit, 3 bits may be grouped into one bit, and 4 bits may be grouped into one bit. That is, a predetermined number of bits are grouped into one bit according to the code rate of the code.

제1비트 그룹핑부(221)에서는 그룹핑된 데이터를 LLR 심볼로 변환한다. 이때, 제1비트 그룹핑부(221)는 외부 복호기(210)로부터 수신되는 메시지를 근사화하여 사용할 수 있다. 예를 들어 제1비트 그룹핑부(221)는 비선형 함수인 하이퍼 탄젠트(tanh)를 사용하여 logBP 계산을 수행할 수 있다. 이때, 제1비트 그룹핑부(221)는 LDPC 부호의 체크 노드에서 사용하는 미리 설정된 범위에서 최소-합(scaled min-sum) 방식으로 근사하여 사용할 수 있다. 제1비트 그룹핑부(221)에서 수행하는 설정된 범위의 최소-합(scaled min-sum) 방식의 계산은 하기 <수학식 1>과 같이 각 비트별로 비트 LLR 값을 계산할 수 있다.The first bit grouping unit 221 converts the grouped data into LLR symbols. In this case, the first bit grouping unit 221 may approximate and use a message received from the external decoder 210 . For example, the first bit grouping unit 221 may perform logBP calculation by using a hypertangent (tanh), which is a non-linear function. In this case, the first bit grouping unit 221 may approximate and use the scaled min-sum method in a preset range used in the check node of the LDPC code. Calculation of a scaled min-sum method of a set range performed by the first bit grouping unit 221 may calculate a bit LLR value for each bit as shown in Equation 1 below.

Figure 112014087072104-pat00001
Figure 112014087072104-pat00001

<수학식 1>에서 an은 그룹핑된 비트 중 n번째 비트를 의미하며, c2n, c2n+1은 그룹핑하기 이전의 비트를 의미하고, Pr은 확률을 의미한다. <수학식 1>에서는 2비트를 그룹핑한다고 가정하였다. <수학식 1>과 같이 계산된 값을 이용하여 그룹핑한 비트의 LLR 근사값을 쉽게 계산할 수 있다.In <Equation 1> a n denotes the nth bit among grouped bits, c 2n and c 2n+1 denote bits before grouping, and Pr denotes a probability. In <Equation 1>, it is assumed that 2 bits are grouped. The LLR approximation of the grouped bits can be easily calculated by using the calculated value as in <Equation 1>.

이때, 제1비트 그룹핑부(221)는 비트 단위의 LLR 값 결정 전에 패리티 검사를 통해 복호 성공 여부를 검사할 수 있다. 패리티 검사를 통해 복호된 정보에 오류가 존재하지 않는 경우 인터리빙된 데이터를 복호 결과로 출력할 수 있다. 복호 결과에 대한 패리티 오류 검사는 내부 복호기(220)와 외부 복호기(210)간 반복 복호가 이루어질 때마다 매번 이루어질 수 있다.In this case, the first bit grouping unit 221 may check whether decoding is successful through a parity check before determining the LLR value in units of bits. When there is no error in the information decoded through the parity check, interleaved data may be output as a decoding result. The parity error check for the decoding result may be performed every time iterative decoding is performed between the internal decoder 220 and the external decoder 210 .

이처럼 제1비트 그룹핑부(221)에서 LLR 심볼로 변환된 정보는 LLR 심볼 변환부(222)로 입력된다. LLR 심볼 변환부(222)는 <수학식 1>에서 계산한 각 비트별 확률 값의 조합으로 m비트 심볼의 LLR 값을 하기 <수학식 2>와 같이 계산할 수 있다.As such, the information converted into the LLR symbol by the first bit grouping unit 221 is input to the LLR symbol converting unit 222 . The LLR symbol conversion unit 222 may calculate the LLR value of the m-bit symbol as shown in <Equation 2> by combining the probability values for each bit calculated in <Equation 1>.

Figure 112014087072104-pat00002
Figure 112014087072104-pat00002

LLR 심볼 절단부(223)는 LLR 심볼 변환부(222)에서 계산된 심볼 LLR 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 nm개의 메시지를 선택하여 절단할 수 있다. 즉, LLR 심볼 절단부(223)는 nm개의 메시지만을 선택하여 출력할 수 있다. 이때, nm개의 선택 값을 조절할 수 있는 요소들에 대하여 살펴보기로 하자.The LLR symbol cutting unit 223 may sort the elements of the symbol LLR vector calculated by the LLR symbol converting unit 222 in the order of magnitude, and may select and cut n m messages in the order of the symbol LLR values. That is, the LLR symbol cutting unit 223 may select and output only n m messages. In this case, let us look at the elements that can adjust the n m selection values.

첫째, 채널 환경이 좋은 경우 예컨대, SNR 값이 큰 경우 적은 수의 nm 값을 사용할 수 있고, 반대로 채널 환경이 안 좋은 경우 많은 수의 nm 값을 사용해야 한다.First, when the channel environment is good, for example, when the SNR value is large, a small number of n m values can be used. Conversely, when the channel environment is bad, a large number of n m values must be used.

둘째, 외부 복호기(Outer decoder)와 내부 복호기(Inner decoder) 사이에 반복 복호를 수행할 때 처음 몇 반복(iteration)에서는 큰 nm 값을 사용하고 이후 반복에서는 nm 값을 줄여서 사용할 수도 있다.Second, when iterative decoding is performed between the outer decoder and the inner decoder, a large n m value may be used in the first few iterations and a reduced n m value may be used in subsequent iterations.

LLR 심볼 절단부(223)에서 선택된 nm개의 메시지는 BJCR 처리부(224)에서 BJCR 알고리즘 처리가 이루어진다. 이처럼 BJCR 처리부(224)로 입력되는 메시지가 심볼 LLR 벡터(Vector) 메시지 중 선택된 nm개만 입력되므로, BCJR 처리부(224)에서 계산 복잡도를 감소시킬 수 있다. The n m messages selected by the LLR symbol cutting unit 223 are processed by the BJCR algorithm in the BJCR processing unit 224 . As such, since only n m messages inputted to the BJCR processing unit 224 are inputted from among symbol LLR vector messages, calculation complexity in the BCJR processing unit 224 can be reduced.

이때, LLR 심볼 절단부(223)에서 LLR 심볼들을 선택할 경우 위에서 설명한 방법처럼 계산된 심볼 LLR 벡터의 요소들을 크기 순으로 정렬하여 절단할 수도 있고, q-ary 심볼 LLR 벡터에서 임의로 nm개만큼만 랜덤하게 절단(Random Truncation)할 수도 있다. 임의의 개수만큼 랜덤하게 절단하는 경우 nm개의 메시지를 선택하는 데 추가적인 복잡도가 발생하지 않는 장점을 갖는 반면에 높은 신뢰도(Reliability)를 갖는 메시지가 선택되지 않은 경우가 많으므로 성능 상 손실(Loss)이 크게 발생할 수 있다. 또한 q개 심볼 LLR 메시지를 계산한 후 큰 순서대로 nm개의 메시지를 선택하는 방법의 경우 가장 높은 신뢰도(Reliability)를 갖는 메시지를 선택하므로 적절히 nm개의 값을 선택하면 성능 손실(loss)이 적게 발생할 수 있다. 반면에 nm개의 값을 큰 순서대로 선택하기 위하여 수행하는 정렬(Sorting) 동작으로 인하여 추가적인 복잡도의 증가가 발생한다.In this case, when the LLR symbol cutting unit 223 selects the LLR symbols, the elements of the calculated symbol LLR vector may be sorted and cut in the order of size as described above, and only n m arbitrarily in the q-ary symbol LLR vector are randomly cut. Random truncation may also be performed. In the case of randomly truncating an arbitrary number of messages, it has the advantage that no additional complexity occurs in selecting n m messages, but there are many cases where messages with high reliability are not selected, resulting in loss in performance. This can happen greatly. In addition, in the method of selecting n m messages in large order after calculating q symbol LLR messages, the message with the highest reliability is selected, so if n m values are appropriately selected, the performance loss is small. can occur On the other hand, additional complexity increases due to a sorting operation performed to select n m values in a large order.

이후의 비트 LLR 계산부(225) 및 제2비트 그룹핑부(226)의 동작은 앞에서 설명한 바와 같다. 이처럼 내부 복호기(220)의 복호 동작이 완료되면, 다시 디인터리버(202)에서 디인터리빙을 수행한 후 외부 복호기(210)에서 외부 복호가 이루어진다. 외부 복호기(210)와 내부 복호기(220) 사이의 반복 복호 복호에 성공할 때까지 반복적으로 이루어질 수 있다.Subsequent operations of the bit LLR calculation unit 225 and the second bit grouping unit 226 are the same as described above. As such, when the decoding operation of the internal decoder 220 is completed, the deinterleaver 202 performs deinterleaving again, and then the external decoder 210 performs the external decoding. Iterative decoding between the external decoder 210 and the internal decoder 220 may be repeatedly performed until the decoding succeeds.

도 3은 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.3 is a conceptual diagram illustrating a method of truncating a symbol LLR message in an FQAM scheme according to an embodiment of the present invention.

도 3을 참조하면, 그룹핑된 비트 LLR 메시지들(300, 301, 302, 303, 304)은 앞서 설명한 <수학식 1>에서와 같은 형태가 된다. 도 3에 예시한 비트 LLR 메시지들은 5개 비트의 LLR 메시지들이 하나의 그룹으로 구성된 경우를 예시하고 있다. 하지만, 5개 이상의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있고, 5개 미만의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있다.Referring to FIG. 3 , the grouped bit LLR messages 300 , 301 , 302 , 303 , and 304 have the same form as in Equation 1 described above. The bit LLR messages illustrated in FIG. 3 exemplify a case in which 5 bit LLR messages are configured as one group. However, 5 or more bit LLR messages may be configured in one group, and less than 5 bit LLR messages may be configured in one group.

도 3에 예시한 바와 같이 각각의 비트 LLR 메시지에서 각 비트 LLR 메시지마다 "0"과 "1"의 확률 값들(310, 311, 312, 313, 314)을 추출할 수 있다. 각 비트 인덱스의 조합으로 참조부호 320과 같이 인덱스를 계산한 후 이를 순차적으로 정렬하거나 그대로 둘 수 있다. 이후 순차적으로 정렬된 또는 정렬되지 않은 인덱스 값들 중 미리 결정된 nm개의 메시지를 선택하여 참조부호 330과 같이 절단(truncation)함으로써 모든 LLR 메시지가 아닌 선택된 일부의 LLR 메시지만을 추출할 수 있다.As illustrated in FIG. 3 , probability values 310 , 311 , 312 , 313 and 314 of “0” and “1” may be extracted for each bit LLR message from each bit LLR message. After calculating the index as shown in reference numeral 320 by the combination of each bit index, it may be sequentially arranged or left as it is. Thereafter, by selecting n m predetermined messages from among sequentially sorted or unsorted index values and truncating them as shown in reference numeral 330, only a selected part of the LLR messages can be extracted instead of all LLR messages.

도 4는 본 발명의 다른 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.4 is an internal block diagram of a binary IRPA code decoder to which an FQAM scheme can be applied according to another embodiment of the present invention.

도 4를 참조하면, 외부 복호기(410), 내부 복호기(420), 인터리버(401) 및 디인터리버(402)로 구성된다. 외부 복호기(410)는 메시지 노드 계산부(411)를 포함하며, 내부 복호기(420)는 제1그룹핑부(421), LLR 심볼 선택부(422), LLR 심볼 변환부(423), BJCR 처리부(424), 비트 LLR 계산부(425) 및 제2비트 그룹핑부(426)를 포함한다.Referring to FIG. 4 , it includes an external decoder 410 , an internal decoder 420 , an interleaver 401 and a deinterleaver 402 . The external decoder 410 includes a message node calculation unit 411, and the internal decoder 420 includes a first grouping unit 421, an LLR symbol selection unit 422, an LLR symbol converting unit 423, and a BJCR processing unit ( 424 ), a bit LLR calculation unit 425 , and a second bit grouping unit 426 .

이러한 구성을 갖는 본 발명의 복호기를 설명하기에 앞서 최적의 내부 복호 알고리즘 연산에 대하여 간략히 살펴보기로 하자. 최적의 내부 복호 알고리즘 연산 방법은, 외부 복호기와 주고받는 메시지를 그룹핑(Grouping) 연산하고, 내부 복호기의 BCJR 알고리즘 연산에 룩업 테이블(Look-up table)과 같은 복잡한 연산이 많이 필요하다. 이 과정을 단순화하기 위해 기존 터보(Turbo) 부호 및 저밀도 패리티 체크(LDPC) 부호의 복호기에서 사용하는 방식과 유사하게 근사식을 이용하여 복호를 수행할 수 있다.Before describing the decoder of the present invention having such a configuration, let us briefly review the operation of the optimal internal decoding algorithm. In the optimal internal decoding algorithm calculation method, a grouping operation of messages exchanged with an external decoder is performed, and a lot of complex operations such as a look-up table are required for the BCJR algorithm operation of the internal decoder. In order to simplify this process, decoding may be performed using an approximation equation similar to a method used in a decoder of an existing turbo code and low density parity check (LDPC) code.

그러면 이하에서 도 4를 참조하여 상기한 구성을 갖는 각 블록들의 동작에 대하여 살펴보기로 하자. 수신 장치에서 변조된 신호를 수신하여 복조가 이루어지면, 복조된 신호는 BCJR 처리부(424)로 입력된다. 도 4에서는 복조된 신호가 수신되는 루트는 도시하지 않았음에 유의해야 한다.Then, with reference to FIG. 4, the operation of each block having the above configuration will be described. When the receiving apparatus receives the modulated signal and demodulation is performed, the demodulated signal is input to the BCJR processing unit 424 . It should be noted that the route through which the demodulated signal is received is not shown in FIG. 4 .

도 2에서 설명한 바와 같이 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘은 내부 복호기(420)에서 각 부호 심볼(code symbol)의 후처리(posteriori) LLR 값을 효과적으로 계산하는 알고리즘이다. 이 LLR 값은 채널로부터 수신된 정보와 계산하고자 하는 심볼을 제외한 모든 심볼의 비본질 정보(extrinsic information) 예를 들어, 이전 반복(iteration)에서 외부 복호기(outer decoder)(410)로부터 수신한 LLR 정보의 조합으로 계산할 수 있다. BCJR 처리부(424)는 내부 부호의 트랠리스(trellis)에서 비터비(Viterbi) 알고리즘과 유사한 전/후 회귀(forward/backward recursion) 계산을 통하여 후처리(posteriori) LLR 값을 효과적으로 얻을 수 있는 알고리즘이다. 이러한 BCJR 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다.As described in FIG. 2 , the BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm is an algorithm for effectively calculating the posteriori LLR value of each code symbol in the inner decoder 420 . This LLR value includes information received from the channel and non-essential information of all symbols except for the symbol to be calculated, for example, LLR information received from the outer decoder 410 in the previous iteration. can be calculated as a combination of The BCJR processing unit 424 is an algorithm that can effectively obtain a posteriori LLR value through forward/backward recursion calculation similar to the Viterbi algorithm in the trellis of the inner code. to be. Since the BCJR algorithm is a well-known algorithm, detailed operation descriptions will be omitted here.

최초로 복조된 신호가 BCJR 처리부(424)로 입력된 상태에서는 이전 반복이 없는 상태이므로, 외부 복호기(410)로부터 수신된 정보가 없는 상태이다. 따라서 최초 복조된 신호를 수신하는 경우 BCJR 처리부(424)는 복조된 신호만을 이용하거나 또는 외부 복호기의 입력을 특정 값 예컨대, "0(zero)"의 값으로 설정하여 알고리즘을 수행할 수 있다. 이처럼 BCJR 처리부(424)에서 BCJR 알고리즘에 따라 계산된 값은 비트 LLR 계산부(225)로 입력된다.In a state in which the first demodulated signal is input to the BCJR processing unit 424 , there is no previous iteration, so there is no information received from the external decoder 410 . Therefore, when receiving the first demodulated signal, the BCJR processing unit 424 may perform the algorithm by using only the demodulated signal or by setting the input of the external decoder to a specific value, for example, a value of “0 (zero)”. As such, the value calculated according to the BCJR algorithm in the BCJR processing unit 424 is input to the bit LLR calculation unit 225 .

비트 LLR 계산부(425)는 BCJR 처리부(424)에서 심볼 BCJR 알고리즘에 의해 연산된 심볼 LLR 값을 비트 LLR 값이 되도록 연산한다. 이처럼 비트 LLR 계산부(425)에서 비트 LLR 값으로 계산된 비트 LLR 값은 제2비트 그룹핑부(426)로 입력된다. 제2비트 그룹핑부(426)는 비트 LLR 값을 일련의 비트 정보로 환원하여, 디인터리버(402)로 출력한다.The bit LLR calculation unit 425 calculates the symbol LLR value calculated by the symbol BCJR algorithm in the BCJR processing unit 424 to become the bit LLR value. As such, the bit LLR value calculated as the bit LLR value by the bit LLR calculation unit 425 is input to the second bit grouping unit 426 . The second bit grouping unit 426 reduces the bit LLR value to a series of bit information, and outputs it to the deinterleaver 402 .

디인터리버(402)는 미리 결정된 방식 예컨대, 송신 장치가 인터리빙한 방식의 역(reverse) 또는 인터리버(401)에서 인터리빙 된 방식의 역(reverse)이 되도록 디인터리빙하고, 디인터리빙된 비트 정보를 외부 복호기(410)의 메시지 노드 계산부(411)로 출력한다. 그러면 메시지 노드 계산부(411)는 디인터리빙되어 입력된 비트 단위의 정보를 이용하여 외부 복호를 수행한 후 인터리버(201)로 출력한다.The deinterleaver 402 deinterleaves in a predetermined method, for example, the reverse of the method interleaved by the transmitting device or the reverse of the method interleaved by the interleaver 401. The deinterleaved bit information is converted into an external decoder. It is output to the message node calculation unit 411 of 410 . Then, the message node calculator 411 performs external decoding using the deinterleaved and input bit-by-bit information, and then outputs it to the interleaver 201 .

외부 복호기(410)에서 복호된 결과는 인터리버(401)로 입력된다. 인터리버(401)는 외부 복호기(410)에서 계산된 메시지가 입력되면, 미리 설정된 인터리빙 방식 예컨대, 송신 장치에서 이루어진 방식과 동일한 방식으로 복조된 신호를 인터리빙하여 내부 복호기(420)로 출력한다. 이때, 인터리버는 일반적으로 비트 단위의 인터리빙을 수행할 수 있다. 따라서 인터리버(401)에서 출력된 신호는 인터리빙된 비트 단위의 신호가 된다.The result decoded by the external decoder 410 is input to the interleaver 401 . When the message calculated by the external decoder 410 is input, the interleaver 401 interleaves the demodulated signal using a preset interleaving method, for example, the same method as the method performed by the transmitter, and outputs the interleaved signal to the internal decoder 420 . In this case, the interleaver may perform interleaving in units of bits. Accordingly, the signal output from the interleaver 401 becomes an interleaved bit unit signal.

내부 복호기(420)의 제1비트 그룹핑부(421)는 인터리버(401)에서 인터리빙된 비트들을 수신하고, 미리 설정된 방식에 의거하여 소정의 단위로 그룹핑한다. 이는 부호의 부호율을 조절하기 위한 방법이다. 가령, 인터리버(401)에서 인터리빙된 2비트를 하나의 비트로 그룹핑할 수도 있고, 3비트를 하나의 비트로 그룹핑할 수도 있으며, 4비트를 하나의 비트로 그룹핑할 수도 있다. 즉, 부호의 부호율에 따라 소정 개수의 비트를 하나의 비트로 그룹핑하는 것이다.The first bit grouping unit 421 of the internal decoder 420 receives the interleaved bits from the interleaver 401 and groups them in a predetermined unit based on a preset method. This is a method for adjusting the code rate of the code. For example, 2 bits interleaved in the interleaver 401 may be grouped into one bit, 3 bits may be grouped into one bit, and 4 bits may be grouped into one bit. That is, a predetermined number of bits are grouped into one bit according to the code rate of the code.

제1비트 그룹핑부(421)에서는 그룹핑된 데이터를 LLR 심볼로 변환한다. 이때, 제1비트 그룹핑부(421)는 외부 복호기(410)로부터 수신되는 메시지를 근사화하여 사용할 수 있다. 예를 들어 제1비트 그룹핑부(421)는 비선형 함수인 하이퍼 탄젠트(tanh)를 사용하여 logBP 계산을 수행할 수 있다. 이때, 제1비트 그룹핑부(421)는 LDPC 부호의 체크 노드에서 사용하는 미리 설정된 범위에서 최소-합(scaled min-sum) 방식으로 근사하여 사용할 수 있다. 제1비트 그룹핑부(421)에서 수행하는 설정된 범위의 최소-합(scaled min-sum) 방식의 계산은 앞서 설명한 <수학식 1>과 같이 각 비트별로 비트 LLR 값을 계산할 수 있다.The first bit grouping unit 421 converts the grouped data into LLR symbols. In this case, the first bit grouping unit 421 may approximate and use a message received from the external decoder 410 . For example, the first bit grouping unit 421 may perform logBP calculation by using a hypertangent (tanh), which is a nonlinear function. In this case, the first bit grouping unit 421 may approximate and use the scaled min-sum method in a preset range used in the check node of the LDPC code. The calculation of the scaled min-sum method of the set range performed by the first bit grouping unit 421 may calculate the bit LLR value for each bit as in Equation 1 described above.

또한 이때, 제1비트 그룹핑부(421)는 비트 단위의 LLR 값 결정 전에 패리티 검사를 통해 복호 성공 여부를 검사할 수 있다. 패리티 검사를 통해 복호된 정보에 오류가 존재하지 않는 경우 인터리빙된 데이터를 복호 결과로 출력할 수 있다. 복호 결과에 대한 패리티 오류 검사는 내부 복호기(420)와 외부 복호기(410)간 반복 복호가 이루어질 때마다 매번 이루어질 수 있다.Also, at this time, the first bit grouping unit 421 may check whether decoding is successful through a parity check before determining the LLR value in units of bits. When there is no error in the information decoded through the parity check, interleaved data may be output as a decoding result. The parity error check for the decoding result may be performed every time iterative decoding is performed between the inner decoder 420 and the outer decoder 410 .

LLR 심볼 선택부(422)는 이처럼 계산된 비트 LLR 값을 이용하여 비트 LLR의 부호를 계산한다. LLR 심볼 선택부(422)에서 수행하는 비트 LLR의 부호 계산은 하기 <수학식 3>과 같은 방법으로 수행할 수 있다. The LLR symbol selector 422 calculates the sign of the bit LLR using the calculated bit LLR value. The sign calculation of the bit LLR performed by the LLR symbol selector 422 may be performed as in Equation 3 below.

Figure 112014087072104-pat00003
Figure 112014087072104-pat00003

<수학식 3>에서 pr은 확률 값을 의미하고, ai는 i번째 비트를 의미한다. 따라서 <수학식 3>과 같이 비트 LLR 값의 부호를 계산을 통해 i번째 비트에서 "0"일 확률과 "1"일 확률 중 어느 확률 값이 더 큰지를 확인할 수 있다.In <Equation 3>, pr denotes a probability value, and a i denotes the i-th bit. Therefore, as in <Equation 3>, it is possible to determine which probability value is greater among the probability of being "0" and the probability of being "1" in the i-th bit by calculating the sign of the bit LLR value.

제1비트 그룹핑부(421)에서는 특정한 수의 비트 단위로 그룹핑이 이루어지며, 이는 앞서 설명한 바와 같이 부호율에 따라 결정된다. 가령 변조 차수가 5차인 경우 5비트 단위가 하나의 LLR 심볼에 매핑된다. 따라서 하나의 LLR 심볼 단위는 5비트가 될 수 있다.In the first bit grouping unit 421, grouping is performed in units of a specific number of bits, which is determined according to a code rate as described above. For example, when the modulation order is the fifth order, a 5-bit unit is mapped to one LLR symbol. Therefore, one LLR symbol unit may be 5 bits.

LLR 심볼 선택부(422)는 이처럼 LLR 심볼 단위로 그룹핑된 비트들 각각에 대하여 최대 값을 갖는 인덱스를 선택할 수 있다. 변조 차수를 5차인 경우를 가정하면, 5비트 단위로 그룹핑된 각 비트 LLR 값들은 하기 <수학식 4>에 예시한 바와 같이 부호가 결정될 수 있다.The LLR symbol selector 422 may select an index having a maximum value for each of the bits grouped in LLR symbol units as described above. Assuming that the modulation order is the fifth order, the sign of each bit LLR value grouped in units of 5 bits may be determined as illustrated in Equation 4 below.

Figure 112014087072104-pat00004
Figure 112014087072104-pat00004

가령, <수학식 4>에 예시한 값이 최대 값을 갖는 경우로 가정하면, <수학식 4>의 인덱스 값은 각 비트들로부터 계산된 값이 될 수 있다. 예컨대, a0=0이고, a1=1이고, a2=1이고, a3=0이고, a4=0이 될 수 있다. 따라서 (a4,a3,a2,a1,a0)로 구성된 인덱스는 "00110"의 값을 의미하므로, 인덱스 6이 최대 값을 갖는 심볼 LLR 값이 된다.For example, assuming that the value exemplified in <Equation 4> has the maximum value, the index value of <Equation 4> may be a value calculated from each bit. For example, a 0 =0, a 1 =1, a 2 =1, a 3 =0, a 4 =0. Accordingly, since the index composed of (a 4 ,a 3 ,a 2 ,a 1 ,a 0 ) means a value of “00110”, index 6 becomes the symbol LLR value having the maximum value.

LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스 값(Smax)을 메모리(미도시)에 저장할 수 있다. 또한 최대 값을 갖는 인덱스에서 가능한 적은 비트를 필립(Flip)한 인덱스의 심볼 LLR 값이 큰 값을 가질 확률이 높게 된다. 따라서 LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스 값에서 일부 비트를 플립(Flip)하여 BCJR 알고리즘에서 사용할 LLR 심볼들을 선택할 수 있다.The LLR symbol selector 422 may store the index value S max having the maximum value in a memory (not shown). In addition, the probability that the symbol LLR value of the index having as few bits as possible flipped from the index having the maximum value has a large value is increased. Accordingly, the LLR symbol selector 422 may select LLR symbols to be used in the BCJR algorithm by flipping some bits in the index value having the maximum value.

LLR 심볼 선택부(422)는 미리 결정된 수만큼의 LLR 심볼 단위가 되는 그룹핑된 비트열들을 출력해야 한다. 따라서 LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스에서 한 비트만 플립한 또는 두 비트까지 플립한 그룹핑된 비트열들을 출력할 수 있다.The LLR symbol selector 422 should output a predetermined number of grouped bit streams that are LLR symbol units. Accordingly, the LLR symbol selector 422 may output grouped bit streams in which only one bit is flipped or up to two bits are flipped in the index having the maximum value.

그러면 LLR 심볼 변환부(423)는 수신된 비트 LLR 값을 심볼 LLR로 변환하여 BJCR 처리부(424)로 출력할 수 있다.Then, the LLR symbol conversion unit 423 may convert the received bit LLR value into a symbol LLR and output the converted bit LLR value to the BJCR processing unit 424 .

BJCR 처리부(424)는 LLR 심볼 선택부(422)에서 선택된 심볼들이 LLR 심볼 변환부(423)에서 변환된 LLR 심볼들을 수신하여 BJCR 알고리즘 처리를 수행한다. BJCR 알고리즘은 앞서 설명한 도 2에서 이미 설명하였으며, 그 밖의 동작에 대하여는 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다. 이처럼 BJCR 처리부(424)로 입력되는 메시지는 전체 심볼 LLR 벡터(Vector) 메시지 중 선택된 소정 개수만 입력되므로, BCJR 처리부(424)에서 계산 복잡도를 감소시킬 수 있다.The BJCR processing unit 424 receives the LLR symbols in which the symbols selected by the LLR symbol selection unit 422 are converted by the LLR symbol converting unit 423 and performs BJCR algorithm processing. The BJCR algorithm has already been described with reference to FIG. 2 described above, and since it is a well-known algorithm for other operations, detailed operation descriptions will be omitted here. As such, since only a predetermined number of messages input to the BJCR processing unit 424 is inputted from among all symbol LLR vector messages, calculation complexity in the BCJR processing unit 424 can be reduced.

이후 비트 LLR 계산부(425) 및 제2비트 그룹핑부(426)에서의 동작은 앞에서 이미 설명하였으므로, 생략하기로 한다. 또한 외부 복호기(410)과 내부 복호기(420)간의 반복 복호는 복호에 성공할 때까지 또는 미리 설정된 반복 복호 횟수만큼 이루어질 수 있다.Since the operations of the bit LLR calculation unit 425 and the second bit grouping unit 426 have already been described above, they will be omitted. In addition, iterative decoding between the external decoder 410 and the internal decoder 420 may be performed until the decoding succeeds or as many as a preset number of iterative decoding.

도 5는 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.5 is a conceptual diagram for explaining a method of truncating a symbol LLR message in an FQAM scheme according to an embodiment of the present invention.

도 5를 참조하면, 그룹핑된 비트 LLR 메시지들(500, 501, 502, 503, 504)은 앞서 설명한 <수학식 1>에서와 같은 형태가 된다. 도 5에 예시한 비트 LLR 메시지들은 5개 비트의 LLR 메시지들이 하나의 그룹으로 구성된 경우를 예시하고 있다. 하지만, 5개 이상의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있고, 5개 미만의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있다. 이처럼 비트 LLR 메시지들이 하나의 그룹으로 구성되는 단위는 부호율에 따라 결정될 수 있다.Referring to FIG. 5 , the grouped bit LLR messages 500 , 501 , 502 , 503 , and 504 have the same form as in Equation 1 described above. The bit LLR messages illustrated in FIG. 5 exemplify a case in which 5 bit LLR messages are configured as one group. However, 5 or more bit LLR messages may be configured in one group, and less than 5 bit LLR messages may be configured in one group. As such, a unit in which bit LLR messages are configured as one group may be determined according to a code rate.

도 5에 예시한 바와 같이 각각의 비트 LLR 메시지에서 각 비트 LLR 메시지마다 비트 LLR의 부호 값들(510, 511, 512, 513, 514)을 추출할 수 있다. 이처럼 추출된 부호 값들에 대하여 참조부호 520과 같이 심볼 LLR 값 중 최대 값을 갖는 인덱스(S 값)를 계산할 수 있다. 이후 참조부호 530과 같이 계산할 심볼 LLR의 인덱스를 결정하고, 참조부호 540과 같이 결정된 인덱스에 해당하는 심볼 LLR 값만을 계산할 수 있다. 결정된 인덱스에 해당하는 심볼 LLR 값들은 참조부호 550a, 550b, 550c와 같이 예시할 수 있다.As illustrated in FIG. 5 , sign values 510 , 511 , 512 , 513 , and 514 of the bit LLR may be extracted for each bit LLR message from each bit LLR message. An index (S value) having a maximum value among symbol LLR values as indicated by reference numeral 520 may be calculated for the extracted code values. Thereafter, an index of a symbol LLR to be calculated is determined as shown in reference numeral 530, and only a symbol LLR value corresponding to the determined index can be calculated as shown in reference numeral 540. Symbol LLR values corresponding to the determined index may be exemplified by reference numerals 550a, 550b, and 550c.

이상에서 설명한 도 4 및 도 5의 동작을 예를 들어 살펴보기로 하자.Let us take an example of the operation of Figs. 4 and 5 described above.

변조 차수(q)가 32이고, 미리 결정된 선택할 메시지의 개수(nm)가 20개인 경우를 가정하자. 그러면 변조 차수가 32인 경우는 2진 부호로 계산하면 승수가 5(25)이므로, 5개의 비트 LLR 값을 갖게 된다. 이때, 각 비트 LLR 값들이 앞서 설명한 <수학식 4>에 예시한 바와 같이 부호가 결정된다고 가정하자.Assume that the modulation order q is 32 and the predetermined number of messages to be selected (n m ) is 20. Then, when the modulation order is 32, the multiplier is 5 (2 5 ) when calculated in binary code, so it has a 5-bit LLR value. In this case, it is assumed that the sign of each bit LLR value is determined as exemplified in Equation 4 described above.

앞서 설명한 바와 같이 <수학식 4>에 예시한 바와 같이 부호를 갖는 경우 최대 값을 갖는 조합을 선택해야 하며, <수학식 4>에 따르면, 인덱스 값은 "00110"의 값이 될 수 있다.As described above, when having a sign as exemplified in <Equation 4>, a combination having a maximum value should be selected, and according to <Equation 4>, the index value may be a value of “00110”.

이때, 필요한 수만큼 인덱스를 생성해야 하므로, 해당하는 심볼 인덱스에서 한 비트, 두 비트, 세 비트, 네 비트 및 다섯 비트 모두를 플립(Flip)하는 인덱스들을 생성할 수 있다. 이처럼 각 비트별로 플립된 인덱스들은 하기 <표 1>과 같이 예시할 수 있다.In this case, since it is necessary to generate the required number of indexes, it is possible to generate indexes that flip all one bit, two bits, three bits, four bits, and five bits in the corresponding symbol index. As such, the indexes flipped for each bit can be exemplified as shown in Table 1 below.

Figure 112014087072104-pat00005
Figure 112014087072104-pat00005

<표 1>에 예시한 바와 같이 최대 값을 갖는 심볼 LLR의 인덱스에서 1비트 플립(Flip)된 인덱스부터 5비트 모두 플립(Flip)된 인덱스까지를 생성한 후 최대 값을 갖는 심볼 LLR의 인덱스부터 적게 플립된 값부터 차례로 nm개의 인덱스를 선택할 수 있다. 위 <표 1>에서 1비트 플립된 인덱스에 대하여 살펴보기로 하자.As exemplified in <Table 1>, from the index of the symbol LLR having the maximum value, from the index of the symbol LLR having the maximum value, from the index of the symbol LLR having the maximum value after generating from the index that is flipped by 1 bit to the index where all of the 5 bits are flipped We can select n m indices sequentially from the least flipped value. Let's take a look at the 1-bit flipped index in <Table 1> above.

최대 값을 갖는 인덱스는 "00110"가 된다. 따라서 1비트 플립(Flip)한다는 것은 최대 값을 갖는 인덱스의 각 비트들 중 하나의 비트만 반전시키는 것을 의미한다. 따라서 가장 하위 비트부터 한 비트씩 플립한다면, "00111", "00100", "00010", "01110", "10110"의 순으로 플립된 비트 그룹들이 표현될 수 있다. <표 1>에서는 이와 같은 순서로 한 비트씩 플립한 경우와 두 비트씩 플립한 경우 등을 표시하고 있다.The index having the maximum value becomes "00110". Therefore, flipping one bit means inverting only one bit of each bit of the index having the maximum value. Accordingly, if the least significant bit is flipped one bit at a time, the flipped bit groups in the order of "00111", "00100", "00010", "01110", and "10110" may be expressed. <Table 1> shows a case in which each bit is flipped and a case in which each bit is flipped in this order.

앞서 예시한 바에서는 nm개는 20개로 설정하였으므로, 1비트 플립된 인덱스들은 전체 개수가 5개이므로, 설정된 개수를 충족하지 못한다. 따라서 2비트 블립된 인덱스들을 추가로 고려해야 한다. 2비트 플립된 인덱스 전체의 개수는 10개이므로, 최대 값을 갖는 인덱스와 1비트 플립된 인덱스들 및 2비트 플립된 인덱스들 모두를 선택하더라도 전체 16개의 그룹만 선택할 수 있다. 따라서 추가로 3비트 플립된 인덱스들 중 4개를 추가 선택해야 한다.In the above example, since n m is set to 20, the total number of 1-bit flipped indexes is 5, and thus does not satisfy the set number. Therefore, two-bit blipped indexes must be additionally considered. Since the total number of 2-bit flipped indexes is 10, even if all of the index having the maximum value, 1-bit flipped indexes, and 2-bit flipped indexes are all selected, only 16 groups in total can be selected. Therefore, it is necessary to additionally select 4 additional 3-bit flipped indexes.

그런데, <표 1>에서 알 수 있는 바와 같이 3비트 플립된 인덱스들은 10개이다. 따라서 3비트 플립된 인덱스들에서 <표 1>과 같이 나열된 순서대로 4개를 추가한다면, <표 1>의 3비트 플립된 인덱스들 중 "01000"까지의 인덱스가 선택될 수 있다.However, as can be seen from <Table 1>, there are 10 3-bit flipped indexes. Therefore, if four are added in the order listed in <Table 1> in the 3-bit flipped indexes, indexes up to "01000" among the 3-bit flipped indexes of <Table 1> may be selected.

이때, 같은 수의 비트를 플립(flip)한 심볼 인덱스 값 중 일부를 선택하는 방법에 대하여 살펴보기로 하자.In this case, a method of selecting some of the symbol index values obtained by flipping the same number of bits will be described.

첫째, 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 필요한 수만큼 랜덤(random)하게 선택할 수 있다.First, a necessary number may be randomly selected from among all target symbol indices in which the same number of bits is flipped.

둘째, m개의 비트 LLR 값의 절대값을 서로 비교하여 가장 큰 값을 갖는 비트를 구한다. 만약 i번째 비트의 LLR 절대값이 가장 크다면 같은 수의 비트를 플립한 전체 심볼 인덱스들 중 i번째 비트를 플립하지 않은 것부터 차례대로 선택할 수 있다.Second, the bit having the largest value is obtained by comparing the absolute values of the LLR values of m bits. If the absolute value of the LLR of the i-th bit is the largest, the i-th bit may be sequentially selected from among all symbol indices in which the same number of bits is flipped.

셋째, m개의 비트 LLR 값의 절대값을 크기 순서대로 정렬한다. 같은 수의 비트를 플립한 전체 심볼 인덱스들 중에서 절대값이 작은 값들이 플립된 심볼 인덱스부터 먼저 선택할 수 있다.Third, the absolute values of the m bit LLR values are arranged in order of magnitude. Among all symbol indices in which the same number of bits is flipped, values having a smaller absolute value may be selected first from the flipped symbol index.

이상에서 설명한 3가지 방법 중에서 첫 번째의 복잡도가 가장 낮고 두 번째의 및 세 번째 순으로 복잡도가 높다. 또한 3가지 방식에 대한 복호 성능은 거의 차이가 나지 않는다.Among the three methods described above, the first has the lowest complexity, and the second and third methods have the highest complexity. Also, there is little difference in decoding performance for the three methods.

이후 심볼 LLR을 계산하는 동작에서는 각 비트의 LLR 값으로, 앞서 선택된 인덱스들에 해당하는 심볼 LLR 값만을 계산할 수 있다. 이를 예를 들면, 하기 <표 2>와 같이 계산된다.Thereafter, in the operation of calculating the symbol LLR, only the symbol LLR value corresponding to the previously selected indices may be calculated using the LLR value of each bit. For example, it is calculated as shown in Table 2 below.

Figure 112014087072104-pat00006
Figure 112014087072104-pat00006

<표 2>에서와 같이 선택한 인덱스 값과 심볼 LLR 값을 모두 계산하여 저장할 수 있다. 이처럼 계산된 심볼 LLR 값은 이후 BCJR 알고리즘을 통해 연산이 이루어질 수 있다.As shown in <Table 2>, both the selected index value and the symbol LLR value can be calculated and stored. The calculated symbol LLR value may then be calculated through the BCJR algorithm.

도 6은 본 발명의 일 실시 예에 따른 복호기에서 심볼의 복호 동작 시의 제어 흐름도이다. 도 6을 설명함에 있어, 도 4의 블록 구성을 이용하여 설명하기로 한다.6 is a control flowchart of a symbol decoding operation in a decoder according to an embodiment of the present invention. In the description of FIG. 6 , it will be described using the block configuration of FIG. 4 .

도 6을 참조하면, 송신기에서 전송되어 온 신호를 수신한 수신기는 이를 복조할 수 있다. 내부 복호기(420)의 BCJR 처리부(424)는 600단계에서 복조기로부터 복조된 신호를 수신한다. 이후 BCJR 처리부(424)는 602단계에서 비이진 BCJR 알고리즘을 수행한다. 비이진 BCJR 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세히 설명하지 않기로 한다.Referring to FIG. 6 , a receiver receiving a signal transmitted from a transmitter may demodulate it. The BCJR processing unit 424 of the internal decoder 420 receives a demodulated signal from the demodulator in step 600 . Thereafter, the BCJR processing unit 424 performs a non-binary BCJR algorithm in step 602 . Since the non-binary BCJR algorithm is a well-known algorithm, it will not be described in detail here.

BCJR 처리부(424)에서 비이진 BCJR 알고리즘 처리된 데이터는 비트 LLR 계산부(425)로 입력되어 604단계에서 후처리(posteriori) LLR 메시지 계산을 수행한다. 이후 제2비트 그룹핑부(426)는 606단계에서 비트 LLR 계산부(425)의 출력을 이용하여 소정의 비트 단위로 그룹핑을 수행한다. The non-binary BCJR algorithm-processed data in the BCJR processing unit 424 is input to the bit LLR calculation unit 425 to perform post-processing (posteriori) LLR message calculation in step 604 . Thereafter, the second bit grouping unit 426 performs grouping in a predetermined bit unit using the output of the bit LLR calculation unit 425 in step 606 .

제2비트 그룹핑부(426)에서 그룹핑된 데이터는 디인터리부(402)로 입력된다. 디인터리버(402)는 608단계에서 비트 단위로 디인터리빙을 수행하고, 디인터리빙된 비트열을 외부 복호기(410)로 출력한다. 이때, 디인터리빙은 앞서 설명한 바와 같이 송신 장치에서 수행한 인터리빙 방식의 역과정 또는 인터리버(401)에서 인터리빙된 방식의 역과정이 될 수 있다.Data grouped by the second bit grouping unit 426 is input to the deinterleaving unit 402 . The deinterleaver 402 deinterleaves bit by bit in step 608 and outputs the deinterleaved bit string to the external decoder 410 . In this case, the deinterleaving may be the reverse process of the interleaving method performed by the transmitting apparatus or the reverse process of the interleaving method performed by the interleaver 401 as described above.

외부 복호기(410)의 메시지 노드 계산부(411)는 610단계에서 메시지 노드 계산을 수행하고, 인터리버(201)로 계산된 결과를 출력한다. 인터리버(401)는 612단계에서 인터리빙을 수행한다. 인터리버(401)에서 인터리빙하는 방식은 앞서 설명한 바와 같이 송신 장치에서 인터리빙한 방식과 동일한 방식으로 이루어질 수 있다.The message node calculator 411 of the external decoder 410 calculates the message node in step 610 and outputs the calculated result to the interleaver 201 . The interleaver 401 performs interleaving in step 612 . The interleaving method in the interleaver 401 may be performed in the same manner as the interleaving method in the transmitting apparatus as described above.

인터리버(401)에서 인터리빙된 비트열은 내부 복호기(420)로 입력된다. 내부 복호기(420)의 제1비트 그룹핑부(421)는 소정 단위의 비트들을 그룹핑할 수 있으며, 그룹핑하는 단위는 부호율에 따라 결정될 수 있다. 가령, 앞에서 설명한 바와 같이 5비트 단위가 될 수 있다.The bit string interleaved by the interleaver 401 is input to the internal decoder 420 . The first bit grouping unit 421 of the internal decoder 420 may group bits of a predetermined unit, and the grouping unit may be determined according to a code rate. For example, as described above, it may be in units of 5 bits.

이후 제1비트 그룹핑부(421)는 616단계에서 그룹핑된 데이터들을 이용하여 패리티 검사를 수행할 수 있다. 제1비트 그룹핑부(421)에서 그룹핑된 데이터를 이용하여 패리티 검사를 수행한 결과 복호 성공인 경우 618단계로 진행하여 복호 결과를 출력한다.Thereafter, the first bit grouping unit 421 may perform a parity check using the grouped data in step 616 . If the first bit grouping unit 421 performs the parity check using the grouped data and the decoding is successful, the process proceeds to step 618 and outputs the decoding result.

반면에 제1비트 그룹핑부(421)에서 그룹핑된 데이터를 이용하여 패리티 검사를 수행한 결과 복호 실패인 경우 620단계로 진행한다. 복호에 실패한 경우 LLR 심볼 변환부(422)는 620단계에서 비트 LLR 메시지를 미리 결정된 단위 가령 m개의 단위로 구분하여 부호를 판정하고, 최대 심볼 LLR 값을 갖는 인덱스를 계산한다. 이후 LLR 심볼 변환부(422)는 622단계에서 최대 심볼 LLR 값을 갖는 인덱스를 플리핑 방법을 이용하여 BCJR 알고리즘에서 사용할 nm개의 인덱스를 계산할 수 있다. 이는 앞서 <표 2>를 통해 살펴본 방법들을 이용할 수 있다.On the other hand, if the first bit grouping unit 421 performs a parity check using the grouped data and the decoding fails, the process proceeds to step 620 . If the decoding fails, the LLR symbol converter 422 divides the bit LLR message into predetermined units, for example, m units, determines a sign, and calculates an index having the maximum symbol LLR value in step 620 . Thereafter, the LLR symbol converter 422 may calculate n m indices to be used in the BCJR algorithm by using the flipping method of the index having the maximum symbol LLR value in step 622 . This can be done using the methods discussed in Table 2 above.

이후 도 6에 도시하지 않았으나, LLR 심볼 변환부(423)는 선택된 nm개의 인덱스에 대응한 LLR 값을 LLR 심볼로 변환하여 BCJR 처리부(424)로 출력할 수 있다.Thereafter, although not shown in FIG. 6 , the LLR symbol conversion unit 423 may convert LLR values corresponding to the selected n m indexes into LLR symbols and output the LLR values to the BCJR processing unit 424 .

이상에서 설명한 방식을 복잡도에 대하여 예를 통해 살펴보기로 하자.Let's take a look at the method described above with respect to complexity through an example.

변조 차수(q)를 32로 가정하고, 선택할 메시지(nm)를 20개로 가정하며, 정보 비트의 수(Information bits)를 960비트로 가정하자. 또한 부호율(Code rate)을 1/3로 가정하자.It is assumed that the modulation order (q) is 32, the number of messages (n m ) to be selected is 20, and the number of information bits is 960 bits. Also, assume that the code rate is 1/3.

이때, 제1실시 예에 따른 도 2 및 도 3의 방식인 최대 값을 갖는 정렬(Sorting)을 방식을 이용하여 심볼 LLR 벡터의 메시지를 20개 선택하는 경우를 살펴보자.In this case, a case in which 20 messages of a symbol LLR vector are selected using the method of sorting with a maximum value, which is the method of FIGS. 2 and 3 according to the first embodiment, will be described.

선택할 메시지(nm)가 20개를 선택하는 경우 메시지 선택으로 인하여 감소하는 계산량은 기존 알고리즘 연산량의 약 23.7%가 감소한다. 또한 정렬(Sorting)의 사용으로 인하여 추가적으로 발생하는 계산량은 기존 알고리즘 연산량의 약 31.6% 증가한다. 따라서 선택할 메시지가 20개인 경우 기존 알고리즘 대비 약 7.9% 복잡도 증가하게 된다. 이처럼 복잡도가 증가하는 이유는 정렬로 인한 연산이 추가적으로 필요하기 때문이다.When 20 messages to select (n m ) are selected, the amount of computation that is reduced due to message selection is reduced by about 23.7% of that of the existing algorithm. In addition, the amount of computation additionally generated due to the use of sorting increases by about 31.6% of that of the existing algorithm. Therefore, when there are 20 messages to select, the complexity increases by about 7.9% compared to the existing algorithm. The reason for this increase in complexity is that an additional operation due to sorting is required.

다음으로, 제2실시 예인 도 4 내지 도 6에서 설명한 심볼 LLR만을 선택하여 계산하는 방식을 적용하는 경우에 대하여 살펴보기로 한다.Next, a case in which the method of selecting and calculating only the symbol LLR described with reference to FIGS. 4 to 6, which is the second embodiment, is applied will be described.

제2실시 예의 경우 선택하는 개수의 감소로 인하여 기존 알고리즘 대비 연산량은 약 33.1% 감소한다. 또한 심볼 LLR 계산 인덱스를 선택하기 위하여 추가적으로 발생하는 계산량은 기존 알고리즘 연산량 대비 약 2.5% 증가한다. 따라서 전체적으로 볼 때, 기존 알고리즘 대비 약 30.6% 복잡도가 감소한다. 따라서 제2실시 예를 적용하면, 기존 복호기 대비 복호기의 복잡도를 개선할 수 있음을 확인할 수 있다.In the case of the second embodiment, the amount of computation is reduced by about 33.1% compared to the existing algorithm due to the decrease in the number to be selected. In addition, the amount of computation additionally generated to select the symbol LLR computation index increases by about 2.5% compared to the computation amount of the existing algorithm. Therefore, overall, the complexity is reduced by about 30.6% compared to the existing algorithm. Therefore, it can be confirmed that, when the second embodiment is applied, the complexity of the decoder can be improved compared to the existing decoder.

도 7a 및 도 7b는 본 발명에 따른 실시예들과 기존 복호기를 사용하는 경우의 성능을 비교 분석한 시뮬레이션 그래프이다.7A and 7B are simulation graphs for comparing and analyzing the performance of the embodiments according to the present invention and the case of using the conventional decoder.

도 7a에서 정보 비트(Information Bit)는 960비트로 설정하였으며, 변조 차수(Modulation Order)를 32차(4FSK+8PSK)로 설정하였고, 도핑 구간(Doping Period)은 30으로 설정하였다. 또한 부호율(Code Rate)은 1/3로 설정하였다. In FIG. 7A, the information bit was set to 960 bits, the modulation order was set to the 32nd order (4FSK+8PSK), and the doping period was set to 30. Also, the code rate was set to 1/3.

도 7a를 참조하면, 기존 복호기는 "△"의 좌표를 가지며, 제1실시 예에 따른 방식은 "○"의 좌표를 가지고, 제2실시 예에 따른 방식은 "□"의 좌표를 갖는다. 제1실시 예와 제2실시 예 모두는 기존의 복호기 대비, 0.1 dB 이내의 성능 손실(loss)이 발생함을 확인할 수 있다. 따라서 두 방식 모두 크게 성능 저하가 발생하지 않는다.Referring to FIG. 7A , the existing decoder has coordinates of “Δ”, the scheme according to the first embodiment has coordinates of “○”, and the scheme according to the second embodiment has coordinates of “□”. It can be seen that in both the first and second embodiments, a performance loss of 0.1 dB or less occurs compared to the conventional decoder. Therefore, there is no significant performance degradation in both methods.

도 7b에서는 정보 비트(Information Bit)는 960비트로 설정하였으며, 변조 차수(Modulation Order)는 : 32차(8FSK+4PSK)로 설정하였고, 도핑 구간(Doping Period)은 30으로 설정하였다. 또한 부호율(Code Rate)은 1/3로 설정하였다. In FIG. 7b, the information bit was set to 960 bits, the modulation order was set to: 32 order (8FSK+4PSK), and the doping period was set to 30. Also, the code rate was set to 1/3.

도 7b를 참조하면, 기존 복호기는 "△"의 좌표를 가지며, 제1실시 예에 따른 방식은 "○"의 좌표를 가지고, 제2실시 예에 따른 방식은 "□"의 좌표를 갖는다. 제1실시 예를 이용한 방법은 기존 복호기를 사용하는 경우 대비 약 0.3 dB의 손실이 발생하며, 제2실시 예를 사용하는 방법은 약 0.2 dB의 손실이 발생함을 알 수 있다. 따라서 제2실시 예를 적용하는 경우가 제1실시 예를 적용하는 경우보다 성능 열화가 적음을 알 수 있다.Referring to FIG. 7B , the existing decoder has coordinates of “Δ”, the scheme according to the first embodiment has coordinates of “○”, and the scheme according to the second embodiment has coordinates of “□”. It can be seen that the method using the first embodiment causes a loss of about 0.3 dB compared to the case of using the conventional decoder, and the method using the second embodiment causes a loss of about 0.2 dB. Therefore, it can be seen that the performance degradation is less when the second embodiment is applied than when the first embodiment is applied.

이상에서 설명한 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The embodiments disclosed in the present specification and drawings described above are merely provided as specific examples to easily explain the contents of the present invention and help understanding, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed as including all changes or modifications derived based on the technical spirit of the present invention in addition to the embodiments disclosed herein are included in the scope of the present invention.

201, 401 : 인터리버 202, 402 : 디인터리버
210, 410 : 외보 복호기 220, 420 : 내부 복호기
211, 411 : 메시지 노드 계산부 221, 421 : 제1비트 그룹핑부
222, 423 : LLR 심볼 변환부 223 : LLR 심볼 절단부
224, 424 : BCJR 처리부 225, 425 : 비트 LLR 계산부
226, 426 : 제2비트 그룹핑부 422 : LLR 심볼 인덱스 변환부
201, 401: interleaver 202, 402: deinterleaver
210, 410: external decoder 220, 420: internal decoder
211, 411: message node calculation unit 221, 421: first bit grouping unit
222, 423: LLR symbol conversion unit 223: LLR symbol cutting unit
224, 424: BCJR processing unit 225, 425: bit LLR calculation unit
226, 426: second bit grouping unit 422: LLR symbol index conversion unit

Claims (20)

이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 외부 복호기와 내부 복호기를 갖는 수신기 장치에서 수신된 신호를 복호하기 위한 상기 내부 복호기에 있어서,
상기 수신된 신호를 각 부호 심볼(code symbol)의 후처리(posteriori) 로그 우도율(Log Likelihood Ratio, LLR) 값이 되도록 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하거나 또는 LLR 심볼 변환부의 출력을 수신하여 BCJR 연산하는 BCJR 처리부;
상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부;
상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하여 상기 외부 복호기로 출력하는 제2비트 그룹핑부;
상기 외부 복호기로부터 수신된 비트 LLR 메시지의 비트열을 상기 수신기 장치에서 수신된 신호의 변조 차수에 따른 개수의 비트들로 그룹핑하여 LLR 심볼들로 변환하고, 상기 변환된 LLR 심볼의 패리티 검사를 수행하여 복호 성공 여부를 결정하며, 복호 실패 시 상기 각 LLR 심볼을 구성하는 각 비트들의 비트 LLR 값들을 결정하는 제1그룹핑부;
상기 제1그룹핑부에서 복호 실패 시 상기 수신된 각 LLR 심볼마다 LLR 심볼을 구성하는 각 비트들의 비트 LLR 값들 각각에 대하여 상기 각 비트 LLR 값이 “0”일 확률 대 “1”일 확률의 비를 이용하여 상기 각 비트 LLR 값의 부호를 결정하고, 상기 각 LLR 심볼의 각 비트들마다 상기 결정된 비트 LLR 값의 부호를 이용하여 상기 각 LLR 심볼의 인덱스를 계산하고, 상기 계산된 LLR 심볼 인덱스를 이용하여 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택하여 출력하는 LLR 심볼 선택부; 및
상기 LLR 심볼 선택부에서 출력된 비트 LLR 값을 심볼 LLR 값으로 변환하여 상기 BCJR 처리부로 출력하는 상기 LLR 심볼 변환부;를 포함하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
In the internal decoder for decoding a signal received in a receiver device having an external decoder and an internal decoder in a system using a binary non-canonical repeating partial accumulation code, the internal decoder comprising:
BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm calculation so that the received signal becomes a post-processing Log Likelihood Ratio (LLR) value of each code symbol or the output of the LLR symbol converter BCJR processing unit for receiving and calculating BCJR;
a bit LLR calculation unit converting the output of the BCJR processing unit into a bit LLR value;
a second bit grouping unit for grouping the bit LLR values in a predetermined bit unit and outputting them to the external decoder;
By grouping the bit string of the bit LLR message received from the external decoder into LLR symbols by grouping the number of bits according to the modulation order of the signal received at the receiver device, parity check of the converted LLR symbol is performed, a first grouping unit for determining whether decoding succeeds, and for determining bit LLR values of bits constituting each LLR symbol when decoding fails;
When decoding fails in the first grouping unit, for each of the bit LLR values of each bit constituting the LLR symbol for each received LLR symbol, the ratio of the probability that the LLR value of each bit is “0” to the probability that the LLR value is “1” to determine the sign of each bit LLR value, calculate the index of each LLR symbol by using the sign of the determined bit LLR value for each bit of each LLR symbol, and use the calculated LLR symbol index an LLR symbol selector for selecting and outputting bit LLR values so as to be a predetermined number of LLR symbols; and
The LLR symbol conversion unit for converting the bit LLR value output from the LLR symbol selection unit into a symbol LLR value and outputting the converted bit LLR value to the BCJR processing unit. A receiver device having an external decoder and an internal decoder for
제1항에 있어서, 상기 LLR 심볼 선택부는,
상기 계산된 LLR 심볼의 인덱스가 미리 설정된 개수의 인덱스들이 될 때까지 상기 계산된 LLR 심볼 인덱스를 한 비트씩 플립(Flip)하여 플립된 인덱스들을 생성하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
The method of claim 1, wherein the LLR symbol selector,
In a system using a binary non-regular repeating partial accumulation code, which generates flipped indexes by flipping the calculated LLR symbol index bit by bit until the calculated index of the LLR symbol becomes a preset number of indexes. A receiver device having an external decoder and an internal decoder for decoding a received signal.
제2항에 있어서, 상기 LLR 심볼 선택부는,
상기 생성된 인덱스들 중 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 미리 결정된 개수의 LLR 심볼이 되도록 상기 비트 LLR 값들을 선택 시에, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수의 비트를 플립한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들에서 상기 미리 결정된 개수를 만족하도록 필요한 수만큼 랜덤(random)하게 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
The method of claim 2, wherein the LLR symbol selector,
There are two or more flipped indexes generated by flipping the same number of bits among the generated indices, and when selecting the bit LLR values to become the predetermined number of LLR symbols, the same number of bits is flipped to When the predetermined number is satisfied when only a part of the flipped index is output among the generated flipped indices, the predetermined number in each of the flipped index bits of all the flipped indexes in which the same number of bits is flipped A receiver apparatus having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-regular repeating partial accumulation code, which is randomly selected as many as necessary to satisfy .
제2항에 있어서, 상기 LLR 심볼 선택부는,
상기 생성된 인덱스들 중 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 미리 결정된 개수의 LLR 심볼이 되도록 상기 비트 LLR 값들을 선택 시에, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수를 플립한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들 중에서 상기 각 LLR 심볼에 대하여 상기 LLR 심볼을 구성하는 비트 LLR 값들의 절대값이 큰 값을 갖는 상기 LLR 심볼들을 정렬하고, 상기 절대값이 큰 값을 갖는 상기 LLR 심볼에 대응한 상기 플립된 인덱스들부터 절대값이 작은 LLR 심볼들 순으로 상기 미리 결정된 개수의 LLR 심볼을 만족할 때까지 상기 플립된 인덱스들을 차례로 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
The method of claim 2, wherein the LLR symbol selector,
There are two or more flipped indexes generated by flipping the same number of bits among the generated indices, and when selecting the bit LLR values to become the predetermined number of LLR symbols, the same number of bits is flipped to When the predetermined number is satisfied when only a part of the flipped index is output among the generated flipped indexes, for each LLR symbol from among all the flipped index bits of all the flipped indexes flipping the same number The LLR symbols having the large absolute value of the bit LLR values constituting the LLR symbol are aligned, and the LLR symbol having the smallest absolute value from the flipped indices corresponding to the LLR symbol having the large absolute value. A receiver apparatus having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-canonical iterative partial accumulation code, which sequentially selects the flipped indexes in order until the predetermined number of LLR symbols are satisfied .
제2항에 있어서, 상기 LLR 심볼 선택부는,
상기 생성된 인덱스들 중 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 미리 결정된 개수의 LLR 심볼이 되도록 상기 비트 LLR 값들을 선택 시에, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수를 플립하여 생성한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들에서 상기 각 LLR 심볼에 대하여 상기 LLR 심볼을 구성하는 비트 LLR 값들의 절대값이 작은 값을 갖는 상기 LLR 심볼들을 정렬하고, 상기 절대값이 작은 값을 갖는 상기 LLR 심볼에 대응한 상기 플립된 인덱스들부터 절대값이 큰 LLR 심볼들 순으로 상기 미리 결정된 개수의 LLR 심볼을 만족할 때까지 상기 플립된 인덱스들을 차례로 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
The method of claim 2, wherein the LLR symbol selector,
There are two or more flipped indexes generated by flipping the same number of bits among the generated indices, and when selecting the bit LLR values to become the predetermined number of LLR symbols, the same number of bits is flipped to When the predetermined number is satisfied when only a part of the flipped index is output among the generated flipped indexes, each LLR symbol in each of the flipped index bits of all the flipped indexes generated by flipping the same number sorts the LLR symbols having a small absolute value of bit LLR values constituting the LLR symbol with respect to , and from the flipped indices corresponding to the LLR symbol having a small absolute value, the absolute value is large. Having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-canonical repeating partial accumulation code that sequentially selects the flipped indices until the predetermined number of LLR symbols are satisfied in the order of LLR symbols receiver device.
제1항에 있어서,
상기 LLR 심볼 선택부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치.
According to claim 1,
The predetermined number of bit LLR values output from the LLR symbol selector is determined according to a channel environment, and a receiver having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-regular repeating partial accumulation code. Device.
삭제delete 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 외부 복호기와 내부 복호기를 갖는 수신기 장치에서 수신된 신호를 복호하기 위한 상기 내부 복호기에서의 복호 방법에 있어서,
상기 수신된 신호를 각 부호 심볼(code symbol)의 후처리(posteriori) 로그 우도율(Log Likelihood Ratio, LLR) 값이 되도록 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하거나 또는 LLR 심볼 변환부의 출력을 수신하여 BCJR 연산하는 단계;
상기 BCJR 알고리즘에 의해 연산된 값을 비트 LLR 값으로 변환하는 단계; 및
상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하여 상기 외부 복호기로 제공하는 단계;
상기 외부 복호기로부터 수신된 비트 LLR 메시지의 비트열을 상기 수신기 장치에서 상기 수신된 신호의 변조 차수에 따른 개수의 비트들로 그룹핑하여 LLR 심볼들로 변환하는 단계;
상기 변환된 LLR 심볼의 패리티 검사를 수행하여 복호 성공 여부를 결정하는 단계;
상기 패리티 검사 결과 복호에 실패 시 상기 각 LLR 심볼을 구성하는 각 비트들의 비트 LLR 값들을 결정하는 단계;
상기 복호 실패 시 상기 수신된 각 LLR 심볼마다 LLR 심볼을 구성하는 각 비트들의 비트 LLR 값들 각각에 대하여 상기 각 비트 LLR 값이 “0”일 확률 대 “1”일 확률의 비를 이용하여 상기 각 비트 LLR 값의 부호를 결정하는 단계;
상기 각 LLR 심볼의 각 비트들마다 상기 결정된 비트 LLR 값의 부호를 이용하여 상기 각 LLR 심볼의 인덱스를 계산하는 단계;
상기 계산된 LLR 심볼 인덱스를 이용하여 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택하는 단계;
상기 선택된 비트 LLR 값을 심볼 LLR 값으로 변환하는 단계; 및
상기 변환된 심볼 LLR 값을 반복하여 상기 BCJR 알고리즘 연산하도록 하는 단계;를 포함하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 반복 복호를 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
A decoding method in the inner decoder for decoding a signal received in a receiver device having an outer decoder and an inner decoder in a system using a binary non-regular repeating partial accumulation code, the decoding method comprising:
BCJR (Bahl-Cocke-Jelinek-Raviv) algorithm calculation so that the received signal becomes a post-processing Log Likelihood Ratio (LLR) value of each code symbol or the output of the LLR symbol converter receiving and calculating BCJR;
converting a value calculated by the BCJR algorithm into a bit LLR value; and
grouping the bit LLR values in predetermined bit units and providing them to the external decoder;
converting the bit string of the bit LLR message received from the external decoder into LLR symbols by grouping the bit string into the number of bits according to the modulation order of the received signal at the receiver device;
determining whether decoding succeeds by performing a parity check on the converted LLR symbol;
determining bit LLR values of each bit constituting each LLR symbol when decoding fails as a result of the parity check;
When the decoding fails, for each of the bit LLR values of each bit constituting the LLR symbol for each received LLR symbol, each bit using a ratio of the probability that the LLR value of each bit is “0” to the probability that it is “1” determining the sign of the LLR value;
calculating an index of each LLR symbol by using the sign of the determined bit LLR value for each bit of each LLR symbol;
selecting bit LLR values to be a predetermined number of LLR symbols using the calculated LLR symbol index;
converting the selected bit LLR value into a symbol LLR value; and
Repeating the converted symbol LLR value to perform the BCJR algorithm calculation in the internal decoder of a receiver device having an external decoder and an internal decoder for iterative decoding in a system using a binary non-regular repeating partial accumulation code, including: Decryption method.
제8항에 있어서,
상기 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택할 시 상기 계산된 LLR 심볼 인덱스를 한 비트씩 플립(Flip)하여 상기 미리 결정된 개수를 만족할 때까지 플립된 인덱스들을 생성하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
9. The method of claim 8,
When bit LLR values are selected to be the predetermined number of LLR symbols, the calculated LLR symbol index is flipped bit by bit to generate flipped indexes until the predetermined number is satisfied. A decoding method in an internal decoder of a receiver device having an external decoder and an internal decoder for decoding a signal received in a code-using system.
제9항에 있어서,
상기 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택할 시 상기 계산된 LLR 심볼 인덱스들 중 동일한 개수의 비트들을 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 미리 결정된 개수의 LLR 심볼이 되도록 상기 비트 LLR 값들을 선택 시에, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수의 비트를 플립한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들에서 상기 미리 결정된 개수를 만족하도록 필요한 수만큼 랜덤(random)하게 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
10. The method of claim 9,
When bit LLR values are selected to be the predetermined number of LLR symbols, the flipped index generated by flipping the same number of bits among the calculated LLR symbol indices is two or more, and the predetermined number of LLR symbols When the bit LLR values are selected, only a part of the flipped index among the flipped indexes generated by flipping the same number of bits is output to satisfy the predetermined number of bits in which the same number of bits is flipped External for decoding a signal received in a system using a binary non-normal repeating partial accumulation code, which randomly selects a necessary number to satisfy the predetermined number in each of the flipped index bits of all the flipped indexes A decoding method in an internal decoder of a receiver device having a decoder and an internal decoder.
제9항에 있어서,
상기 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택할 시 상기 계산된 LLR 심볼 인덱스들 중 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수를 플립한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들 중에서 상기 각 LLR 심볼에 대하여 상기 LLR 심볼을 구성하는 비트 LLR 값들의 절대값이 큰 값을 갖는 상기 LLR 심볼들을 정렬하고, 상기 절대값이 큰 값을 갖는 상기 LLR 심볼에 대응한 상기 플립된 인덱스들부터 절대값이 작은 LLR 심볼들 순으로 상기 미리 결정된 개수의 LLR 심볼을 만족할 때까지 상기 플립된 인덱스들을 차례로 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
10. The method of claim 9,
When bit LLR values are selected such that the predetermined number of LLR symbols are selected, the number of the flipped indexes generated by flipping the same number of bits among the calculated LLR symbol indices is two or more, and generated by flipping the same number of bits When the predetermined number is satisfied when only a part of the flipped index from among the flipped indices is output, the same number of flipped index bits among all the flipped index bits of the flipped index is the above for each LLR symbol. The LLR symbols having a large absolute value of bit LLR values constituting the LLR symbol are aligned, and LLR symbols having a small absolute value from the flipped indices corresponding to the LLR symbol having a large absolute value. A receiver device having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-canonical iterative partial accumulation code, which sequentially selects the flipped indices until satisfying the predetermined number of LLR symbols in order Decoding method in internal decoder.
제9항에 있어서,
상기 미리 결정된 개수의 LLR 심볼이 되도록 비트 LLR 값들을 선택할 시 상기 계산된 LLR 심볼의 인덱스들 중 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스가 둘 이상이고, 상기 미리 결정된 개수의 LLR 심볼이 되도록 상기 비트 LLR 값들을 선택 시에, 상기 동일한 개수의 비트를 플립하여 생성한 상기 플립된 인덱스들 중 상기 플립된 인덱스의 일부만 출력해야 상기 미리 결정된 개수를 만족하는 경우 상기 동일한 개수를 플립하여 생성한 상기 플립된 인덱스들 전체의 각 플립된 인덱스 비트들에서 상기 각 LLR 심볼에 대하여 상기 LLR 심볼을 구성하는 비트 LLR 값들의 절대값이 작은 값을 갖는 상기 LLR 심볼들을 정렬하고, 상기 절대 값이 작은 값을 갖는 상기 LLR 심볼에 대응한 상기 플립된 인덱스들부터 절대값이 큰 LLR 심볼들 순으로 상기 미리 결정된 개수의 LLR 심볼을 만족할 때까지 상기 플립된 인덱스들을 차례로 선택하는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
10. The method of claim 9,
When bit LLR values are selected so as to be the predetermined number of LLR symbols, the flipped index generated by flipping the same number of bits among the calculated indices of the LLR symbol is two or more, and the predetermined number of LLR symbols is When the bit LLR values are selected, only a part of the flipped index among the flipped indexes generated by flipping the same number of bits should be output so that the predetermined number is satisfied by flipping the same number In each of the flipped index bits of all the flipped indexes, for each LLR symbol, the LLR symbols having a small absolute value of bit LLR values constituting the LLR symbol are arranged, and the absolute value is small. A binary non-regular repeating partial accumulation code that sequentially selects the flipped indices until the predetermined number of LLR symbols are satisfied in the order of the LLR symbols having the largest absolute value from the flipped indexes corresponding to the LLR symbol having A decoding method in an internal decoder of a receiver device having an external decoder and an internal decoder for decoding a signal received in the system in use.
제8항에 있어서,
상기 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템에서 수신된 신호를 복호하기 위한 외부 복호기와 내부 복호기를 갖는 수신기 장치의 내부 복호기에서의 복호 방법.
9. The method of claim 8,
The predetermined number of bit LLR values is determined according to a channel environment, and decoding in an internal decoder of a receiver device having an external decoder and an internal decoder for decoding a signal received in a system using a binary non-canonical repeating partial accumulation code Way.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020140121920A 2014-09-15 2014-09-15 Method and apparatus for decoding in a system using binary serial concatenated code KR102277758B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140121920A KR102277758B1 (en) 2014-09-15 2014-09-15 Method and apparatus for decoding in a system using binary serial concatenated code
US15/511,615 US10355820B2 (en) 2014-09-15 2015-09-15 Decoding method and apparatus in system using sequentially connected binary codes
PCT/KR2015/009686 WO2016043509A1 (en) 2014-09-15 2015-09-15 Decoding method and apparatus in system using sequentially connected binary codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140121920A KR102277758B1 (en) 2014-09-15 2014-09-15 Method and apparatus for decoding in a system using binary serial concatenated code

Publications (2)

Publication Number Publication Date
KR20160031781A KR20160031781A (en) 2016-03-23
KR102277758B1 true KR102277758B1 (en) 2021-07-15

Family

ID=55533485

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140121920A KR102277758B1 (en) 2014-09-15 2014-09-15 Method and apparatus for decoding in a system using binary serial concatenated code

Country Status (3)

Country Link
US (1) US10355820B2 (en)
KR (1) KR102277758B1 (en)
WO (1) WO2016043509A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508652A (en) * 2016-06-14 2017-12-22 索尼公司 Electronic equipment and method for interleave division multiple access communication
EP3637653A4 (en) * 2017-06-16 2020-05-06 Huawei Technologies Co., Ltd. Data processing method and data processing device
CN109150199A (en) * 2017-06-17 2019-01-04 华为技术有限公司 A kind of interleaving treatment method and device for the Polar code that polarizes
US20220014396A1 (en) * 2018-11-21 2022-01-13 Nokia Solutions And Networks Oy Anchor process of data symbols in channel estimation
CN112737598B (en) * 2020-12-01 2024-04-09 西安电子科技大学 Self-adaptive doping method, system, storage medium, computer equipment and application

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167435A (en) 2006-12-27 2008-07-17 Nec Lab America Inc Polarization mode dispersion compensation using bcjr equalizer and iterative ldpc decoding
US8006163B2 (en) 2006-12-27 2011-08-23 Nec Laboratories America, Inc. Polarization mode dispersion compensation using BCJR equalizer and iterative LDPC decoding
KR100993422B1 (en) 2007-12-07 2010-11-09 한국전자통신연구원 Apparatus for iterative receiving and apparatus for iterative decoding
US8185796B2 (en) * 2008-08-20 2012-05-22 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
KR101268751B1 (en) * 2009-11-30 2013-05-29 한국전자통신연구원 Decoding and demodulating system in receiving stage and thereof method
US8595585B2 (en) * 2010-08-20 2013-11-26 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
US8566666B2 (en) 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8918704B2 (en) 2012-03-15 2014-12-23 David Declercq Decoding method and apparatus for non-binary, low-density, parity check codes

Also Published As

Publication number Publication date
WO2016043509A1 (en) 2016-03-24
US20170264393A1 (en) 2017-09-14
US10355820B2 (en) 2019-07-16
KR20160031781A (en) 2016-03-23

Similar Documents

Publication Publication Date Title
Pyndiah et al. Near optimum decoding of product codes
US7684505B2 (en) Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems
KR102277758B1 (en) Method and apparatus for decoding in a system using binary serial concatenated code
CN111670543B (en) Multi-component encoding for signal shaping
İşcan et al. Probabilistic shaping using 5G new radio polar codes
CN112600568B (en) Code modulation transmission method combining nonstandard 6-order modulation and LDPC code
CN109361405B (en) Transmission system and method based on prime number interleaving and polar code coding
Yu et al. Raptor codes with descending order degrees for AWGN channels
WO2008034287A1 (en) An interleaving scheme for an ldpc coded 32apsk system
US8250446B2 (en) Decoder device and decoding method
Sarnin et al. Performance analysis of BPSK and QPSK using error correcting code through AWGN
JP2022541691A (en) Method and device for multi-level polar coded modulation transmission and reception
Valenti et al. Constellation shaping for bit-interleaved coded APSK
CN115225202B (en) Cascade decoding method
CN107196733B (en) Modulation method and device
CN101150377A (en) Bit mapping scheme of 32APSK system for low-density checksum coding
CN100452928C (en) Coding method for mixed recursion lattice space-time code
CN101150551A (en) Interweaving scheme of QPSK/8PSK system for low-density checksum coding
Ullah et al. Performance improvement of multi-stage threshold decoding with difference register
Zhao et al. Concatenated polar-coded multilevel modulation
Janvars et al. Hard decision decoding of single parity turbo product code with N-level quantization
Zhou et al. Blind recognition of binary BCH codes for cognitive radios
Matsumine et al. Triple parallel concatenated trellis coded modulation
Hamdan et al. Analysis and performance evaluation of convolutional codes over binary symmetric channel using MATLAB
Osman et al. Performance of multilevel turbo codes with group partitioning over satellite channels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right