KR20160031781A - 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치 - Google Patents

이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치 Download PDF

Info

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

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비트 그룹핑부;를 포함할 수 있다.

Description

이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치{METHOD AND APPARATUS FOR DECODING IN A SYSTEM USING BINARY SERIAL CONCATENATED CODE}
본 발명은 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치에 관한 것으로, 특히 이진 직렬 연결된 부호를 사용하는 시스템에서 복잡도를 줄이기 위한 복호 방법 및 장치에 관한 것이다.
전자기술이 발전하면서, 전자장치간 데이터를 주고받는 다양한 방식들이 대두되고 있다. 특히 원거리에 위치한 전자장치간 무선 채널을 이용하여 데이터를 송신 및 수신하는 경우 변조 및 부호화 등을 이용하여 데이터를 송신 및 수신하게 된다. 이처럼 전자장치 예컨대, 휴대용 단말과 기지국 또는 액세스 포인트 등의 전자장치간 소정의 무선 채널을 통해 데이터를 송수신할 시 낮은 복잡도로 시스템을 운용하기 위해 간섭신호에 대하여 가우시안 가정을 해 왔다. 또한 간섭신호의 특성이 최대한 가우시안 특성에 가깝게 만들기 위해 QAM 변조 방식을 사용해 왔다.
무선 통신 시스템에서 가우시안 채널의 환경과 비가우시안 채널의 환경을 대비하여 살펴보면, 비가우시안 채널이 가우시안 채널보다 채널 용량이 큰 특징을 갖는다. 이처럼 비가우시안 채널의 용량이 가우시안 채널을 가정하는 경우의 용량보다 크기 때문에 시스템 운용 시 간섭신호의 통계적인 특성을 적절히 반영한다면 가우시안 채널보다 비가우시안 채널에서 더 높은 네트워크 처리량을 얻을 수 있다.
최근 보다 많은 양의 데이터를 보다 빠르게 전송할 수 있는 형태로의 진화가 요구됨에 따라 무선 통신 시스템에서 시스템의 처리량을 증대키기 위해 간섭 신호를 비가우시안 특성을 갖도록 하기 위한 변조 방식의 개발이 필요하게 되었다. 이처럼 채널 간섭의 특징이 비가우시안 특성을 갖도록 하기 위한 변조 방식으로 제안된 방식으로 FQAM 방식이 있다.
또한 FQAM 방식을 적용하여 더 높은 데이터 처리량을 얻기 위해서는 해당 변조 방식에 적합한 채널 부호화 방식이 필요하다. 일반적으로 변조 차수가 q차인 변조 방식을 사용하는 경우 같은 차수의 비이진 채널 부호를 사용해 부호화된 변조(Coded Modulation, CM) 방식을 적용하면, 이론적인 한계치인 채널 용량을 만족할 수 있다. 그러나 일반적으로 비이진 채널 부호의 복호 복잡도는 이진 부호인 경우보다 매우 복잡하다는 문제가 있다.
기존 QAM 계열의 변조 방식에서는 그레이 매핑(Gray mapping)을 적용한 비트 인터리브드 부호화된 변조(Bit-Interleaved Coded Modulation, BICM) 방식을 이용하여 이론적인 채널 한계 용량에 거의 근접하는 성능을 얻을 수 있다. 그러나 FQAM 방식에서는 BICM 방식을 적용하면 원하는 성능을 얻을 수 없다. 이러한 문제를 해결할 수 있는 방법으로 채널 부호의 복호기와 복조기 사이에 반복 복호를 수행하는 방식인 BICM-ID(BICM with Iterative Decoding) 방식이 제안되었다. FQAM 방식의 경우 이진 비정규 반복 일부 축적(Irregular Repeat Partially Accumulate, 이하 "IRPA"라 함) 부호 기반의 BICM-ID 방식을 적용하면, 이론상의 한계치에 거의 근접하는 성능을 얻을 수 있다.
이때, 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기는 내부 복호기와 외부 복호기로 구분될 수 있다. 수신기에서 소프트 메시지(soft message)는 내부 복호기와 외부 복호기 사이에서 처리된 결과를 주고받으면서 반복적으로 복호가 이루어진다. 이처럼 구성된 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기에서의 복호 방식은 매우 높은 복잡도를 갖게 되는 문제가 있다. 예컨대, 메시지 노드의 계산을 수행하는 외부 복호기는 복잡도에 큰 영향을 끼치지 않지만, 내부 복호기의 경우 매우 큰 복잡도를 갖게 되는 문제가 있다.
따라서 본 발명에서는 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기의 복잡도를 줄일 수 있는 장치 및 방법을 제공한다.
또한 본 발명에서는 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기의 복잡도를 줄이면서 성능 열화를 줄일 수 있는 장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따른 장치는, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부; 상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하고, 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 LLR 심볼 선택부; 상기 LLR 심볼 선택부에서 출력된 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 LLR 심볼 변환부; 상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함할 수 있다.
본 발명의 다른 실시 예에 따른 장치는, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부; 상기 그룹핑된 비트열을 LLR 심볼로 변환하는 LLR 심볼 변환부; 상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 LLR 심볼 절단부; 상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함할 수 있다.
본 발명의 일 실시 예에 따른 방법은, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에 복호 방법으로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계; 상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하는 단계; 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 단계; 상기 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 단계; 상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함할 수 있다.
본 발명의 다른 실시 예에 따른 방법은, 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에서 복호 방법으로, 상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계; 상기 그룹핑된 비트열을 LLR 심볼로 변환하는 단계; 상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 단계; 상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계; 상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및 상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함할 수 있다.
본 발명에 따른 이진 IRPA 부호 기반의 BICM-ID 방식의 복호기를 사용하면, 복잡도를 줄일 수 있으며, 복잡도를 감소시킴으로 인한 성능 열화를 줄일 수 있다. 또한 높은 처리율을 갖기 위한 병렬 구조의 복호기를 구현할 수 있다.
도 1은 비가우시안 특성을 갖는 FQAM 방식을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA부호 복호기의 내부 블록 구성도이다.
도 3은 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 다른 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.
도 5는 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 6a 및 도 6b는 본 발명의 일 실시 예에 따른 복호기에서 심볼의 복호 동작 시의 제어 흐름도이다.
도 7a 및 도 7b는 본 발명에 따른 실시예들과 기존 복호기를 사용하는 경우의 성능을 비교 분석한 시뮬레이션 그래프이다.
이하, 첨부된 도면들을 참조하여 다양한 실시예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 이하에 첨부된 본 발명의 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 도면에 예시된 형태 또는 배치 등에 본 발명이 제한되지 않음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 비가우시안 특성을 갖는 FQAM 방식을 설명하기 위한 개념도이다.
도 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의 (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)를 크게 개선할 수 있다.
특히, 셀룰라 무선 통신 방식에서 셀의 가장자리(edge)에 위치한 단말은 일반적으로 높은 전송률로 데이터를 제공받기 어려운 문제가 있다. 하지만, FQMA 방식을 사용하는 경우 단말에서 셀간 간섭(Inter Cell Interference, 이하 "ICI"라 함)의 통계적 특성이 비가우시안 분포를 보이게 된다. 비가우시안 특성이 심화될수록 FQAM 방식에서는 채널 용량(channel capacity)이 증가하므로, 셀의 가장자리에 위치한 단말에 보다 높은 용량으로 데이터 전송을 가능하게 할 수 있다.
그러면, 이상에서 설명한 FQAM 방식을 이용하여 심볼을 송수신하는 방식에 대하여 살펴보기로 하자.
이진 IRPA 부호는 이진 비정규 반복(Binary Irregular Repetition) 부호인 외부 부호와 부호율이 1인 트렐리스(Trellis) 부호로 구성된 내부 부호가 인터리버(Interleaver)를 통하여 연결된 구조를 가지고 있다. 이 방식은 전송하고자 하는 메시지를 비트 단위로 받아서 모든 비트를 미리 정해진 횟수만큼 반복한다. 이때 각 비트별로 반복하는 횟수는 균일하지 않을 수 있다. 이렇게 반복한 비트 열을 인터리버를 통해 임의로 섞어준 후 정해진 개 수 만큼 그룹핑(grouping)한다. 그룹핑의 결과로 나온 비트열을 내부 부호기를 이용하여 부호화 시킬 수 있다. 즉, 이진 IRPA 부호기는 이진 비정규 반복 부호를 생성하고, 인터리버를 통해 인터리빙 된 후 비이진 채널 부호기를 통해 채널 부호화 된다. 이처럼 부호화된 부호어(codeword)를 FQAM 변조기를 통해 변조할 수 있다. 변조된 신호는 미리 설정된 채널을 통해 수신기 측으로 전달될 수 있다.
수신기에서는 수신된 신호를 복조기에서 복조하여 소프트 메시지(soft message)를 생성할 수 있다. 이처럼 생성된 소프트 메시지는 비이진 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 기반의 내부 복호기와 이진 외부 복호기 사이를 반복하면서 복호가 이루어진다. 이때, 외부 복호기는 비트 로그 우도율(Bit LLR(Log Likelihood Ratio, 이하 "LLR"이라 함)) 메시지 기반으로 동작하며 매우 간단한 계산으로 이루어져 있다. 이에 반하여 내부 복호기는 비이진 메시지인 심볼(Symbol) LLR 벡터를 기반으로 동작한다.
그러면 이하에서 본 발명에 따른 FQAM 방식에 따른 신호를 수신하는 수신기에서 복호기의 내부 구성 및 동작에 대하여 살펴보기로 하자.
도 2는 본 발명의 일 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.
도 2를 참조하면, 외부 복호기(210), 내부 복호기(220), 인터리버(201) 및 디인터리버(202)로 구성된다. 외부 복호기(210)는 메시지 노드 계산부(211)를 포함하며, 내부 복호기(220)는 제1그룹핑부(221), LLR 심볼 변환부(222), LLR 심볼 절단부(223), BJCR 처리부(224), 비트 LLR 계산부(225) 및 제2비트 그룹핑부(226)를 포함한다.
이러한 구성을 갖는 본 발명의 복호기를 설명하기에 앞서 최적의 내부 복호 알고리즘 연산에 대하여 간략히 살펴보기로 하자. 최적의 내부 복호 알고리즘 연산 방법은, 외부 복호기와 주고받는 메시지를 그룹핑(Grouping) 연산하고, 내부 복호기의 BCJR 알고리즘 연산에 룩업 테이블(Look-up table)과 같은 복잡한 연산이 많이 필요하다. 이 과정을 단순화하기 위해 기존 터보(Turbo) 부호 및 저밀도 패리티 체크(LDPC) 부호의 복호기에서 사용하는 방식과 유사하게 근사식을 이용하여 복호를 수행할 수 있다.
그러면 이하에서 도 2를 참조하여 상기한 구성을 갖는 각 블록들의 동작에 대하여 살펴보기로 하자. 수신 장치에서 변조된 신호를 수신하여 복조가 이루어지면, 복조된 신호는 BCJR 처리부(224)로 입력된다. 도 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 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다.
최초로 복조된 신호가 BCJR 처리부(224)로 입력된 상태에서는 이전 반복이 없는 상태이므로, 외부 복호기(210)로부터 수신된 정보가 없는 상태이다. 따라서 최초 복조된 신호를 수신하는 경우 BCJR 처리부(224)는 복조된 신호만을 이용하거나 또는 외부 복호기의 입력을 특정 값 예컨대, "0(zero)"의 값으로 설정하여 알고리즘을 수행할 수 있다. 이처럼 BCJR 처리부(224)에서 BCJR 알고리즘에 따라 계산된 값은 비트 LLR 계산부(225)로 입력된다.
비트 LLR 계산부(225)는 BCJR 처리부(224)에서 심볼 BCJR 알고리즘에 의해 연산된 심볼 LLR 값을 비트 LLR 값이 되도록 연산한다. 이처럼 비트 LLR 계산부(225)에서 비트 LLR 값으로 계산된 비트 LLR 값은 제2비트 그룹핑부(226)로 입력된다. 제2비트 그룹핑부(226)는 비트 LLR 값을 일련의 비트 정보로 환원하여, 디인터리버(202)로 출력한다.
디인터리버(202)는 미리 결정된 방식 예컨대, 송신 장치가 인터리빙한 방식의 역(reverse) 또는 인터리버(201)에서 인터리빙 된 방식의 역(reverse)이 되도록 디인터리빙하고, 디인터리빙된 비트 정보를 외부 복호기(210)의 메시지 노드 계산부(211)로 출력한다. 그러면 메시지 노드 계산부(211)는 디인터리빙되어 입력된 비트 단위의 정보를 이용하여 외부 복호를 수행한 후 인터리버(201)로 출력한다.
외부 복호기(210)에서 복호된 결과는 인터리버(201)로 입력된다. 인터리버(201)는 외부 복호기(210)에서 계산된 메시지가 입력되면, 미리 설정된 인터리빙 방식 예컨대, 송신 장치에서 이루어진 방식과 동일한 방식으로 복조된 신호를 인터리빙하여 내부 복호기(220)로 출력한다. 이때, 인터리버는 일반적으로 비트 단위의 인터리빙을 수행할 수 있다. 따라서 인터리버(201)에서 출력된 신호는 인터리빙된 비트 단위의 신호가 된다.
내부 복호기(220)의 제1비트 그룹핑부(221)는 인터리버(201)에서 인터리빙된 비트들을 수신하고, 미리 설정된 방식에 의거하여 소정의 단위로 그룹핑한다. 이는 부호의 부호율을 조절하기 위한 방법이다. 가령, 인터리버(201)에서 인터리빙된 2비트를 하나의 비트로 그룹핑할 수도 있고, 3비트를 하나의 비트로 그룹핑할 수도 있으며, 4비트를 하나의 비트로 그룹핑할 수도 있다. 즉, 부호의 부호율에 따라 소정 개수의 비트를 하나의 비트로 그룹핑하는 것이다.
제1비트 그룹핑부(221)에서는 그룹핑된 데이터를 LLR 심볼로 변환한다. 이때, 제1비트 그룹핑부(221)는 외부 복호기(210)로부터 수신되는 메시지를 근사화하여 사용할 수 있다. 예를 들어 제1비트 그룹핑부(221)는 비선형 함수인 하이퍼 탄젠트(tanh)를 사용하여 logBP 계산을 수행할 수 있다. 이때, 제1비트 그룹핑부(221)는 LDPC 부호의 체크 노드에서 사용하는 미리 설정된 범위에서 최소-합(scaled min-sum) 방식으로 근사하여 사용할 수 있다. 제1비트 그룹핑부(221)에서 수행하는 설정된 범위의 최소-합(scaled min-sum) 방식의 계산은 하기 <수학식 1>과 같이 각 비트별로 비트 LLR 값을 계산할 수 있다.
Figure pat00001
<수학식 1>에서 an은 그룹핑된 비트 중 n번째 비트를 의미하며, c2n, c2n+1은 그룹핑하기 이전의 비트를 의미하고, Pr은 확률을 의미한다. <수학식 1>에서는 2비트를 그룹핑한다고 가정하였다. <수학식 1>과 같이 계산된 값을 이용하여 그룹핑한 비트의 LLR 근사값을 쉽게 계산할 수 있다.
이때, 제1비트 그룹핑부(221)는 비트 단위의 LLR 값 결정 전에 패리티 검사를 통해 복호 성공 여부를 검사할 수 있다. 패리티 검사를 통해 복호된 정보에 오류가 존재하지 않는 경우 인터리빙된 데이터를 복호 결과로 출력할 수 있다. 복호 결과에 대한 패리티 오류 검사는 내부 복호기(220)와 외부 복호기(210)간 반복 복호가 이루어질 때마다 매번 이루어질 수 있다.
이처럼 제1비트 그룹핑부(221)에서 LLR 심볼로 변환된 정보는 LLR 심볼 변환부(222)로 입력된다. LLR 심볼 변환부(222)는 <수학식 1>에서 계산한 각 비트별 확률 값의 조합으로 m비트 심볼의 LLR 값을 하기 <수학식 2>와 같이 계산할 수 있다.
Figure pat00002
LLR 심볼 절단부(223)는 LLR 심볼 변환부(222)에서 계산된 심볼 LLR 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 nm개의 메시지를 선택하여 절단할 수 있다. 즉, LLR 심볼 절단부(223)는 nm개의 메시지만을 선택하여 출력할 수 있다. 이때, nm개의 선택 값을 조절할 수 있는 요소들에 대하여 살펴보기로 하자.
첫째, 채널 환경이 좋은 경우 예컨대, SNR 값이 큰 경우 적은 수의 nm 값을 사용할 수 있고, 반대로 채널 환경이 안 좋은 경우 많은 수의 nm 값을 사용해야 한다.
둘째, 외부 복호기(Outer decoder)와 내부 복호기(Inner decoder) 사이에 반복 복호를 수행할 때 처음 몇 반복(iteration)에서는 큰 nm 값을 사용하고 이후 반복에서는 nm 값을 줄여서 사용할 수도 있다.
LLR 심볼 절단부(223)에서 선택된 nm개의 메시지는 BJCR 처리부(224)에서 BJCR 알고리즘 처리가 이루어진다. 이처럼 BJCR 처리부(224)로 입력되는 메시지가 심볼 LLR 벡터(Vector) 메시지 중 선택된 nm개만 입력되므로, BCJR 처리부(224)에서 계산 복잡도를 감소시킬 수 있다.
이때, LLR 심볼 절단부(223)에서 LLR 심볼들을 선택할 경우 위에서 설명한 방법처럼 계산된 심볼 LLR 벡터의 요소들을 크기 순으로 정렬하여 절단할 수도 있고, q-ary 심볼 LLR 벡터에서 임의로 nm개만큼만 랜덤하게 절단(Random Truncation)할 수도 있다. 임의의 개수만큼 랜덤하게 절단하는 경우 nm개의 메시지를 선택하는 데 추가적인 복잡도가 발생하지 않는 장점을 갖는 반면에 높은 신뢰도(Reliability)를 갖는 메시지가 선택되지 않은 경우가 많으므로 성능 상 손실(Loss)이 크게 발생할 수 있다. 또한 q개 심볼 LLR 메시지를 계산한 후 큰 순서대로 nm개의 메시지를 선택하는 방법의 경우 가장 높은 신뢰도(Reliability)를 갖는 메시지를 선택하므로 적절히 nm개의 값을 선택하면 성능 손실(loss)이 적게 발생할 수 있다. 반면에 nm개의 값을 큰 순서대로 선택하기 위하여 수행하는 정렬(Sorting) 동작으로 인하여 추가적인 복잡도의 증가가 발생한다.
이후의 비트 LLR 계산부(225) 및 제2비트 그룹핑부(226)의 동작은 앞에서 설명한 바와 같다. 이처럼 내부 복호기(220)의 복호 동작이 완료되면, 다시 디인터리버(202)에서 디인터리빙을 수행한 후 외부 복호기(210)에서 외부 복호가 이루어진다. 외부 복호기(210)와 내부 복호기(220) 사이의 반복 복호 복호에 성공할 때까지 반복적으로 이루어질 수 있다.
도 3은 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 3을 참조하면, 그룹핑된 비트 LLR 메시지들(300, 301, 302, 303, 304)은 앞서 설명한 <수학식 1>에서와 같은 형태가 된다. 도 3에 예시한 비트 LLR 메시지들은 5개 비트의 LLR 메시지들이 하나의 그룹으로 구성된 경우를 예시하고 있다. 하지만, 5개 이상의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있고, 5개 미만의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있다.
도 3에 예시한 바와 같이 각각의 비트 LLR 메시지에서 각 비트 LLR 메시지마다 "0"과 "1"의 확률 값들(310, 311, 312, 313, 314)을 추출할 수 있다. 각 비트 인덱스의 조합으로 참조부호 320과 같이 인덱스를 계산한 후 이를 순차적으로 정렬하거나 그대로 둘 수 있다. 이후 순차적으로 정렬된 또는 정렬되지 않은 인덱스 값들 중 미리 결정된 nm개의 메시지를 선택하여 참조부호 330과 같이 절단(truncation)함으로써 모든 LLR 메시지가 아닌 선택된 일부의 LLR 메시지만을 추출할 수 있다.
도 4는 본 발명의 다른 실시 예에 따라 FQAM 방식을 적용할 수 있는 이진 IRPA 부호 복호기의 내부 블록 구성도이다.
도 4를 참조하면, 외부 복호기(410), 내부 복호기(420), 인터리버(401) 및 디인터리버(402)로 구성된다. 외부 복호기(410)는 메시지 노드 계산부(411)를 포함하며, 내부 복호기(420)는 제1그룹핑부(421), LLR 심볼 선택부(422), LLR 심볼 변환부(423), BJCR 처리부(424), 비트 LLR 계산부(425) 및 제2비트 그룹핑부(426)를 포함한다.
이러한 구성을 갖는 본 발명의 복호기를 설명하기에 앞서 최적의 내부 복호 알고리즘 연산에 대하여 간략히 살펴보기로 하자. 최적의 내부 복호 알고리즘 연산 방법은, 외부 복호기와 주고받는 메시지를 그룹핑(Grouping) 연산하고, 내부 복호기의 BCJR 알고리즘 연산에 룩업 테이블(Look-up table)과 같은 복잡한 연산이 많이 필요하다. 이 과정을 단순화하기 위해 기존 터보(Turbo) 부호 및 저밀도 패리티 체크(LDPC) 부호의 복호기에서 사용하는 방식과 유사하게 근사식을 이용하여 복호를 수행할 수 있다.
그러면 이하에서 도 4를 참조하여 상기한 구성을 갖는 각 블록들의 동작에 대하여 살펴보기로 하자. 수신 장치에서 변조된 신호를 수신하여 복조가 이루어지면, 복조된 신호는 BCJR 처리부(424)로 입력된다. 도 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 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다.
최초로 복조된 신호가 BCJR 처리부(424)로 입력된 상태에서는 이전 반복이 없는 상태이므로, 외부 복호기(410)로부터 수신된 정보가 없는 상태이다. 따라서 최초 복조된 신호를 수신하는 경우 BCJR 처리부(424)는 복조된 신호만을 이용하거나 또는 외부 복호기의 입력을 특정 값 예컨대, "0(zero)"의 값으로 설정하여 알고리즘을 수행할 수 있다. 이처럼 BCJR 처리부(424)에서 BCJR 알고리즘에 따라 계산된 값은 비트 LLR 계산부(225)로 입력된다.
비트 LLR 계산부(425)는 BCJR 처리부(424)에서 심볼 BCJR 알고리즘에 의해 연산된 심볼 LLR 값을 비트 LLR 값이 되도록 연산한다. 이처럼 비트 LLR 계산부(425)에서 비트 LLR 값으로 계산된 비트 LLR 값은 제2비트 그룹핑부(426)로 입력된다. 제2비트 그룹핑부(426)는 비트 LLR 값을 일련의 비트 정보로 환원하여, 디인터리버(402)로 출력한다.
디인터리버(402)는 미리 결정된 방식 예컨대, 송신 장치가 인터리빙한 방식의 역(reverse) 또는 인터리버(401)에서 인터리빙 된 방식의 역(reverse)이 되도록 디인터리빙하고, 디인터리빙된 비트 정보를 외부 복호기(410)의 메시지 노드 계산부(411)로 출력한다. 그러면 메시지 노드 계산부(411)는 디인터리빙되어 입력된 비트 단위의 정보를 이용하여 외부 복호를 수행한 후 인터리버(201)로 출력한다.
외부 복호기(410)에서 복호된 결과는 인터리버(401)로 입력된다. 인터리버(401)는 외부 복호기(410)에서 계산된 메시지가 입력되면, 미리 설정된 인터리빙 방식 예컨대, 송신 장치에서 이루어진 방식과 동일한 방식으로 복조된 신호를 인터리빙하여 내부 복호기(420)로 출력한다. 이때, 인터리버는 일반적으로 비트 단위의 인터리빙을 수행할 수 있다. 따라서 인터리버(401)에서 출력된 신호는 인터리빙된 비트 단위의 신호가 된다.
내부 복호기(420)의 제1비트 그룹핑부(421)는 인터리버(401)에서 인터리빙된 비트들을 수신하고, 미리 설정된 방식에 의거하여 소정의 단위로 그룹핑한다. 이는 부호의 부호율을 조절하기 위한 방법이다. 가령, 인터리버(401)에서 인터리빙된 2비트를 하나의 비트로 그룹핑할 수도 있고, 3비트를 하나의 비트로 그룹핑할 수도 있으며, 4비트를 하나의 비트로 그룹핑할 수도 있다. 즉, 부호의 부호율에 따라 소정 개수의 비트를 하나의 비트로 그룹핑하는 것이다.
제1비트 그룹핑부(421)에서는 그룹핑된 데이터를 LLR 심볼로 변환한다. 이때, 제1비트 그룹핑부(421)는 외부 복호기(410)로부터 수신되는 메시지를 근사화하여 사용할 수 있다. 예를 들어 제1비트 그룹핑부(421)는 비선형 함수인 하이퍼 탄젠트(tanh)를 사용하여 logBP 계산을 수행할 수 있다. 이때, 제1비트 그룹핑부(421)는 LDPC 부호의 체크 노드에서 사용하는 미리 설정된 범위에서 최소-합(scaled min-sum) 방식으로 근사하여 사용할 수 있다. 제1비트 그룹핑부(421)에서 수행하는 설정된 범위의 최소-합(scaled min-sum) 방식의 계산은 앞서 설명한 <수학식 1>과 같이 각 비트별로 비트 LLR 값을 계산할 수 있다.
또한 이때, 제1비트 그룹핑부(421)는 비트 단위의 LLR 값 결정 전에 패리티 검사를 통해 복호 성공 여부를 검사할 수 있다. 패리티 검사를 통해 복호된 정보에 오류가 존재하지 않는 경우 인터리빙된 데이터를 복호 결과로 출력할 수 있다. 복호 결과에 대한 패리티 오류 검사는 내부 복호기(420)와 외부 복호기(410)간 반복 복호가 이루어질 때마다 매번 이루어질 수 있다.
LLR 심볼 선택부(422)는 이처럼 계산된 비트 LLR 값을 이용하여 비트 LLR의 부호를 계산한다. LLR 심볼 선택부(422)에서 수행하는 비트 LLR의 부호 계산은 하기 <수학식 3>과 같은 방법으로 수행할 수 있다.
Figure pat00003
<수학식 3>에서 pr은 확률 값을 의미하고, ai는 i번째 비트를 의미한다. 따라서 <수학식 3>과 같이 비트 LLR 값의 부호를 계산을 통해 i번째 비트에서 "0"일 확률과 "1"일 확률 중 어느 확률 값이 더 큰지를 확인할 수 있다.
제1비트 그룹핑부(421)에서는 특정한 수의 비트 단위로 그룹핑이 이루어지며, 이는 앞서 설명한 바와 같이 부호율에 따라 결정된다. 가령 변조 차수가 5차인 경우 5비트 단위가 하나의 LLR 심볼에 매핑된다. 따라서 하나의 LLR 심볼 단위는 5비트가 될 수 있다.
LLR 심볼 선택부(422)는 이처럼 LLR 심볼 단위로 그룹핑된 비트들 각각에 대하여 최대 값을 갖는 인덱스를 선택할 수 있다. 변조 차수를 5차인 경우를 가정하면, 5비트 단위로 그룹핑된 각 비트 LLR 값들은 하기 <수학식 4>에 예시한 바와 같이 부호가 결정될 수 있다.
Figure pat00004
가령, <수학식 4>에 예시한 값이 최대 값을 갖는 경우로 가정하면, <수학식 4>의 인덱스 값은 각 비트들로부터 계산된 값이 될 수 있다. 예컨대, a0=0이고, a1=1이고, a2=1이고, a3=0이고, a4=0이 될 수 있다. 따라서 (a4,a3,a2,a1,a0)로 구성된 인덱스는 "00110"의 값을 의미하므로, 인덱스 6이 최대 값을 갖는 심볼 LLR 값이 된다.
LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스 값(Smax)을 메모리(미도시)에 저장할 수 있다. 또한 최대 값을 갖는 인덱스에서 가능한 적은 비트를 필립(Flip)한 인덱스의 심볼 LLR 값이 큰 값을 가질 확률이 높게 된다. 따라서 LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스 값에서 일부 비트를 플립(Flip)하여 BCJR 알고리즘에서 사용할 LLR 심볼들을 선택할 수 있다.
LLR 심볼 선택부(422)는 미리 결정된 수만큼의 LLR 심볼 단위가 되는 그룹핑된 비트열들을 출력해야 한다. 따라서 LLR 심볼 선택부(422)는 최대 값을 갖는 인덱스에서 한 비트만 플립한 또는 두 비트까지 플립한 그룹핑된 비트열들을 출력할 수 있다.
그러면 LLR 심볼 변환부(423)는 수신된 비트 LLR 값을 심볼 LLR로 변환하여 BJCR 처리부(424)로 출력할 수 있다.
BJCR 처리부(424)는 LLR 심볼 선택부(422)에서 선택된 심볼들이 LLR 심볼 변환부(423)에서 변환된 LLR 심볼들을 수신하여 BJCR 알고리즘 처리를 수행한다. BJCR 알고리즘은 앞서 설명한 도 2에서 이미 설명하였으며, 그 밖의 동작에 대하여는 널리 알려진 알고리즘이므로, 여기서는 상세한 동작 설명은 생략하기로 한다. 이처럼 BJCR 처리부(424)로 입력되는 메시지는 전체 심볼 LLR 벡터(Vector) 메시지 중 선택된 소정 개수만 입력되므로, BCJR 처리부(424)에서 계산 복잡도를 감소시킬 수 있다.
이후 비트 LLR 계산부(425) 및 제2비트 그룹핑부(426)에서의 동작은 앞에서 이미 설명하였으므로, 생략하기로 한다. 또한 외부 복호기(410)과 내부 복호기(420)간의 반복 복호는 복호에 성공할 때까지 또는 미리 설정된 반복 복호 횟수만큼 이루어질 수 있다.
도 5는 본 발명의 일 실시 예에 따라 FQAM 방식에서 심볼 LLR 메시지의 절단 방법을 설명하기 위한 개념도이다.
도 5를 참조하면, 그룹핑된 비트 LLR 메시지들(500, 501, 502, 503, 504)은 앞서 설명한 <수학식 1>에서와 같은 형태가 된다. 도 5에 예시한 비트 LLR 메시지들은 5개 비트의 LLR 메시지들이 하나의 그룹으로 구성된 경우를 예시하고 있다. 하지만, 5개 이상의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있고, 5개 미만의 비트 LLR 메시지들이 하나의 그룹으로 구성될 수도 있다. 이처럼 비트 LLR 메시지들이 하나의 그룹으로 구성되는 단위는 부호율에 따라 결정될 수 있다.
도 5에 예시한 바와 같이 각각의 비트 LLR 메시지에서 각 비트 LLR 메시지마다 비트 LLR의 부호 값들(510, 511, 512, 513, 514)을 추출할 수 있다. 이처럼 추출된 부호 값들에 대하여 참조부호 520과 같이 심볼 LLR 값 중 최대 값을 갖는 인덱스(S 값)를 계산할 수 있다. 이후 참조부호 530과 같이 계산할 심볼 LLR의 인덱스를 결정하고, 참조부호 540과 같이 결정된 인덱스에 해당하는 심볼 LLR 값만을 계산할 수 있다. 결정된 인덱스에 해당하는 심볼 LLR 값들은 참조부호 550a, 550b, 550c와 같이 예시할 수 있다.
이상에서 설명한 도 4 및 도 5의 동작을 예를 들어 살펴보기로 하자.
변조 차수(q)가 32이고, 미리 결정된 선택할 메시지의 개수(nm)가 20개인 경우를 가정하자. 그러면 변조 차수가 32인 경우는 2진 부호로 계산하면 승수가 5(25)이므로, 5개의 비트 LLR 값을 갖게 된다. 이때, 각 비트 LLR 값들이 앞서 설명한 <수학식 4>에 예시한 바와 같이 부호가 결정된다고 가정하자.
앞서 설명한 바와 같이 <수학식 4>에 예시한 바와 같이 부호를 갖는 경우 최대 값을 갖는 조합을 선택해야 하며, <수학식 4>에 따르면, 인덱스 값은 "00110"의 값이 될 수 있다.
이때, 필요한 수만큼 인덱스를 생성해야 하므로, 해당하는 심볼 인덱스에서 한 비트, 두 비트, 세 비트, 네 비트 및 다섯 비트 모두를 플립(Flip)하는 인덱스들을 생성할 수 있다. 이처럼 각 비트별로 플립된 인덱스들은 하기 <표 1>과 같이 예시할 수 있다.
Figure pat00005
<표 1>에 예시한 바와 같이 최대 값을 갖는 심볼 LLR의 인덱스에서 1비트 플립(Flip)된 인덱스부터 5비트 모두 플립(Flip)된 인덱스까지를 생성한 후 최대 값을 갖는 심볼 LLR의 인덱스부터 적게 플립된 값부터 차례로 nm개의 인덱스를 선택할 수 있다. 위 <표 1>에서 1비트 플립된 인덱스에 대하여 살펴보기로 하자.
최대 값을 갖는 인덱스는 "00110"가 된다. 따라서 1비트 플립(Flip)한다는 것은 최대 값을 갖는 인덱스의 각 비트들 중 하나의 비트만 반전시키는 것을 의미한다. 따라서 가장 하위 비트부터 한 비트씩 플립한다면, "00111", "00100", "00010", "01110", "10110"의 순으로 플립된 비트 그룹들이 표현될 수 있다. <표 1>에서는 이와 같은 순서로 한 비트씩 플립한 경우와 두 비트씩 플립한 경우 등을 표시하고 있다.
앞서 예시한 바에서는 nm개는 20개로 설정하였으므로, 1비트 플립된 인덱스들은 전체 개수가 5개이므로, 설정된 개수를 충족하지 못한다. 따라서 2비트 블립된 인덱스들을 추가로 고려해야 한다. 2비트 플립된 인덱스 전체의 개수는 10개이므로, 최대 값을 갖는 인덱스와 1비트 플립된 인덱스들 및 2비트 플립된 인덱스들 모두를 선택하더라도 전체 16개의 그룹만 선택할 수 있다. 따라서 추가로 3비트 플립된 인덱스들 중 4개를 추가 선택해야 한다.
그런데, <표 1>에서 알 수 있는 바와 같이 3비트 플립된 인덱스들은 10개이다. 따라서 3비트 플립된 인덱스들에서 <표 1>과 같이 나열된 순서대로 4개를 추가한다면, <표 1>의 3비트 플립된 인덱스들 중 "01000"까지의 인덱스가 선택될 수 있다.
이때, 같은 수의 비트를 플립(flip)한 심볼 인덱스 값 중 일부를 선택하는 방법에 대하여 살펴보기로 하자.
첫째, 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 필요한 수만큼 랜덤(random)하게 선택할 수 있다.
둘째, m개의 비트 LLR 값의 절대값을 서로 비교하여 가장 큰 값을 갖는 비트를 구한다. 만약 i번째 비트의 LLR 절대값이 가장 크다면 같은 수의 비트를 플립한 전체 심볼 인덱스들 중 i번째 비트를 플립하지 않은 것부터 차례대로 선택할 수 있다.
셋째, m개의 비트 LLR 값의 절대값을 크기 순서대로 정렬한다. 같은 수의 비트를 플립한 전체 심볼 인덱스들 중에서 절대값이 작은 값들이 플립된 심볼 인덱스부터 먼저 선택할 수 있다.
이상에서 설명한 3가지 방법 중에서 첫 번째의 복잡도가 가장 낮고 두 번째의 및 세 번째 순으로 복잡도가 높다. 또한 3가지 방식에 대한 복호 성능은 거의 차이가 나지 않는다.
이후 심볼 LLR을 계산하는 동작에서는 각 비트의 LLR 값으로, 앞서 선택된 인덱스들에 해당하는 심볼 LLR 값만을 계산할 수 있다. 이를 예를 들면, 하기 <표 2>와 같이 계산된다.
Figure pat00006
<표 2>에서와 같이 선택한 인덱스 값과 심볼 LLR 값을 모두 계산하여 저장할 수 있다. 이처럼 계산된 심볼 LLR 값은 이후 BCJR 알고리즘을 통해 연산이 이루어질 수 있다.
도 6은 본 발명의 일 실시 예에 따른 복호기에서 심볼의 복호 동작 시의 제어 흐름도이다. 도 6을 설명함에 있어, 도 4의 블록 구성을 이용하여 설명하기로 한다.
도 6을 참조하면, 송신기에서 전송되어 온 신호를 수신한 수신기는 이를 복조할 수 있다. 내부 복호기(420)의 BCJR 처리부(424)는 600단계에서 복조기로부터 복조된 신호를 수신한다. 이후 BCJR 처리부(424)는 602단계에서 비이진 BCJR 알고리즘을 수행한다. 비이진 BCJR 알고리즘은 널리 알려진 알고리즘이므로, 여기서는 상세히 설명하지 않기로 한다.
BCJR 처리부(424)에서 비이진 BCJR 알고리즘 처리된 데이터는 비트 LLR 계산부(425)로 입력되어 604단계에서 후처리(posteriori) LLR 메시지 계산을 수행한다. 이후 제2비트 그룹핑부(426)는 606단계에서 비트 LLR 계산부(425)의 출력을 이용하여 소정의 비트 단위로 그룹핑을 수행한다.
제2비트 그룹핑부(426)에서 그룹핑된 데이터는 디인터리부(402)로 입력된다. 디인터리버(402)는 608단계에서 비트 단위로 디인터리빙을 수행하고, 디인터리빙된 비트열을 외부 복호기(410)로 출력한다. 이때, 디인터리빙은 앞서 설명한 바와 같이 송신 장치에서 수행한 인터리빙 방식의 역과정 또는 인터리버(401)에서 인터리빙된 방식의 역과정이 될 수 있다.
외부 복호기(410)의 메시지 노드 계산부(411)는 610단계에서 메시지 노드 계산을 수행하고, 인터리버(201)로 계산된 결과를 출력한다. 인터리버(401)는 612단계에서 인터리빙을 수행한다. 인터리버(401)에서 인터리빙하는 방식은 앞서 설명한 바와 같이 송신 장치에서 인터리빙한 방식과 동일한 방식으로 이루어질 수 있다.
인터리버(401)에서 인터리빙된 비트열은 내부 복호기(420)로 입력된다. 내부 복호기(420)의 제1비트 그룹핑부(421)는 소정 단위의 비트들을 그룹핑할 수 있으며, 그룹핑하는 단위는 부호율에 따라 결정될 수 있다. 가령, 앞에서 설명한 바와 같이 5비트 단위가 될 수 있다.
이후 제1비트 그룹핑부(421)는 616단계에서 그룹핑된 데이터들을 이용하여 패리티 검사를 수행할 수 있다. 제1비트 그룹핑부(421)에서 그룹핑된 데이터를 이용하여 패리티 검사를 수행한 결과 복호 성공인 경우 618단계로 진행하여 복호 결과를 출력한다.
반면에 제1비트 그룹핑부(421)에서 그룹핑된 데이터를 이용하여 패리티 검사를 수행한 결과 복호 실패인 경우 620단계로 진행한다. 복호에 실패한 경우 LLR 심볼 변환부(422)는 620단계에서 비트 LLR 메시지를 미리 결정된 단위 가령 m개의 단위로 구분하여 부호를 판정하고, 최대 심볼 LLR 값을 갖는 인덱스를 계산한다. 이후 LLR 심볼 변환부(422)는 622단계에서 최대 심볼 LLR 값을 갖는 인덱스를 플리핑 방법을 이용하여 BCJR 알고리즘에서 사용할 nm개의 인덱스를 계산할 수 있다. 이는 앞서 <표 2>를 통해 살펴본 방법들을 이용할 수 있다.
이후 도 6에 도시하지 않았으나, LLR 심볼 변환부(423)는 선택된 nm개의 인덱스에 대응한 LLR 값을 LLR 심볼로 변환하여 BCJR 처리부(424)로 출력할 수 있다.
이상에서 설명한 방식을 복잡도에 대하여 예를 통해 살펴보기로 하자.
변조 차수(q)를 32로 가정하고, 선택할 메시지(nm)를 20개로 가정하며, 정보 비트의 수(Information bits)를 960비트로 가정하자. 또한 부호율(Code rate)을 1/3로 가정하자.
이때, 제1실시 예에 따른 도 2 및 도 3의 방식인 최대 값을 갖는 정렬(Sorting)을 방식을 이용하여 심볼 LLR 벡터의 메시지를 20개 선택하는 경우를 살펴보자.
선택할 메시지(nm)가 20개를 선택하는 경우 메시지 선택으로 인하여 감소하는 계산량은 기존 알고리즘 연산량의 약 23.7%가 감소한다. 또한 정렬(Sorting)의 사용으로 인하여 추가적으로 발생하는 계산량은 기존 알고리즘 연산량의 약 31.6% 증가한다. 따라서 선택할 메시지가 20개인 경우 기존 알고리즘 대비 약 7.9% 복잡도 증가하게 된다. 이처럼 복잡도가 증가하는 이유는 정렬로 인한 연산이 추가적으로 필요하기 때문이다.
다음으로, 제2실시 예인 도 4 내지 도 6에서 설명한 심볼 LLR만을 선택하여 계산하는 방식을 적용하는 경우에 대하여 살펴보기로 한다.
제2실시 예의 경우 선택하는 개수의 감소로 인하여 기존 알고리즘 대비 연산량은 약 33.1% 감소한다. 또한 심볼 LLR 계산 인덱스를 선택하기 위하여 추가적으로 발생하는 계산량은 기존 알고리즘 연산량 대비 약 2.5% 증가한다. 따라서 전체적으로 볼 때, 기존 알고리즘 대비 약 30.6% 복잡도가 감소한다. 따라서 제2실시 예를 적용하면, 기존 복호기 대비 복호기의 복잡도를 개선할 수 있음을 확인할 수 있다.
도 7a 및 도 7b는 본 발명에 따른 실시예들과 기존 복호기를 사용하는 경우의 성능을 비교 분석한 시뮬레이션 그래프이다.
도 7a에서 정보 비트(Information Bit)는 960비트로 설정하였으며, 변조 차수(Modulation Order)를 32차(4FSK+8PSK)로 설정하였고, 도핑 구간(Doping Period)은 30으로 설정하였다. 또한 부호율(Code Rate)은 1/3로 설정하였다.
도 7a를 참조하면, 기존 복호기는 "△"의 좌표를 가지며, 제1실시 예에 따른 방식은 "○"의 좌표를 가지고, 제2실시 예에 따른 방식은 "□"의 좌표를 갖는다. 제1실시 예와 제2실시 예 모두는 기존의 복호기 대비, 0.1 dB 이내의 성능 손실(loss)이 발생함을 확인할 수 있다. 따라서 두 방식 모두 크게 성능 저하가 발생하지 않는다.
도 7b에서는 정보 비트(Information Bit)는 960비트로 설정하였으며, 변조 차수(Modulation Order)는 : 32차(8FSK+4PSK)로 설정하였고, 도핑 구간(Doping Period)은 30으로 설정하였다. 또한 부호율(Code Rate)은 1/3로 설정하였다.
도 7b를 참조하면, 기존 복호기는 "△"의 좌표를 가지며, 제1실시 예에 따른 방식은 "○"의 좌표를 가지고, 제2실시 예에 따른 방식은 "□"의 좌표를 갖는다. 제1실시 예를 이용한 방법은 기존 복호기를 사용하는 경우 대비 약 0.3 dB의 손실이 발생하며, 제2실시 예를 사용하는 방법은 약 0.2 dB의 손실이 발생함을 알 수 있다. 따라서 제2실시 예를 적용하는 경우가 제1실시 예를 적용하는 경우보다 성능 열화가 적음을 알 수 있다.
이상에서 설명한 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
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 심볼 인덱스 변환부

Claims (20)

  1. 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치에 있어서,
    상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부;
    상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하고, 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 LLR 심볼 선택부;
    상기 LLR 심볼 선택부에서 출력된 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 LLR 심볼 변환부;
    상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부;
    상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및
    상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  2. 제1항에 있어서, 상기 LLR 심볼 선택부는,
    상기 미리 설정된 개수만큼의 그룹핑된 비트 LLR 값들을 선택할 시 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 미리 설정된 개수가 될 때까지 한 비트씩 플립(Flip)하여 그룹핑된 인덱스를 생성하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  3. 제2항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 필요한 수만큼 랜덤(random)하게 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  4. 제2항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 비트 LLR 값의 절대값을 서로 비교하여 가장 큰 값을 갖는 비트부터 차례로 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  5. 제2항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 비트 LLR 값의 절대값을 크기 순서대로 정렬하고, 절대값이 작은 값들이 플립된 심볼 인덱스부터 순차적으로 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  6. 제1항에 있어서,
    상기 LLR 심볼 선택부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  7. 제1항에 있어서,
    상기 LLR 심볼 선택부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 상기 외부 복호기와 상기 내부 복호기 간 반복 복호 횟수에 반비례하도록 설정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  8. 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에 복호 방법에 있어서,
    상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계;
    상기 그룹핑된 비트들 중 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 계산하는 단계;
    상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 이용하여 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택하여 출력하는 단계;
    상기 그룹핑된 비트 LLR 값을 심볼 LLR 값으로 변환하여 출력하는 단계;
    상기 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계;
    상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및
    상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  9. 제8항에 있어서, 상기 LLR 심볼 선택 단계는,
    상기 미리 설정된 개수만큼의 그룹핑된 비트 LLR 값들을 선택할 시 상기 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스를 미리 설정된 개수가 될 때까지 한 비트씩 플립(Flip)하여 그룹핑된 인덱스를 생성하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  10. 제9항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 필요한 수만큼 랜덤(random)하게 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  11. 제9항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 비트 LLR 값의 절대값을 서로 비교하여 가장 큰 값을 갖는 비트부터 차례로 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  12. 제9항에 있어서,
    상기 미리 결정된 개수의 그룹핑된 비트 LLR 값들을 선택 시 최대 확률 값을 갖는 그룹핑된 비트들의 인덱스 중 동일한 수의 비트들을 플립한 인덱스가 둘 이상이고, 상기 동일한 수의 플립한 인덱스들 중 일부만 출력해야 하는 경우 같은 수의 비트를 플립한 전체 대상 심볼 인덱스들 중 비트 LLR 값의 절대값을 크기 순서대로 정렬하고, 절대값이 작은 값들이 플립된 심볼 인덱스부터 순차적으로 선택하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  13. 제8항에 있어서,
    상기 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  14. 제8항에 있어서,
    상기 LLR 심볼 인덱스 변환부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 상기 외부 복호기와 상기 내부 복호기 간 반복 복호 횟수에 반비례하도록 설정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  15. 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기에서 상기 내부 복호기 장치에 있어서,
    상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 제1그룹핑부;
    상기 그룹핑된 비트열을 LLR 심볼로 변환하는 LLR 심볼 변환부;
    상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 LLR 심볼 절단부;
    상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 BCJR 처리부;
    상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 비트 LLR 계산부; 및
    상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 제2비트 그룹핑부;를 포함하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  16. 제15항에 있어서,
    상기 LLR 심볼 절단부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  17. 제15항에 있어서,
    상기 LLR 심볼 절단부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 상기 외부 복호기와 상기 내부 복호기 간 반복 복호 횟수에 반비례하도록 설정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 장치.
  18. 외부 복호기와 내부 복호기를 이용한 반복 복호를 수행하며, 이진 비정규 반복 일부 축적 부호를 사용하는 시스템의 수신기의 상기 내부 복호기 장치에서 복호 방법 있어서,
    상기 외부 복호기로부터 수신된 비트열을 복호 차수에 대응하여 그룹핑하는 단계;
    상기 그룹핑된 비트열을 LLR 심볼로 변환하는 단계;
    상기 LLR 심볼 변환된 LLR 심볼들의 벡터의 요소들을 크기 순으로 정렬하고, 심볼 LLR 값이 큰 순서대로 미리 결정된 개수만큼만 출력하도록 선택하는 단계;
    상기 LLR 심볼 절단부에서 출력된 심볼 LLR 값을 BCJR(Bahl-Cocke-Jelinek-Raviv) 알고리즘 연산하는 단계;
    상기 BCJR 처리부의 출력을 비트 LLR 값으로 변환하는 단계; 및
    상기 비트 LLR 값을 미리 결정된 비트 단위로 그룹핑하는 단계;를 포함하는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  19. 제18항에 있어서,
    상기 LLR 심볼 절단부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 채널 환경에 따라 결정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
  20. 제18항에 있어서,
    상기 LLR 심볼 절단부에서 출력되는 비트 LLR 값의 미리 결정된 개수는, 상기 외부 복호기와 상기 내부 복호기 간 반복 복호 횟수에 반비례하도록 설정되는, 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법.
KR1020140121920A 2014-09-15 2014-09-15 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치 KR102277758B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140121920A KR102277758B1 (ko) 2014-09-15 2014-09-15 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치
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 (ko) 2014-09-15 2015-09-15 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140121920A KR102277758B1 (ko) 2014-09-15 2014-09-15 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치

Publications (2)

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

Family

ID=55533485

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140121920A KR102277758B1 (ko) 2014-09-15 2014-09-15 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치

Country Status (3)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508652A (zh) * 2016-06-14 2017-12-22 索尼公司 用于交织多址接入通信的电子设备和方法
CN109150199A (zh) * 2017-06-17 2019-01-04 华为技术有限公司 一种极化Polar码的交织处理方法及装置
CN110663205B (zh) 2017-06-16 2021-07-09 华为技术有限公司 一种数据处理方法及数据处理装置
EP3884599A4 (en) * 2018-11-21 2022-07-20 Nokia Solutions and Networks Oy ANCHOR METHOD OF DATA SYMBOLS IN CHANNEL ESTIMATION
CN112737598B (zh) * 2020-12-01 2024-04-09 西安电子科技大学 自适应掺杂方法、系统、存储介质、计算机设备及应用

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110060151A (ko) * 2009-11-30 2011-06-08 한국전자통신연구원 수신단에서의 복조 및 디코딩 시스템 및 그 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167435A (ja) * 2006-12-27 2008-07-17 Nec Lab America Inc Bcjr等化器及び反復ldpc復号を用いた偏波モード分散補償
US8006163B2 (en) 2006-12-27 2011-08-23 Nec Laboratories America, Inc. Polarization mode dispersion compensation using BCJR equalizer and iterative LDPC decoding
KR100993422B1 (ko) * 2007-12-07 2010-11-09 한국전자통신연구원 반복 수신 장치 및 반복 복호 장치
US8185796B2 (en) * 2008-08-20 2012-05-22 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110060151A (ko) * 2009-11-30 2011-06-08 한국전자통신연구원 수신단에서의 복조 및 디코딩 시스템 및 그 방법

Also Published As

Publication number Publication date
US10355820B2 (en) 2019-07-16
US20170264393A1 (en) 2017-09-14
WO2016043509A1 (ko) 2016-03-24
KR102277758B1 (ko) 2021-07-15

Similar Documents

Publication Publication Date Title
KR20060097503A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
US20080028281A1 (en) Encoding method, decoding method, and devices for same
KR102338508B1 (ko) 고차 변조를 사용하는 통신 또는 방송 시스템에서 부호화/복호화 방법 및 장치
KR102277758B1 (ko) 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치
US20110258521A1 (en) Interleaving scheme for an ldpc coded qpsk/8psk system
CN112600568B (zh) 结合非标准6阶调制与ldpc码的编码调制传输方法
WO2008034287A1 (en) An interleaving scheme for an ldpc coded 32apsk system
CN109361405B (zh) 一种基于素数码交织及极码编码的传输系统及方法
CN113067676B (zh) 极化码高阶调制系统中一种新颖的比特映射方法
CN107911152B (zh) 适用于任意发送天线数量的空间编码调制系统和方法
Abdelaziz et al. Ternary convolutional codes for ternary phase shift keying
US8250446B2 (en) Decoder device and decoding method
JP6427461B2 (ja) 受信装置、無線通信システム、及び無線通信方法
CN115225202B (zh) 一种级联译码方法
Valenti et al. Constellation shaping for bit-interleaved coded APSK
CN101150551A (zh) 低密度奇偶校验编码的qpsk/8psk系统的交织方案
CN101150377A (zh) 用于低密度奇偶校验编码的32apsk系统的比特映射方案
CN101150378A (zh) 低密度奇偶校验编码的32apsk系统的交织方案
CN100452928C (zh) 混合递归网格空时码的编码方法
CN101150550A (zh) 低密度奇偶校验编码的16apsk系统的交织方案
JP5153588B2 (ja) 無線通信装置
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
Hekim et al. Performance of low density parity check coded continuous phase frequency shift keying (LDPCC‐CPFSK) over fading 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