KR102396814B1 - 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 - Google Patents
통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR102396814B1 KR102396814B1 KR1020170056566A KR20170056566A KR102396814B1 KR 102396814 B1 KR102396814 B1 KR 102396814B1 KR 1020170056566 A KR1020170056566 A KR 1020170056566A KR 20170056566 A KR20170056566 A KR 20170056566A KR 102396814 B1 KR102396814 B1 KR 102396814B1
- Authority
- KR
- South Korea
- Prior art keywords
- cyclic
- decoding
- bit
- data
- outer channel
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1165—QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2778—Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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 using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3769—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6306—Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0065—Serial concatenated codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 pre-5G 통신 시스템에 관련된 것이다.
Description
본 발명은 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후(Post LTE) 이후의 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network: cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication: D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM(Hybrid FSK and QAM Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
통신 또는 방송 시스템에서, 링크(link) 성능은 채널의 여러 가지 잡음(noise), 페이딩(fading) 현상 및 심벌 간 간섭(ISI: inter-symbol interference)에 의해 현저히 저하될 수 있다. 따라서 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신 또는 방송 시스템들을 구현하기 위해서, 잡음, 페이딩 및 심벌 간 간섭을 극복하기 위한 기술을 개발하는 것이 요구된다. 잡음 등을 극복하기 위한 연구의 일환으로서, 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호(error-correcting code)에 대한 연구가 활발히 이루어지고 있다.
본 발명은 채널 부호의 부호어에 준순환 시프트 및 순환 시프트를 이용하여 데이터를 전송하는 방법 및 장치를 제공한다.
본 발명은 채널 부호의 부호어에 준순환 시프트 및 순환 시프트를 이용하여 전송된 데이터를 복호 하는 방법 및 장치를 제공한다.
본 발명은 채널 부호의 부호어에 준순환 시프트 및 순환 시프트를 이용하여 전송된 데이터에 대한 수신 신호들을 결합하여 복호 하는 방법 및 장치를 제공한다.
본 발명은 통신 또는 방송 시스템에서 채널 부호화 방법에 있어서, 준순환 시프트 값을 결정하는 과정; 데이터에 외측 채널 부호화를 수행하여 부호어를 생성하는 과정; 상기 외측 채널 부호화를 통해 생성된 부호어에 내측 채널 부호화를 수행하는 과정; 상기 내측 채널 부호화를 통해 생성된 부호어에 준순환 시프트를 수행하는 과정을 포함한다.
본 발명은 통신 또는 방송 시스템에서 채널 부호화 방법에 있어서, 준순환 시프트 및 순환 시프트 값 중 최소 하나 이상 결정하는 과정; 데이터에 외측 채널 부호화를 수행하여 부호어를 생성하는 과정; 상기 외측 채널 부호화를 통해 생성된 부호어에 내측 채널 부호화를 수행하는 과정; 상기 내측 채널 부호화를 통해 생성된 부호어에 준순환 시프트를 수행하는 과정; 상기 준순환 시프트 된 부호어에 순환 시프트를 수행하는 과정을 포함한다.
본 발명은 통신 또는 방송 시스템에서 채널 복호화 방법에 있어서, 수신 신호에 기반하여 내측 채널 복호화를 수행하는 과정; 상기 내측 채널 복호화를 통해 복호된 부호어에 역준순환 시프트를 수행하는 과정; 오류 검출 여부를 판단하기 위해 상기 역준순환 된 부호어에 외측 채널 복호화를 수행하는 과정; 오류 검출 여부에 따라 상기 역준순환 시프트와 외측 채널 복호화를 반복하여 수행하는 과정; 상기 외측 채널 복호화에서 오류가 검출되지 않는 역준순환 시프트 값을 출력하는 과정을 포함한다.
본 발명은 통신 또는 방송 시스템에서 채널 복호화 방법에 있어서, 수신 신호에 역순환 시프트를 수행하는 과정; 상기 역순환 시프트 된 수신 신호에 기반하여 내측 채널 복호화를 수행하는 과정; 상기 내측 채널 복호화 성공 여부에 따라 역순환 시프트 및 내측 채널 복호화를 반복하여 수행하는 과정; 상기 내측 채널 복호화를 통해 복호된 부호어에 역준순환 시프트를 수행하는 과정; 오류 검출 여부를 판단하기 위해 상기 역준순환 된 부호어에 외측 채널 복호화를 수행하는 과정; 오류 검출 여부에 따라 상기 역준순환 시프트와 외측 채널 복호화를 반복하여 수행하는 과정; 상기 내측 채널 복호화에 성공한 순환 시프트 값과 외측 채널 복호화에서 오류가 검출되지 않는 역준순환 시프트 값을 출력하는 과정을 포함한다.
본 발명은 준순환 특성을 가지는 채널 부호에 대해서 부호어의 시프트 동작을 통해 데이터를 전송할 수 있다.
도 1은 시스테메틱(systematic) LDPC 부호어 구조도이다.
도 2는 LDPC 부호의 그래프 표현 방법에 대해 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 송신 장치 블록 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트의 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 6은 본 발명의 일 실시 예에 따른 수신 장치 블록 구성도이다.
도 7은 본 발명의 일 실시 예에 따른 복호화 과정의 흐름도에 대한 예시도이다.
도 8은 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트의 또 다른 예시도이다.
도 9은 본 발명의 실시 예에 따른 수신 신호의 결합 방법에 대한 예시도이다.
도 10는 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 수신 장치 블록 구성도이다.
도 11은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 복호화 과정의 흐름도에 대한 예시도이다.
도 12은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 또 다른 수신 장치 블록 구성도이다.
도 13은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 복호화 과정의 흐름도에 대한 또 다른 예시도이다.
도 14는 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 15은 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트 및 순환 시프트의 예시도이다.
도 16은 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 17은 본 발명의 일 실시 예에 따른 또 다른 수신 장치 블록 구성도이다.
도 18은 본 발명의 일 실시 예에 따른 복호화 과정의 흐름도에 대한 또 다른 예시도이다.
도 2는 LDPC 부호의 그래프 표현 방법에 대해 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 송신 장치 블록 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트의 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 6은 본 발명의 일 실시 예에 따른 수신 장치 블록 구성도이다.
도 7은 본 발명의 일 실시 예에 따른 복호화 과정의 흐름도에 대한 예시도이다.
도 8은 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트의 또 다른 예시도이다.
도 9은 본 발명의 실시 예에 따른 수신 신호의 결합 방법에 대한 예시도이다.
도 10는 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 수신 장치 블록 구성도이다.
도 11은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 복호화 과정의 흐름도에 대한 예시도이다.
도 12은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 또 다른 수신 장치 블록 구성도이다.
도 13은 본 발명의 일 실시 예에 따른 수신 신호 결합에 기반한 복호화 과정의 흐름도에 대한 또 다른 예시도이다.
도 14는 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 15은 본 발명의 일 실시 예에 따른 부호어의 준순환 시프트 및 순환 시프트의 예시도이다.
도 16은 본 발명의 일 실시 예에 따른 또 다른 송신 장치 블록 구성도이다.
도 17은 본 발명의 일 실시 예에 따른 또 다른 수신 장치 블록 구성도이다.
도 18은 본 발명의 일 실시 예에 따른 복호화 과정의 흐름도에 대한 또 다른 예시도이다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 주요한 요지는 유사한 기술적 배경을 가지는 여타의 시스템에도 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 발명의 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
1960년대에 Gallager에 의해서 처음 소개된 저밀도 패리티 체크(Low Density Parity Check, 이하 LDPC) 부호는 당시 기술 수준에서 구현하기 어려운 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 제안된 터보(turbo) 부호가 셰논(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라, 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 LDPC 부호가 재연구되면서 LDPC 부호에 대응되는 Tanner(Tanner) 그래프 상에서 합-곱(sum-product) 알고리즘에 기반한 반복 복호를 적용하여 복호화를 수행하면 LDPC 부호 또한 셰논의 채널 용량에 근접하는 성능을 가지게 됨이 밝혀졌다.
LDPC 부호는 일반적으로 패리티 검사 행렬(parity-check matrix)로 정의되며 Tanner 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다.
도 1은 시스테메틱(systematic) LDPC 부호어 구조도를 나타낸다.
이하에서는 도 1을 참조하여 시스테메틱 LDPC 부호어를 설명하고자 한다.
LDPC 부호는 Kldpc 개 비트 혹은 심볼로 구성되어 있는 정보어(102)를 입력받아 LDPC 부호화를 하여 Nldpc 개 비트 혹은 심볼로 구성되어 있는 부호어(100)(codeword)를 생성한다. 이하 설명의 편의를 위해, Kldpc 개 비트를 포함하는 정보어(102)를 입력받아 Nldpc 개 비트로 구성되는 부호어(100)가 생성되는 것으로 가정한다. 즉, Kldpc 개의 입력 비트인 정보어 (102)를 LDPC 부호화하면, 부호어 (100)가 생성된다. 즉, 정보어 및 부호어는 다수의 비트로 구성되어 있는 비트열이며, 정보어 비트 및 부호어 비트는 정보어 및 부호어를 구성하는 각각의 비트를 의미한다. 통상적으로 부호어가 와 같이 정보어를 포함하고 있을 경우 시스테메틱(systematic) 부호라 한다. 여기에서, 는 패리티 비트(104)이고, 패리티 비트의 개수 Nparity는 Nparity = Nldpc- Kldpc로 나타낼 수 있다.
LDPC 부호는 선형 블록 부호(linear block code)의 일종으로 아래의 수학식 1과 같은 조건을 만족하는 부호어를 결정하는 과정을 포함한다.
[수학식 1]
수학식 1에서, H는 패리티 검사 행렬, C는 부호어, ci는 부호어의 i 번째 비트, Nldpc는 LDPC 부호어의 길이를 의미한다. 여기서 hi는 패리티 검사 행렬(H)의 i번째 열(column)을 의미한다.
패리티 검사 행렬 H는 LDPC 부호어의 비트 개수와 동일한 Nldpc개의 열로 구성되어 있다. 수학식 1은 패리티 검사 행렬의 i 번째 열(hi)과 i 번째 부호어 비트 ci의 곱의 합이 '0'이 됨을 의미하므로, i 번째 열(hi)은 i 번째 부호어 비트 ci와 관계가 있음을 의미한다.
도 2를 참조하여 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다.
도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 Tanner 그래프로 도시한 도면이다. 도 2를 참조하면, 패리티 검사 행렬 H1은 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하며, H1을 통해 생성된 부호는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트에 대응된다.
도 2를 참조하면, 패리티 검사 행렬 H1을 기반으로 부호화 및 복호화하는 LDPC 부호의 Tanner 그래프는 8 개의 변수 노드(variable node)들 즉, x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)와 4 개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, LDPC 부호의 패리티 검사 행렬 H1의 i 번째 열과 j 번째 행은 각각 변수 노드 xi와 j 번째 검사 노드에 대응된다. 또한, LDPC 부호의 패리티 검사 행렬 H1의 j 번째 열과 j 번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 도 2와 같이 Tanner 그래프 상에서 변수 노드 xi와 j 번째 검사 노드를 연결하는 선분(edge)이 존재함을 의미한다.
LDPC 부호의 Tanner 그래프에서 변수 노드와 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 LDPC 부호의 패리티 검사 행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 도 2에서 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 도 2의 변수 노드에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 열에서 0이 아닌 원소들의 개수는 상술한 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 도 2의 검사 노드들에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 행에서 0이 아닌 원소들의 개수는 상술한 차수들 6, 5, 5, 5와 순서대로 일치한다.
LDPC 부호는 도 2에서 나열한 이분 그래프 상에서 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하여 복호할 수 있다. 여기서, 합곱 알고리즘은 메시지 패싱 알고리즘(message passing algorithm)의 일종이며, 메시지 패싱 알고리즘이라 함은 이분 그래프 상에서 에지를 통해 메시지들을 교환하고, 변수 노드 혹은 검사 노드로 입력되는 메시지들로부터 출력 메시지를 계산하여 업데이트하는 알고리즘을 나타낸다.
여기에서, i 번째 변수 노드의 메시지를 기반으로 i 번째 부호화 비트의 값을 결정할 수 있다. i 번째 부호화 비트의 값은 경판정(hard decision)과 연판정(soft decision) 모두 가능하다. 그러므로, LDPC 부호어의 i 번째 비트인 ci의 성능은 Tanner 그래프의 i 번째 변수 노드의 성능에 대응되며, 이는 패리티 검사 행렬의 i 번째 열의 1의 위치 및 개수에 따라 결정될 수 있다. 다시 말해, 부호어의 Nldpc개의 부호어 비트들의 성능은 패리티 검사 행렬의 1의 위치 및 개수에 의해 성능이 좌우 될 수 있으며, 이는 LDPC 부호의 성능은 패리티 검사 행렬에 따라 많은 영향을 받음을 의미한다. 따라서 우수한 성능을 갖는 LDPC 부호를 설계하기 위해서는 좋은 패리티 검사 행렬을 설계하는 방법이 필요하다.
통신 또는 방송 시스템에서 사용되는 패리티 검사 행렬은 구현의 용이성을 위해 통상적으로 준순환(quasi-cyclic) 형태의 패리티 검사 행렬을 사용하는 Quasi-cycle LDPC(QC-LDPC) 부호가 많이 사용된다.
QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬(circulant permutation matrices)로 구성된 패리티 검사 행렬을 가짐을 특징으로 한다. 이 때, 순열 행렬이란 정사각 행렬의 모든 원소가 0 또는 1이고, 각 행이나 열이 오직 하나의 1만을 포함하는 행렬을 의미한다. 또한, 순환 순열 행렬이란, 항등 행렬의 각 원소들을 오른쪽으로 순환 이동 시킨 행렬을 의미한다.
이하에서는, QC-LDPC 부호에 대해서 구체적으로 설명한다.
먼저, 수학식 2와 같이 크기의 순환 순열 행렬 을 정의한다. 여기서, 는 상기 행렬 P에서의 i번째 행(row), j번째 열의 원소(entry)를 의미한다.(여기서, 0 ≤ i, j < L)
[수학식 2]
상기와 같이 정의된 순열 행렬 P에 대해서 (0 ≤ i < L)는 크기의 항등 행렬(identity matrix)의 각 원소들을 i 번 만큼 오른쪽 방향으로 순환 이동(circular shift) 시킨 형태의 순환 순열 행렬임을 알 수 있다.
가장 간단한 QC-LDPC 부호의 패리티 검사 행렬 H는 다음 수학식 3와 같은 형태로 나타낼 수 있다.
[수학식 3]
만일 을 크기의 0-행렬이라 정의할 경우, 상기 수학식 3에서 순환 순열 행렬 또는 0-행렬의 각 지수 는 {-1, 0, 1, 2, ..., L-1} 값 중에 하나를 가지게 된다. 또한 상기 수학식 3의 패리티 검사 행렬 H는 열 블록(column block)이 n개, 행 블록이 m개이므로, 크기를 가지게 됨을 알 수 있다.
상기 수학식 3의 패리티 검사 행렬이 완전 계수(full rank)를 가진다면, 상기 패리티 검사 행렬에 대응되는 QC-LDPC 부호의 정보어 비트의 크기는 (n-m)L 이 됨은 자명하다. 편의상 정보어 비트에 대응되는 (n-m)개의 열 블록을 정보어 열 블록이라 부르고, 나머지 패리티 비트에 대응되는 m개의 열 블록을 패리티 열 블록이라 부른다.
통상적으로 상기 수학식 3의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix) 또는 기본 행렬 (Base Matrix) M(H)라 하고, 각 순환 순열 행렬 또는 0-행렬의 지수를 선택하여 수학식 4와 같이 얻은 크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 E(H)라 한다.
[수학식 4]
결과적으로 지수 행렬에 포함되어 있는 정수 1개는 패리티 검사 행렬에서의 순환 순열 행렬에 대응되므로 상기 지수 행렬은 편의상 정수로 이루어진 수열들로 표현할 수도 있다. (상기 수열은 다른 수열과 구분하기 위하여 LDPC 수열 또는 LDPC 부호 수열이라고 부르기도 한다). 일반적으로 패리티 검사 행렬은 지수 행렬 뿐만 아니라 대수적으로 동일한 특성을 가지는 수열로도 표현 가능하다. 본 발명에서는 편의상 패리티 검사 행렬을 지수 행렬 또는 패리티 검사 행렬 내에 있는 1의 위치를 나타내는(indicate) 수열 등으로 표현하였으나, 패리티 검사 행렬에 포함되어 있는 1 또는 0의 위치를 구분할 수 있는 수열 표기 법은 다양하므로, 본 명세서에 표현한 방법에 국한되지 않고 대수적으로 동일한 효과를 나타내는 다양한 수열의 형태로 나타낼 수 있다.
또한 디바이스 상의 송수신 장치에서도 패리티 검사행렬을 직접 생성하여 LDPC 부호화 및 복호화를 수행할 수도 있지만, 구현 상의 특징에 따라 상기 패리티 검사행렬과 대수적으로 동일한 효과를 내는 지수 행렬이나 수열을 이용하여 LDPC 부호화 및 복호화를 수행할 수도 있다. 따라서 본 발명에서 편의상 패리티 검사 행렬을 이용한 부호화 및 복호화에 대해서 설명하고 있지만, 실제 디바이스 상에서는 상기 패리티 검사 행렬과 동일한 효과를 얻을 수 있는 다양한 방법을 통해 구현 가능함을 고려하고 있음을 밝혀둔다.
참고로 대수적으로 동일한 효과란, 서로 다른 두 개 이상의 표현에 대해서 논리적 또는 수학적으로 서로 간에 완벽하게 동일함을 설명 가능하거나 변환 가능함을 의미한다.
본 발명에서는 편의상 하나의 블록에 대응되는 순환 순열 행렬이 1 개인 경우만 설명하였으나, 이하 하나의 블록에 여러 개의 순환 순열 행렬이 포함된 경우에도 동일한 발명을 적용할 수 있다. 예를 들어 다음 수학식 5와 같이 하나의 i 번째 행 블록 및 j 번째 열 블록의 위치에 2 개의 순환 순열 행렬 의 합으로 포함되어 있을 때, 그 지수 행렬은 수학식 6과 같이 나타낼 수 있다. 상기 수학식 6을 살펴보면, 상기 복수 개의 순환 순열 행렬 합이 포함된 행 블록 및 열 블록에 대응되는 i 번째 행 및 j 번째 열에 2 개의 정수가 대응되는 행렬임을 알 수 있다.
[수학식 5]
[수학식 6]
상기 실시 예와 같이 일반적으로 QC-LDPC 부호는 패리티 검사행렬에서 하나의 행 블록 및 열 블록에 복수 개의 순환 순열 행렬이 대응될 수 있으나 본 발명에서는 편의상 하나의 블록에 하나의 순환 순열 행렬이 대응되는 경우에 대해서만 설명하지만, 발명의 요지는 그에 한정되지 않는다. 참고로 이와 같이 하나의 행 블록 및 열 블록에 복수 개의 순환 순열 행렬이 중복되어 있는 크기의 행렬을 순환 행렬(circulant matrix 또는 circulant)이라 한다.
한편, 상기 수학식 5 및 수학식 6의 패리티 검사 행렬 및 지수 행렬에 대한 모행렬 또는 기본행렬은 상기 수학식 3에서 사용된 정의와 유사하게 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 이진(binary) 행렬을 의미하는데, 하나의 블록에 포함된 복수 개의 순환 순열 행렬의 합 또한 단순히 1로 치환할 수 있다.
다음으로 상기 QC-LDPC 부호를 이용하여 특정 데이터를 전송하는 방법을 제안한다. 본 발명에서는 쉬운 이해를 위해 데이터를 오류 없이 전송하기 위해서 QC LDPC 부호를 채널 부호로 사용 하는 경우에 대해서 살펴보지만, 일반적으로 준순환 성질을 만족하는 어떠한 채널 부호에 대해서도 적용 가능하다.
먼저 설명의 편의를 위하여 수학식 3과 같이 크기의 준순환 행렬로 이루어져 있는 QC LDPC 부호의 패리티 검사 행렬 H의 열 블록이 개, 행 블록이 개로 구성되어 있다고 하자. 그리고 상기 패리티 검사 행렬 H에 대한 부호어 c 를 다음 수학식 7과 같이 나타낸다.
[수학식 7]
다음으로 송신기에서 수신기로 전송하고자 하는 메시지들을 각각 m0, m1,…, 라 하자. 상기 메시지들은 다양한 값으로 정의될 수 있는데, 예를 들어 상기 Tmax 개의 메시지들은 서로 다른 이진 벡터일 수도 있고, 정수일 수도 있으며, 또한 문자의 형태일 수도 있다. 또한 그 메시지들은 순서 또는 시간 지표(order or time index) 또는 SS 블록 지표 (synchronization signal block index, SS block index) 또는 SS 블록 시간 지표 (synchronization signal block time index, SS block time index) 또는 시스템 프레임 넘버 (system frame number) 또는 사전에 결정된 서로 다른 임의의 데이터일 수 있다.
이제 상기 메시지들을 다음 수학식 8과 같이 정수에 매핑(mapping)한다.
[수학식 8]
요약하여 말하자면, 전송하고자 하는 개의 데이터를 사전에 적절한 규칙을 적용할 경우에 개의 정수로 표현할 수 있다. 만일 메시지 자체가 정수일 경우에는 상기 수학식 8의 매핑은 생략 가능하다. 예를 들어 m0 = 0, m1 = 1, …, 인 경우에는 메시지 자체가 정수이므로, 임의의 메시지를 정수로 대응시키는 과정은 생략 가능하다.
이상에서와 같이 개의 데이터를 적절한 개의 정수로 항상 표현 가능하므로, 이하 본 발명에서는 설명의 편의상 특별한 언급이 없을 경우에 위와 같이 정수로 구성된 메시지를 전송한다고 가정한다. 보다 구체적으로 말하자면, 보내고자 하는 메시지를 m0 = 0, m1 = 1, …, 라 가정한다. 앞서 말한 것처럼, 상기 메시지들은 시간 지표 또는 SS 블록 지표 또는 SS 블록 시간 지표 또는 시스템 프레임 넘버 또는 사전에 결정된 서로 다른 임의의 데이터를 나타낼 수 있음에 유의한다.
[수학식 9]
상기 수학식 9에서 정의된 변환자 및 는 임의의 벡터 c에 대해 정의되어 있음에 유의한다. 즉, c는 부호어가 될 수도 있고, 정보어 s가 될 수도 있고, 임의의 다른 실수 벡터 r이 될 수도 있다. 는 부호어에서 각 L 비트 단위로 준순환 시프트(quasi-cyclic shift)를 적용하는 역할을 하게 된다. 또한, 임의의 벡터 c에 대해 이 성립함을 쉽게 알 수 있다. 만일 임의의 xi, xj에 대해 이 성립하는 경우, 즉, 가 성립하는 경우에는 일반적으로 g(0)=0이며, g(-x)=-g(x)이 성립하기 때문에 같이 나타낼 수 있다.
g(x)는 다양형태로 정의 가능한데, 본 발명의 일 실시예로서 다음 수학식 10과 같은 함수도 적용 가능하다.
[수학식 10]
이하 본 발명에서는 설명의 편의를 위해 상기 준순환 시프트를 같이 수학식을 이용하여 표현하지만, 실제 송신기, 수신기 장치에서는 순환 비트 이동 (circular bit shift or bit rotation) 등을 통해 상기 준순환 시프트를 쉽게 구현 가능함에 유의한다.
또한 이하 본 발명에서는 설명의 편의를 위해 특별한 언급이 없을 시에는 상기 수학식 10을 만족하는 함수 중에서 a=-1인 g(x)=-x 또는 a=1 인 g(x)=x(mod L)을 이용하여 설명할 수 있지만, 본 발명을 이에 국한할 필요는 없다.
상기 수학식 9와 수학식 10에 대한 본 발명의 간단한 일례를 다음 수학식 11에 나타내었다.
[수학식 11]
다음으로 상기 수학식 9에서 정의된 의 대수적 특성에 대해서 살펴보자. 만일 패리티 검사 행렬 H에 의해서 정의되는 QC LDPC 부호를 라 표현할 때, 주어진 부호어 c에 대해 다음 수학식 12의 관계가 성립함을 쉽게 확인할 수 있다.
[수학식 12]
[수학식 13]
상기 준순환 특성을 가지는 채널 부호를 이용하여 정수에 대응되는 메시지 (또는 데이터)를 송신하는 방법 및 장치를 도 3을 통해 설명한다.
도 3을 살펴보면 먼저 상기 정수에 대응되는 메시지 또는 데이터 외에 또 다른 정보가 포함된 데이터 u가 있다고 하자. 먼저 외측(outer) 채널 부호화기(310)를 통해 데이터 u에 외측 부호화를 수행하여 제 1 패리티 비트 p1를 생성한다. 상기 외측 채널 부호화기(310)를 위한 외측 채널 부호는 CRC (cyclic redundancy check) 부호 또는 BCH (Bose-Chaudhuri-Hocquenghem) 부호 또는 적절한 패리티 검사 부호 (parity-check codes)와 같이 오류 검출(error detection)이 가능한 일반적인 채널 부호를 적용할 수 있다.
(u,p1)를 s라 하면, s는 내측(inner) 채널 부호화기(320)의 입력 비트들(또는 입력 비트 벡터)을 의미하게 된다. 상기 내측 채널 부호화기(320)를 통해 상기 입력 비트 (u,p1)에 내측 채널 부호화를 수행하여 제 2 패리티 비트(p2)를 생성한다. 이때 상기 내측 채널 부호화기(320)를 위한 내측 채널 부호로서 본 발명에서는 수학식 3과 같은 패리티 검사 행렬을 가지는 QC LDPC 부호를 적용하여 설명하고 있으나, 일반적으로 수학식 13의 준순환 특성을 만족하는 어떠한 채널 부호도 적용 가능하다.
내측 채널 부호화기(320)가 시스테메틱(systematic) 채널 부호일 경우에는 상기 데이터 u와 제 1 패리티 및 제 2 패리티가 내측 채널 부호화기(320)에 대한 부호어 c가 된다. 준순환 변환기(330)을 통해 정수 또는 그에 대응되는 메시지를 전송하기 위하여 상기 부호어 c에 대해 적절히 준순환 시프트(shift)를 적용한다. 제어기(340)는 상기 정수 또는 그에 대응되는 메시지에 따라 상기 부호어 c를 준순환 시프트 하는 값 (quasi-cyclic value) g(x) (또는 그에 대응되는 x)를 결정하고, 상기 준순환 변환기(330)에서 적절히 준순환 시프트를 수행하여 송신기에서 전송하기 위한 준순환 시프트 된 부호어 를 생성하도록 제어한다.
상기 도 3의 동작에 따른 과정을 도 4에 간단히 나타내었다. 상기 도 4를 살펴보면, 상기 도 3의 내측 채널 부호화기로부터 얻어진 부호어 비트(410)를 (420)과 같이 길이가 L인 단위로 구분하고, (430)과 같이 준순환 변환을 수행하여 송신기에서 전송할 부호어를 생성한다.
상기 도 3 및 도 4에 나타낸 동작은 도 5와 같은 방법으로도 실현 가능하다. 상기 도 5를 살펴보면, 먼저 외측 채널 부호화기(510)를 통해 데이터 u에 외측 채널 부호화를 수행하여 제 1 패리티 비트 p1를 생성한다. 다음으로 준순환 변환기(520)를 통해 정수 또는 그에 대응되는 메시지를 전송하기 위하여 상기 데이터와 제 1 패리티 비트 s = (u, p1) 에 대해 적절히 준순환 변환을 적용한다. 이 때 제어기(530)는 상기 정수 또는 그에 대응되는 메시지 또는 데이터에 따라 상기 데이터와 제 1 패리티 비트 s = (u,p1)에 대해 준순환 시프트 하는 값 g(x) (또는 그에 대응되는 x)를 결정하고, 상기 준순환 변환기(520)에서 적절히 준순환 시프트를 수행하여 준순환 시프트 된 를 생성하도록 제어한다. 그 다음 상기 준순환 시프트 된 데이터와 제 1 패리티 비트를 입력으로 하여 내측 채널 부호화기(540)을 통해 내측 채널 부호화를 수행한다.
이와 같이 도 3과 도 5에서 준순환 변환기와 내측 채널 부호화기의 순서가 서로 교환 가능한 이유는 내측 채널 부호화기(320)(540)에서 사용되는 내측 채널 부호가 수학식 13의 준순환 특성을 만족하기 때문임에 유의한다. 본 발명에서는 일반적으로 외측 채널 부호는 내측 채널 부호가 만족하는 준순환 특성을 만족하지 않는 채널 부호를 사용하는데, 이러한 경우에는 외측 채널 부호화기와 준순환 변환기가 도 5에서 나타낸 단순한 교환 방식으로는 순서를 변경할 수 없으며, 별도의 특정 과정들이 추가되어야 할 수도 있다.
다음으로 수신기에서 상기 도 3 내지 도 5에 나타낸 방법 및 장치를 이용하여 전송된 데이터 u와 준순환 시프트 된 값 g(x) (또는 그에 대응되는 x)를 복호하는 방법 및 장치에 대해 도 6을 통해 살펴보자.
먼저 수신기에서는 수신 신호 r을 수신하면, 내측 채널 복호기(610)를 통해 복호를 수행한다. 여기서 상기 내측 채널 복호기(610)는 도 3 및 도 5에서 내측 채널 부호화기(320)(540)에서 사용되는 내측 채널 부호에 대응되는 채널 복호기 임에 유의한다. 상기 내측 채널 복호기(610)는 준순환 특성을 만족하는 채널 부호를 적용하였기 때문에 송신기에서 적용된 준순환 시프트 값 g(x) (또는 그에 대응되는 x )를 모르더라도, 송신된 신호가 상기 내측 채널 부호의 부호어 중 하나와 대응되기 때문에 내측 채널 복호기(610)를 이용하여 복호를 수행하는데 아무런 문제가 없다. 다시 말해, 상기 도 6에서 내측 채널 복호기(610)를 통해 복호된 데이터와 제 1 패리티 는, 내측 채널 복호기(610)에 대응되는 내측 채널 부호의 준순환 특성으로 인해 정당한 (legitimate) 부호어의 일부로부터 얻어진다.
하지만, 외측 채널 복호기(630)에 대응되는 외측 채널 부호는 일반적으로 상기 내측 채널 복호기(610)에 대응되는 내측 채널 부호의 준순환 특성을 만족하지 않는 채널 부호를 사용하기 때문에 이러한 특징을 이용하여 상기 로부터 준순환 시프트 값 g(x)((또는 그에 대응되는 x))와 실제 전송 데이터를 복원할 수 있다. 여기서 상기 외측 채널 복호기(610)는 도 3 및 도 5에서 외측 채널 부호화기(310)(510)에서 사용되는 외측 채널 부호에 대응되는 채널 복호기이며, 또한 상기 외측 채널 부호는 오류 검출 능력이 있음에 유의한다.
상기 내측 채널 복호기(610)에서 복원된 데이터와 제 1 패리티 는 준순환 변환기(620)를 통해서 준순환 시프트를 수행한다. 에 x 에 대한 역준순환 시프트를 적용한 결과를 라 할 때, 상기 준순환 시프트 된 를 입력으로 외측 채널 복호기(630)를 통해 복호를 수행한다. 여기서 x는 수학식 9에서 정의된 바와 같이 범위에 있을 수 있으며, 만일 역준순환 시프트 값 g(x) (또는 x)와 가 실제 송신기에서 전송된 값과 일치하지 않을 경우에 외측 채널 복호기(630)는 오류를 검출하게 될 가능성이 매우 높다. 이와 같이 오류가 검출되는 경우에는 제어기(640)를 통해 역준순환 시프트 값을 변경하면서 동일한 과정을 반복한다. 이러한 과정은 외측 채널 복호기(630)에서 오류가 검출되지 않을 때까지 반복되며, 만일 인 경우에 외측 채널 복호기(630)에서 오류가 없다고 판단될 경우에 상기 외측 채널 복호기(630)는 와 그에 대응되는 역준순환 시프트된 결과 를 출력할 수 있다. 결과적으로 수신기에서는 상기 도 6의 복호 과정을 통해 송신기에서 전송된 준순환 시프트 된 값 g(x) (또는 그에 대응되는 x)와 데이터 u를 복호할 수 있다.
만일 임의의 xi, xj에 대해 가 성립하는 경우에는 일반적으로 g(0)=0이며, g(-x)=-g(x)이 성립하기 때문에 같이 나타낼 수 있다. 따라서 상기 도 6에서 역준순환 시프트는 경우에 따라 준순환 시프트를 이용하여 쉽게 구현 가능함에 유의한다. 일반적으로 상기 조건 이 성립하지 않는 경우에라도 역준순환 시프트는 준순환 시프트를 통해 구현 가능하나 다소 복잡해지는 단점이 있다. 이하 본 발명에서는 수신기 동작 및 장치도의 설명에서 편의상 역준순환 시프트를 기본으로 표현하지만, 경우에 따라 역준순환 변환기 또는 시프트는 준순환 변환기 또는 시프트로 구현 가능함을 밝혀둔다. 즉, 기본적으로 준순환 변환기와 역준순환 변환기는 서로 교차로 구현 가능하며, 다만 시프트 값이 다르게 적용되는 것으로 간주할 수 있다.
상기 도 6에 나타낸 복호 과정을 도 7의 흐름도를 통해 다시 자세히 설명한다. 수신기에서는 수신 신호로부터 내측 채널 복호화(710)를 먼저 수행한다. 내측 채널 복호화(710) 단계가 완료되면, 상기 복호화 동작을 통해 얻게 복호된 데이터와 제 1 패리티 비트에 대해 준순환 시프트를 수행해야 한다. 도 7에 나타낸 실시 예에서는 준순환 시프트를 위한 초기 값을 (720) 단계에서 i=1로 설정하였으나 이는 시스템의 요구 조건에 따라 변경 가능하다. (730) 단계에서 (710) 단계에서 복호된 데이터와 제 1 패리티 비트에 대해 준순환 시프트 를 적용한 다음 그 결과를 기반으로 (740) 단계에서 외측 채널 복호화를 수행한다. 상기 (740) 단계의 외측 채널 복호화를 완료한 다음 (750) 단계에서 만일 오류가 검출될 경우에는 i의 값이 에 도달할 때까지 (760), (770) 단계를 적용하여 (730) 단계의 준순환 시프트를 반복적으로 수행한다. ((760) 단계의 판단 기준 또한 (720) 단계에서 설정된 초기 값에 따라 변경 가능하다.) 만일 (750) 단계에서 오류가 검출되지 않을 경우에는 (740) 단계의 외측 채널 복호화에 적용하였던 준순환 시프트 값 g(x)에 대응되는 x와 복호된 데이터를 (780) 단계에서 출력하고 종료한다. 만일 i 의 값이 에 도달하여도 계속 하여 오류가 검출될 경우에는 (760) 단계에서 복호가 실패한 것으로 판단할 수도 있으며, 사전에 정해진 규칙에 따라 적절한 준순환 시프트 값 g(x)에 대응되는 x 및 오류가 검출된 것으로 판단한 복호 데이터를 출력할 수도 있다.
앞서 설명한 바와 같이 상기 도 7의 외측 채널 복호화를 위한 외측 채널 부호는 오류 검출은 가능하나 상기 내측 채널 복호화를 위한 내측 채널 부호가 만족하는 준순환 특성을 만족하지 않는 어떠한 채널 부호도 적용 가능하다. 통상적으로 CRC 부호 또는 BCH 부호 또는 적절한 패리티 검사 부호와 같은 다양한 선형 블록 부호를 적용할 수 있다.
앞서 설명한 바와 같이 도 6 및 도 7에서는 x에 대한 준순환 시프트를 위해 (730) 단계에서 를 적용하는 경우에 대해서만 설명하였으나 또는 를 사용하여 구현할 수도 있다. 만일 를 이용하여 구현할 경우에는 도 7의 (760), (770) 단계나 (780) 단계에서의 출력 값의 형태가 다소 변경될 수도 있다.
다음으로 본 발명의 또 다른 실시 예를 설명하기 위하여 다음과 같은 조건을 만족하는 통신 또는 방송 시스템을 가정한다.
조건 1) 송신기에서 데이터 u를 반복적으로 전송하고자 한다.
조건 2) 수신기에서 상기 데이터를 복호할 뿐만 아니라 동시에 상기 데이터가 포함된 프레임 상의 데이터 순서 또는 위치 x도 복호 가능해야 하기 때문에 채널 부호를 통해 상기 데이터 u에 대해 부호어를 생성할 때 해당 부호어는 상기 데이터 순서 또는 위치 x에 대한 정보도 포함되어 있어야 한다. 여기서 프레임 상의 데이터 순서 또는 위치는 시간 지표, SS 블록 지표, SS 블록 시간 지표, 시스템 프레임 넘버 등과 같은 다양한 형태로 전달 가능함.
조건 5) 각각의 부호어들에 대해 복호를 실패하였다 하여도 상기 부호어들에 대응되는 수신 신호를 적절히 결합(combining)하여 복호 성공 가능성을 높일 수 있는 방법을 제공하는 채널 부호화/복호화 방법이 적용되어야 한다. 이때, 상기 데이터 순서 또는 위치에 대한 차이 값 를 이용할 수 있다.
상기 조건 1) 내지 조건 5)를 모두 만족하는 통신 또는 방송 시스템은 일반적으로 흔한 시스템은 아니지만, 빔포밍(beamforming) 기반 통신 또는 방송 시스템에서 특정 데이터를 전송하는 경우에 적용 가능하다. 상기 조건 1) 내지 조건 5)가 요구되는 시스템에 대한 내용은 본 발명에서 요지에서 벗어나기 때문에 자세한 설명은 생략한다.
일반적으로 조건 1) 내지 조건 3)을 만족하는 통신 및 방송 시스템을 실현하기 위해서 블라인드(blind) 복호를 이용하는 경우가 많이 있다. 예를 들어 수신 신호로부터 가능한 데이터 순서 또는 위치 x에 대한 값들을 모두 일일이 적용해 보면서 복호가 성공하는 경우를 찾을 때까지 복호를 수행하는 방법이다. 하지만, 통상적으로 도 3 내지 도 5의 내측 채널 부호화기 및 도 7의 내측 채널 복호기에 대응되는 내측 채널 부호는 성능은 우수하지만 복호 복잡도가 매우 높은 채널 부호(LDPC, Polar, Turbo 부호 등)를 사용하는 경우가 많기 때문에 상기 채널 부호에 대한 블라인드 복호를 수행하는 경우에는 시스템의 복호 복잡도가 매우 높아질 뿐만 아니라 복호 지연(decoding latency) 또한 문제가 될 수 있다.
이와 반면에 상기 조건 1) 내지 조건 3)과 같은 조건들이 만족되는 시스템은 도 3 내지 도 7에서 설명한 방법 및 장치를 이용하여 쉽게 달성 가능함을 알 수 있다. 상기 도 3 내지 도 7에서 제안한 본 발명은 도 3 및 도 5의 내측 채널 부호화기 또는 도 7의 내측 채널 복호기에 대응되는 내측 채널 부호에 대한 블라인드 복호를 수행하지 않는다. 단지 도 3 및 도 5의 외측 채널 부호화기 또는 도 7의 외측 채널 복호기에 대응되는 외측 채널 부호에 대해서만 블라인드 복호를 수행하는데, 일반적으로 상기 외측 채널 부호는 CRC 부호나 BCH 부호, 패리티 검사 부호와 같은 경판정(hard-decision) 복호가 가능한 채널 부호를 적용하는 경우가 많기 때문에 기존의 방법과 비교하면 무시할만한 복잡도와 복호 지연을 제공한다.
이하에서 설명할 본 발명의 또 다른 실시 예는 조건 1) 내지 조건 3)을 만족할 뿐만 아니라 조건 4), 조건 5)를 만족하는 시스템을 효율적으로 실현하는 방법 및 장치를 제공함에 있다.
먼저 설명의 편의를 위해서 데이터 u가 주어진 채널 부호에 대한 2개의 부호어들에 각각 전송되며, 각 부호어의 순서 또는 위치는 x1, x2 (x1 < x2)이라 하자. 또한 수학식 9와 수학식 10을 통해 정의되는 준순환 변환을 적용하기로 하자. 이하 본 발명에서는 설명의 편의를 위해 상기 순서 또는 위치 정보를 준순환 시프트 값 ax1(mod L), ax2(mod L)에 각각 대응시켜 도 3 내지 도 7에서 제안된 본 발명의 일 실시 예를 통해서 전송된다고 가정하지만, 반드시 본 발명을 이에 국한시킬 필요는 없다.
덧붙여서 수신기에서 상기 순서 또는 위치 값 x1, x2은 상기 부호어들을 복호하기 전에는 알아낼 수 없지만, 은 수신기에서 상기 부호어들의 복호 이전에 알 수 있다고 가정하자. 본 실시 예에서는 편의상 2개의 부호어들에 각각 전송되는 경우에 대해서만 설명하지만, 일반적으로 서로 다른 순서 또는 위치를 가지며 2개 보다 많은 부호어를 통해 전송되는 경우에 대해 쉽게 확장 가능함을 밝혀둔다.
도 8에서 나타낸 것처럼 먼저 주어진 데이터 u에 대해 부호어 c(810)를 생성하기 위하여 외측 채널 부호화기를 통해 제 1 패리티를 생성하고, 내측 부호화기를 통해 제 2 패리티를 생성한다. 그 다음으로 상기 부호어 c(810)를 L 비트 단위로 준순환 시프트(quasi-cyclic shift)를 적용하기 위해 (820)과 같이 부호어 비트를 L 비트 단위로 그룹핑(grouping)한다. 그 다음 부호어 c (810)에 준순환 시프트 값 ax1(mod L), ax2(mod L)에 대응되는 준순환 변환을 적용한 뒤 각각의 부호어 (830)과 (840)을 전송한다.
수신기에서 위 각각의 부호어에 대한 신호를 수신한 다음 어느 하나의 부호어에 대해서 복호화가 성공할 경우에는 x1 또는 x2 중 어느 한 값을 복호할 수 있고, 값을 알기 때문에 u, x1, x2 모두를 복호 가능함을 알 수 있다. 하지만, 만일 상기 두 부호어에 대해 복호가 실패할 경우에는 두 개의 부호어에 대한 신호를 모두 폐기(discard)하거나 결합하여 다시 복호를 수행할 수 있다. 본 발명에서는 후자의 결합하여 다시 복호를 수행함으로써 복호 가능성을 증가 시키는 방법을 제안한다.
먼저 상기 도 8과 같이 부호어 (830)과 (840)을 생성하여 전송하는 경우에는 수학식 10에서 정의된 준순환 시프트를 위한 함수의 선형성(linearity)으로 인해 다음 수학식 14와 같은 특징을 알 수 있다.
[수학식 14]
상기 수학식 14의 특징을 이용하여 도 9와 같이 두 개의 부호어에 대응되는 수신 신호를 효율적으로 결합 가능하다. 상기 도 9에서 (910)가 (920)은 부호어 (830) 및 (840)에 대한 각각의 수신 LLR (log likelihood ratio) 벡터 과 를 나타낸다. 이하 본 발명에서는 편의상 LLR 벡터를 가지고 설명하지만, 수신 벡터는 다양한 형태로 표현할 수 있기 때문에 이에 국한할 필요는 없다.
수신기에서는 를 알고 있고, 상기 두 개의 전송된 부호어는 수학식 14의 성질을 만족하기 때문에 도 9의 (940)과 같이 수신 LLR 벡터 에 대해 (또는 )를 적용하여 수신 LLR 벡터 과 동일한 부호어에 대한 LLR 벡터를 얻는 효과가 있다. 따라서 상기 수신 LLR 벡터 과 상기 역준순환 시프트를 적용한 LLR 벡터 (또는 )를 결합한 LLR 벡터 r(950)을 이용하여 복호를 수행할 경우 마치 하나의 부호어를 반복(repetition)하여 전송한 효과를 얻을 수 있다. 이와 같은 경우 통상적으로 3 dB 이상의 부호화 이득을 얻음은 잘 알려져 있다.
상기 결합된 LLR 벡터는 도 3 내지 도 7에서 내측 채널 부호를 이용하여 복호를 수행하게 된다. 상기 내측 채널 부호를 이용하여 복호를 수행하게 되면 반복 전송 (또는 부호) 효과에 따라 복호가 성공할 확률이 매우 높아진다. 하지만, 여전히 x1 또는 x2 뿐만 아니라 전송된 데이터를 복호하기 위해서는 도 6 내지 도 7에 나타낸 추가적인 역준순환 시프트와 외측 채널 복호화를 수행해야 한다. 예를 들어 상기 (950) LLR 벡터로부터 내측 채널 부호를 이용하여 부호어가 복호 되었다고 하면, 상기 복호된 부호어로부터 도 7의 (720) 단계부터 (780) 단계를 거쳐 x1에 대한 복호 값 을 구할 수 있다. () 그러면, 수신기는 를 알기 때문에 에 대한 복호 값 역시 구할 수 있다. 이와 동시에 도 6 및 도 7에서 설명한 것과 같이 전송된 데이터도 함께 복호된다. 참고로 이상의 설명에서는 수신 LLR 벡터 에 대해 먼저 역준순환 시프트를 적용하는 경우에 대해서 설명하였으나, 에 대해서 먼저 준순환 시프트를 와 같이 적용하여 유사한 과정을 통해 복호 가능함에 유의한다. 이 경우에는 를 먼저 복호하고, 그 다음 를 이용하여 을 구할 수 있다.
상기 과정을 도 10의 도면을 통해 자세히 설명하면 다음과 같다. 먼저 수신된 신호 (또는 수신 벡터) 과 가 있다고 할 때, 먼저 에 대해 역준순환 변환기(1010)를 통해 (또는 )를 구하고, 다음 LLR 결합기(1020)로부터 및 (또는 )를 결합하여 그 결과로부터 얻은 LLR 벡터 r을 도 6의 복호 장치에 입력하여 복호를 수행한다. (참고로 만일 데이터의 순서 또는 위치가 더 빠른 제 1 수신 신호에 변환을 적용할 경우에는 상기 연준순환 변환기(1010)은 도 3내지 5에서 설명한 준순환 변환기와 동일한 모듈을 사용할 수도 있다.) 이하의 과정은 도 6 및 도 7을 통해 설명한 복호 과정과 동일하다. 여기서 상기 LLR 결합기(1020)는 상기 수신 신호 (또는 수신 벡터)들이 LLR로 구성된 형태가 아니면 다른 형태의 결합기로 변경 가능함에 유의한다. 예를 들어 LLR 벡터인 경우에는 상기 LLR 결합기(1020)는 단순 합으로 구성될 수도 있지만, 만일 LLR 벡터가 아니라 이진 값 0, 1에 대한 각각의 확률 벡터로 표현될 경우에는 보다 복잡한 연산에 기반하여 구성이 변경될 수 있다. 또한 상기 역준순환 변환기 (1010)과 (620)은 서로 다른 모듈 또는 동일한 모듈을 사용할 수도 있다. 또한 앞서 설명한 바와 같이 에 대해서 준순환 변환기를 통해 를 먼저 구하고, LLR 결합기(1020)로부터 및 를 결합하여 그 결과로부터 얻은 LLR 벡터 r을 도 6의 복호 장치에 입력하여 복호를 수행할 수 도 있음에 유의한다.
상기 복호 과정을 도 11의 흐름도를 통해 간단히 설명하면 다음과 같다. 먼저 송신기에서 전송된 두 개의 부호어에 대한 제 1 수신 신호 (또는 수신 벡터) 및 제 2 수신 신호 (또는 수신 벡터)가 주어져 있을 때, 각각의 수신 신호에 대한 복호가 실패했다고 하자. 이와 같이 모든 수신 신호에 대해 복호가 실패했을 경우에는 먼저 둘 중에 하나에 대해 역준순환 시프트(1110)를 통해 (또는 )를 적용한다. (도 11에서는 편의상 제 2 수신 신호에 대해 역준순환 시프트를 적용하는 경우에 대해서 설명하지만, 준순환 시프트 를 이용하여 구현 가능하다. 또한 제 1 수신 신호에 대해 준순환 시프트 를 적용한 다음 결합 가능함에도 유의한다.) 상기 역준순환 시프트가 적용된 제 2 수신 신호와 제 1 수신 신호를 (1120) 단계에서 적절히 결합하여 하나의 부호어에 대한 결합된 수신 신호 (또는 수신 벡터)를 생성한다. 이 때 역준순환 시프트는 상기 두 수신 신호에 대한 준순환 시프트 값의 차이에 기반하여 수행한다. 다음으로 상기 결합된 수신 신호(또는 수식 벡터)를 기반으로 이하 도 7의 흐름도(700)를 따라 복호를 수행한다. 상기 도 7의 흐름도를 따라 복호가 완료되면, 데이터와 에 대한 순서 또는 위치 정보 x1 뿐만 아니라 에 대한 순서 또는 위치 정보, x2 또한 쉽게 복호 가능하다.
이상에서는 본 발명에서 전송 또는 수신된 신호가 2 개의 부호어에 대응되는 경우에 대해서만 설명하였지만, 3개 이상의 경우에도 쉽게 확장 가능하다.
도 12를 살펴보면, 송신된 부호어 또는 그에 대응되는 수신 신호 (또는 수신 벡터)가 3개 이상인 경우에 대해 도 10의 블록도를 일반화한 일 실시예이다.
도 12를 자세히 설명하면 다음과 같다. 먼저 3개 이상의 수신된 신호 (또는 수신 벡터) , , ,…가 있고, 각각의 신호에 대응되는 부호어가 전송되는 순서 또는 위치 정보를 x1, x2, x3 라 할 때, 수신기에서 상기 순서 또는 위치 정보의 차이를 알고 있다고 하자. 예를 들면, 수신기는 또는 등과 같은 그 차이 값들을 알고 있다. 이 경우에 먼저 수신기는 수신 신호 중에 결합의 기준이 될 수신 신호를 하나 결정하는데 상기 도 12에서는 편의상 제 1 부호어에 대응되는 제 1 수신 신호 를 기준으로 결합하는 경우에 대해서 설명하지만 다른 수신 신호를 기준으로 결합 가능함에 유의한다.
상기 제 1 수신 신호를 제외한 수신 신호 , , …에 대해서 역준순환 변환기(1210)를 통해 각 수신 신호의 순서 또는 위치 등의 차이에 기반해 적절히 역준순환 시프트를 적용하여, 예를 들면, (또는 ), (또는 ), … 등을 적용한 다음, 상기 결과를 이용하여 LLR 결합기(1220)로부터 및 , , … 등을 결합하여 그 결과로부터 얻은 LLR 벡터 r을 도 6의 복호 장치에 입력하여 복호를 수행한다. 이하의 과정은 도 6 및 도 7을 통해 설명한 복호 과정과 동일하다. 여기서 상기 LLR 결합기(1220)는 상기 수신 신호(또는 수신 벡터)들이 LLR로 구성된 형태가 아니면 다른 형태의 결합기로 변경 가능함에 유의한다. 또한 상기 역준순환 변환기 (1210)과 (620)은 서로 다른 모듈 또는 동일한 모듈을 사용할 수도 있다.
상기 도 12의 실시 예는 수신 신호(또는 수신 벡터)를 모두 동시에 결합하는 경우에 대해서 설명하였으나, 순차적인 결합을 적용할 수도 있다. 예를 들어 상기 도 12에서 역준순환 변환기(1210) 또는 LLR 결합기 (1220) 등은 각 수신 신호들에 대해 역준순환 시프트 또는 신호 결합을 동시에 하는 것이 아니라 순차적으로 결합을 하면서, 복호화를 수행한 후 복호 성공 여부에 따라 추가적인 결합을 할지 결정할 수도 있다. 보다 자세한 설명을 위해 도 13에 나타낸 동작의 흐름도를 살펴보자. 이를 위해 먼저 제 1 수신 신호(또는 수신 벡터)를 기준으로 결합을 수행한다고 가정하자. 또한 총 결합 가능한 수신 수신 신호(또는 수신 벡터)는 Imax 개가 있다고 하자. (1310) 및 (1320)에서 먼저 제 2 수신 신호(도 13의 j=2인 경우에 대한 수신 신호(j))에 각 수신 신호의 순서 또는 위치 등의 차이에 기반해 적절히 역준순환 시프트(1330)를 수행한다. 여기서 i는 송신기에서 실제 전송 순서와는 무관할 수도 있음에 유의한다. 그 다음에는 제 1 수신 신호와 상기 역준순환 시프트 된 수신 신호로부터 수신 신호 결합(또는 LLR 벡터 결합)(1340)을 수행한다. 그리고 상기 결합된 수신 신호(또는 LLR 벡터)에 기반하여 내측 채널 복호화(1350)를 수행한다. 다음으로 상기 내측 채널 복호화를 통해 복호된 데이터와 제 1 패리티 비트에 대해 (1360) 단계에서는 도 7에 나타낸 복호 과정(700)을 수행한다. 상기 도 7의 (700)은 (720) 단계부터 (770) 단계를 의미한다. 상기 복호 과정(700)의 결과로서 (1370) 단계에서 복호 성공 여부를 판단하여 추가적인 수신 신호 결합 및 복호화를 수행할지 결정해야 한다. 상기 복호 성공 여부를 판단하는 (1370) 단계는 도 7의 (760) 단계를 이용하여 오류 검출 또는 예외처리 되는 경우를 기반으로 판단할 수도 있다. 만일 (1370) 단계에서 복호가 실패했다고 판단하고, 추가적인 복호를 수행하려고 할 때는 결합할 수신 신호가 있는지 파악해야 된다. 따라서 (1380) 단계에서 이미 결합된 수신 신호가 총 결합 가능한 수신 신호의 개수 Jmax 를 넘지 않았는지 판단한다. 시스템에 따라서는 복호 복잡도나 지연 고려하여 상기 판단의 기준을 Jmax 보다 작게 설정할 수도 있다. 만일 상기 판단 결과 추가로 결합 가능한 수신 신호가 있을 경우에 (1390) 단계를 거쳐 (1320) 단계부터 다시 동일 과정을 반복한다. 만일 (1360) 또는 (1370) 단계에서 복호가 성공된 것으로 판단될 경우에는 복호 데이터를 출력하는 (1390) 단계를 수행하고, 만일 (1380) 단계에서 더 이상 추가로 결합 가능한 수신 신호가 없다고 판단할 경우에는 복호 실패 선언과 같은 예외 처리를 수행한다.
이와 같이 상기 도 12 및 도 13에서 설명한 실시 예들은 시스템에서 요구되는 복호 복잡도 및 지연, 그리고 수신기 메모리 등의 제약 조건에 따라 선택 가능하며, 다양한 결합 기준을 적용한 수신 신호 결합을 구현 가능하다.
지금까지는 수학식 9에서 인 경우에 한정하여 설명하였다. 이는 수학식 3에 주어진 QC LDPC 부호에 대해서 준순환 시프트 값이 서로 별개로 (distinct) 명확히 구분되는 경우에 한정한 것임을 알 수 있다. 또한 상기 도 3 내지 도 13에서 내측 채널 부호에 대한 블라인드 복호를 수행하지 않는 장점이 있음에 유의한다.
이하에서는 본 발명의 또 다른 실시 예로서 인 경우에 대해서 설명한다. 상기 조건이 만족할 경우에는 수학식 9에서 iv)의 조건이 만족하지 는 경우가 존재할 수 있다. 즉, 이라 하더라도 g(x1)=g(x2) 를 만족하는 경우가 존재할 수 있음을 의미한다. 이와 같이 서로 다른 2개 이상의 x에 대해 준순환 시프트 값이 동일한 경우가 존재할 수 있기 때문에 경우에 따라 지금까지 설명한 본 발명을 통해서 x를 특정할 수 없을 가능성이 있다. 이러한 경우에 본 발명에서 제안하는 방법과 블라인드 복호 방법을 효율적으로 결합하는 새로운 방법에 대해서 설명한다.
[수학식 15]
도 14를 살펴보면 먼저 상기 정수에 대응되는 메시지 또는 데이터 외에 또 다른 정보가 포함된 데이터 u가 있다고 하자. 먼저 외측(outer) 채널 부호화기(1410)를 통해 데이터 u에 외측 부호화를 수행하여 제 1 패리티 비트 p1를 생성한다. 상기 외측 채널 부호화기(1410)를 위한 외측 채널 부호는 CRC (cyclic redundancy check) 부호 또는 BCH (Bose-Chaudhuri-Hocquenghem) 부호 또는 적절한 패리티 검사 부호 (parity-check codes)와 같이 오류 검출(error detection)이 가능한 일반적인 채널 부호를 적용할 수 있다.
(u, p1)를 s라 하면, s는 내측(inner) 채널 부호화기(1420)의 입력 비트들(또는 입력 비트 벡터)을 의미하게 된다. 상기 내측 채널 부호화기(1420)를 통해 상기 입력 비트 (u, p1)에 내측 채널 부호화를 수행하여 제 2 패리티 비트(p2)를 생성한다. 이때 상기 내측 채널 부호화기(1420)를 위한 내측 채널 부호로서 본 발명에서는 수학식 3과 같은 패리티 검사 행렬을 가지는 QC LDPC 부호를 적용하여 설명하고 있으나, 일반적으로 수학식 13의 준순환 특성을 만족하는 어떠한 채널 부호도 적용 가능하다.
내측 채널 부호화기(1420)가 시스테메틱(systematic) 채널 부호일 경우에는 상기 데이터 u와 제 1 패리티 및 제 2 패리티가 내측 채널 부호화기(320)에 대한 부호어 c가 된다. 준순환 변환기(1430)을 통해 정수 또는 그에 대응되는 메시지를 전송하기 위하여 상기 부호어 c에 대해 적절히 준순환 시프트(shift)를 적용한다. 제어기(1440)는 상기 정수 또는 그에 대응되는 메시지 또는 데이터에 따라 상기 부호어 c를 준순환 시프트 하는 값 g(x) (또는 그에 대응되는 x)를 결정하고, 상기 준순환 변환기(1430)에서 적절히 준순환 시프트 된 부호어 를 생성하도록 제어한다. 이상 도 14의 (1410) 내지 (1440)의 구조는 도 3과 동일한 형태임을 알 수 있다. 하지만, 도 14에서 상기 제어기(1440)는 상기 정수 또는 그에 대응되는 메시지 또는 데이터에 따라 상기 부호어 를 순환 시프트 하는 값 (cyclic value) h(y) (또는 그에 대응되는 y)를 결정하고, 상기 준순환 시프트 된 부호어 에 대해 순환 변환기(1450)로부터 추가적으로 순환 시프트를 수행하여 송신기에서 전송하기 위한 순환 시프트된 최종 부호어 를 생성하도록 제어한다.
상기 도 14의 동작에 따른 과정을 도 15에 간단히 나타내었다. 상기 도 15를 살펴보면, 상기 도 14의 내측 채널 부호화기로부터 얻어진 부호어 비트(1510)를 (1520)과 같이 길이가 L인 단위로 구분하고, 준순환 변환을 수행하여 준순환 시프트된 부호어 (1530)을 생성한다. 다음으로 상기 준순환 시프트된 부호어(1530)에 적절한 순환 시프트를 적용하여 (1540)과 같은 송신기에서 전송을 위한 부호어를 생성한다.
상기 도 14 및 도 15에 나타낸 동작은 도 16과 같은 방법으로도 실현 가능하다. 상기 도 16을 살펴보면, 먼저 외측 채널 부호화기(1610)를 통해 데이터 u에 외측 채널 부호화를 수행하여 제 1 패리티 비트 p1를 생성한다. 다음으로 준순환 변환기(1620)를 통해 정수 또는 그에 대응되는 메시지를 전송하기 위하여 상기 데이터와 제 1 패리티 비트 s = (u, p1) 에 대해 적절히 준순환 변환을 적용한다. 이 때 제어기(1640)는 상기 정수 또는 그에 대응되는 메시지 또는 데이터에 따라 상기 데이터와 제 1 패리티 비트 s = (u, p1)에 대해 준순환 시프트 하는 값 g(x) (또는 그에 대응되는 x)를 결정하고, 상기 준순환 변환기(1620)에서 적절히 준순환 시프트 를 수행하도록 제어한다. 그 다음 상기 준순환 시프트 된 데이터와 제 1 패리티 비트를 입력으로 하여 내측 채널 부호화기(1630)을 통해 내측 채널 부호화를 수행하여 부호어 를 생성한다. 마지막으로 상기 생성된 부호어 에 대해 순환 변환기(1650)로부터 순환 시프트를 추가적으로 수행하여 송신기에서 전송하기 위한 순환 시프트된 최종 부호어 를 생성한다. 여기서 상기 제어기(1640)는 상기 정수 또는 그에 대응되는 메시지 또는 데이터에 따라 상기 부호어 를 순환 시프트 하는 값 h(y) (또는 그에 대응되는 y)를 결정하고, 상기 준순환 시프트 된 부호어 에 대해 순환 변환기(1650)로부터 추가적으로 순환 시프트를 수행하여 송신기에서 전송하기 위한 순환 시프트된 최종 부호어 를 생성하도록 제어한다.
이와 같이 도 14와 도 16에서 준순환 변환기와 내측 채널 부호화기의 순서가 서로 교환 가능한 이유는 내측 채널 부호화기(1420)(1630)에서 사용되는 내측 채널 부호가 수학식 13의 준순환 특성을 만족하기 때문임에 유의한다.
다음으로 수신기에서 상기 도 14 내지 도 16에 나타낸 방법 및 장치를 이용하여 전송된 데이터 u와 준순환 시프트 된 값 g(x) (또는 그에 대응되는 x), 순환 시프트 된 값 h(y) (또는 그에 대응되는 y)를 복호하는 방법 및 장치에 대해 도 17을 통해 살펴보자.
먼저 수신기에서는 수신 신호 r을 수신하면, 순환 변환기(1710)를 이용해 순환 시프트를 적용한다. 이때 수신기에서 순환 시프트 된 값 h(y) (또는 그에 대응되는 y)에 대한 정보를 알지 못할 때는 적절한 초기값을 설정하여 순환 시프트를 적용한다. 상기 역순환 변환기(1710)에서는 초기 값에 대한 역순환 시프트 된 수신 신호 를 출력하여 내측 채널 복호기(1720)에 입력한다. 내측 채널 복호기(1720)는 복호를 수행하여 복호가 성공될 경우에 그에 대응되는 순환 시프트 값 와 복호된 데이터 및 제 1 패리티를 출력한다. 이때 상기 내측 채널 복호기(1720)에서 복호에 실패할 경우에는 제어기를 통해 역순환 변환기(1710)에서 y 값을 변경하여 그에 대응되는 역순환 시프트 값 h(y)을 적용하여 수신 신호에 다시 역순환 시프트를 적용한 다음 다시 내측 채널 복호기(1720)를 통한 복호를 수행한다. 이는 복호가 성공할 때까지 반복될 수 있는데, 내측 채널 부호에 대한 복호 성공 여부는 다양한 방법으로 결정할 수 있다. 예를 들어 내측 채널 부호에 대한 신드롬(syndrome)의 값을 보고 복호의 성공 여부를 결정할 수도 있고, 복호 과정에서 사용되는 메트릭(metric)의 의 값의 변화나 범위에 따라 복호의 성공 여부를 결정할 수도 있다.
상기 내측 채널 복호기(1720)의 출력으로서 복원된 데이터와 제 1 패리티 는 역준순환 변환기(1730)를 통해서 역준순환 시프트를 수행한다. 에 x에 대한 역준순환 시프트를 적용한 결과를 라 할 때, 상기 역준순환 시프트 된 를 입력으로 외측 채널 복호기(1740)를 통해 복호를 수행한다. 여기서 x는 수학식 9에서 정의된 바와 같이 범위에 있을 수 있으며, 만일 역준순환 시프트 값 g(x) (또는 x)와 가 실제 송신기에서 전송된 값과 일치하지 않을 경우에 외측 채널 복호기(1740)는 오류를 검출하게 될 가능성이 매우 높다. 이와 같이 오류가 검출되는 경우에는 제어기(1750)를 통해 역준순환 시프트 값을 변경하면서 동일한 과정을 반복한다. 이러한 과정은 외측 채널 복호기(1740)에서 오류가 검출되지 않을 때까지 반복되며, 만일 인 경우에 외측 채널 복호기(630)에서 오류가 없다고 판단될 경우에 상기 외측 채널 복호기(1740)는 와 그에 대응되는 역준순환 시프트된 결과 를 출력할 수 있다. 결과적으로 수신기에서는 상기 도 17의 복호 과정을 통해 송신기에서 전송된 준순환 시프트 된 값 g(x) (또는 그에 대응되는 x), h(y) (또는 그에 대응되는 y)와 데이터 u를 복호할 수 있다.
상기 도 17에 나타낸 복호 과정을 도 18의 흐름도를 통해 다시 자세히 설명한다. 수신기에서는 수신 신호 (또는 수신 벡터 또는 수신 LLR 벡터)로부터 먼저 역순환 시프트(1820)를 수행한다. 도 18에서는 역순환 시프트(1820)를 수행하기 위한 초기 값으로 j=1로 설정하였으나 이는 시스템의 요구 조건에 따라 변경 가능하다. 상기 역순환 시프트 된 수신 신호를 기반으로 내측 채널 복호화(1830)를 수행한다. 상기 내측 채널 복호화(1830)를 완료한 후 복호의 성공 여부에 따라 동작이 달라질 수 있다. 예를 들어 계속하여 복호가 실패할 경우에는 j 값이 Bmax 에 도달할 때까지 (1860) 단계를 거쳐 (1820) 내지 (1840) 단계를 계속 반복적으로 수행한다. 여기서 Bmax 는 역순환 시프트를 적용할 수 있는 y 값의 총 개수를 의미한다. 만일 j의 값이 Bmax 에 도달하여도 계속 하여 오류가 검출될 경우에는 (1850) 단계에서 복호가 실패한 것으로 판단하여 복호 실패 선언과 같은 예외 처리를 수행한다. 만일 특정 j 값에 대해 (1830) 단계에서 복호가 성공할 경우에는 (1840) 단계에서 (1870) 단계를 수행한다. 이때 상기 성공한 j 값에 대해 값을 출력할 수도 있다.
상기 내측 채널 복호화(1830)가 성공하여 복호된 데이터와 제 1 패리티 비트에 대해서는 도 7에 나타낸 복호 과정(700)을 수행한다. 상기 도 7의 (700)은 (720) 단계부터 (770) 단계를 의미한다. 상기 복호 과정(700)의 결과로서 (1880) 단계에서 복호된 데이터 및 x, y 와 같은 값들을 출력한다. 만일 상기 복호 과정(700)에서 복호에 실패했을 경우에는 복호 실패 선언과 같은 예외 처리를 수행한다.
도 3 내지 도 13에서 제안한 본 발명의 가장 큰 특징은 내측 채널 부호에 대한 블라인드 복호를 수행하지 않기 때문에 복호 복잡도 및 지연이 매우 낮은 장점이 있다. 또한 복수 개의 부호어가 전송된다고 할 때 각각의 부호어의 전송 순서 또는 위치 등의 차이를 수신기가 알고 있을 때, 효율적인 수신 신호 결합 및 복호화 방법을 제공한다. 하지만, 상기 각 부호어가 전송되는 순서 또는 위치에 대한 정보가 순환 순열 행렬 또는 순환 행렬의 크기에 대응되는 L 보다 같거나 작은 경우에만 사용 가능하다.
도 14 내지 도 18에서 제안한 본 발명에 대한 일 실시 예의 가장 큰 특징은 만일 상기 각 부호어가 전송되는 순서 또는 위치에 대한 정보가 L 보다 큰 경우에 대해 전송이 필요할 때 적용할 수 있는 방법이다. 준순환 시프트와 순환 시프트를 적절히 적용하여 L 보다 큰 순서 또는 위치 또는 다른 임의의 데이터를 전송할 수 있기 때문에 보다 많은 데이터를 전송할 수 있게 한다. 하지만, 도 17내지 도 18을 살펴보면, 내측 채널 부호에 대한 블라인드 복호화가 반드시 필요하게 된다. 이는 복잡도 증가와 지연을 유발할 수 있다.
도 14 내지 도 18의 일 실시 예에서는 설명의 편의를 위해 전체 부호어에 대한 변환을 수학식 15에서 정의한 순환 시프트 에 기반한 변환에 대해서만 설명하였다. 하지만 일반적으로 상기 순환 시프트뿐만 아니라 다음 수학식 16을 만족하는 어떠한 변환 도 적용 가능하다.
[수학식 16]
예를 들면, 블록 단위 또는 랜덤 퍼뮤테이션(block-wise or random permutation)을 적용할 수도 있으며, 스크램블링(scrambling) 수열 등을 이용하여 상기 부호어를 변환하는 방법도 적용 가능하다. 또한 순환 버퍼(circular buffer)와 같은 메모리에 상기 부호어를 저장한 다음, 사전에 정해진 규칙에 따라 출력하는 방법을 통해 부호어를 변환하는 것도 가능하다.
상기 도 14 내지 도 18에서 제안한 방법은 일반적으로 송수신 환경이 열악하여 각각의 수신 신호에 대해 복호가 실패하였을 때, 각 수신 신호들을 결합하여 복호를 수행할 경우에 복잡도가 크게 증가할 수 있다. 따라서 수신 신호들의 결합을 고려하여 복잡도 증가를 감소 시키기 위해서는 전송하고자 하는 시간 지표 또는 SS 블록 지표 또는 SS 블록 시간 지표 또는 시스템 프레임 넘버 또는 사전에 결정된 서로 다른 임의의 데이터 등과 상기 준순환 시프트 및 순환 시프트 순환 시프트 등의 매핑 관계도 중요한 영향을 준다.
이하 본 발명의 또 다른 실시 예로서 상기 도 14 내지 도 18의 방법을 개선하여 복호 복잡도 증가를 크게 제한하면서 도 3 내지 도 13에서 제안한 방법에 비해 보다 많은 정보를 송수신하는 방법을 제안한다.
먼저 다음과 같이 수학식 15의 조건 iv), v)를 다음 수학식 17과 같이 변경한 본 발명의 또 다른 실시 예를 살펴보자.
[수학식 17]
상기 수학식 15 및 수학식 17에서 설정한 본 발명의 방법에 대해서 자세히 분석하기 위해 다음과 같은 구체적인 실시 예를 통해 설명한다. 먼저 상기 수학식 15 및 수학식 17에 대한 구체적인 매핑 규칙 및 파라미터를 다음 수학식 18에 나타내었다.
[수학식 18]
기본적으로 본 발명의 일 실시예로서 도 14 내지 도 18에서 제안한 데이터 전송 방법 및 장치에 대해 상기 수학식 18의 파라미터를 가지는 경우에도 그대로 적용 가능하다. 즉, 상기 파라미터를 가지는 각 부호어에 대해 도 14 내지 도 18에 제안한 방법에 따라 부호화 및 복호화가 가능하다.
하지만 만일 각각의 부호어들에 대한 복호가 모두 실패하였을 때 해당 부호어들에 대응되는 수신 신호들을 결합하여 효율적인 복호가 가능한 방법을 제안한다. 이하 본 발명에서 제안하는 방법 및 장치의 목적은 각 수신 신호들의 결합 방법과 결합된 수신 신호를 기반으로 내측 채널 부호에 대한 블라인드 복호를 수행하는데 있어 복호 복잡도를 크게 감소시키는데 있다.
수학식 18과 같은 매핑 규칙 및 파라미터를 가지는 경우의 특성을 살펴보기 위해 먼저 상기 조건 1) 내지 조건 5)를 만족하는 통신 또는 방송시스템을 다시 생각하자. 즉, 수신기에서 각각의 부호어에 대해 복호는 실패하여 그 부호어가 전송된 순서 또는 위치 정보 ki나 kj (ki < kj) 값은 알 수 없으나 그 차이 는 알 수 있다고 가정하자. 를 알 수 있으면, ki나 kj에 대한 각각의 값은 정확히 모르지만, 다음 수학식 19이 성립함을 이용하면 Q(ki,D)와 QR(kj,D) 사이 또는 R(ki,D)와 R(kj,D) 사이의 관계 일부를 알 수 있다.
[수학식 19]
예를 들어 = 7이라면, 값은 0 또는 1이 됨을 알 수 있고, 이므로 수학식 17과 같은 매핑 규칙 및 파라미터를 가지는 경우에 대해 와 가 가질 수 있는 값의 쌍은 정확히 3만큼 차이가 나는 (0, 3), (1, 0), (2, 1), (3, 2)만 가질 수 있게 됨을 알 수 있다. 결과적으로 kj에 대응되는 수신 신호(또는 수신 LLR 벡터)에 - 3 만큼 역순환 시프트를 적용하고, 0 또는 -1 만큼 역준순환 시프트를 적용한 다음 상기 역순화 및 역준순환 시프트 수신 신호를 ki에 대한 수신 신호와 결합 가능함을 알 수 있다. 이 실시 예에서는 ki에 대한 수신 신호를 기준으로 결합하는 방법에 대해서 설명하고 있으나 경우에 따라 kj를 기준으로 결합 가능함은 자명하다.
상기와 같이 수신 신호를 결합하였다 하여도 정확한 R(ki,4) 값은 모르기 때문에 반드시 내측 채널 부호에 대한 복호가 실패할 수 있다. 이는 상기 결합된 수신 신호에 역순환 변환을 순차적으로 적용하면서 R(ki,4) 값을 결정할 수 밖에 없다. 따라서 상기 수학식 17의 실시 예에서는 0, 1, 2, 3의 값에 대해서 역순환 변환을 적용하면서 내측 채널 복호를 수행하여 복호가 성공하는 경우를 R(ki,4)의 값으로 결정함으로써 순환 시프트 값에 대한 정보를 복호한다. 이와 같이 내측 채널 복호가 성공한 다음에는 도 7의 (700)과 같이 역준순환 시프트 과정을 통한 외측 채널 복호를 수행하여 Q(ki,4)를 결정한다. 이와 같은 과정을 거쳐 Q(ki,4) 및 R(ki,4)에 대해 복호가 성공할 경우에 ki는 수학식 16으로부터 결정 가능하며, 또한 kj도 결정 가능하다.
정리하여 말하면, 전송된 복수 개의 데이터에 대응되는 수신 신호의 순서 또는 위치의 차이로부터 사전에 정해진 규칙에 따라 역순환 시프트 값, 역준순환 시프트 값을 계산한 다음에, 상기 시프트 값에 따라 제 1 수신 신호에 대해 역순환 및 역준순환 시프트를 적용한다. 상기 역순환 및 역준순환 시프트를 적용한 제 1 수신 신호와 제 2 수신 신호를 결합한다. 상기 결합된 수신 신호를 기반으로 역순환 시프트 값을 변경하면서 역순환 시프트를 적용하여 내측 채널 부호에 대한 복호를 수행한다. 이때 복호가 성공하는 경우의 역순환 시프트 값으로부터 제 2 수신 신호에 적용된 순환 시프트 값을 결정하게 된다. 또한 상기 복호가 성공한 경우에 대한 데이터 및 패리티를 기반으로 역준순환 시프트 값을 변경하면서 역순환 시프트를 적용하여 외측 채널 부호에 대한 복호를 수행한다. 상기 외측 채널 복호의 결과에 따른 오류 검출 여부를 판단하여 상기 역준순환 시프트 값을 결정할 수 있고, 이로부터 제 2 수신 신호에 적용된 준순환 시프트 값을 결정할 수 있다. 최종적으로는 상기 복호된 순환 시프트 및 준순환 시프트 값으로부터 제 1 수신 신호 및 제 2 수신 신호에 대한 데이터 및 각 데이터에 대응되는 수신 신호의 순서 및 위치 등을 결정할 수 있다.
상기 수학식 16에서는 설명의 편의상 순환 시프트에 대한 실시 예만 나타내었는데 다양한 방법으로 변경 가능함은 자명하다.
예를 들면, 블록 단위 또는 랜덤 퍼뮤테이션(block-wise or random permutation)을 적용할 수도 있으며, 스크램블링(scrambling) 수열 등을 이용하여 상기 부호어를 변환하는 방법도 적용 가능하다. 또한 순환 버퍼(circular buffer)와 같은 메모리에 상기 부호어를 저장한 다음, 사전에 정해진 규칙에 따라 출력하는 방법을 통해 부호어를 변환하는 것도 가능하다.
또한 상기 수학식 16에서는 와 같이 a 단위의 균일한 순환 시프트에 대해서면 설명하였지만, 일반적으로 다양한 비균일한(irregular) 순환 시프트도 적용 가능함은 자명하다. 뿐만 아니라 본 발명에서는 설명의 편의를 위해 상기 준순환 시프트를 로 순환 시프트를 같이 수학식을 이용하여 표현하지만, 실제 송신기, 수신기 장치에서는 순환 비트 이동 (circular bit shift or bit rotation)이나 인터리버, 메모리 또는 버퍼에서의 쓰기/읽기 방법 등을 통해 상기 준순환/순환 시프트를 쉽게 구현 가능함에 유의한다.
본 발명은 바람직한 실시예로 설명하였지만, 다양한 변경 및 변형이 당업자에게 제시될 수도 있다. 이러한 변경 및 변형들은 첨부된 청구범위에 포함되는 것으로 의도하는 바이다.
Claims (20)
- 통신 시스템에서 송신기의 채널 부호화 방법에 있어서,
외측 채널 부호에 기반하여, 제1 데이터를 지시하는 입력 비트들의 외측 채널 부호화를 수행하는 단계;
비트 그룹 사이즈를 확인하는 단계;
상기 외측 채널 부호화의 아웃풋 (output)에 기반하여 복수의 비트 그룹들을 확인하는 단계;
상기 제1 데이터 외에 추가적인 데이터인 제2 데이터에 상응하는 제1 순환 시프트 값을 결정하는 단계;
순환 비트 시프트된 아웃풋을 생성하기 위해, 상기 제1 순환 시프트 값에 기반하여 상기 복수의 비트 그룹들에 대한 순환 비트 시프트를 수행하는 단계;
내측 채널 부호에 기반하여, 상기 순환 비트 시프트된 아웃풋의 내측 채널 부호화를 수행하는 단계; 및
상기 내측 채널 부호화의 아웃풋의 적어도 부분을 수신기에 전송하는 단계를 포함하며,
상기 복수의 비트 그룹들 각각은 상기 비트 그룹 사이즈를 갖고,
상기 제1 순환 시프트 값에 기반한 순환 비트 시프트에 기반하여 상기 제2 데이터가 상기 수신기에 지시되는 것을 특징으로 하는 방법. - 삭제
- 제1항에 있어서,
상기 외측 채널 부호화는 CRC (cyclic redundancy check) 부호화 또는 BCH (Bose-Chaudhuri-Hocquenghem) 부호화 중 적어도 하나를 포함하며,
상기 내측 채널 부호화는 준순환 LDPC (low density parity check) 부호화를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제1 순환 시프트 값은 상기 비트 그룹 사이즈보다 작거나 같은 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 순환 비트 시프트된 아웃풋은 상기 제2 데이터 및 하기의 식에 기반하여 생성되며,
상기 L은 상기 복수의 비트 그룹들의 상기 비트 그룹 사이즈에 상응하는 양의 정수이고,
상기 n은 상기 복수의 비트 그룹들의 수에 상응하는 양의 정수이고,
상기 c 내의 각 ci는 상기 복수의 비트 그룹들의 하나에 상응하며, , 이고,
상기 x는 상기 제2 데이터에 의해 표현되는 정수 값에 상응하며,
상기 Tmax는 상기 제2 데이터의 최대 수에 상응하며,
상기 g(x)는 상기 제1 순환 시프트 값에 상응하며,
상기 Pg(x)는 상기 제1 순환 시프트 값에 기반한 상기 순환 비트 시프트에 상응하며,
상기 Tx(c)는 상기 순환 비트 시프트된 아웃풋에 상응하는 것을 특징으로 하는 방법. - 통신 시스템에서 수신기의 채널 복호화 방법에 있어서,
송신기로부터 신호를 수신하는 단계;
상기 수신된 신호에 기반하여 값들을 확인하는 단계;
상기 값들의 복수의 그룹들을 확인하는 단계;
내측 채널 부호에 기반하여 상기 값들의 상기 복수의 그룹들에 내측 채널 복호화를 수행하는 단계;
외측 채널 부호에 기반하여 상기 내측 채널 복호화의 아웃풋에 외측 채널 복호화를 수행하는 단계; 및
상기 외측 채널 복호화의 아웃풋 (output)으로부터 제1 데이터를 지시하는 입력 비트들을 확인하는 단계를 포함하며,
상기 외측 채널 복호화가 성공하는 경우, 상기 값들의 상기 복수의 그룹들에 적용된 제1 순환 비트 시프트 값에 기반하여 상기 제1 데이터 외에 추가적인 데이터인 제2 데이터가 확인되며,
상기 복수의 그룹들 각각은 비트 그룹 사이즈를 갖는 것을 특징으로 하는 방법. - 삭제
- 제6항에 있어서,
상기 외측 채널 복호화는 CRC (cyclic redundancy check) 복호화 또는 BCH (Bose-Chaudhuri-Hocquenghem) 복호화 중 적어도 하나를 포함하며,
상기 내측 채널 복호화는 준순환 LDPC (low density parity check) 복호화를 포함하는 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 외측 채널 복호화에 기반하여 디코딩 에러가 감지되는 경우, 상기 외측 채널 복호화를 수행한 후 순환 비트 시프트된 아웃풋을 생성하기 위해 제2 순환 시프트 값에 기반하여 상기 내측 채널 복호화의 상기 아웃풋의 복수의 그룹들에 대한 순환 비트 시프트를 수행하는 단계;
상기 순환 비트 시프트된 아웃풋에 상기 외측 채널 복호화를 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 제1 순환 시프트 값은 상기 비트 그룹 사이즈 보다 작거나 같은 것을 특징으로 하는 방법. - 통신 시스템에서 송신기에 있어서,
송수신부; 및
외측 채널 부호에 기반하여, 제1 데이터를 지시하는 입력 비트들의 외측 채널 부호화를 수행하고,
비트 그룹 사이즈를 확인하고,
상기 외측 채널 부호화의 아웃풋 (output)에 기반하여 복수의 비트 그룹들을 확인하고,
상기 제1 데이터 외에 추가적인 데이터인 제2 데이터에 상응하는 제1 순환 시프트 값을 결정하고,
순환 비트 시프트된 아웃풋을 생성하기 위해, 상기 제1 순환 시프트 값에 기반하여 상기 복수의 비트 그룹들에 대한 순환 비트 시프트를 수행하고,
내측 채널 부호에 기반하여, 상기 순환 비트 시프트된 아웃풋의 내측 채널 부호화를 수행하고,
상기 송수신부를 통해 상기 내측 채널 부호화의 아웃풋의 적어도 부분을 수신기에 전송하는 제어부를 포함하며,
상기 복수의 비트 그룹들 각각은 상기 비트 그룹 사이즈를 갖고,
상기 제1 순환 시프트 값에 기반한 순환 비트 시프트에 기반하여 상기 제2 데이터가 상기 수신기에 지시되는 것을 특징으로 하는 송신기. - 삭제
- 제11항에 있어서,
상기 외측 채널 부호화는 CRC (cyclic redundancy check) 부호화 또는 BCH (Bose-Chaudhuri-Hocquenghem) 부호화 중 적어도 하나를 포함하며,
상기 내측 채널 부호화는 준순환 LDPC (low density parity check) 부호화를 포함하는 것을 특징으로 하는 송신기. - 제11항에 있어서,
상기 제1 순환 시프트 값은 상기 비트 그룹 사이즈보다 작거나 같은 것을 특징으로 하는 송신기. - 제11항에 있어서,
상기 순환 비트 시프트된 아웃풋은 상기 제2 데이터 및 하기의 식에 기반하여 생성되며,
,
상기 L은 상기 복수의 비트 그룹들의 상기 비트 그룹 사이즈에 상응하는 양의 정수이고,
상기 n은 상기 복수의 비트 그룹들의 수에 상응하는 양의 정수이고,
상기 c 내의 각 ci는 상기 복수의 비트 그룹들의 하나에 상응하며, , 이고,
상기 x는 상기 제2 데이터에 의해 표현되는 정수 값에 상응하며,
상기 Tmax는 상기 제2 데이터의 최대 수에 상응하며,
상기 g(x)는 상기 제1 순환 시프트 값에 상응하며,
상기 Pg(x)는 상기 제1 순환 시프트 값에 기반한 상기 순환 비트 시프트에 상응하며,
상기 Tx(c)는 상기 순환 비트 시프트된 아웃풋에 상응하는 것을 특징으로 하는 송신기. - 통신 시스템에서 수신기에 있어서,
송수신부; 및
송신기로부터 상기 송수신부를 통해 신호를 수신하고,
상기 수신된 신호에 기반하여 값들을 확인하고,
상기 값들의 복수의 그룹들을 확인하고,
내측 채널 부호에 기반하여 상기 값들의 상기 복수의 그룹들에 내측 채널 복호화를 수행하고,
외측 채널 부호에 기반하여 상기 내측 채널 복호화의 아웃풋에 외측 채널 복호화를 수행하고,
상기 외측 채널 복호화의 아웃풋 (output)으로부터 제1 데이터를 지시하는 입력 비트들을 확인하고,
상기 외측 채널 부호화가 성공하는 경우, 상기 값들의 상기 복수의 그룹들에 적용된 제1 순환 비트 시프트 값에 기반하여 상기 제1 데이터 외에 추가적인 데이터인 제2 데이터가 확인되며,
상기 복수의 그룹들 각각은 비트 그룹 사이즈를 갖는 제어부를 포함하는 것을 특징으로 하는 수신기. - 삭제
- 제16항에 있어서,
상기 외측 채널 복호화는 CRC (cyclic redundancy check) 복호화 또는 BCH (Bose-Chaudhuri-Hocquenghem) 복호화 중 적어도 하나를 포함하며,
상기 내측 채널 복호화는 준순환 LDPC (low density parity check) 복호화를 포함하는 것을 특징으로 하는 수신기. - 제16항에 있어서,
상기 제어부는,
상기 외측 채널 복호화에 기반하여 디코딩 에러가 감지되는 경우, 상기 외측 채널 복호화를 수행한 후 순환 비트 시프트된 아웃풋을 생성하기 위해 제2 순환 시프트 값에 기반하여 상기 내측 채널 복호화의 상기 아웃풋의 복수의 그룹들에 대한 순환 비트 시프트를 수행하고,
상기 순환 비트 시프트된 아웃풋에 상기 외측 채널 복호화를 수행하는 것을 특징으로 하는 수신기. - 제16항에 있어서,
상기 제1 순환 시프트 값은 상기 비트 그룹 사이즈 보다 작거나 같은 것을 특징으로 하는 수신기.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170056566A KR102396814B1 (ko) | 2017-05-02 | 2017-05-02 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
US16/610,491 US11146355B2 (en) | 2017-05-02 | 2018-05-02 | Method and apparatus for channel encoding/decoding in communication or broadcast system |
PCT/KR2018/005094 WO2018203661A1 (ko) | 2017-05-02 | 2018-05-02 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
US17/496,623 US11569936B2 (en) | 2017-05-02 | 2021-10-07 | Method and apparatus for channel encoding/decoding in communication or broadcast system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170056566A KR102396814B1 (ko) | 2017-05-02 | 2017-05-02 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180122255A KR20180122255A (ko) | 2018-11-12 |
KR102396814B1 true KR102396814B1 (ko) | 2022-05-11 |
Family
ID=64016223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170056566A KR102396814B1 (ko) | 2017-05-02 | 2017-05-02 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11146355B2 (ko) |
KR (1) | KR102396814B1 (ko) |
WO (1) | WO2018203661A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102396814B1 (ko) * | 2017-05-02 | 2022-05-11 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
CN112636764B (zh) * | 2020-12-28 | 2024-02-02 | 上海熙软科技有限公司 | 基于双重数据分解的数据编码系统及方法 |
CN118318397A (zh) * | 2021-11-30 | 2024-07-09 | 三星电子株式会社 | 用于在通信和广播系统中解码数据的方法和设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120198305A1 (en) * | 2011-01-31 | 2012-08-02 | Samsung Electronics Co., Ltd. | Methods and apparatus for fast synchronization using quasi-cyclic low-density parity-check (qc-ldpc) codes |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769093B1 (en) * | 2000-12-15 | 2004-07-27 | Conexant Systems, Inc. | Synchronization of a communications system |
US7065703B2 (en) * | 2001-02-14 | 2006-06-20 | Conexant Systems, Inc. | Synchronization of a communications system |
KR100510549B1 (ko) * | 2003-09-26 | 2005-08-26 | 삼성전자주식회사 | 코채널 간섭을 검출하고 경감시키는 디지털 비디오 방송수신기의 채널 상태 평가 장치 및 그 방법 |
KR100653232B1 (ko) * | 2004-12-08 | 2006-12-04 | 한국전자통신연구원 | 케이블 다운스트림 전송을 위한 qam 심볼 매핑 방법 및장치 |
US8583981B2 (en) * | 2006-12-29 | 2013-11-12 | Marvell World Trade Ltd. | Concatenated codes for holographic storage |
US8065598B1 (en) * | 2007-02-08 | 2011-11-22 | Marvell International Ltd. | Low latency programmable encoder with outer systematic code and low-density parity-check code |
US20100246640A9 (en) | 2007-05-01 | 2010-09-30 | Arkady Molev-Shteiman | Feedback of decoded data characteristics |
BRPI0922876A2 (pt) * | 2008-12-10 | 2018-05-29 | Thomson Licensing | metodo e aparelho para a transmissão e recepção de cabeçalhos de quadros de correção fec com modulação de cabeçalho variável |
US20100251069A1 (en) * | 2009-03-31 | 2010-09-30 | Qualcomm Incorporated | Method and apparatus for efficient memory allocation for turbo decoder input with long turbo codeword |
TWI581578B (zh) | 2010-02-26 | 2017-05-01 | 新力股份有限公司 | 編碼器及提供遞增冗餘之編碼方法 |
US20110255631A1 (en) | 2010-04-20 | 2011-10-20 | Samsung Electronics Co., Ltd. | Methods and apparatus for fast synchronization using tail biting convolutional codes |
US8433975B2 (en) * | 2010-08-13 | 2013-04-30 | Nxp B.V. | Bitwise reliability indicators from survivor bits in Viterbi decoders |
US8656257B1 (en) * | 2012-01-11 | 2014-02-18 | Pmc-Sierra Us, Inc. | Nonvolatile memory controller with concatenated error correction codes |
JP6424168B2 (ja) * | 2012-12-21 | 2018-11-14 | サムスン エレクトロニクス カンパニー リミテッド | 通信システムにおける信号を送受信する方法及び装置 |
KR102046343B1 (ko) * | 2013-04-18 | 2019-11-19 | 삼성전자주식회사 | 디지털 영상 방송 시스템에서의 송신 장치 및 방법 |
KR102191303B1 (ko) * | 2014-04-17 | 2020-12-15 | 삼성전자 주식회사 | 부호어를 생성하는 방법 및 장치 그리고 부호어를 복원하는 방법 및 장치 |
EP3001571A1 (en) | 2014-09-26 | 2016-03-30 | Alcatel Lucent | LDPC coding and decoding for channels with phase slip |
US10326474B2 (en) | 2015-03-02 | 2019-06-18 | Samsung Electronics Co., Ltd. | Transmitter and parity permutation method thereof |
KR101800415B1 (ko) * | 2015-03-02 | 2017-11-23 | 삼성전자주식회사 | 송신 장치 및 그의 패리티 퍼뮤테이션 방법 |
US10677953B2 (en) * | 2016-05-31 | 2020-06-09 | Lockheed Martin Corporation | Magneto-optical detecting apparatus and methods |
US10374632B2 (en) * | 2016-10-10 | 2019-08-06 | Nec Corporation | Low density parity check coded modulation for optical communications |
KR102396814B1 (ko) * | 2017-05-02 | 2022-05-11 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
EP3954049B1 (en) * | 2019-05-15 | 2024-04-17 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding data in communication or broadcasting system |
-
2017
- 2017-05-02 KR KR1020170056566A patent/KR102396814B1/ko active IP Right Grant
-
2018
- 2018-05-02 US US16/610,491 patent/US11146355B2/en active Active
- 2018-05-02 WO PCT/KR2018/005094 patent/WO2018203661A1/ko active Application Filing
-
2021
- 2021-10-07 US US17/496,623 patent/US11569936B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120198305A1 (en) * | 2011-01-31 | 2012-08-02 | Samsung Electronics Co., Ltd. | Methods and apparatus for fast synchronization using quasi-cyclic low-density parity-check (qc-ldpc) codes |
Also Published As
Publication number | Publication date |
---|---|
WO2018203661A1 (ko) | 2018-11-08 |
US20200162195A1 (en) | 2020-05-21 |
US20220045785A1 (en) | 2022-02-10 |
US11569936B2 (en) | 2023-01-31 |
KR20180122255A (ko) | 2018-11-12 |
US11146355B2 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750220B2 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
EP3954049B1 (en) | Method and apparatus for decoding data in communication or broadcasting system | |
US11646818B2 (en) | Method and apparatus for encoding/decoding channel in communication or broadcasting system | |
WO2006068435A2 (en) | Apparatus and method for decoding using channel code | |
US11569936B2 (en) | Method and apparatus for channel encoding/decoding in communication or broadcast system | |
US11750322B2 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
US11101926B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
US11791845B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
KR102678457B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20190017594A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
US12021618B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
US20230421177A1 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
KR20180090688A (ko) | 폴라 코딩을 이용한 신호 송수신 방법 및 장치 | |
GB2508435A (en) | Decoding of data received from one source by several receivers | |
KR102302366B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20200132720A (ko) | 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치 | |
KR102445150B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20120121144A (ko) | 무선통신 시스템에서 데이터 송?수신 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |