KR102240220B1 - 데이터 처리 장치 및 데이터 처리 방법 - Google Patents

데이터 처리 장치 및 데이터 처리 방법 Download PDF

Info

Publication number
KR102240220B1
KR102240220B1 KR1020207013854A KR20207013854A KR102240220B1 KR 102240220 B1 KR102240220 B1 KR 102240220B1 KR 1020207013854 A KR1020207013854 A KR 1020207013854A KR 20207013854 A KR20207013854 A KR 20207013854A KR 102240220 B1 KR102240220 B1 KR 102240220B1
Authority
KR
South Korea
Prior art keywords
bits
bit
code
column
unit
Prior art date
Application number
KR1020207013854A
Other languages
English (en)
Other versions
KR20200056482A (ko
Inventor
유지 시노하라
나빌 스벤 로그힌 무하마드
라크란 마이클
유이치 히라야마
마키코 야마모토
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20200056482A publication Critical patent/KR20200056482A/ko
Application granted granted Critical
Publication of KR102240220B1 publication Critical patent/KR102240220B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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/1148Structural properties of the code parity-check or generator matrix
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/2906Coding, 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0057Block codes
    • 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/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • 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/007Unequal error protection
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0637Properties of the code
    • H04L1/065Properties of the code by means of convolutional encoding
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 기술은, LDPC 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질을 확보할 수 있도록 하는 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다. 송신 장치에서는, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 부호 비트를, 8PSk에서 정하는 8개의 신호점 중 어느 하나에 대응하는 심볼의 심볼 비트로 교체하는 교체부에 있어서, 3개의 16200/3비트의 기억 용량을 갖는 기억 단위에 기억되고, 각각의 기억 단위로부터 1비트씩 판독된 3비트의 부호 비트를, 1개의 심볼에 할당하는 경우에, 비트 b0은 비트 y1로, 비트 b1은 비트 y0으로, 비트 b2는 비트 y2로 각각 교체된다. 그리고, 송신 장치로부터 송신되어 오는 데이터로부터 얻어지는, 교체 후의 부호 비트의 위치가 원래의 위치로 복귀된다. 본 기술은, 예를 들어 LDPC 부호를 사용한 데이터 전송 등을 행하는 경우에 적용할 수 있다.

Description

데이터 처리 장치 및 데이터 처리 방법{DATA PROCESSING DEVICE AND DATA PROCESSING METHOD}
본 기술은, 데이터 처리 장치 및 데이터 처리 방법에 관한 것으로, 특히, 예를 들어 LDPC 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질을 확보할 수 있도록 하는 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다.
LDPC(Low Density Parity Check) 부호는, 높은 오류 정정 능력을 갖고, 최근에는, 예를 들어 유럽에서 행하여지고 있는 DVB(Digital Video Broadcasting)-S.2 등의 위성 디지털 방송을 포함하는 전송 방식에 널리 채용되고 있다(예를 들어, 비특허문헌 1을 참조). 또한, LDPC 부호는, DVB-T.2 등의 차세대 지상 디지털 방송에도 채용되고 있다.
LDPC 부호는, 최근의 연구에 의해, 터보 부호 등과 마찬가지로, 부호 길이를 길게 해감에 따라서, 샤논의 한계에 가까운 성능이 얻어지는 것을 알게 되었다. 또한, LDPC 부호는, 최소 거리가 부호 길이에 비례한다는 성질이 있으므로, 그 특징으로서, 블록 오류 확률 특성이 좋고, 또한 터보 부호 등의 복호 특성에 있어서 관측되는, 소위 에러 플로어 현상이 거의 발생하지 않는 것도 이점으로서 들 수 있다.
DVB-S.2 : ETSI EN 302 307 V1.2.1(2009-08)
LDPC 부호를 채용하는, 예를 들어 DVB-S.2나, DVB-T.2, DVB-C.2등에서는, LDPC 부호가, QPSK(Quadrature Phase Shift Keying) 등의 직교 변조(디지털 변조)의 심볼로 되고(심볼화되고), 그 심볼이, 직교 변조의 신호점에 매핑되어서 송신된다.
이상과 같은 DVB-S.2 등의, LDPC 부호를 사용한 데이터 전송에 대해서는, 양호한 통신 품질을 확보할 것이 요청되고 있다.
본 기술은, 이러한 상황을 감안하여 이루어진 것이며, LDPC 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질을 확보할 수 있도록 하는 것이다.
본 기술의 제1 데이터 처리 장치, 또는 데이터 처리 방법은, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 검사 행렬에 기초하여, LDPC 부호화를 행하는 부호화부와, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 부호 비트를, 8PSK에서 정하는 8개의 신호점 중 어느 하나에 대응하는 심볼의 심볼 비트로 교체하는 교체부를 구비하고, 상기 교체부는, 3개의 16200/3비트의 기억 용량을 갖는 기억 단위에 기억되고, 각각의 상기 기억 단위로부터 1비트씩 판독된 3비트의 부호 비트를, 1개의 심볼에 할당하는 경우에 있어서, 상기 3비트의 부호 비트의 최상위 비트로부터 #i+1비트째를, 비트 b#i로 함과 함께, 상기 1개의 심볼의 3비트의 심볼 비트의 최상위 비트로부터 #i+1비트째를, 비트 y#i로 하고, 비트 b0을 비트 y1로, 비트 b1을 비트 y0으로, 비트 b2를 비트 y2로 각각 교체하고, 상기 LDPC 부호는, 정보 비트와 패리티 비트를 포함하고, 상기 검사 행렬은, 상기 정보 비트에 대응하는 정보 행렬부 및 상기 패리티 비트에 대응하는 패리티 행렬부를 포함하고, 상기 정보 행렬부는, 검사 행렬 초기값 테이블에 의해 표현되고, 상기 검사 행렬 초기값 테이블은, 상기 정보 행렬부의 1의 요소의 위치를 360열마다 나타내는 테이블이며,
32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
4075 4188 7313 7553
5145 6018 7148 7507
3198 4858 6983 7033
3170 5126 5625 6901
2839 6093 7071 7450
11 3735 5413
2497 5400 7238
2067 5172 5714
1889 7173 7329
1795 2773 3499
2695 2944 6735
3221 4625 5897
1690 6122 6816
5013 6839 7358
1601 6849 7415
2180 7389 7543
2121 6838 7054
1948 3109 5046
272 1015 7464
인 송신 장치로부터 송신되어 오는 데이터로부터 얻어지는, 교체 후의 부호 비트의 위치를 원래의 위치로 복귀시키는 역교체 처리를 행하는 역교체부/스텝과, 상기 역교체 처리에 의해 얻어지는 상기 LDPC 부호를 복호하는 복호부/스텝을 구비하는 데이터 처리 장치, 또는, 데이터 처리 방법이다.
본 기술의 제1 데이터 처리 장치 및 데이터 처리 방법에 있어서는, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 검사 행렬에 기초하여, LDPC 부호화를 행하는 부호화부와, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 부호 비트를, 8PSK에서 정하는 8개의 신호점 중 어느 하나에 대응하는 심볼의 심볼 비트로 교체하는 교체부를 구비하고, 상기 교체부는, 3개의 16200/3비트의 기억 용량을 갖는 기억 단위에 기억되고, 각각의 상기 기억 단위로부터 1비트씩 판독된 3비트의 부호 비트를, 1개의 심볼에 할당하는 경우에 있어서, 상기 3비트의 부호 비트의 최상위 비트로부터 #i+1비트째를, 비트 b#i로 함과 함께, 상기 1개의 심볼의 3비트의 심볼 비트의 최상위 비트로부터 #i+1비트째를, 비트 y#i로 하고, 비트 b0을 비트 y1로, 비트 b1을 비트 y0으로, 비트 b2를 비트 y2로 각각 교체하고, 상기 LDPC 부호는, 정보 비트와 패리티 비트를 포함하고, 상기 검사 행렬은, 상기 정보 비트에 대응하는 정보 행렬부 및 상기 패리티 비트에 대응하는 패리티 행렬부를 포함하고, 상기 정보 행렬부는, 검사 행렬 초기값 테이블에 의해 표현되고, 상기 검사 행렬 초기값 테이블은, 상기 정보 행렬부의 1의 요소의 위치를 360열마다 나타내는 테이블이며,
32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
4075 4188 7313 7553
5145 6018 7148 7507
3198 4858 6983 7033
3170 5126 5625 6901
2839 6093 7071 7450
11 3735 5413
2497 5400 7238
2067 5172 5714
1889 7173 7329
1795 2773 3499
2695 2944 6735
3221 4625 5897
1690 6122 6816
5013 6839 7358
1601 6849 7415
2180 7389 7543
2121 6838 7054
1948 3109 5046
272 1015 7464
인 송신 장치로부터 송신되어 오는 데이터로부터 얻어지는, 교체 후의 부호 비트의 위치를 원래의 위치로 복귀시키는 역교체 처리가 행해지고, 상기 역교체 처리에 의해 얻어지는 상기 LDPC 부호가 복호된다.
본 기술의 제2 데이터 처리 장치 또는 데이터 처리 방법은, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 검사 행렬에 기초하여, LDPC 부호화를 행하는 부호화부와, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 부호 비트를, 16APSK에서 정하는 16개의 신호점 중 어느 하나에 대응하는 심볼의 심볼 비트로 교체하는 교체부를 구비하고, 상기 교체부는, 4개의 16200/4비트의 기억 용량을 갖는 기억 단위에 기억되고, 각각의 상기 기억 단위로부터 1비트씩 판독된 4비트의 부호 비트를, 1개의 심볼에 할당하는 경우에 있어서, 상기 4비트의 부호 비트의 최상위 비트로부터 #i+1비트째를, 비트 b#i로 함과 함께, 상기 1개의 심볼의 4비트의 심볼 비트의 최상위 비트로부터 #i+1비트째를, 비트 y#i로 하고, 비트 b0을 비트 y2로, 비트 b1을 비트 y1로, 비트 b2를 비트 y0으로, 비트 b3을 비트 y3으로 각각 교체하고, 상기 LDPC 부호는, 정보 비트와 패리티 비트를 포함하고, 상기 검사 행렬은, 상기 정보 비트에 대응하는 정보 행렬부 및 상기 패리티 비트에 대응하는 패리티 행렬부를 포함하고, 상기 정보 행렬부는, 검사 행렬 초기값 테이블에 의해 표현되고, 상기 검사 행렬 초기값 테이블은, 상기 정보 행렬부의 1의 요소의 위치를 360열마다 나타내는 테이블이며,
32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
4075 4188 7313 7553
5145 6018 7148 7507
3198 4858 6983 7033
3170 5126 5625 6901
2839 6093 7071 7450
11 3735 5413
2497 5400 7238
2067 5172 5714
1889 7173 7329
1795 2773 3499
2695 2944 6735
3221 4625 5897
1690 6122 6816
5013 6839 7358
1601 6849 7415
2180 7389 7543
2121 6838 7054
1948 3109 5046
272 1015 7464
인 송신 장치로부터 송신되어 오는 데이터로부터 얻어지는, 교체 후의 부호 비트의 위치를 원래의 위치로 복귀시키는 역교체 처리를 행하는 역교체부/스텝과, 상기 역교체 처리에 의해 얻어지는 상기 LDPC 부호를 복호하는 복호부/스텝을 구비하는 데이터 처리 장치, 또는, 데이터 처리 방법이다.
본 기술의 제2 데이터 처리 장치 및 데이터 처리 방법에 있어서는, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 검사 행렬에 기초하여, LDPC 부호화를 행하는 부호화부와, 부호 길이가 16200비트이며 부호화율이 8/15인 LDPC 부호의 부호 비트를, 16APSK에서 정하는 16개의 신호점 중 어느 하나에 대응하는 심볼의 심볼 비트로 교체하는 교체부를 구비하고, 상기 교체부는, 4개의 16200/4비트의 기억 용량을 갖는 기억 단위에 기억되고, 각각의 상기 기억 단위로부터 1비트씩 판독된 4비트의 부호 비트를, 1개의 심볼에 할당하는 경우에 있어서, 상기 4비트의 부호 비트의 최상위 비트로부터 #i+1비트째를, 비트 b#i로 함과 함께, 상기 1개의 심볼의 4비트의 심볼 비트의 최상위 비트로부터 #i+1비트째를, 비트 y#i로 하고, 비트 b0을 비트 y2로, 비트 b1을 비트 y1로, 비트 b2를 비트 y0으로, 비트 b3을 비트 y3으로 각각 교체하고, 상기 LDPC 부호는, 정보 비트와 패리티 비트를 포함하고, 상기 검사 행렬은, 상기 정보 비트에 대응하는 정보 행렬부 및 상기 패리티 비트에 대응하는 패리티 행렬부를 포함하고, 상기 정보 행렬부는, 검사 행렬 초기값 테이블에 의해 표현되고, 상기 검사 행렬 초기값 테이블은, 상기 정보 행렬부의 1의 요소의 위치를 360열마다 나타내는 테이블이며,
32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
4075 4188 7313 7553
5145 6018 7148 7507
3198 4858 6983 7033
3170 5126 5625 6901
2839 6093 7071 7450
11 3735 5413
2497 5400 7238
2067 5172 5714
1889 7173 7329
1795 2773 3499
2695 2944 6735
3221 4625 5897
1690 6122 6816
5013 6839 7358
1601 6849 7415
2180 7389 7543
2121 6838 7054
1948 3109 5046
272 1015 7464
인 송신 장치로부터 송신되어 오는 데이터로부터 얻어지는, 교체 후의 부호 비트의 위치를 원래의 위치로 복귀시키는 역교체 처리가 행해지고, 상기 역교체 처리에 의해 얻어지는 상기 LDPC 부호가 복호된다.
또한, 데이터 처리 장치는, 독립된 장치이어도 되고, 1개의 장치를 구성하고 있는 내부 블록이어도 된다.
본 기술에 의하면, LDPC 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질을 확보할 수 있다.
또한, 본 명세서에 기재된 효과는, 어디까지나 예시이며, 본 기술의 효과는, 본 명세서에 기재된 효과에 한정되는 것은 아니며, 부가적인 효과가 있어도 된다.
도 1은 LDPC 부호의 검사 행렬(H)을 설명하는 도면이다.
도 2는 LDPC 부호의 복호 수순을 설명하는 흐름도이다.
도 3은 LDPC 부호의 검사 행렬의 예를 나타내는 도이다.
도 4는 검사 행렬의 태너 그래프를 도시하는 도면이다.
도 5는 배리어블 노드를 도시하는 도면이다.
도 6은 체크 노드를 도시하는 도면이다.
도 7은 본 기술을 적용한 전송 시스템의 일 실시 형태의 구성예를 도시하는 도면이다.
도 8은 송신 장치(11)의 구성예를 도시하는 블록도이다.
도 9는 비트 인터리버(116)의 구성예를 도시하는 블록도이다.
도 10은 검사 행렬을 도시하는 도면이다.
도 11은 패리티 행렬을 도시하는 도면이다.
도 12는 DVB-S.2의 규격에 규정되어 있는 LDPC 부호의 검사 행렬을 설명하는 도면이다.
도 13은 DVB-S.2의 규격에 규정되고 있는 LDPC 부호의 검사 행렬을 설명하는 도면이다.
도 14는 16QAM의 신호점 배치를 도시하는 도면이다.
도 15는 64QAM의 신호점 배치를 도시하는 도면이다.
도 16은 64QAM의 신호점 배치를 도시하는 도면이다.
도 17은 64QAM의 신호점 배치를 도시하는 도면이다.
도 18은 DVB-S.2의 규격에 규정되어 있는 신호점 배치를 도시하는 도면이다.
도 19는 DVB-S.2의 규격에 규정되어 있는 신호점 배치를 도시하는 도면이다.
도 20은 DVB-S.2의 규격에 규정되어 있는 신호점 배치를 도시하는 도면이다.
도 21은 DVB-S.2의 규격에 규정되어 있는 신호점 배치를 도시하는 도면이다.
도 22는 디멀티플렉서(25)의 처리를 설명하는 도면이다.
도 23은 디멀티플렉서(25)의 처리를 설명하는 도면이다.
도 24는 LDPC 부호의 복호에 관한 태너 그래프를 도시하는 도면이다.
도 25는 계단 구조로 되어 있는 패리티 행렬(HT)과, 그 패리티 행렬(HT)에 대응하는 태너 그래프를 도시하는 도면이다.
도 26은 패리티 인터리브 후의 LDPC 부호에 대응하는 검사 행렬(H)의 패리티 행렬(HT)을 도시하는 도면이다.
도 27은 변환 검사 행렬을 도시하는 도면이다.
도 28은 칼럼 트위스트 인터리버(24)의 처리를 설명하는 도면이다.
도 29는 칼럼 트위스트 인터리브에 필요한 메모리(31)의 칼럼수와, 기입 개시의 위치 어드레스를 도시하는 도면이다.
도 30은 칼럼 트위스트 인터리브에 필요한 메모리(31)의 칼럼수와, 기입 개시의 위치 어드레스를 도시하는 도면이다.
도 31은 비트 인터리버(116) 및 맵퍼(117)로 행하여지는 처리를 설명하는 흐름도이다.
도 32는 시뮬레이션에서 채용한 통신로의 모델을 도시하는 도면이다.
도 33은 시뮬레이션에서 얻어진 에러율과, 플러터의 도플러 주파수(fd)와의 관계를 도시하는 도면이다.
도 34는 시뮬레이션에서 얻어진 에러율과, 플러터의 도플러 주파수(fd)와의 관계를 도시하는 도면이다.
도 35는 LDPC 인코더(115)의 구성예를 도시하는 블록도이다.
도 36은 LDPC 인코더(115)의 처리를 설명하는 흐름도이다.
도 37은 부호화율 1/4, 부호 길이 16200의 검사 행렬 초기값 테이블의 예를 나타내는 도이다.
도 38은 검사 행렬 초기값 테이블로부터 검사 행렬(H)을 구하는 방법을 설명하는 도면이다.
도 39는 r=7/15의 Sx용 16k 부호의 검사 행렬 초기값 테이블을 도시하는 도면이다.
도 40은 r=8/15의 Sx용 16k 부호의 검사 행렬 초기값 테이블을 도시하는 도면이다.
도 41은 열 가중치가 3이고, 행 가중치가 6이라는 디그리 시퀀스의 앙상블의 태너 그래프의 예를 나타내는 도이다.
도 42는 멀티 에지 타입의 앙상블의 태너 그래프의 예를 나타내는 도이다.
도 43은 Sx용 16k 부호의 검사 행렬의 최소 사이클 길이와 성능 역치를 도시하는 도면이다.
도 44는 Sx용 16k 부호의 검사 행렬을 설명하는 도면이다.
도 45는 Sx용 16k 부호의 검사 행렬을 설명하는 도면이다.
도 46은 현행 방식의 교체 처리를 설명하는 도면이다.
도 47은 현행 방식의 교체 처리를 설명하는 도면이다.
도 48은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 8PSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제1 예를 나타내는 도이다.
도 49는 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 8PSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제2 예를 나타내는 도이다.
도 50은 BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 51은 BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 52는 시뮬레이션에 사용한 전송 시스템의 전송 시스템 모델을 도시하는 블록도이다.
도 53은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제1 예를 나타내는 도이다.
도 54는 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제2 예를 나타내는 도이다.
도 55는 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제3 예를 나타내는 도이다.
도 56은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제4 예를 나타내는 도이다.
도 57은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제5 예를 나타내는 도이다.
도 58은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제6 예를 나타내는 도이다.
도 59는 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제7 예를 나타내는 도이다.
도 60은 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제8 예를 나타내는 도이다.
도 61은 BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 62는 BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 63은 변조 방식으로서, 16APSK를 채용하는 경우의, 16APSK의 신호점의 배치와, 반경비(γ)와의 예를 나타내는 도이다.
도 64는 변조 방식으로서, 16APSK를 채용하는 경우의, 16APSK의 신호점의 배치와, 반경비(γ)와의 예를 나타내는 도이다.
도 65는 수신 장치(12)의 구성예를 도시하는 블록도이다.
도 66은 비트 디인터리버(165)의 구성예를 도시하는 블록도이다.
도 67은 디맵퍼(164), 비트 디인터리버(165) 및 LDPC 디코더(166)가 행하는 처리를 설명하는 흐름도이다.
도 68은 LDPC 부호의 검사 행렬의 예를 나타내는 도이다.
도 69는 검사 행렬에 행 치환과 열 치환을 실시한 행렬(변환 검사 행렬)을 도시하는 도면이다.
도 70은 5×5단위로 분할한 변환 검사 행렬을 도시하는 도면이다.
도 71은 노드 연산을 P개 통합해서 행하는 복호 장치의 구성예를 도시하는 블록도이다.
도 72는 LDPC 디코더(166)의 구성예를 도시하는 블록도이다.
도 73은 비트 디인터리버(165)를 구성하는 멀티플렉서(54)의 처리를 설명하는 도면이다.
도 74는 칼럼 트위스트 디인터리버(55)의 처리를 설명하는 도면이다.
도 75는 비트 디인터리버(165)의 다른 구성예를 도시하는 블록도이다.
도 76은 수신 장치(12)를 적용 가능한 수신 시스템의 제1 구성예를 도시하는 블록도이다.
도 77은 수신 장치(12)를 적용 가능한 수신 시스템의 제2 구성예를 도시하는 블록도이다.
도 78은 수신 장치(12)를 적용 가능한 수신 시스템의 제3 구성예를 도시하는 블록도이다.
도 79는 본 기술을 적용한 컴퓨터의 일 실시 형태의 구성예를 도시하는 블록도이다.
이하, 본 기술의 실시 형태에 대해서 설명하는데, 그 전에, LDPC 부호에 대해서 설명한다.
<LDPC 부호>
또한, LDPC 부호는, 선형 부호이며, 반드시 2원일 필요는 없지만, 여기에서는, 2원인 것으로 해서 설명한다.
LDPC 부호는, 그 LDPC 부호를 정의하는 검사 행렬(parity check matrix)이 희소한 것인 것을 최대의 특징으로 한다. 여기서, 희소 행렬이란, 행렬의 요소의 "1"의 개수가 매우 적은 행렬(대부분의 요소가 0인 행렬)이다.
도 1은, LDPC 부호의 검사 행렬(H)의 예를 나타내는 도이다.
도 1의 검사 행렬(H)에서는, 각 열의 가중치(열 가중치)("1"의 수)(weight)가 "3"이며, 또한 각 행의 가중치(행 가중치)가 "6"으로 되어 있다.
LDPC 부호에 의한 부호화(LDPC 부호화)에서는, 예를 들어 검사 행렬(H)에 기초하여 생성 행렬(G)을 생성하고, 이 생성 행렬(G)을 2원의 정보 비트에 대하여 승산함으로써, 부호어(LDPC 부호)가 생성된다.
구체적으로는, LDPC 부호화를 행하는 부호화 장치는, 먼저, 검사 행렬(H)의 전치 행렬(HT)과의 사이에, 식 GHT=0이 성립하는 생성 행렬(G)을 산출한다. 여기서, 생성 행렬(G)이, K×N 행렬인 경우에는, 부호화 장치는, 생성 행렬(G)에 대하여 K 비트를 포함하는 정보 비트의 비트 열(벡터 u)을 승산하여, N 비트를 포함하는 부호어 c(=uG)를 생성한다. 이 부호화 장치에 의해 생성된 부호어(LDPC 부호)는, 소정의 통신로를 통해서 수신측에 있어서 수신된다.
LDPC 부호의 복호는, Gallager가 확률 복호(Probabilistic Decoding)라 칭하며 제안한 알고리즘이며, 배리어블 노드(variable node(메시지 노드(message node)라고도 불림))와, 체크 노드(check node)를 포함하는, 소위 태너 그래프(Tanner graph) 상에서의 확률 전파(belief propagation)에 의한 메시지 패싱 알고리즘에 의해 행하는 것이 가능하다. 여기서, 이하, 적절히, 배리어블 노드와 체크 노드를 간단히 노드라고도 한다.
도 2는, LDPC 부호의 복호 수순을 나타내는 흐름도이다.
또한, 이하, 적절히, 수신측에서 수신한 LDPC 부호(1 부호어)의 i번째의 부호 비트의, 값의 "0"다움을 대수 우도비(log likelihood ratio)로 표현한 실수값(수신 LLR)을, 수신값 u0i이라고도 한다. 또한, 체크 노드로부터 출력되는 메시지를 uj로 하고, 배리어블 노드로부터 출력되는 메시지를 vi로 한다.
먼저, LDPC 부호의 복호에 있어서는, 도 2에 도시한 바와 같이, 스텝 S11에서, LDPC 부호가 수신되고, 메시지(체크 노드 메시지) uj가 "0"으로 초기화됨과 함께, 반복 처리의 카운터로서의 정수를 취하는 변수(k)가 "0"으로 초기화되고, 스텝 S12로 진행한다. 스텝 S12에서, LDPC 부호를 수신해서 얻어지는 수신값 u0i에 기초하여, 식 (1)에 나타내는 연산(배리어블 노드 연산)을 행함으로써 메시지(배리어블 노드 메시지) vi가 구해지고, 또한 이 메시지 vi에 기초하여, 식 (2)에 나타내는 연산(체크 노드 연산)을 행함으로써 메시지 uj가 구해진다.
[수학식 1]
Figure 112020048816272-pat00001
[수학식 2]
Figure 112020048816272-pat00002
여기서, 식 (1)과 식 (2)에서의 dv와 dc는, 각각, 검사 행렬(H)의 세로 방향(열)과 가로 방향(행)의 "1"의 개수를 나타내는 임의로 선택 가능하게 되는 파라미터이다. 예를 들어, 도 1에 도시한 바와 같은 열 가중치가 3이고, 행 가중치가 6인 검사 행렬(H)에 대한 LDPC 부호((3,6)LDPC 부호)인 경우에는, dv=3, dc=6이 된다.
또한, 식 (1)의 배리어블 노드 연산 및 (2)의 체크 노드 연산에 있어서는, 각각, 메시지를 출력하려고 하는 가지(edge)(배리어블 노드와 체크 노드를 연결하는 선)로부터 입력된 메시지를, 연산의 대상으로 하지 않으므로, 연산의 범위가, 1 내지 dv-1 또는 1 내지 dc-1로 되어 있다. 또한, 식 (2)의 체크 노드 연산은, 실제로는, 2 입력 V1, V2에 대한 1 출력으로 정의되는 식 (3)에 나타내는 함수 R(V1, V2)의 테이블을 미리 작성해 두고, 이것을 식 (4)에 나타낸 바와 같이 연속적(재귀적)으로 사용함으로써 행하여진다.
[수학식 3]
Figure 112020048816272-pat00003
[수학식 4]
Figure 112020048816272-pat00004
스텝 S12에서는, 또한 변수(k)가 "1"만큼 인크리먼트되고, 스텝 S13으로 진행한다. 스텝 S13에서는, 변수(k)가 소정의 반복 복호 횟수 C보다도 큰지 여부가 판정된다. 스텝 S13에서, 변수(k)가 C보다도 크지 않다고 판정된 경우, 스텝 S12로 돌아가서, 이하, 마찬가지의 처리가 반복된다.
또한, 스텝 S13에서, 변수(k)가 C보다도 크다고 판정된 경우, 스텝 S14로 진행하여, 식 (5)에 나타내는 연산을 행함으로써 최종적으로 출력하는 복호 결과로서의 메시지 vi가 구해져서 출력되고, LDPC 부호의 복호 처리가 종료된다.
[수학식 5]
Figure 112020048816272-pat00005
여기서, 식 (5)의 연산은, 식 (1)의 배리어블 노드 연산과는 달리, 배리어블 노드에 접속하고 있는 모든 가지로부터의 메시지 uj를 사용해서 행하여진다.
도 3은, (3,6)LDPC 부호(부호화율 1/2, 부호 길이 12)의 검사 행렬(H)의 예를 나타내는 도이다.
도 3의 검사 행렬(H)에서는, 도 1과 마찬가지로, 열의 가중치가 3으로, 행의 가중치가 6으로 각각 되어 있다.
도 4는, 도 3의 검사 행렬(H)의 태너 그래프를 도시하는 도면이다.
여기서, 도 4에서, 플러스 "+"로 표현되는 것이 체크 노드이며, 이퀄 "="로 표현되는 것이 배리어블 노드이다. 체크 노드와 배리어블 노드는, 각각 검사 행렬(H)의 행과 열에 대응한다. 체크 노드와 배리어블 노드의 사이의 결선은, 가지(edge)이며, 검사 행렬의 요소의 "1"에 상당한다.
즉, 검사 행렬의 제j행 제i열의 요소가 1인 경우에는, 도 4에서, 위에서부터 i번째의 배리어블 노드("="의 노드)와, 위에서부터 j번째의 체크 노드("+"의 노드)가 가지에 의해 접속된다. 가지는, 배리어블 노드에 대응하는 부호 비트가, 체크 노드에 대응하는 구속 조건을 갖는 것을 나타낸다.
LDPC 부호의 복호 방법인 섬 프로덕트 알고리즘(Sum Product Algorithm)에서는, 배리어블 노드 연산과 체크 노드 연산이 반복해서 행하여진다.
도 5는, 배리어블 노드에서 행하여지는 배리어블 노드 연산을 도시하는 도면이다.
배리어블 노드에서는, 계산하려고 하고 있는 가지에 대응하는 메시지 vi는, 배리어블 노드에 연결되어 있는 나머지 가지로부터의 메시지 u1 및 u2와, 수신값 u0i를 사용한 식 (1)의 배리어블 노드 연산에 의해 구해진다. 다른 가지에 대응하는 메시지도 마찬가지로 구해진다.
도 6은, 체크 노드에서 행하여지는 체크 노드 연산을 도시하는 도면이다.
여기서, 식 (2)의 체크 노드 연산은, 식 a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b)의 관계를 사용하여, 식 (6)으로 고쳐 쓸 수 있다. 단, sign(x)은 x≥0일 때 1이며, x<0일 때 -1이다.
[수학식 6]
Figure 112020048816272-pat00006
x≥0에서, 함수φ(x)를, 식 φ(x)=ln(tanh(x/2))라 정의하면, 식 φ-1(x)=2tanh-1(e-x)이 성립하기 때문에, 식 (6)은 식 (7)로 변형될 수 있다.
[수학식 7]
Figure 112020048816272-pat00007
체크 노드에서는, 식 (2)의 체크 노드 연산이, 식 (7)에 따라서 행하여진다.
즉, 체크 노드에서는, 도 6과 같이, 계산하려고 하고 있는 가지에 대응하는 메시지 uj는, 체크 노드에 연결되어 있는 나머지 가지로부터의 메시지 V1, V2, V3, V4, V5를 사용한 식 (7)의 체크 노드 연산에 의해 구해진다. 다른 가지에 대응하는 메시지도 마찬가지로 구해진다.
또한, 식 (7)의 함수 φ(x)는 식 φ(x)=ln((ex+1)/(ex-1))로 나타낼 수 있고, x>0에서, φ(x)=φ-1(x)이다. 함수 φ(x) 및 φ-1(x)을 하드웨어에 실장할 때는, LUT(Look Up Table)를 사용해서 실장되는 경우가 있는데, 양자 모두 동일한 LUT가 된다.
<본 기술을 적용한 전송 시스템의 구성예>
도 7은, 본 기술을 적용한 전송 시스템(시스템이란, 복수의 장치가 논리적으로 집합한 것을 말하고, 각 구성의 장치가 동일 하우징 중에 있는지 여부는 상관없음)의 일 실시 형태의 구성예를 도시하는 도면이다.
도 7에서, 전송 시스템은, 송신 장치(11)와 수신 장치(12)로 구성된다.
송신 장치(11)는, 예를 들어 텔레비전 방송의 프로그램 등의 송신(방송)(전송)을 행한다. 즉, 송신 장치(11)는, 예를 들어 프로그램으로서의 화상 데이터나 음성 데이터 등의, 송신의 대상인 대상 데이터를 LDPC 부호에 부호화하여, 예를 들어 위성 회선이나, 지상파, 케이블(유선 회선) 등의 통신로(13)를 통해서 송신한다.
수신 장치(12)는, 송신 장치(11)로부터 통신로(13)를 통해서 송신되어 오는 LDPC 부호를 수신하고, 대상 데이터에 복호해서 출력한다.
여기서, 도 7의 전송 시스템에서 사용되는 LDPC 부호는, AWGN(Additive White Gaussian Noise) 통신로에서 매우 높은 능력을 발휘하는 것으로 알려져 있다.
한편, 통신로(13)에서는, 버스트(burst) 오류나 이레이저(erasure)를 발생하는 경우가 있다. 예를 들어, 특히, 통신로(13)가 지상파인 경우, OFDM(Orthogonal Frequency Division Multiplexing) 시스템에서는, D/U(Desired to Undesired Ratio)가 0dB(Undesired=echo의 파워가 Desired=메인 패스의 파워와 동등함)의 멀티패스 환경에 있어서, 에코(echo)(메인 패스 이외의 패스)의 지연(delay)에 따라, 특정한 심볼의 파워가 0으로 되어버리는(erasure) 경우가 있다.
또한, 플러터(flutter)(지연이 0이고 도플러(dopper) 주파수가 걸린 echo가 가산되는 통신로)에서도, D/U가 0dB인 경우에는, 도플러 주파수에 의해, 특정한 시각의 OFDM의 심볼 전체의 파워가 0이 되는(erasure) 경우가 발생한다.
또한, 수신 장치(12)측의, 송신 장치(11)로부터의 신호를 수신하는 안테나 등의 수신부(도시하지 않음)로부터 수신 장치(12)까지의 배선의 상황이나, 수신 장치(12)의 전원의 불안정성에 의해, 버스트 오류가 발생하는 경우가 있다.
한편, LDPC 부호의 복호에 있어서는, 검사 행렬(H)의 열, 나아가서는, LDPC 부호의 부호 비트에 대응하는 배리어블 노드에 있어서, 상술한 도 5에 도시한 바와 같이, LDPC 부호의 부호 비트(의 수신값 u0i)의 가산을 수반하는 식 (1)의 배리어블 노드 연산이 행해지기 때문에, 그 배리어블 노드 연산에 사용되는 부호 비트에 에러가 발생하면, 구해지는 메시지의 정밀도가 저하된다.
그리고, LDPC 부호의 복호에서는, 체크 노드에 있어서, 그 체크 노드에 연결되어 있는 배리어블 노드에서 구해지는 메시지를 사용하여, 식 (7)의 체크 노드 연산이 행해지기 때문에, 연결되어 있는 복수의 배리어블 노드(에 대응하는 LDPC 부호의 부호 비트)가 동시에 에러(이레이저를 포함함)로 되는 체크 노드의 수가 많아지면, 복호의 성능이 열화된다.
즉, 예를 들어 체크 노드는, 그 체크 노드에 연결되어 있는 배리어블 노드의 2개 이상이 동시에 이레이저가 되면, 전체 배리어블 노드에, 값이 0인 확률과 1인 확률이 등확률인 메시지를 복귀시킨다. 이 경우, 등확률의 메시지를 복귀시키는 체크 노드는, 1회의 복호 처리(1세트의 배리어블 노드 연산 및 체크 노드 연산)에 기여하지 않게 되고, 그 결과, 복호 처리의 반복 횟수를 많이 필요로 하게 되어, 복호의 성능이 열화되고, 또한 LDPC 부호의 복호를 행하는 수신 장치(12)의 소비 전력이 증대한다.
따라서, 도 7의 전송 시스템에서는, AWGN 통신로(AWGN 채널)에서의 성능을 유지하면서, 버스트 오류나 이레이저에의 내성을 향상시키는 것이 가능하게 되어 있다.
<송신 장치(11)의 구성예>
도 8은, 도 7의 송신 장치(11)의 구성예를 도시하는 블록도이다.
송신 장치(11)에서는, 대상 데이터로서의 1 이상의 인풋 스트림(Input Streams)이, 모드 어댑테이션/멀티플렉서(Mode Adaptation/Multiplexer)(111)에 공급된다.
모드 어댑테이션/멀티플렉서(111)는, 모드 선택 및 거기에 공급되는 1 이상의 인풋 스트림의 다중화 등의 처리를 필요에 따라서 행하고, 그 결과 얻어지는 데이터를, 패더(padder)(112)에 공급한다.
패더(112)는, 모드 어댑테이션/멀티플렉서(111)로부터의 데이터에 대하여, 필요한 제로 채우기(Null의 삽입)를 행하고, 그 결과 얻어지는 데이터를, BB 스크램블러(BB Scrambler)(113)에 공급한다.
BB 스크램블러(113)는, 패더(112)로부터의 데이터에, BB 스크램블(Base-Band Scrambling)을 실시하고, 그 결과 얻어지는 데이터를, BCH 인코더(BCH encoder)(114)에 공급한다.
BCH 인코더(114)는, BB 스크램블러(113)로부터의 데이터를 BCH 부호화하고, 그 결과 얻어지는 데이터를, LDPC 부호화의 대상인 LDPC 대상 데이터로서, LDPC 인코더(LDPC encoder)(115)에 공급한다.
LDPC 인코더(115)는, BCH 인코더(114)로부터의 LDPC 대상 데이터에 대해서, LDPC 부호의 패리티 비트에 대응하는 부분인 패리티 행렬이 계단 구조로 되어 있는 검사 행렬에 따른 LDPC 부호화를 행하고, LDPC 대상 데이터를 정보 비트로 하는 LDPC 부호를 출력한다.
즉, LDPC 인코더(115)는, LDPC 대상 데이터를, 예를 들어 DVB-S.2나, DVB-T.2, DVB-C.2 등의 소정의 규격에 규정되어 있는(검사 행렬에 대응하는) LDPC 부호나, 미리 정해진(검사 행렬에 대응하는) LDPC 부호 등으로 부호화하는 LDPC 부호화를 행하고, 그 결과 얻어지는 LDPC 부호를 출력한다.
여기서, DVB-S.2나, DVB-T.2, DVB-C.2의 규격에 규정되어 있는 LDPC 부호는, IRA(Irregular Repeat Accumulate) 부호이며, 그 LDPC 부호의 검사 행렬에서의 패리티 행렬은, 계단 구조로 되어 있다. 패리티 행렬 및 계단 구조에 대해서는, 후술한다. 또한, IRA 부호에 대해서는, 예를 들어 "Irregular Repeat-Accumulate Codes," H. Jin, A. Khandekar, and R. J. McEliece, in Proceedings of 2nd International Symposium on Turbo codes and Related Topics, pp.1-8, Sept. 2000에 기재되어 있다.
LDPC 인코더(115)가 출력하는 LDPC 부호는, 비트 인터리버(Bit Interleaver)(116)에 공급된다.
비트 인터리버(116)는, LDPC 인코더(115)로부터의 LDPC 부호에 대해서, 후술하는 비트 인터리브를 행하고, 그 비트 인터리브 후의 LDPC 부호를, 맵퍼(Mapper)(117)에 공급한다.
맵퍼(117)는, 비트 인터리버(116)로부터의 LDPC 부호를, 그 LDPC 부호의 1비트 이상의 부호 비트의 단위(심볼 단위)로, 직교 변조의 1개의 심볼을 나타내는 신호점에 매핑해서 직교 변조(다치 변조)를 행한다.
즉, 맵퍼(117)는, 비트 인터리버(116)로부터의 LDPC 부호를, 반송파와 동상의 I성분을 나타내는 I축과, 반송파와 직교하는 Q성분을 나타내는 Q축으로 규정되는 IQ 평면(IQ 콘스텔레이션) 상의, LDPC 부호의 직교 변조를 행하는 변조 방식으로 정하는 신호점에 매핑해서 직교 변조를 행한다.
여기서, 맵퍼(117)로 행하여지는 직교 변조의 변조 방식으로서는, 예를 들어 DVB-S.2나, DVB-T.2, DVB-C.2의 규격 등으로 규정되어 있는 변조 방식, 그 밖의 변조 방식, 즉, 예를 들어 BPSK(Binary Phase Shift Keying)나, QPSK(Quadrature Phase Shift Keying), 8PSK(Phase-Shift Keying), 16APSK(Amplitude Phase-Shift Keying), 32APSK, 16QAM(Quadrature Amplitude Modulation), 64QAM, 256QAM, 1024QAM, 4096QAM, 4PAM(Pulse Amplitude Modulation) 등이 있다. 맵퍼(117)에 있어서, 어느 변조 방식에 의한 직교 변조가 행하여지는가는, 예를 들어 송신 장치(11)의 오퍼레이터 조작 등에 따라 미리 설정된다.
맵퍼(117)에서의 처리에 의해 얻어지는 데이터(심볼을 신호점에 매핑한 맵핑 결과)는, 시간 인터리버(Time Interleaver)(118)에 공급된다.
시간 인터리버(118)는, 맵퍼(117)로부터의 데이터에 대해서, 심볼 단위로 시간 인터리브(시간 방향의 인터리브)를 행하고, 그 결과 얻어지는 데이터를, SISO/MISO 인코더(SISO/MISO(Single Input Single Output/Multiple Input Single Output) encoder)(119)에 공급한다.
SISO/MISO 인코더(119)는, 시간 인터리버(118)로부터의 데이터에, 시공간 부호화를 실시하여, 주파수 인터리버(Frequency Interleaver)(120)에 공급한다.
주파수 인터리버(120)는, SISO/MISO 인코더(119)로부터의 데이터에 대해서, 심볼 단위로 주파수 인터리브(주파수 방향의 인터리브)를 행하고, 프레임 빌더/리소스 얼로케이션부(Frame Builder & Resource Allocation)(131)에 공급한다.
한편, BCH 인코더(121)에는, 예를 들어 BB 시그널링(Base Band Signalling)(BB Header) 등의 전송 제어용의 제어 데이터(signalling)가 공급된다.
BCH 인코더(121)는, 거기에 공급되는 제어 데이터를, BCH 인코더(114)와 마찬가지로 BCH 부호화하고, 그 결과 얻어지는 데이터를, LDPC 인코더(122)에 공급한다.
LDPC 인코더(122)는, BCH 인코더(121)로부터의 데이터를, LDPC 대상 데이터로서, LDPC 인코더(115)와 마찬가지로 LDPC 부호화하고, 그 결과 얻어지는 LDPC 부호를 맵퍼(123)에 공급한다.
맵퍼(123)는, 맵퍼(117)와 마찬가지로, LDPC 인코더(122)로부터의 LDPC 부호를, 그 LDPC 부호의 1비트 이상의 부호 비트의 단위(심볼 단위)로, 직교 변조의 1개의 심볼을 나타내는 신호점에 매핑해서 직교 변조를 행하고, 그 결과 얻어지는 데이터를 주파수 인터리버(124)에 공급한다.
주파수 인터리버(124)는, 주파수 인터리버(120)와 마찬가지로, 맵퍼(123)로부터의 데이터에 대해서, 심볼 단위로 주파수 인터리브를 행하고, 프레임 빌더/리소스 얼로케이션부(131)에 공급한다.
프레임 빌더/리소스 얼로케이션부(131)는, 주파수 인터리버(120 및 124)로부터의 데이터(심볼)가 필요한 위치에, 파일럿(Pilot)의 심볼을 삽입하고, 그 결과 얻어지는 데이터(심볼)로부터, 소정의 수의 심볼로 구성되는 프레임(예를 들어, PL(Physical Layer) 프레임이나, T2 프레임, C2 프레임 등)을 구성하고, OFDM 생성부(OFDM generation)(132)에 공급한다.
OFDM 생성부(132)는, 프레임 빌더/리소스 얼로케이션부(131)로부터의 프레임으로부터, 그 프레임에 대응하는 OFDM 신호를 생성하고, 통신로(13)(도 7)를 통해서 송신한다.
또한, 송신 장치(11)는, 예를 들어 시간 인터리버(118), SISO/MISO 인코더(119), 주파수 인터리버(120) 및 주파수 인터리버(124) 등의, 도 8에 도시한 블록의 일부를 설치하지 않고 구성할 수 있다.
도 9는, 도 8의 비트 인터리버(116)의 구성예를 나타내고 있다.
비트 인터리버(116)는, 데이터를 인터리브하는 기능을 갖고, 패리티 인터리버(parity interleaver)(23), 칼럼 트위스트 인터리버(column twist interleaver)(24) 및 디멀티플렉서(DEMUX)(25)로 구성된다. 또한, 비트 인터리버(116)는, 패리티 인터리버(23) 및 칼럼 트위스트 인터리버(24)의 한쪽 또는 양쪽 모두를 설치하지 않고 구성할 수 있다.
패리티 인터리버(23)는, LDPC 인코더(115)로부터의 LDPC 부호의 패리티 비트를, 다른 패리티 비트의 위치에 인터리브하는 패리티 인터리브를 행하고, 그 패리티 인터리브 후의 LDPC 부호를, 칼럼 트위스트 인터리버(24)에 공급한다.
칼럼 트위스트 인터리버(24)는, 패리티 인터리버(23)로부터의 LDPC 부호에 대해서, 칼럼 트위스트 인터리브를 행하고, 그 칼럼 트위스트 인터리브 후의 LDPC 부호를, 디멀티플렉서(25)에 공급한다.
즉, LDPC 부호는, 도 8의 맵퍼(117)에 있어서, 그 LDPC 부호의 1비트 이상의 부호 비트를, 직교 변조의 1개의 심볼을 나타내는 신호점에 매핑해서 송신된다.
칼럼 트위스트 인터리버(24)에서는, LDPC 인코더(115)에서 사용되는 검사 행렬의 임의의 1행에 있는 1에 대응하는 LDPC 부호의 복수의 부호 비트가, 1개의 심볼에 포함되지 않도록, 패리티 인터리버(23)로부터의 LDPC 부호의 부호 비트를 재배열하는 재배열 처리로서, 예를 들어 후술하는 바와 같은 칼럼 트위스트 인터리브가 행하여진다.
디멀티플렉서(25)는, 칼럼 트위스트 인터리버(24)로부터의 LDPC 부호에 대해서, 심볼이 되는 LDPC 부호의 2 이상의 부호 비트의 위치를 교체하는 교체 처리를 행함으로써, AWGN 등에 대한 내성을 강화한 LDPC 부호를 얻는다. 그리고, 디멀티플렉서(25)는, 교체 처리에 의해 얻어지는, LDPC 부호의 2 이상의 부호 비트를, 심볼로서 맵퍼(117)(도 8)에 공급한다.
도 10은, 도 8의 LDPC 인코더(115)에서 LDPC 부호화에 사용되는 검사 행렬(H)을 나타내고 있다.
검사 행렬(H)은, LDGM(Low-Density Generation Matrix) 구조로 되어 있고, LDPC 부호의 부호 비트 중, 정보 비트에 대응하는 부분의 정보 행렬(HA)과, 패리티 비트에 대응하는 패리티 행렬(HT)에 의해, 식 H=[HA|HT](정보 행렬(HA)의 요소를 좌측의 요소로 하고, 패리티 행렬(HT)의 요소를 우측의 요소로 하는 행렬)로 나타낼 수 있다.
여기서, 1개의 LDPC 부호(1 부호어)의 부호 비트 중 정보 비트의 비트수와, 패리티 비트의 비트수를, 각각 정보 길이(K)와, 패리티 길이(M)라고 함과 함께, 1개의 LDPC 부호의 부호 비트의 비트수를, 부호 길이(N)(=K+M)라고 한다.
어떤 부호 길이(N)의 LDPC 부호에 관한 정보 길이(K)와 패리티 길이(M)는, 부호화율에 의해 결정된다. 또한, 검사 행렬(H)은, 행×열이 M×N의 행렬이 된다. 그리고, 정보 행렬(HA)은, M×K의 행렬이 되고, 패리티 행렬(HT)은, M×M의 행렬이 된다.
도 11은, DVB-S.2, DVB-T.2 및 DVB-C.2의 규격에 규정되어 있는 LDPC 부호의 검사 행렬(H)의 패리티 행렬(HT)을 나타내고 있다.
DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호의 검사 행렬(H)의 패리티 행렬(HT)은, 도 11에 도시한 바와 같이, 1의 요소가, 말하자면 계단 형상으로 배열하는 계단 구조의 행렬(lower bidiagonal matrix)로 되어 있다. 패리티 행렬(HT)의 행 가중치는, 1행째에 대해서는 1이고, 나머지 모든 행에 대해서는 2로 되어 있다. 또한, 열 가중치는, 최후의 1열에 대해서는 1이고, 나머지 모든 열에서 2로 되어 있다.
이상과 같이, 패리티 행렬(HT)이 계단 구조로 되어 있는 검사 행렬(H)의 LDPC 부호는, 그 검사 행렬(H)을 사용하여 용이하게 생성할 수 있다.
즉, LDPC 부호(1 부호어)를, 행 벡터 c로 나타냄과 함께, 그 행 벡터를 전치해서 얻어지는 열 벡터를, cT라 나타낸다. 또한, LDPC 부호인 행 벡터 c 중, 정보 비트의 부분을, 행 벡터 A로 나타냄과 함께, 패리티 비트의 부분을, 행 벡터 T로 나타내기로 한다.
이 경우, 행 벡터 c는, 정보 비트로서의 행 벡터 A와, 패리티 비트로서의 행 벡터 T에 의해, 식 c =[A|T](행 벡터 A의 요소를 좌측의 요소로 하고, 행 벡터 T의 요소를 우측의 요소로 하는 행 벡터)로 나타낼 수 있다.
검사 행렬(H)과, LDPC 부호로서의 행 벡터 c=[A|T]는, 식 HcT=0을 만족할 필요가 있으며, 이러한 식 HcT=0을 만족하는 행 벡터 c=[A|T]를 구성하는 패리티 비트로서의 행 벡터 T는, 검사 행렬(H)=[HA|HT]의 패리티 행렬(HT)이, 도 11에 도시한 계단 구조로 되어 있는 경우에는, 식 HcT=0에서의 열 벡터 HcT의 1행째의 요소로부터 순서대로, 각 행의 요소를 0으로 해나가도록 함으로써, 순차(순서)로 구할 수 있다.
도 12는, DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호의 검사 행렬(H)을 설명하는 도면이다.
DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호의 검사 행렬(H)의 1열째로부터의 KX열에 대해서는, 열 가중치가 X로, 그 후의 K3열에 대해서는, 열 가중치가 3으로, 그 후의 M-1열에 대해서는, 열 가중치가 2로, 최후의 1열에 대해서는, 열 가중치가 1로 각각 되어 있다.
여기서, KX+K3+M-1+1은, 부호 길이(N)와 동일하다.
도 13은, DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호의 각 부호화율(r)에 관한, 열수 KX, K3 및 M, 및, 열 가중치 X를 도시하는 도면이다.
DVB-T.2 등의 규격에서는, 64800비트와 16200비트의 부호 길이(N)의 LDPC 부호가 규정되어 있다.
그리고, 부호 길이(N)가 64800비트인 LDPC 부호에 대해서는, 11개의 부호화율(nominal rate) 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9 및 9/10가 규정되어 있고, 부호 길이(N)가 16200비트인 LDPC 부호에 대해서는, 10개의 부호화율 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6 및 8/9이 규정되어 있다.
여기서, 이하, 64800비트의 부호 길이(N)를, 64k 비트라고도 하며, 16200비트의 부호 길이(N)를, 16k 비트라고도 한다.
LDPC 부호에 대해서는, 검사 행렬(H)의 열 가중치가 큰 열에 대응하는 부호 비트일수록, 에러율이 낮은 경향이 있다.
도 12 및 도 13에 나타낸, DVB-T.2 등의 규격에 규정되어 있는 검사 행렬(H)에서는, 선두측(좌측)의 열일수록, 열 가중치가 큰 경향이 있고, 따라서, 그 검사 행렬(H)에 대응하는 LDPC 부호에 대해서는, 선두의 부호 비트일수록, 에러에 강하고(에러에 대한 내성이 있고), 마지막 부호 비트일수록, 에러에 약한 경향이 있다.
도 14는, 도 8의 맵퍼(117)로 16QAM이 행하여지는 경우의, 16개의 심볼(에 대응하는 신호점)의 IQ 평면상의 배치 예를 나타내고 있다.
즉, 도 14의 A는, DVB-T.2의 16QAM의 심볼(에 대응하는 신호점)을 나타내고 있다.
16QAM에서는, 1 심볼은, 4비트로 표현되고, 16(=24)개의 심볼이 존재한다. 그리고, 16개의 심볼은, IQ 평면의 원점을 중심으로 하여, I 방향×Q 방향이 4×4의 정사각형 형상이 되도록 배치되어 있다.
이제, 1 심볼이 나타내는 비트 열의, 최상위 비트로부터 i+1비트째의 비트를, 비트 yi로 나타내기로 하면, 16QAM의 1 심볼이 나타내는 4비트는, 최상위 비트로부터 순서대로, 비트 y0, y1, y2, y3으로 나타낼 수 있다. 변조 방식이 16QAM인 경우에는, LDPC 부호의 부호 비트의 4비트가, 4비트 y0 내지 y3의 심볼(심볼 값)로 (심벌화)된다.
도 14의 B는, 16QAM의 심볼이 나타내는 4비트(이하, 심볼 비트라고도 함) y0 내지 y3 각각에 관한 비트 경계를 나타내고 있다.
여기서, 심볼 비트 yi(도 14에서는, i=0, 1, 2, 3)에 관한 비트 경계란, 그 심볼 비트 yi가 0으로 되어 있는 심볼과, 1로 되어 있는 심볼과의 경계를 의미한다.
도 14의 B에 도시한 바와 같이, 16QAM의 심볼이 나타내는 4 심볼 비트 y0 내지 y3 중 최상위의 심볼 비트 y0에 대해서는, IQ 평면의 Q축의 1군데만이 비트 경계가 되고, 2번째(최상위 비트로부터 2번째)의 심볼 비트 y1에 대해서는, IQ 평면의 I축의 1군데만이 비트 경계가 된다.
또한, 3번째의 심볼 비트 y2에 대해서는, 4×4개의 심볼 중, 좌측으로부터 1열째와 2열째의 사이 및 3열째와 4열째의 사이의 2군데가, 비트 경계가 된다.
또한, 4번째의 심볼 비트 y3에 대해서는, 4×4개의 심볼 중, 위에서부터 1행째와 2행째의 사이 및 3행째와 4행째의 사이의 2군데가, 비트 경계가 된다.
심볼이 나타내는 심볼 비트 yi는, 비트 경계로부터 이격되어 있는 심볼이 많을수록, 틀리기 어렵고(에러 확률이 낮고), 비트 경계에 가까운 심볼이 많을수록, 틀리기 쉽다(에러 확률이 높다).
이제, 틀리기 어려운(에러에 강한) 비트를, 「강한 비트」라고 함과 함께, 틀리기 쉬운(에러에 약한) 비트를, 「약한 비트」라고 하기로 하면, 16QAM의 심볼의 4 심볼 비트 y0 내지 y3에 대해서는, 최상위의 심볼 비트 y0 및 2번째의 심볼 비트 y1이 강한 비트로 되어 있고, 3번째의 심볼 비트 y2 및 4번째의 심볼 비트 y3이 약한 비트로 되어 있다.
도 15 내지 도 17은, 도 8의 맵퍼(117)로 64QAM이 행하여지는 경우의, 64개의 심볼(에 대응하는 신호점)의 IQ 평면상의 배치 예, 즉, DVB-T.2의 16QAM의 심볼을 나타내고 있다.
64QAM에서는, 1 심볼은 6비트를 나타내고, 64(=26)개의 심볼이 존재한다. 그리고, 64개의 심볼은, IQ 평면의 원점을 중심으로 하여, I 방향×Q 방향이 8×8인 정사각형 형상이 되도록 배치되어 있다.
64QAM의 1 심볼의 심볼 비트는, 최상위 비트로부터 순서대로, 비트 y0, y1, y2, y3, y4, y5로 나타낼 수 있다. 변조 방식이 64QAM인 경우에는, LDPC 부호의 부호 비트의 6비트가, 6비트의 심볼 비트 y0 내지 y5의 심볼로 된다.
여기서, 도 15는, 64QAM의 심볼의 심볼 비트 y0 내지 y5 중, 최상위의 심볼 비트 y0과, 2번째의 심볼 비트 y1 각각에 관한 비트 경계를, 도 16은, 3번째의 심볼 비트 y2와, 4번째의 심볼 비트 y3 각각에 관한 비트 경계를, 도 17은, 5번째의 심볼 비트 y4와, 6번째의 심볼 비트 y5 각각에 관한 비트 경계를 각각 나타내고 있다.
도 15에 도시한 바와 같이, 최상위의 심볼 비트 y0과, 2번째의 심볼 비트 y1 각각에 관한 비트 경계는, 1군데로 되어 있다. 또한, 도 16에 도시한 바와 같이, 3번째의 심볼 비트 y2와, 4번째의 심볼 비트 y3 각각에 관한 비트 경계는, 2군데로 되어 있고, 도 17에 도시한 바와 같이, 5번째의 심볼 비트 y4와, 6번째의 심볼 비트 y5 각각에 관한 비트 경계는, 4군데로 되어 있다.
따라서, 64QAM의 심볼의 심볼 비트 y0 내지 y5에 대해서는, 최상위 심볼 비트 y0 및 2번째의 심볼 비트 y1이, 강한 비트로 되어 있고, 3번째의 심볼 비트 y2 및 4번째의 심볼 비트 y3이, 그 다음으로 강한 비트로 되어 있다. 그리고, 5번째의 심볼 비트 y4와, 6번째의 심볼 비트 y5는, 약한 비트로 되어 있다.
도 14, 나아가, 도 15 내지 도 17로부터, 직교 변조의 심볼의 심볼 비트에 대해서는, 상위 비트가 강한 비트가 되고, 하위 비트가 약한 비트가 되는 경향이 있음을 알 수 있다.
도 18은, 통신로(13)(도 7)로서 위성 회선을 채용하고, 도 8의 맵퍼(117)로 QPSK가 행하여지는 경우의, 4개의 심볼(에 대응하는 신호점)의 IQ 평면상의 배치 예, 즉, 예를 들어 DVB-S.2의 QPSK의 신호점 배치를 도시하는 도면이다.
DVB-S.2의 QPSK에서는, 심볼은, IQ 평면상의 원점을 중심으로 하는 반경(ρ)이 1인 원의 원주상의 4개의 신호점 중 어느 하나에 매핑된다.
도 19는, 통신로(13)(도 7)로서 위성 회선을 채용하고, 도 8의 맵퍼(117)로 8PSK가 행하여지는 경우의, 8개의 심볼의 IQ 평면상의 배치 예, 즉, 예를 들어 DVB-S.2의 8PSK의 신호점 배치를 도시하는 도면이다.
DVB-S.2의 8PSK에서는, 심볼은, IQ 평면상의 원점을 중심으로 하는 반경(ρ)이 1인 원의 원주상의 8개의 신호점 중 어느 하나에 매핑된다.
도 20은, 통신로(13)(도 7)로서 위성 회선을 채용하고, 도 8의 맵퍼(117)로 16APSK가 행하여지는 경우의, 16개의 심볼의 IQ 평면상의 배치 예, 즉, 예를 들어 DVB-S.2의 16APSK의 신호점 배치를 도시하는 도면이다.
도 20의 A는, DVB-S.2의 16APSK의 콘스텔레이션을 나타내고 있다.
DVB-S.2의 16APSK에서는, 심볼은, IQ 평면상의 원점을 중심으로 하는 반경이 R1인 원의 원주상의 4개의 신호점 및 반경이 R2(>R1)인 원의 원주상의 12개의 신호점의, 합계 16개의 신호점 중 어느 하나에 매핑된다.
도 20의 B는, DVB-S.2의 16APSK의 콘스텔레이션에 있어서의 반경 R2와 R1의 비(γ)=R2/R1을 나타내고 있다.
DVB-S.2의 16APSK의 콘스텔레이션에 있어서, 반경 R2와 R1의 비(γ)는, 부호화율마다 상이하다.
도 21은, 통신로(13)(도 7)로서 위성 회선을 채용하고, 도 8의 맵퍼(117)로 32APSK가 행하여지는 경우의, 32개의 심볼의 IQ 평면상의 배치 예, 즉, 예를 들어 DVB-S.2의 32APSK의 신호점 배치를 도시하는 도면이다.
도 21의 A는, DVB-S.2의 32APSK의 콘스텔레이션을 나타내고 있다.
DVB-S.2의 32APSK에서는, 심볼은, IQ 평면상의 원점을 중심으로 하는 반경이 R1인 원의 원주상의 4개의 신호점, 반경이 R2(>R1)인 원의 원주상의 12개의 신호점 및 반경이 R3(>R2)인 원의 원주상의 16개의 신호점의, 합계 32개의 신호점 중 어느 하나에 매핑된다.
도 21의 B는, DVB-S.2의 32APSK의 콘스텔레이션에 있어서의 반경 R2와 R1의 비(γ1)=R2/R1 및 반경 R3과 R1의 비(γ2)=R3/R1을 나타내고 있다.
DVB-S.2의 32APSK의 콘스텔레이션에 있어서, 반경 R2와 R1의 비(γ1) 및 반경 R3과 R1의 비(γ2)는, 부호화율마다 상이하다.
도 18 내지 도 21에 콘스텔레이션을 나타낸 DVB-S.2의 각 직교 변조(QPSK, 8PSK, 16APSK, 32APSK)의 심볼의 심볼 비트에 대해서도, 도 14 내지 도 17의 경우와 마찬가지로, 강한 비트와 약한 비트가 있다.
여기서, 도 12 및 도 13에서 설명한 바와 같이, LDPC 인코더(115)(도 8)가 출력하는 LDPC 부호에 대해서는, 에러에 강한 부호 비트와, 에러에 약한 부호 비트가 있다.
또한, 도 14 내지 도 21에서 설명한 바와 같이, 맵퍼(117)로 행하여지는 직교 변조의 심볼의 심볼 비트에 대해서는, 강한 비트와 약한 비트가 있다.
따라서, LDPC 부호의, 에러에 약한 부호 비트를, 직교 변조의 심볼의, 약한 심볼 비트에 할당하면, 전체적으로, 에러에 대한 내성이 저하되는 경우가 있다.
따라서, LDPC 부호의, 에러에 약한 부호 비트를, 직교 변조의 심볼의, 강한 비트(심볼 비트)에 할당하는 경향으로, LDPC 부호의 부호 비트를 인터리브하는 인터리버가 제안되어 있다.
도 9의 디멀티플렉서(25)는, 그 인터리버의 처리를 행할 수 있다.
도 22는, 도 9의 디멀티플렉서(25)의 처리를 설명하는 도면이다.
즉, 도 22의 A는, 디멀티플렉서(25)의 기능적인 구성예를 나타내고 있다.
디멀티플렉서(25)는, 메모리(31) 및 교체부(32)로 구성된다.
메모리(31)에는, LDPC 인코더(115)로부터의 LDPC 부호가 공급된다.
메모리(31)는, 로우(row)(가로) 방향으로 mb비트를 기억함과 함께, 칼럼(column)(세로) 방향으로 N/(mb) 비트를 기억하는 기억 용량을 갖고, 거기에 공급되는 LDPC 부호의 부호 비트를, 칼럼 방향으로 기입하고, 로우 방향으로 판독하여, 교체부(32)에 공급한다.
여기서, N(= 정보 길이(K)+패리티 길이(M))은 상술한 바와 같이, LDPC 부호의 부호 길이를 나타낸다.
또한, m은, 1 심볼이 되는 LDPC 부호의 부호 비트의 비트수를 나타내고, b는 소정의 양의 정수이고, m을 정수배 하는데 사용되는 배수이다. 디멀티플렉서(25)는, LDPC 부호의 부호 비트를 소정의 비트수(m)의 단위로 심볼로 하는데(심벌화하는데), 배수(b)는, 디멀티플렉서(25)가, 말하자면 한 번의 심벌화에 의해 얻는 심볼의 개수를 나타낸다.
도 22의 A는, 변조 방식이 심볼을 64개의 신호점 중 어느 하나에 매핑하는 64QAM 등인 경우의 디멀티플렉서(25)의 구성예를 나타내고 있으며, 따라서, 1 심볼이 되는 LDPC 부호의 부호 비트의 비트수(m)는 6비트이다.
또한, 도 22의 A에서는, 배수(b)는 1로 되어 있고, 따라서, 메모리(31)는, 칼럼 방향×로우 방향이 N/(6×1)×(6×1)비트의 기억 용량을 갖는다.
여기서, 메모리(31)의, 로우 방향이 1비트의, 칼럼 방향으로 연장되는 기억 영역을, 이하, 적절히, 칼럼이라고 한다. 도 22의 A에서는, 메모리(31)는, 6(=6×1)개의 칼럼으로 구성된다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트를, 메모리(31)를 구성하는 칼럼의 위에서부터 하측 방향(칼럼 방향)으로 기입하는 것이, 좌측으로부터 우측 방향의 칼럼을 향해서 행하여진다.
그리고, 부호 비트의 기입이, 가장 우측의 칼럼의 제일 아래까지 종료되면, 메모리(31)를 구성하는 모든 칼럼의 1행째로부터, 로우 방향으로, 6비트(mb비트) 단위로 부호 비트가 판독되어, 교체부(32)에 공급된다.
교체부(32)는, 메모리(31)로부터의 6비트의 부호 비트의 위치를 교체하는 교체 처리를 행하고, 그 결과 얻어지는 6비트를, 64QAM의 1 심볼을 나타내는 6 심볼 비트 y0, y1, y2, y3, y4, y5로서 출력한다.
즉, 메모리(31)로부터는, 로우 방향으로, mb비트(여기서는, 6비트)의 부호 비트가 판독되는데, 그, 메모리(31)로부터 판독되는 mb비트의 부호 비트의, 최상위 비트로부터 i 비트째를(i=0, 1, …, mb-1), 비트 bi로 나타내기로 하면, 메모리(31)로부터 로우 방향으로 판독되는 6비트의 부호 비트는, 최상위 비트로부터 순서대로, 비트 b0, b1, b2, b3, b4, b5로 나타낼 수 있다.
도 12 및 도 13에서 설명한 열 가중치의 관계로, 비트 b0의 방향에 있는 부호 비트는, 에러에 강한 부호 비트로 되어 있고, 비트 b5의 방향에 있는 부호 비트는, 에러에 약한 부호 비트로 되어 있다.
교체부(32)에서는, 메모리(31)로부터의 6비트의 부호 비트 b0 내지 b5 중, 에러에 약한 부호 비트가, 64QAM의 1 심볼의 심볼 비트 y0 내지 y5 중, 강한 비트에 할당되도록, 메모리(31)로부터의 6비트의 부호 비트 b0 내지 b5의 위치를 교체하는 교체 처리를 행할 수 있다.
여기서, 메모리(31)로부터의 6비트의 부호 비트 b0 내지 b5를 어떻게 교체하여, 64QAM의 1 심볼을 나타내는 6 심볼 비트 y0 내지 y5 각각에 할당할지의 교체 방식으로서는, 각사로부터 다양한 방식이 제안되어 있다.
도 22의 B는, 제1 교체 방식을, 도 22의 C는, 제2 교체 방식을, 도 22의 D는, 제3 교체 방식을 각각 나타내고 있다.
도 22의 B 내지 도 22의 D에서(후술하는 도 23에서도 마찬가지임), 비트 bi와 yj를 연결하는 선분은, 부호 비트 bi를, 심볼의 심볼 비트 yj에 할당하는(심볼 비트 yj의 위치로 교체함) 것을 의미한다.
도 22의 B의 제1 교체 방식으로서는, 3종류의 교체 방법 중 어느 1개를 채용하는 것이 제안되어 있고, 도 22의 C의 제2 교체 방식으로서는, 2종류의 교체 방법 중 어느 1개를 채용하는 것이 제안되어 있다.
도 22의 D의 제3 교체 방식으로서는, 6종류의 교체 방법을 순서대로 선택해서 사용하는 것이 제안되어 있다.
도 23은, 변조 방식이 심볼을 64개의 신호점 중 어느 하나에 매핑하는 64QAM 등이며(따라서, 1 심볼에 매핑되는 LDPC 부호의 부호 비트의 비트수(m)는, 도 22와 마찬가지로 6비트임), 또한 배수(b)가 2의 경우의 디멀티플렉서(25)의 구성예와, 제4 교체 방식을 나타내고 있다.
배수(b)가 2인 경우, 메모리(31)는, 칼럼 방향×로우 방향이 N/(6×2)×(6×2)비트의 기억 용량을 갖고, 12(=6×2)개의 칼럼으로 구성된다.
도 23의 A는, 메모리(31)에의 LDPC 부호의 기입순을 나타내고 있다.
디멀티플렉서(25)에서는, 도 22에서 설명한 바와 같이, LDPC 부호의 부호 비트를, 메모리(31)를 구성하는 칼럼의 위에서부터 하측 방향(칼럼 방향)으로 기입하는 것이, 좌측으로부터 우측 방향의 칼럼을 향해서 행하여진다.
그리고, 부호 비트의 기입이, 가장 우측의 칼럼의 제일 아래까지 종료되면(1 부호어의 기입이 종료되면), 메모리(31)를 구성하는 모든 칼럼의 1행째로부터, 로우 방향으로, 12비트(mb비트) 단위로 부호 비트가 판독되어, 교체부(32)에 공급된다.
교체부(32)는, 메모리(31)로부터의 12비트의 부호 비트의 위치를, 제4 교체 방식으로 교체하는 교체 처리를 행하고, 그 결과 얻어지는 12비트를, 64QAM의 2 심볼(b개의 심볼)을 나타내는 12비트, 즉, 64QAM의 1 심볼을 나타내는 6 심볼 비트 y0, y1, y2, y3, y4, y5와, 다음의 1 심볼을 나타내는 6 심볼 비트 y0, y1, y2, y3, y4, y5로서 출력한다.
여기서, 도 23의 B는, 도 23의 A의 교체부(32)에 의한 교체 처리의 제4 교체 방식을 나타내고 있다.
또한, 배수(b)가 2인 경우(3 이상인 경우도 마찬가지임), 교체 처리에서는, mb비트의 부호 비트가, 연속하는 b개의 심볼의 mb비트의 심볼 비트에 할당된다. 도 23을 포함해서, 이하에서는, 설명의 편의상, 연속하는 b개의 심볼의 mb비트의 심볼 비트의 최상위 비트로부터 i+1비트째를, 비트(심볼 비트) yi로 나타낸다.
어떤 부호 비트의 교체 방법이 적절한지, 즉, AWGN 통신로 등에서의 에러율을 보다 향상시킬지는, LDPC 부호의 부호화율이나 부호 길이, 변조 방식 등에 따라 상이하다.
<패리티 인터리브>
이어서, 도 24 내지 도 26을 참조하여, 도 9의 패리티 인터리버(23)에 의한 패리티 인터리브에 대해서 설명한다.
도 24는, LDPC 부호의 검사 행렬의 태너 그래프(의 일부)를 나타내고 있다.
체크 노드는, 도 24에 도시한 바와 같이, 그 체크 노드에 연결되어 있는 배리어블 노드(에 대응하는 부호 비트)의 2개 등의 복수가 동시에 이레이저 등의 에러로 되면, 그 체크 노드에 연결되어 있는 전체 배리어블 노드에, 값이 0인 확률과 1인 확률이 등확률인 메시지를 복귀시킨다. 이 때문에, 동일한 체크 노드에 연결되어 있는 복수의 배리어블 노드가 동시에 이레이저 등이 되면, 복호의 성능이 열화된다.
그런데, 도 8의 LDPC 인코더(115)가 출력하는, DVB-S.2 등의 규격에 규정되어 있는 LDPC 부호는, IRA 부호이며, 검사 행렬(H)의 패리티 행렬(HT)은, 도 11에 도시한 바와 같이 계단 구조로 되어 있다.
도 25는, 계단 구조로 되어 있는 패리티 행렬(HT)과, 그 패리티 행렬(HT)에 대응하는 태너 그래프를 나타내고 있다.
즉, 도 25의 A는, 계단 구조로 되어 있는 패리티 행렬(HT)을 나타내고 있고, 도 25의 B는, 도 25의 A의 패리티 행렬(HT)에 대응하는 태너 그래프를 나타내고 있다.
계단 구조로 되어 있는 패리티 행렬(HT)에서는, 각 행에 있어서, 1의 요소가 인접한다(1행째를 제외함). 이 때문에, 패리티 행렬(HT)의 태너 그래프에 있어서, 패리티 행렬(HT)의 값이 1로 되어 있는 인접하는 2개의 요소의 열에 대응하는, 인접하는 2개의 배리어블 노드는, 동일한 체크 노드에 연결되어 있다.
따라서, 버스트 오류나 이레이저 등에 의해, 상술한 인접하는 2개의 배리어블 노드에 대응하는 패리티 비트가 동시에 에러로 되면, 그 에러가 된 2개의 패리티 비트에 대응하는 2개의 배리어블 노드(패리티 비트를 사용해서 메시지를 구하는 배리어블 노드)에 연결되어 있는 체크 노드는, 값이 0인 확률과 1인 확률이 등확률인 메시지를, 그 체크 노드에 연결되어 있는 배리어블 노드로 되돌리기 때문에, 복호의 성능이 열화된다. 그리고, 버스트 길이(연속해서 에러가 되는 패리티 비트의 비트수)가 커지면, 등확률의 메시지를 복귀시키는 체크 노드가 증가하여, 복호의 성능은, 더욱 열화된다.
따라서, 패리티 인터리버(23)(도 9)는, 상술한 복호의 성능 열화를 방지하기 위해서, LDPC 인코더(115)로부터의, LDPC 부호의 패리티 비트를, 다른 패리티 비트의 위치에 인터리브하는 패리티 인터리브를 행한다.
도 26은, 도 9의 패리티 인터리버(23)가 행하는 패리티 인터리브 후의 LDPC 부호에 대응하는 검사 행렬(H)의 패리티 행렬(HT)을 나타내고 있다.
여기서, LDPC 인코더(115)가 출력하는, DVB-S.2 등의 규격에 규정되어 있는 LDPC 부호에 대응하는 검사 행렬(H)의 정보 행렬(HA)은, 순회 구조로 되어 있다.
순회 구조란, 어떤 열이, 다른 열을 사이클릭 시프트한 것과 일치하고 있는 구조를 말하며, 예를 들어 P열마다, 그 P열의 각 행의 1의 위치가, 그 P열의 최초의 열을, 패리티 길이(M)를 제산하여 얻어지는 값(q)에 비례하는 값만큼, 열방향으로 사이클릭 시프트한 위치로 되어 있는 구조도 포함된다. 이하, 적절히, 순회 구조에 있어서의 P열을, 순회 구조의 단위의 열수라고 한다.
DVB-S.2 등의 규격에 규정되어 있는 LDPC 부호로서는, 도 12 및 도 13에서 설명한 바와 같이, 부호 길이(N)가 64800비트와 16200비트인, 2종류의 LDPC 부호가 있고, 그 2종류의 LDPC 부호 중 어느 것에 관해서도, 순회 구조의 단위의 열수(P)가, 패리티 길이(M)의 약수 중, 1과 M을 제외한 약수의 하나인 360으로 규정되어 있다.
또한, 패리티 길이(M)는, 부호화율에 따라 상이한 값(q)을 사용하여,식 M=q×P=q×360으로 표현되는 소수 이외의 값으로 되어 있다. 따라서, 값 q도, 순회 구조의 단위의 열수(P)와 마찬가지로, 패리티 길이(M)의 약수 중, 1과 M을 제외한 약수의 다른 1개이며, 패리티 길이(M)를, 순회 구조의 단위의 열수(P)로 제산함으로써 얻어진다(패리티 길이(M)의 약수인 P 및 q의 곱은, 패리티 길이(M)가 된다).
패리티 인터리버(23)는, 상술한 바와 같이, 정보 길이를 K로 하고, 또한 0 이상 P 미만의 정수를 x로 함과 함께, 0 이상 q 미만의 정수를 y로 하면, 패리티 인터리브로서, N 비트의 LDPC 부호의 부호 비트 중, K+qx+y+1번째의 부호 비트를, K+Py+x+1번째의 부호 비트의 위치에 인터리브한다.
K+qx+y+1번째의 부호 비트, 및 K+Py+x+1번째의 부호 비트는, 모두, K+1번째 이후의 부호 비트이기 때문에, 패리티 비트이며, 따라서, 패리티 인터리브에 의하면, LDPC 부호의 패리티 비트 위치가 이동된다.
이러한 패리티 인터리브에 의하면, 동일한 체크 노드에 연결되는 배리어블 노드(에 대응하는 패리티 비트)가, 순회 구조의 단위의 열수(P), 즉, 여기에서는, 360비트만큼 이격되므로, 버스트 길이가 360비트 미만인 경우에는, 동일한 체크 노드에 연결되어 있는 배리어블 노드의 복수가 동시에 에러로 되는 사태를 피할 수 있고, 그 결과, 버스트 오류에 대한 내성을 개선할 수 있다.
또한, K+qx+y+1번째의 부호 비트를, K+Py+x+1번째의 부호 비트의 위치에 인터리브하는 패리티 인터리브 후의 LDPC 부호는, 원래의 검사 행렬(H)의, K+qx+y+1번째의 열을, K+Py+x+1번째의 열로 치환하는 열 치환을 행해서 얻어지는 검사 행렬(이하, 변환 검사 행렬이라고도 함)의 LDPC 부호에 일치한다.
또한, 변환 검사 행렬의 패리티 행렬에는, 도 26에 도시한 바와 같이, P열(도 26에서는, 360열)을 단위로 하는 의사 순회 구조가 나타난다.
여기서, 의사 순회 구조란, 일부를 제외한 부분이 순회 구조로 되어 있는 구조를 의미한다. DVB-S.2 등의 규격에 규정되어 있는 LDPC 부호의 검사 행렬에 대하여, 패리티 인터리브에 상당하는 열 치환을 실시해서 얻어지는 변환 검사 행렬은, 그 우측 코너 부분의 360행×360열의 부분(후술하는 시프트 행렬)에, 1의 요소가 1개만 부족하여(0의 요소로 되어 있어), 그 점에서, (완전한) 순회 구조가 아니라, 말하자면, 의사 순회 구조로 되어 있다.
또한, 도 26의 변환 검사 행렬은, 원래의 검사 행렬(H)에 대하여, 패리티 인터리브에 상당하는 열 치환 외에, 변환 검사 행렬이, 후술하는 구성 행렬로 구성되도록 하기 위한 행의 치환(행 치환)도 실시된 행렬로 되어 있다.
<칼럼 트위스트 인터리브>
이어서, 도 27 내지 도 30을 참조하여, 도 9의 칼럼 트위스트 인터리버(24)에 의한 재배열 처리로서의 칼럼 트위스트 인터리브에 대해서 설명한다.
도 8의 송신 장치(11)에서는, LDPC 부호의 부호 비트의 1비트 이상을, 1개의 심볼로서 송신한다. 즉, 예를 들어 부호 비트의 2비트를 1개의 심볼로 하는 경우에는, 변조 방식으로서, 예를 들어 QPSK가 사용되고, 부호 비트의 4비트를 1개의 심볼로 하는 경우에는, 변조 방식으로서, 예를 들어 16APSK나 16QAM이 사용된다.
부호 비트의 2비트 이상을, 1개의 심볼로서 송신하는 경우, 어떤 심볼에, 이레이저 등이 발생하면, 그 심볼의 부호 비트는, 모두 에러(이레이저)가 된다.
따라서, 복호의 성능을 향상시키기 위해서, 동일한 체크 노드에 연결되어 있는 배리어블 노드(에 대응하는 부호 비트)의 복수가 동시에 이레이저가 되는 확률을 저하시키기 위해서는, 1개의 심볼의 부호 비트에 대응하는 배리어블 노드가, 동일한 체크 노드에 연결되는 것을 피할 필요가 있다.
한편, 상술한 바와 같이, LDPC 인코더(115)가 출력하는, DVB-S.2 등의 규격에 규정되어 있는 LDPC 부호의 검사 행렬(H)에서는, 정보 행렬(HA)이 순회 구조를 갖고, 패리티 행렬(HT)이 계단 구조를 갖고 있다. 그리고, 도 26에서 설명한 바와 같이, 패리티 인터리브 후의 LDPC 부호의 검사 행렬인 변환 검사 행렬에서는, 패리티 행렬에도 순회 구조(정확하게는, 상술한 바와 같이, 의사 순회 구조)가 나타난다.
도 27은, 변환 검사 행렬을 나타내고 있다.
즉, 도 27의 A는, 부호 길이(N)가 64800비트이고, 부호화율(r)이 3/4인 LDPC 부호의 검사 행렬(H)의 변환 검사 행렬을 나타내고 있다.
도 27의 A에서는, 변환 검사 행렬에 있어서, 값이 1로 되어 있는 요소의 위치를, 점(·)으로 나타내고 있다.
도 27의 B는, 도 27의 A의 변환 검사 행렬의 LDPC 부호, 즉, 패리티 인터리브 후의 LDPC 부호를 대상으로 해서, 디멀티플렉서(25)(도 9)가 행하는 처리를 나타내고 있다.
도 27의 B에서는, 변조 방식이 16APSK나 16QAM 등의, 심볼을 16개의 신호점 중 어느 하나에 매핑하는 방식이라고 해서, 디멀티플렉서(25)의 메모리(31)를 구성하는 4칼럼에, 패리티 인터리브 후의 LDPC 부호의 부호 비트가, 칼럼 방향으로 기입되어 있다.
메모리(31)를 구성하는 4칼럼에, 칼럼 방향으로 기입된 부호 비트는, 로우 방향으로, 4비트 단위로 판독되어, 1 심볼이 된다.
이 경우, 1 심볼이 되는 4비트의 부호 비트 B0, B1, B2, B3은, 도 27의 A의 변환 검사 행렬의, 임의의 1행에 있는 1에 대응하는 부호 비트로 되어 있는 경우가 있고, 이 경우, 그 부호 비트 B0, B1, B2, B3 각각에 대응하는 배리어블 노드는, 동일한 체크 노드에 연결되어 있다.
따라서, 1 심볼의 4비트의 부호 비트 B0, B1, B2, B3이, 변환 검사 행렬의 임의의 1행에 있는 1에 대응하는 부호 비트로 되어 있는 경우에는, 그 심볼에, 이레이저가 발생하면, 부호 비트 B0, B1, B2, B3 각각에 대응하는 배리어블 노드가 연결되어 있는 동일한 체크 노드에 있어서, 적절한 메시지를 구할 수 없고, 그 결과, 복호의 성능이 열화된다.
부호화율이 3/4 이외인 부호화율에 대해서도, 마찬가지로, 동일한 체크 노드에 연결되어 있는 복수의 배리어블 노드에 대응하는 복수의 부호 비트가, 16APSK나 16QAM의 1개의 심볼로 되는 경우가 있다.
따라서, 칼럼 트위스트 인터리버(24)는, 변환 검사 행렬의 임의의 1행에 있는 1에 대응하는 복수의 부호 비트가, 1개의 심볼에 포함되지 않도록, 패리티 인터리버(23)로부터의 패리티 인터리브 후의 LDPC 부호의 부호 비트를 인터리브하는 칼럼 트위스트 인터리브를 행한다.
도 28은, 칼럼 트위스트 인터리브를 설명하는 도면이다.
즉, 도 28은, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)를 나타내고 있다.
메모리(31)는, 도 22에서 설명한 바와 같이, 칼럼(세로) 방향으로 N/(mb) 비트를 기억함과 함께, 로우(가로) 방향으로 mb비트를 기억하는 기억 용량을 갖고, mb개의 칼럼으로 구성된다. 그리고, 칼럼 트위스트 인터리버(24)는, 메모리(31)에 대하여 LDPC 부호의 부호 비트를, 칼럼 방향으로 기입하고, 로우 방향으로 판독할 때의 기입 개시 위치를 제어함으로써, 칼럼 트위스트 인터리브를 행한다.
즉, 칼럼 트위스트 인터리버(24)에서는, 복수의 칼럼 각각에 대해서, 부호 비트의 기입을 개시하는 기입 개시의 위치를, 적절히 변경함으로써, 로우 방향으로 판독되는, 1 심볼이 되는 복수의 부호 비트가, 변환 검사 행렬의 임의의 1행에 있는 1에 대응하는 부호 비트가 되지 않도록 한다(검사 행렬의 임의의 1행에 있는 1에 대응하는 복수의 부호 비트가, 동일한 심볼에 포함되지 않도록, LDPC 부호의 부호 비트를 재배열함).
여기서, 도 28은, 변조 방식이 16APSK나 16QAM이며, 또한 도 22에서 설명한 배수(b)가 1인 경우의, 메모리(31)의 구성예를 나타내고 있다. 따라서, 1 심볼이 되는 LDPC 부호의 부호 비트의 비트수(m)는, 4비트이며, 또한 메모리(31)는, 4(=mb)개의 칼럼으로 구성되어 있다.
칼럼 트위스트 인터리버(24)는, (도 22의 디멀티플렉서(25) 대신에) LDPC 부호의 부호 비트를, 메모리(31)를 구성하는 4개의 칼럼의 위에서부터 하측 방향(칼럼 방향)으로 기입하는 것을, 좌측으로부터 우측 방향의 칼럼을 향해서 행한다.
그리고, 부호 비트의 기입이, 가장 우측의 칼럼까지 종료되면, 칼럼 트위스트 인터리버(24)는, 메모리(31)를 구성하는 모든 칼럼의 1행째로부터, 로우 방향으로, 4비트(mb비트) 단위로 부호 비트를 판독하고, 칼럼 트위스트 인터리브 후의 LDPC 부호로서, 디멀티플렉서(25)의 교체부(32)(도 22, 도 23)에 출력한다.
단, 칼럼 트위스트 인터리버(24)에서는, 각 칼럼의 선두(맨위)의 위치의 어드레스를 0으로 하고, 칼럼 방향의 각 위치의 어드레스를, 오름차순의 정수로 나타내기로 하면, 가장 좌측의 칼럼에 대해서는, 기입 개시의 위치를, 어드레스가 0인 위치로 하고, (좌측에서부터) 2번째의 칼럼에 대해서는, 기입 개시의 위치를, 어드레스가 2인 위치로 하고, 3번째의 칼럼에 대해서는, 기입 개시의 위치를, 어드레스가 4인 위치로 하고, 4번째의 칼럼에 대해서는, 기입 개시의 위치를, 어드레스가 7인 위치로 한다.
또한, 기입 개시의 위치가, 어드레스가 0인 위치 이외의 위치의 칼럼에 대해서는, 부호 비트를, 가장 아래의 위치까지 기입한 후에는, 선두(어드레스가 0인 위치)로 복귀되어, 기입 개시의 위치의 직전 위치까지의 기입이 행하여진다. 그리고, 그 후, 다음(우측)의 칼럼에의 기입이 행하여진다.
이상과 같은 칼럼 트위스트 인터리브를 행함으로써, DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호에 대해서, 동일한 체크 노드에 연결되어 있는 복수의 배리어블 노드에 대응하는 복수의 부호 비트가, 16APSK나 16QAM의 1개의 심볼이 되는 것(동일한 심볼에 포함되는 것)을 피할 수 있고, 그 결과, 이레이저가 있는 통신로에서의 복호의 성능을 향상시킬 수 있다.
도 29는, DVB-T.2의 규격에 규정되어 있는, 부호 길이(N)가 64800인, 11개의 부호화율 각각의 LDPC 부호에 대해서, 칼럼 트위스트 인터리브에 필요한 메모리(31)의 칼럼수와, 기입 개시의 위치의 어드레스를, 변조 방식마다 나타내고 있다.
배수(b)가 1이며, 또한 변조 방식으로서, 예를 들어 QPSK가 채용됨으로써, 1 심볼의 비트수(m)가 2비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 2×1(=mb)비트를 기억하는 2개의 칼럼을 갖고, 칼럼 방향으로 64800/(2×1)비트를 기억한다.
그리고, 메모리(31)의 2개의 칼럼 중 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로 각각 된다.
또한, 예를 들어 디멀티플렉서(25)(도 9)의 교체 처리의 교체 방식으로서, 도 22의 제1 내지 제3 교체 방식 중 어느 하나가 채용되는 경우 등에, 배수(b)는 1이 된다.
배수(b)가 2이며, 또한 변조 방식으로서, 예를 들어 QPSK가 채용됨으로써, 1 심볼의 비트수(m)가 2비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 2×2비트를 기억하는 4개의 칼럼을 갖고, 칼럼 방향으로 64800/(2×2)비트를 기억한다.
그리고, 메모리(31)의 4개의 칼럼 중 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로 각각 된다.
또한, 예를 들어 디멀티플렉서(25)(도 9)의 교체 처리의 교체 방식으로서, 도 23의 제4 교체 방식이 채용되는 경우 등에, 배수(b)는 2가 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 16QAM이 채용됨으로써, 1 심볼의 비트수(m)가 4비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 4×1비트를 기억하는 4개의 칼럼을 갖고, 칼럼 방향으로 64800/(4×1)비트를 기억한다.
그리고, 메모리(31)의 4개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 16QAM이 채용됨으로써, 1 심볼의 비트수(m)가 4비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 4×2비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 64800/(4×2)비트를 기억한다.
그리고, 메모리(31)의 8개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 64QAM이 채용됨으로써, 1 심볼의 비트수(m)가 6비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 6×1비트를 기억하는 6개의 칼럼을 갖고, 칼럼 방향으로 64800/(6×1)비트를 기억한다.
그리고, 메모리(31)의 6개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 13의 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 64QAM이 채용됨으로써, 1 심볼의 비트수(m)가 6비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 6×2비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 64800/(6×2)비트를 기억한다.
그리고, 메모리(31)의 12개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 256QAM이 채용됨으로써, 1 심볼의 비트수(m)가 8비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 8×1비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 64800/(8×1)비트를 기억한다.
그리고, 메모리(31)의 8개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 256QAM이 채용됨으로써, 1 심볼의 비트수(m)가 8비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 8×2비트를 기억하는 16개의 칼럼을 갖고, 칼럼 방향으로 64800/(8×2)비트를 기억한다.
그리고, 메모리(31)의 16개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 15의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 16의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 20의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 22의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 22의 위치로, 13번째의 칼럼의 기입 개시 위치는, 어드레스가 27의 위치로, 14번째의 칼럼의 기입 개시 위치는, 어드레스가 27의 위치로, 15번째의 칼럼의 기입 개시 위치는, 어드레스가 28의 위치로, 16번째의 칼럼의 기입 개시 위치는, 어드레스가 32인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 1024QAM이 채용됨으로써, 1 심볼의 비트수(m)가 10비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 10×1비트를 기억하는 10개의 칼럼을 갖고, 칼럼 방향으로 64800/(10×1)비트를 기억한다.
그리고, 메모리(31)의 10개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 6의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 11의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 13의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 15의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 17의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 18의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 20인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 1024QAM이 채용됨으로써, 1 심볼의 비트수(m)가 10비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 10×2비트를 기억하는 20개의 칼럼을 갖고, 칼럼 방향으로 64800/(10×2)비트를 기억한다.
그리고, 메모리(31)의 20개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 6의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 6의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 13의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 14의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 14의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 16의 위치로, 13번째의 칼럼의 기입 개시 위치는, 어드레스가 21의 위치로, 14번째의 칼럼의 기입 개시 위치는, 어드레스가 21의 위치로, 15번째의 칼럼의 기입 개시 위치는, 어드레스가 23의 위치로, 16번째의 칼럼의 기입 개시 위치는, 어드레스가 25의 위치로, 17번째의 칼럼의 기입 개시 위치는, 어드레스가 25의 위치로, 18번째의 칼럼의 기입 개시 위치는, 어드레스가 26의 위치로, 19번째의 칼럼의 기입 개시 위치는, 어드레스가 28의 위치로, 20번째의 칼럼의 기입 개시 위치는, 어드레스가 30인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 4096QAM이 채용됨으로써, 1 심볼의 비트수(m)가 12비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 12×1비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 64800/(12×1)비트를 기억한다.
그리고, 메모리(31)의 12개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 9인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 4096QAM이 채용됨으로써, 1 심볼의 비트수(m)가 12비트인 경우, 도 29에 의하면, 메모리(31)는, 로우 방향으로 12×2비트를 기억하는 24개의 칼럼을 갖고, 칼럼 방향으로 64800/(12×2)비트를 기억한다.
그리고, 메모리(31)의 24개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 12의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 13의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 16의 위치로, 13번째의 칼럼의 기입 개시 위치는, 어드레스가 17의 위치로, 14번째의 칼럼의 기입 개시 위치는, 어드레스가 19의 위치로, 15번째의 칼럼의 기입 개시 위치는, 어드레스가 21의 위치로, 16번째의 칼럼의 기입 개시 위치는, 어드레스가 22의 위치로, 17번째의 칼럼의 기입 개시 위치는, 어드레스가 23의 위치로, 18번째의 칼럼의 기입 개시 위치는, 어드레스가 26의 위치로, 19번째의 칼럼의 기입 개시 위치는, 어드레스가 37의 위치로, 20번째의 칼럼의 기입 개시 위치는, 어드레스가 39의 위치로, 21번째의 칼럼의 기입 개시 위치는, 어드레스가 40의 위치로, 22번째의 칼럼의 기입 개시 위치는, 어드레스가 41의 위치로, 23번째의 칼럼의 기입 개시 위치는, 어드레스가 41의 위치로, 24번째의 칼럼의 기입 개시 위치는, 어드레스가 41인 위치로 각각 된다.
도 30은, DVB-T.2의 규격에 규정되어 있는, 부호 길이(N)가 16200인, 10개의 부호화율 각각의 LDPC 부호에 대해서, 칼럼 트위스트 인터리브에 필요한 메모리(31)의 칼럼수와, 기입 개시의 위치 어드레스를, 변조 방식마다 나타내고 있다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 QPSK가 채용됨으로써, 1 심볼의 비트수(m)가 2비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 2×1비트를 기억하는 2개의 칼럼을 갖고, 칼럼 방향으로 16200/(2×1)비트를 기억한다.
그리고, 메모리(31)의 2개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 QPSK가 채용됨으로써, 1 심볼의 비트수(m)가 2비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 2×2비트를 기억하는 4개의 칼럼을 갖고, 칼럼 방향으로 16200/(2×2)비트를 기억한다.
그리고, 메모리(31)의 4개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 3인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 16QAM이 채용됨으로써, 1 심볼의 비트수(m)가 4비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 4×1비트를 기억하는 4개의 칼럼을 갖고, 칼럼 방향으로 16200/(4×1)비트를 기억한다.
그리고, 메모리(31)의 4개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 3인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 16QAM이 채용됨으로써, 1 심볼의 비트수(m)가 4비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 4×2비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 16200/(4×2)비트를 기억한다.
그리고, 메모리(31)의 8개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 20의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 20의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 21인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 64QAM이 채용됨으로써, 1 심볼의 비트수(m)가 6비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 6×1비트를 기억하는 6개의 칼럼을 갖고, 칼럼 방향으로 16200/(6×1)비트를 기억한다.
그리고, 메모리(31)의 6개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 7인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 64QAM이 채용됨으로써, 1 심볼의 비트수(m)가 6비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 6×2비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 16200/(6×2)비트를 기억한다.
그리고, 메모리(31)의 12개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 6의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 7인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 256QAM이 채용됨으로써, 1 심볼의 비트수(m)가 8비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 8×1비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 16200/(8×1)비트를 기억한다.
그리고, 메모리(31)의 8개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 20의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 20의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 21인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 1024QAM이 채용됨으로써, 1 심볼의 비트수(m)가 10비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 10×1비트를 기억하는 10개의 칼럼을 갖고, 칼럼 방향으로 16200/(10×1)비트를 기억한다.
그리고, 메모리(31)의 10개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 4의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 7인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 1024QAM이 채용됨으로써, 1 심볼의 비트수(m)가 10비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 10×2비트를 기억하는 20개의 칼럼을 갖고, 칼럼 방향으로 16200/(10×2)비트를 기억한다.
그리고, 메모리(31)의 20개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 13번째의 칼럼의 기입 개시 위치는, 어드레스가 5의 위치로, 14번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 15번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 16번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 17번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 18번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 19번째의 칼럼의 기입 개시 위치는, 어드레스가 8의 위치로, 20번째의 칼럼의 기입 개시 위치는, 어드레스가 10인 위치로 각각 된다.
배수(b)가 1이고, 또한 변조 방식으로서, 예를 들어 4096QAM이 채용됨으로써, 1 심볼의 비트수(m)가 12비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 12×1비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 16200/(12×1)비트를 기억한다.
그리고, 메모리(31)의 12개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 6의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 7인 위치로 각각 된다.
배수(b)가 2이고, 또한 변조 방식으로서, 예를 들어 4096QAM이 채용됨으로써, 1 심볼의 비트수(m)가 12비트인 경우, 도 30에 의하면, 메모리(31)는, 로우 방향으로 12×2비트를 기억하는 24개의 칼럼을 갖고, 칼럼 방향으로 16200/(12×2)비트를 기억한다.
그리고, 메모리(31)의 24개의 칼럼 중, 1번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 2번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 3번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 4번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 5번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 6번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 7번째의 칼럼의 기입 개시 위치는, 어드레스가 0의 위치로, 8번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 9번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 10번째의 칼럼의 기입 개시 위치는, 어드레스가 1의 위치로, 11번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 12번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 13번째의 칼럼의 기입 개시 위치는, 어드레스가 2의 위치로, 14번째의 칼럼의 기입 개시 위치는, 어드레스가 3의 위치로, 15번째의 칼럼의 기입 개시 위치는, 어드레스가 7의 위치로, 16번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로, 17번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로, 18번째의 칼럼의 기입 개시 위치는, 어드레스가 9의 위치로, 19번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 20번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 21번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 22번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 23번째의 칼럼의 기입 개시 위치는, 어드레스가 10의 위치로, 24번째의 칼럼의 기입 개시 위치는, 어드레스가 11인 위치로 각각 된다.
도 31은, 도 8의 LDPC 인코더(115), 비트 인터리버(116) 및 맵퍼(117)로 행하여지는 처리를 설명하는 흐름도이다.
LDPC 인코더(115)는, BCH 인코더(114)로부터, LDPC 대상 데이터가 공급되는 것을 기다려서, 스텝 S101에서, LDPC 대상 데이터를, LDPC 부호로 부호화하고, 그 LDPC 부호를, 비트 인터리버(116)에 공급하고, 처리는, 스텝 S102로 진행한다.
비트 인터리버(116)는, 스텝 S102에서, LDPC 인코더(115)로부터의 LDPC 부호를 대상으로 해서, 비트 인터리브를 행하고, 그 비트 인터리브 후의 LDPC 부호를 심벌화한 심볼을, 맵퍼(117)에 공급하고, 처리는, 스텝 S103으로 진행한다.
즉, 스텝 S102에서는, 비트 인터리버(116)(도 9)에 있어서, 패리티 인터리버(23)가, LDPC 인코더(115)로부터의 LDPC 부호를 대상으로 하여, 패리티 인터리브를 행하고, 그 패리티 인터리브 후의 LDPC 부호를, 칼럼 트위스트 인터리버(24)에 공급한다.
칼럼 트위스트 인터리버(24)는, 패리티 인터리버(23)로부터의 LDPC 부호를 대상으로 하여, 칼럼 트위스트 인터리브를 행하고, 디멀티플렉서(25)에 공급한다.
디멀티플렉서(25)는, 칼럼 트위스트 인터리버(24)에 의한 칼럼 트위스트 인터리브 후의 LDPC 부호의 부호 비트를 교체하고, 교체 후의 부호 비트를, 심볼의 심볼 비트(심볼을 나타내는 비트)로 하는 교체 처리를 행한다.
여기서, 디멀티플렉서(25)에 의한 교체 처리는, 도 22 및 도 23에 나타낸 제1 내지 제4 교체 방식에 따라서 행할 수 있는 것 외에, 기타 교체 방식에 따라서 행할 수 있다.
디멀티플렉서(25)에 의한 교체 처리에 의해 얻어진 심볼은, 디멀티플렉서(25)로부터 맵퍼(117)에 공급된다.
맵퍼(117)는, 스텝 S103에서, 디멀티플렉서(25)로부터의 심볼을, 맵퍼(117)로 행하여지는 직교 변조의 변조 방식에서 정하는 신호점에 매핑해서 직교 변조하고, 그 결과 얻어지는 데이터를, 시간 인터리버(118)에 공급한다.
이상과 같이, 패리티 인터리브나, 칼럼 트위스트 인터리브를 행함으로써, LDPC 부호의 복수의 부호 비트를 1개의 심볼로서 송신하는 경우의, 이레이저나 버스트 오류에 대한 내성을 향상시킬 수 있다.
여기서, 도 9에서는, 설명의 편의를 위하여, 패리티 인터리브를 행하는 블록인 패리티 인터리버(23)와, 칼럼 트위스트 인터리브를 행하는 블록인 칼럼 트위스트 인터리버(24)를, 별개로 구성하도록 했지만, 패리티 인터리버(23)와 칼럼 트위스트 인터리버(24)는, 일체적으로 구성할 수 있다.
즉, 패리티 인터리브와, 칼럼 트위스트 인터리브는, 모두, 메모리에 대한 부호 비트의 기입 및 판독에 의해 행할 수 있고, 부호 비트의 기입을 행하는 어드레스(기입 어드레스)를 부호 비트의 판독을 행하는 어드레스(판독 어드레스)로 변환하는 행렬에 의해 나타낼 수 있다.
따라서, 패리티 인터리브를 나타내는 행렬과, 칼럼 트위스트 인터리브를 나타내는 행렬을 승산해서 얻어지는 행렬을 구해 두면, 그 행렬에 의해 부호 비트를 변환함으로써, 패리티 인터리브를 행하고, 또한 그 패리티 인터리브 후의 LDPC 부호를 칼럼 트위스트 인터리브한 결과를 얻을 수 있다.
또한, 패리티 인터리버(23)와 칼럼 트위스트 인터리버(24) 외에, 디멀티플렉서(25)도, 일체적으로 구성하는 것이 가능하다.
즉, 디멀티플렉서(25)에서 행하여지는 교체 처리도, LDPC 부호를 기억하는 메모리(31)의 기입 어드레스를, 판독 어드레스로 변환하는 행렬에 의해 나타낼 수 있다.
따라서, 패리티 인터리브를 나타내는 행렬, 칼럼 트위스트 인터리브를 나타내는 행렬, 및 교체 처리를 나타내는 행렬을 승산해서 얻어지는 행렬을 구해 두면, 그 행렬에 의해, 패리티 인터리브, 칼럼 트위스트 인터리브 및 교체 처리를, 일괄하여 행할 수 있다.
또한, 패리티 인터리브와, 칼럼 트위스트 인터리브에 대해서는, 그 중 어느 한쪽만을 행하도록 하는 것, 또는 모두 행하지 않도록 하는 것이 가능하다. 예를 들어, DVB-S.2와 같이, 통신로(13)(도 7)가, AWGN 이외의, 버스트 오류나 플러터 등을 그다지 고려하지 않아도 되는 위성 회선 등일 경우에는, 패리티 인터리브나 칼럼 트위스트 인터리브는 행하지 않도록 할 수 있다.
이어서, 도 32 내지 도 34를 참조하여, 도 8의 송신 장치(11)에 대해서 행한, 에러율(bit error rate)을 계측하는 시뮬레이션에 대해서 설명한다.
시뮬레이션은, D/U가 0dB인 플러터(flutter)가 있는 통신로를 채용해서 행하였다.
도 32는, 시뮬레이션에서 채용한 통신로의 모델을 나타내고 있다.
즉, 도 32의 A는, 시뮬레이션에서 채용한 플러터의 모델을 나타내고 있다.
또한, 도 32의 B는, 도 32의 A의 모델로 표현되는 플러터가 있는 통신로의 모델을 나타내고 있다.
또한, 도 32의 B에서, H는, 도 32의 A의 플러터의 모델을 나타낸다. 또한, 도 32의 B에서, N은, ICI(Inter Carrier Interference)를 나타내고, 시뮬레이션에서는, 그 파워의 기대값 E[N2]을, AWGN으로 근사하였다.
도 33 및 도 34는, 시뮬레이션에서 얻어진 에러율과, 플러터의 도플러 주파수(fd)의 관계를 나타내고 있다.
또한, 도 33은, 변조 방식이 16QAM이고, 부호화율(r)이 3/4이고, 교체 방식이 제1 교체 방식인 경우의, 에러율과 도플러 주파수(fd)의 관계를 나타내고 있다. 또한, 도 34는, 변조 방식이 64QAM이고, 부호화율(r)이 5/6이고, 교체 방식이 제1 교체 방식인 경우의, 에러율과 도플러 주파수(fd)의 관계를 나타내고 있다.
또한, 도 33 및 도 34에서, 굵은 선은, 패리티 인터리브, 칼럼 트위스트 인터리브 및 교체 처리 모두를 행한 경우의, 에러율과 도플러 주파수(fd)의 관계를 나타내고 있고, 세선은, 패리티 인터리브, 칼럼 트위스트 인터리브 및 교체 처리 중, 교체 처리만을 행한 경우의, 에러율과 도플러 주파수(fd)의 관계를 나타내고 있다.
도 33 및 도 34의 어떤 경우든, 패리티 인터리브, 칼럼 트위스트 인터리브 및 교체 처리 모두를 행한 경우가, 교체 처리만을 행한 경우보다도 더 에러율이 향상되는(작아지는) 것을 알 수 있다.
<LDPC 인코더(115)의 구성예>
도 35는, 도 8의 LDPC 인코더(115)의 구성예를 도시하는 블록도이다.
또한, 도 8의 LDPC 인코더(122)도 마찬가지로 구성된다.
도 12 및 도 13에서 설명한 바와 같이, DVB-S.2 등의 규격에서는, 64800비트와 16200비트의 2가지의 부호 길이(N)의 LDPC 부호가 규정되어 있다.
그리고, 부호 길이(N)가 64800비트인 LDPC 부호에 대해서는, 11개의 부호화율 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9 및 9/10가 규정되어 있고, 부호 길이(N)가 16200비트인 LDPC 부호에 대해서는, 10개의 부호화율 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6 및 8/9이 규정되어 있다(도 12 및 도 13).
LDPC 인코더(115)는, 예를 들어 이러한, 부호 길이(N)가 64800비트나 16200비트의 각 부호화율의 LDPC 부호에 의한 부호화(오류 정정 부호화)를, 부호 길이(N)마다, 및 부호화율마다 준비된 검사 행렬(H)에 따라서 행할 수 있다.
LDPC 인코더(115)는, 부호화 처리부(601)와 기억부(602)로 구성된다.
부호화 처리부(601)는, 부호화율 설정부(611), 초기값 테이블 판독부(612), 검사 행렬 생성부(613), 정보 비트 판독부(614), 부호화 패리티 연산부(615) 및 제어부(616)로 구성되어, LDPC 인코더(115)에 공급되는 LDPC 대상 데이터의 LDPC 부호화를 행하고, 그 결과 얻어지는 LDPC 부호를, 비트 인터리버(116)(도 8)에 공급한다.
즉, 부호화율 설정부(611)는, 예를 들어 오퍼레이터의 조작 등에 따라, LDPC 부호의 부호 길이(N)와 부호화율을 설정한다.
초기값 테이블 판독부(612)는, 부호화율 설정부(611)가 설정한 부호 길이(N) 및 부호화율에 대응하는, 후술하는 검사 행렬 초기값 테이블을, 기억부(602)로부터 판독한다.
검사 행렬 생성부(613)는, 초기값 테이블 판독부(612)가 판독한 검사 행렬 초기값 테이블에 기초하여, 부호화율 설정부(611)가 설정한 부호 길이(N) 및 부호화율에 따른 정보 길이(K)(=부호 길이(N)-패리티 길이(M))에 대응하는 정보 행렬(HA)의 1의 요소를 열방향으로 360열(순회 구조의 단위의 열수(P))마다의 주기로 배치해서 검사 행렬(H)을 생성하고, 기억부(602)에 저장한다.
정보 비트 판독부(614)는, LDPC 인코더(115)에 공급되는 LDPC 대상 데이터로부터, 정보 길이(K)분의 정보 비트를 판독한다(추출함).
부호화 패리티 연산부(615)는, 검사 행렬 생성부(613)가 생성한 검사 행렬(H)을 기억부(602)로부터 판독하고, 그 검사 행렬(H)을 사용하여, 정보 비트 판독부(614)가 판독한 정보 비트에 대한 패리티 비트를 소정의 식에 기초하여 산출함으로써, 부호어(LDPC 부호)를 생성한다.
제어부(616)는, 부호화 처리부(601)를 구성하는 각 블록을 제어한다.
기억부(602)에는, 예를 들어 64800비트나 16200비트 등의 부호 길이(N) 각각에 관한, 도 12 및 도 13에 나타낸 복수의 부호화율 등 각각에 대응하는 복수의 검사 행렬 초기값 테이블 등이 저장되어 있다. 또한, 기억부(602)는, 부호화 처리부(601)의 처리상 필요한 데이터를 일시 기억한다.
도 36은, 도 35의 LDPC 인코더(115)의 처리를 설명하는 흐름도이다.
스텝 S201에서, 부호화율 설정부(611)는, LDPC 부호화를 행하는 부호 길이(N) 및 부호화율(r)을 결정(설정)한다.
스텝 S202에서, 초기값 테이블 판독부(612)는, 부호화율 설정부(611)에 의해 결정된 부호 길이(N) 및 부호화율(r)에 대응하는, 미리 정해진 검사 행렬 초기값 테이블을, 기억부(602)로부터 판독한다.
스텝 S203에서, 검사 행렬 생성부(613)는, 초기값 테이블 판독부(612)가 기억부(602)로부터 판독한 검사 행렬 초기값 테이블을 사용하여, 부호화율 설정부(611)에 의해 결정된 부호 길이(N) 및 부호화율(r)의 LDPC 부호의 검사 행렬(H)을 구하고(생성하고), 기억부(602)에 공급해서 저장한다.
스텝 S204에서, 정보 비트 판독부(614)는, LDPC 인코더(115)에 공급되는 LDPC 대상 데이터로부터, 부호화율 설정부(611)에 의해 결정된 부호 길이(N) 및 부호화율(r)에 대응하는 정보 길이(K)(=N×r)의 정보 비트를 판독함과 함께, 검사 행렬 생성부(613)가 구한 검사 행렬(H)을, 기억부(602)로부터 판독하고, 부호화 패리티 연산부(615)에 공급한다.
스텝 S205에서, 부호화 패리티 연산부(615)는, 정보 비트 판독부(614)로부터의 정보 비트와 검사 행렬(H)을 사용하여, 식 (8)을 만족하는 부호어 c의 패리티 비트를 순차 연산한다.
HcT=0 … (8)
식 (8)에서, c는, 부호어(LDPC 부호)로서의 행 벡터를 나타내고, cT는, 행 벡터 c의 전치를 나타낸다.
여기서, 상술한 바와 같이, LDPC 부호(1 부호어)로서의 행 벡터 c 중, 정보 비트의 부분을, 행 벡터 A로 나타냄과 함께, 패리티 비트의 부분을, 행 벡터 T로 나타내는 경우에는, 행 벡터 c는, 정보 비트로서의 행 벡터 A와, 패리티 비트로서의 행 벡터 T에 의해, 식 c =[A|T]로 나타낼 수 있다.
검사 행렬(H)과, LDPC 부호로서의 행 벡터 c=[A|T]는, 식 HcT=0을 만족할 필요가 있고, 이러한 식 HcT=0을 만족하는 행 벡터 c=[A|T]를 구성하는 패리티 비트로서의 행 벡터 T는, 검사 행렬(H)=[HA|HT]의 패리티 행렬(HT)이, 도 11에 도시한 계단 구조로 되어 있는 경우에는, 식 HcT=0에서의 열 벡터 HcT의 1행째의 요소로부터 순서대로, 각 행의 요소를 0으로 해나가도록 함으로써, 순차적으로 구할 수 있다.
부호화 패리티 연산부(615)는, 정보 비트 판독부(614)로부터의 정보 비트 A에 대하여 패리티 비트 T를 구하고, 그 정보 비트 A와 패리티 비트 T에 의해 표현되는 부호어 c =[A|T]를, 정보 비트 A의 LDPC 부호화 결과로서 출력한다.
그 후, 스텝 S206에서, 제어부(616)는, LDPC 부호화를 종료할 것인지 여부를 판정한다. 스텝 S206에서, LDPC 부호화를 종료하지 않았다고 판정된 경우, 즉, 예를 들어 LDPC 부호화해야 할 LDPC 대상 데이터가 아직 있는 경우, 처리는, 스텝 S201(또는, 스텝 S204)로 복귀되어, 이하, 스텝 S201(또는, 스텝 S204) 내지 S206의 처리가 반복된다.
또한, 스텝 S206에서, LDPC 부호화를 종료한다고 판정된 경우, 즉, 예를 들어 LDPC 부호화해야 할 LDPC 대상 데이터가 없는 경우, LDPC 인코더(115)는, 처리를 종료한다.
이상과 같이, 각 부호 길이(N) 및 각 부호화율(r)에 대응하는 검사 행렬 초기값 테이블이 준비되어 있고, LDPC 인코더(115)는, 소정의 부호 길이(N)의, 소정의 부호화율(r)의 LDPC 부호화를, 그 소정의 부호 길이(N) 및 소정의 부호화율(r)에 대응하는 검사 행렬 초기값 테이블로부터 생성되는 검사 행렬(H)을 사용해서 행한다.
<검사 행렬 초기값 테이블의 예>
검사 행렬 초기값 테이블은, 검사 행렬(H)의, LDPC 부호(검사 행렬(H)에 의해 정의되는 LDPC 부호)의 부호 길이(N) 및 부호화율(r)에 따른 정보 길이(K)에 대응하는 정보 행렬(HA)(도 10)의 1의 요소의 위치를 360열(순회 구조의 단위의 열수(P))마다 나타내는 테이블이며, 각 부호 길이(N) 및 각 부호화율(r)의 검사 행렬(H)마다 미리 작성된다.
도 37은, 검사 행렬 초기값 테이블의 예를 나타내는 도이다.
즉, 도 37은, DVB-T.2의 규격에 규정되어 있는, 부호 길이(N)가 16200비트의, 부호화율(DVB-T.2의 표기상의 부호화율)(r)이 1/4인 검사 행렬(H)에 대한 검사 행렬 초기값 테이블을 나타내고 있다.
검사 행렬 생성부(613)(도 35)는, 검사 행렬 초기값 테이블을 사용하여, 이하와 같이 검사 행렬(H)을 구한다.
도 38은, 검사 행렬 초기값 테이블로부터 검사 행렬(H)을 구하는 방법을 설명하는 도면이다.
즉, 도 38은, DVB-T.2의 규격에 규정되어 있는, 부호 길이(N)가 16200비트의, 부호화율(r)이 2/3인 검사 행렬(H)에 대한 검사 행렬 초기값 테이블을 나타내고 있다.
검사 행렬 초기값 테이블은, 상술한 바와 같이, LDPC 부호의 부호 길이(N) 및 부호화율(r)에 따른 정보 길이(K)에 대응하는 정보 행렬(HA)(도 10)의 1의 요소의 위치를, 360열(순회 구조의 단위의 열수(P))마다 나타내는 테이블이며, 그 i행째에는, 검사 행렬(H)의 1+360×(i-1)열째의 1의 요소의 행 번호(검사 행렬(H)의 1행째의 행 번호를 0으로 하는 행 번호)가, 그 1+360×(i-1)열째의 열이 갖는 열 가중치의 수만큼 나열되어 있다.
여기서, 검사 행렬(H)의, 패리티 길이(M)에 대응하는 패리티 행렬(HT)(도 10)은, 도 25에 도시한 바와 같이 정해져 있으므로, 검사 행렬 초기값 테이블에 의하면, 검사 행렬(H)의, 정보 길이(K)에 대응하는 정보 행렬(HA)(도 10)이 구해진다.
검사 행렬 초기값 테이블의 행수 k+1은, 정보 길이(K)에 따라 상이하다.
정보 길이(K)와, 검사 행렬 초기값 테이블의 행수 k+1의 사이에는, 식 (9)의 관계가 성립된다.
K=(k+1)×360 … (9)
여기서, 식 (9)의 360은, 도 26에서 설명한 순회 구조의 단위의 열수(P)이다.
도 38의 검사 행렬 초기값 테이블에서는, 1행째부터 3행째까지, 13개의 수치가 배열되고, 4행째부터 k+1행째(도 38에서는, 30행째)까지, 3개의 수치가 나열되어 있다.
따라서, 도 38의 검사 행렬 초기값 테이블로부터 구해지는 검사 행렬(H)의 열 가중치는, 1열째부터 1+360×(3-1)-1열째까지는 13이며, 1+360×(3-1)열째부터 K열째까지는 3이다.
도 38의 검사 행렬 초기값 테이블의 1행째는, 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622로 되어 있고, 이것은, 검사 행렬(H)의 1열째에 있어서, 행 번호가, 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622인 행의 요소가 1인 것(또한, 다른 요소가 0인 것)을 나타내고 있다.
또한, 도 38의 검사 행렬 초기값 테이블의 2행째는, 1, 122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108로 되어 있고, 이것은, 검사 행렬(H)의 361(=1+360×(2-1))열째에 있어서, 행 번호가, 1, 122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108인 행의 요소가 1인 것을 나타내고 있다.
이상과 같이, 검사 행렬 초기값 테이블은, 검사 행렬(H)의 정보 행렬(HA)의 1의 요소의 위치를 360열마다 나타낸다.
검사 행렬(H)의 1+360×(i-1)열째 이외의 열, 즉, 2+360×(i-1)열째부터, 360×i열째까지의 각 열은, 검사 행렬 초기값 테이블에 의해 정해지는 1+360×(i-1)열째의 1의 요소를, 패리티 길이(M)에 따라서 하측 방향(열의 하측 방향)으로, 주기적으로 사이클릭 시프트해서 배치한 것으로 되어 있다.
즉, 예를 들어 2+360×(i-1)열째는, 1+360×(i-1)열째를, M/360(=q)만큼 하측 방향으로 사이클릭 시프트한 것으로 되어 있고, 다음의 3+360×(i-1)열째는, 1+360×(i-1)열째를, 2×M/360(=2×q)만큼 하측 방향으로 사이클릭 시프트한 것(2+360×(i-1)열째를, M/360(=q)만큼 하측 방향으로 사이클릭 시프트한 것)으로 되어 있다.
이제, 검사 행렬 초기값 테이블의 i행째(위에서부터 i번째)의 j열째(좌측에서부터 j번째)의 수치를, hi,j로 나타냄과 함께, 검사 행렬(H)의 w열째의, j개째의 1의 요소의 행 번호를, Hw-j로 나타내기로 하면, 검사 행렬(H)의 1+360×(i-1)열째 이외의 열인 w열째의, 1의 요소의 행 번호 Hw-j는, 식 (10)에서 구할 수 있다.
Hw-j=mod {hi,j+mod ((w-1), P)×q, M) … (10)
여기서, mod(x, y)는 x를 y로 나눈 나머지를 의미한다.
또한, P는, 상술한 순회 구조의 단위의 열수이며, 예를 들어 DVB-S.2, DVB-T.2 및 DVB-C.2의 규격에서는, 상술한 바와 같이 360이다. 또한, q는, 패리티 길이(M)를, 순회 구조의 단위의 열수(P)(=360)로 제산함으로써 얻어지는 값 M/360이다.
검사 행렬 생성부(613)(도 35)는, 검사 행렬 초기값 테이블에 의해, 검사 행렬(H)의 1+360×(i-1)열째의 1의 요소의 행 번호를 특정한다.
또한, 검사 행렬 생성부(613)(도 35)는, 검사 행렬(H)의 1+360×(i-1)열째 이외의 열인 w열째의, 1의 요소의 행 번호 Hw-j를, 식 (10)에 따라서 구하고, 이상에 의해 얻어진 행 번호의 요소를 1로 하는 검사 행렬(H)을 생성한다.
<DVB-Sx의 LDPC 부호>
그런데, DVB-Sx 또는 DVB-S.2 evo라고 불리는, DVB-S.2를 개량한 규격이 책정중이다.
따라서, DVB-Sx 그 밖의 데이터 전송에 있어서 사용할 수 있는, 부호 길이(N)가 16k 비트인 LDPC 부호(이하, Sx용 16k 부호라고도 함)에 대해서 설명한다.
또한, Sx용 16k 부호에 대해서는, DVB-S.2와의 친화성(compatibility)을, 가능한 한 유지하는 관점에서, DVB-S.2로 규정되어 있는 LDPC 부호와 마찬가지로, 검사 행렬(H)의 패리티 행렬(HT)은, 계단 구조로 한다(도 11).
또한, Sx용 16k 부호에 대해서는, DVB-S.2로 규정되어 있는 LDPC 부호와 마찬가지로, 검사 행렬(H)의 정보 행렬(HA)은, 순회 구조로 하고, 순회 구조의 단위의 열수(P)는, 360으로 한다.
도 39 및 도 40은, Sx용 16k 부호의 검사 행렬 초기값 테이블의 예를 나타내는 도이다.
도 39는, 부호화율(r)이 7/15인 Sx용 16k 부호(이하, r=7/15의 Sx용 16k 부호라고도 함)의 검사 행렬(H)에 대한 검사 행렬 초기값 테이블을 도시하는 도면이다.
도 40은, 부호화율(r)이 8/15인 Sx용 16k 부호(이하, r=8/15의 Sx용 16k 부호라고도 함)의 검사 행렬(H)에 대한 검사 행렬 초기값 테이블을 도시하는 도면이다.
LDPC 인코더(115)(도 8, 도 35)는, 도 39 및 도 40에 나타낸 검사 행렬 초기값 테이블로부터 구해지는 검사 행렬(H)을 사용하여, 부호 길이(N)가 16k 비트인, 부호화율(r)이 7/15 또는 8/15의 2종류 중 어느 하나의 Sx용 16k 부호에의 LDPC 부호화를 행할 수 있다.
이 경우, LDPC 인코더(115)(도 8)의 기억부(602)에는, 도 39 및 도 40에 나타낸 검사 행렬 초기값 테이블이 기억된다.
도 39 및 도 40의 검사 행렬 초기값 테이블로부터 구해지는 검사 행렬(H)을 사용해서 얻어지는 Sx용 16k 부호는, 성능이 좋은 LDPC 부호로 되어 있다.
여기서, 성능이 좋은 LDPC 부호란, 적절한 검사 행렬(H)로부터 얻어지는 LDPC 부호이다.
또한, 적절한 검사 행렬(H)이란, 검사 행렬(H)로부터 얻어지는 LDPC 부호를, 낮은 Es/N0, 또는 Eb/N0(1비트당 신호 전력 대 잡음 전력비)로 송신했을 때, BER(및 FER)을 보다 작게 하는, 소정의 조건을 만족하는 검사 행렬이다.
적절한 검사 행렬(H)은, 예를 들어 소정의 조건을 만족하는 다양한 검사 행렬로부터 얻어지는 LDPC 부호를, 낮은 Es/N0로 송신했을 때의 BER을 계측하는 시뮬레이션을 행함으로써 구할 수 있다.
적절한 검사 행렬(H)이 만족해야 할 소정의 조건으로서는, 예를 들어 덴시티 에볼루션(Density Evolution)이라고 불리는 부호의 성능의 해석법으로 얻어지는 해석 결과가 양호한 것, 사이클 4라고 불리는, 1의 요소의 루프가 존재하지 않는 것 등이 있다.
여기서, 정보 행렬(HA)에 있어서, 사이클 4와 같이, 1의 요소가 밀집되어 있으면, LDPC 부호의 복호 성능이 열화되는 것으로 알려져 있고, 이 때문에, 적절한 검사 행렬(H)이 만족해야 할 소정의 조건으로서, 사이클 4가 존재하지 않을 것이 요구된다.
또한, 적절한 검사 행렬(H)이 만족해야 할 소정의 조건은, LDPC 부호의 복호 성능의 향상이나, LDPC 부호의 복호 처리의 용이화(단순화) 등의 관점에서 적절히 결정할 수 있다.
도 41 및 도 42는, 적절한 검사 행렬(H)이 만족해야 할 소정의 조건으로서의 해석 결과가 얻어지는 덴시티 에볼루션을 설명하는 도면이다.
덴시티 에볼루션이란, 후술하는 디그리 시퀀스(degree sequence)로 특징지어지는 부호 길이(N)가 ∞인 LDPC 부호 전체(앙상블(ensemble))에 대하여, 그 에러 확률의 기대값을 계산하는, 부호의 해석법이다.
예를 들어, AWGN 채널상에서, 노이즈의 분산값을 0에서부터 점차로 크게 해나가면, 어떤 앙상블의 에러 확률의 기대값은, 처음에는 0이지만, 노이즈의 분산값이, 어떤 역치(threshold) 이상이 되면, 0이 아니게 된다.
덴시티 에볼루션에 의하면, 그 에러 확률의 기대값이 0이 아니게 되는, 노이즈의 분산값의 역치(이하, 성능 역치라고도 함)를 비교함으로써, 앙상블의 성능(검사 행렬의 적절함)의 좋고 나쁨을 정할 수 있다.
또한, 구체적인 LDPC 부호에 대하여, 그 LDPC 부호가 속하는 앙상블을 결정하고, 그 앙상블에 대하여 덴시티 에볼루션을 행하면, 그 LDPC 부호의 대략적인 성능을 예상할 수 있다.
따라서, 성능이 좋은 LDPC 부호는, 성능이 좋은 앙상블을 발견하면, 그 앙상블에 속하는 LDPC 부호 중에서 찾을 수 있다.
여기서, 상술한 디그리 시퀀스란, LDPC 부호의 부호 길이(N)에 대하여, 각 값의 가중치를 가지는 배리어블 노드나 체크 노드가 어느 정도의 비율만큼 있는지를 나타낸다.
예를 들어, 부호화율이 1/2인 regular(3, 6) LDPC 부호는, 모든 배리어블 노드의 가중치(열 가중치)가 3이고, 모든 체크 노드의 가중치(행 가중치)가 6이라는 디그리 시퀀스에 의해 특징지어지는 앙상블에 속한다.
도 41은, 그러한 앙상블의 태너 그래프(Tanner graph)를 나타내고 있다.
도 41의 태너 그래프에서는, 도면 중 동그라미 표시(○표시)로 나타내는 배리어블 노드가, 부호 길이(N)와 동일한 N개만큼 존재하고, 도면 중 사각형(□표시)으로 나타내는 체크 노드가, 부호 길이(N)에 부호화율 1/2를 승산한 승산 값과 동일한 N/2개만큼 존재한다.
각 배리어블 노드에는, 열 가중치와 동일한 3개의 가지(edge)가 접속되어 있고, 따라서, N개의 배리어블 노드에 접속하고 있는 가지는, 전부 3N개만큼 존재한다.
또한, 각 체크 노드에는, 행 가중치와 동일한 6개의 가지가 접속되어 있고, 따라서, N/2개의 체크 노드에 접속하고 있는 가지는, 전부 3N개만큼 존재한다.
또한, 도 41의 태너 그래프에서는, 1개의 인터리버가 존재한다.
인터리버는, N개의 배리어블 노드에 접속하고 있는 3N개의 가지를 랜덤하게 재배열하고, 그 재배열 후의 각 가지를, N/2개의 체크 노드에 접속하고 있는 3N개의 가지 중 어느 하나에 연결시킨다.
인터리버에서의, N개의 배리어블 노드에 접속하고 있는 3N개의 가지를 재배열하는 재배열 패턴은, (3N)!(=(3N)×(3N-1)×… ×1)가지만큼 있다. 따라서, 모든 배리어블 노드의 가중치가 3이고, 모든 체크 노드의 가중치가 6이라는 디그리 시퀀스에 의해 특징지어지는 앙상블은, (3N)!개의 LDPC 부호의 집합이 된다.
성능이 좋은 LDPC 부호(적절한 검사 행렬)를 구하는 시뮬레이션에서는, 덴시티 에볼루션에 있어서, 멀티 에지 타입(multi-edge type)의 앙상블을 사용하였다.
멀티 에지 타입에서는, 배리어블 노드에 접속하고 있는 가지와, 체크 노드에 접속하고 있는 가지가 경유하는 인터리버가, 복수(multi edge)로 분할되고, 이에 의해, 앙상블의 특징지어짐이 보다 엄밀하게 행하여진다.
도 42는, 멀티 에지 타입의 앙상블의 태너 그래프의 예를 나타내고 있다.
도 42의 태너 그래프에서는, 제1 인터리버와 제2 인터리버의 2개의 인터리버가 존재한다.
또한, 도 42의 태너 그래프에서는, 제1 인터리버에 연결되는 가지가 1개이고, 제2 인터리버에 연결되는 가지가 0개인 배리어블 노드가 v1개만큼, 제1 인터리버에 연결되는 가지가 1개이고, 제2 인터리버에 연결되는 가지가 2개인 배리어블 노드가 v2개만큼, 제1 인터리버에 연결되는 가지가 0개이고, 제2 인터리버에 연결되는 가지가 2개인 배리어블 노드가 v3개만큼 각각 존재한다.
또한, 도 42의 태너 그래프에서는, 제1 인터리버에 연결되는 가지가 2개이고, 제2 인터리버에 연결되는 가지가 0개인 체크 노드가 c1개만큼, 제1 인터리버에 연결되는 가지가 2개이고, 제2 인터리버에 연결되는 가지가 2개인 체크 노드가 c2개만큼, 제1 인터리버에 연결되는 가지가 0개이고, 제2 인터리버에 연결되는 가지가 3개인 체크 노드가 c3개만큼 각각 존재한다.
여기서, 덴시티 에볼루션과, 그 실장에 대해서는, 예를 들어 "On the Design of Low-Density Parity-Check Codes within 0.0045dB of the Shannon Limit", S. Y. Chung, G. D. Forney, T. J. Richardson, R. Urbanke, IEEE Communications Leggers, VOL.5, NO.2, Feb 2001에 기재되어 있다.
Sx용 16k 부호(의 검사 행렬 초기값 테이블)를 구하는 시뮬레이션에서는, 멀티 에지 타입의 덴시티 에볼루션에 의해, BER이 떨어지기 시작하는(작아져 가는) Eb/N0(1비트당 신호 전력 대 잡음 전력비)인 성능 역치가, 소정 값 이하로 되는 앙상블을 발견하고, 그 앙상블에 속하는 LDPC 부호 중에서 QPSK 등의 1 이상의 직교 변조를 사용한 경우의 BER을 작게 하는 LDPC 부호를, 성능이 좋은 LDPC 부호로서 선택하였다.
상술한 Sx용 16k 부호의 검사 행렬 초기값 테이블은, 이상과 같은 시뮬레이션에 의해 구해진, 부호 길이(N)가 16k 비트이고, 부호화율(r)이 7/15와 8/15 각각의 LDPC 부호의 검사 행렬 초기값 테이블이다.
따라서, 이러한 검사 행렬 초기값 테이블로부터 얻어지는 Sx용 16k 부호에 의하면, 데이터 전송에 있어서, 양호한 통신 품질을 확보할 수 있다.
도 43은, 도 39 및 도 40의, r=7/15 및 8/15 각각의 Sx용 16k 부호의 검사 행렬 초기값 테이블로부터 구해지는 검사 행렬(H)의 최소 사이클 길이와 성능 역치를 도시하는 도면이다.
여기서, 최소 사이클 길이(girth)란, 검사 행렬(H)에 있어서, 1의 요소에 의해 구성되는 루프의 길이(루프 길이)의 최솟값을 의미한다.
Sx용 16k 부호의 검사 행렬 초기값 테이블로부터 구해지는 검사 행렬(H)에는, 사이클 4(루프 길이가 4인, 1의 요소의 루프)는 존재하지 않는다.
또한, 부호화율(r)이 작을수록, LDPC 부호의 용장성이 커지기 때문에, 성능 역치는, 부호화율(r)이 작아짐에 따라서 향상되는(작아지는) 경향이 있다.
도 44는, 도 39 및 도 40의(검사 행렬 초기값 테이블로부터 구해지는) 검사 행렬(H)(이하, Sx용 16k 부호의 검사 행렬(H)이라고도 함)을 설명하는 도면이다.
Sx용 16k 부호의 검사 행렬(H)의 1열째로부터의 KX열에 대해서는, 열 가중치가 X이고, 그 후의 KY1열에 대해서는, 열 가중치가 Y1이고, 그 후의 KY2열에 대해서는, 열 가중치가 Y2이고, 그 후의 M-1열에 대해서는, 열 가중치가 2이고, 최후의 1열에 대해서는, 열 가중치가 1로 각각 되어 있다.
여기서, KX+KY1+KY2+M-1+1은, 부호 길이(N)=16200비트와 동일하다.
도 45는, Sx용 16k 부호의 각 부호화율(r)에 관한, 도 44의 열수 KX, KY1, KY2 및 M, 및, 열 가중치 X, Y1 및 Y2를 도시하는 도면이다.
r=7/15 및 8/15 각각의 Sx용 16k 부호의 검사 행렬(H)에 대해서는, 도 12 및 도 13에서 설명한 검사 행렬과 마찬가지로, 선두측(좌측)의 열일수록, 열 가중치가 큰 경향이 있고, 따라서, Sx용 16k 부호의 선두의 부호 비트일수록, 에러에 강한(에러에 대한 내성이 있는) 경향이 있다.
<r=7/15 및 8/15 각각의 Sx용 16k 부호의 교체 처리>
Sx용 16k 부호를 사용한 데이터 전송에 있어서, 보다 양호한 통신 품질을 확보하기 위해서는, 에러에 대한 내성을 향상시키기 위한 대책을 실시하는 것이 바람직하다.
에러에 대한 내성을 향상시키기 위한 대책으로서는, 예를 들어 8PSK나 16APSK 등의, 신호점의 수가 비교적 적은 변조 방식을 채용하는 방법이나, 디멀티플렉서(25)(도 9)에서 행하여지는 교체 처리가 있다.
교체 처리에 있어서, DVB-T.2 등의 규격에 규정되어 있는 LDPC 부호의 부호 비트를 교체하는 교체 방식으로서는, 예를 들어 상술한 제1 내지 제4 교체 방식이나, DVB-T.2 등의 규격에 규정되어 있는 교체 방식이 있다.
단, Sx용 16k 부호를 사용한 데이터 전송에서는, 그 Sx용 16k 부호에 적합한 교체 처리를 채용하는 것이 바람직하다.
즉, Sx용 16k 부호에 대해서는, 그 Sx용 16k 부호의 에러에 대한 내성이 보다 향상되는, Sx용 16k 부호 전용의 교체 방식(Sx용 교체 방식이라고도 함)의 교체 처리를 채용하는 것이 바람직하다.
이하, Sx용 교체 방식에 따른 교체 처리에 대해서 설명하는데, 그 전에, 이미 제안되어 있는 교체 방식(이하, 현행 방식이라고도 함)에 의한 교체 처리에 대해서 설명한다.
도 46 및 도 47을 참조하여, 디멀티플렉서(25)로, DVB-T.2등으로 규정되어 있는 LDPC 부호(이하, 규정 부호라고도 함)에 대하여, 현행 방식으로 교체 처리가 행하여진다로 했을 경우의, 그 교체 처리에 대해서 설명한다.
도 46은, LDPC 부호가, DVB-T.2로 규정되어 있는, 부호 길이(N)가 64800비트이고, 부호화율이 3/5의 LDPC 부호인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
즉, 도 46의 A는, LDPC 부호가, 부호 길이(N)가 64800비트이고, 부호화율이 3/5인 규정 부호이며, 또한 변조 방식이 16QAM이고, 배수(b)가 2인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 16QAM인 경우, 부호 비트의 4(=m)비트가, 1개의 심볼로서, 16QAM으로 정하는 16개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 64800비트이고, 배수(b)가 2인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는 로우 방향으로 4×2(=mb)비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 64800/(4×2)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 64800비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×2(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×2(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7을, 예를 들어 도 46의 A에 도시한 바와 같이, 연속하는 2(=b)개의 심볼 4×2(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7에 할당하도록, 4×2(=mb)비트의 부호 비트 b0 내지 b7을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y7에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y4에,
부호 비트 b3을, 심볼 비트 y2에,
부호 비트 b4를, 심볼 비트 y5에,
부호 비트 b5를, 심볼 비트 y3에,
부호 비트 b6을, 심볼 비트 y6에,
부호 비트 b7을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 46의 B는, LDPC 부호가, 부호 길이(N)가 64800비트이고, 부호화율이 3/5인 규정 부호이며, 또한 변조 방식이 64QAM이고, 배수(b)가 2인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 64QAM인 경우, 부호 비트의 6(=m)비트가, 1개의 심볼로서, 64QAM으로 정하는 64개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 64800비트이고, 배수(b)가 2인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는, 로우 방향으로 6×2(=mb)비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 64800/(6×2)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 64800비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 6×2(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 6×2(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11을, 예를 들어 도 46의 B에 도시한 바와 같이, 연속하는 2(=b)개의 심볼 6×2(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11에 할당하도록, 6×2(=mb)비트의 부호 비트 b0 내지 b11을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y11에,
부호 비트 b1을, 심볼 비트 y7에,
부호 비트 b2를, 심볼 비트 y3에,
부호 비트 b3을, 심볼 비트 y10에,
부호 비트 b4를, 심볼 비트 y6에,
부호 비트 b5를, 심볼 비트 y2에,
부호 비트 b6을, 심볼 비트 y9에,
부호 비트 b7을, 심볼 비트 y5에,
부호 비트 b8을, 심볼 비트 y1에,
부호 비트 b9를, 심볼 비트 y8에,
부호 비트 b10을, 심볼 비트 y4에,
부호 비트 b11을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 46의 C는, LDPC 부호가, 부호 길이(N)가 64800비트이고, 부호화율이 3/5인 규정 부호이며, 또한 변조 방식이 256QAM이고, 배수(b)가 2인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 256QAM인 경우, 부호 비트의 8(=m)비트가, 1개의 심볼로서, 256QAM으로 정하는 256개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 64800비트이고, 배수(b)가 2인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는, 로우 방향으로 8×2(=mb)비트를 기억하는 16개의 칼럼을 갖고, 칼럼 방향으로 64800/(8×2)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 64800비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 8×2(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 8×2(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15를, 예를 들어 도 46의 C에 도시한 바와 같이, 연속하는 2(=b)개의 심볼 8×2(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, y15에 할당하도록, 8×2(=mb)비트의 부호 비트 b0 내지 b15를 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y15에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y13에,
부호 비트 b3을, 심볼 비트 y3에,
부호 비트 b4를, 심볼 비트 y8에,
부호 비트 b5를, 심볼 비트 y11에,
부호 비트 b6을, 심볼 비트 y9에,
부호 비트 b7을, 심볼 비트 y5에,
부호 비트 b8을, 심볼 비트 y10에,
부호 비트 b9를, 심볼 비트 y6에,
부호 비트 b10을, 심볼 비트 y4에,
부호 비트 b11을, 심볼 비트 y7에,
부호 비트 b12를, 심볼 비트 y12에,
부호 비트 b13을, 심볼 비트 y2에,
부호 비트 b14를, 심볼 비트 y14에,
부호 비트 b15를, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 47은, LDPC 부호가, 부호 길이(N)가 16200비트이고, 부호화율이 3/5의 규정 부호인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
즉, 도 47의 A는, LDPC 부호가, 부호 길이(N)가 16200비트이고, 부호화율이 3/5인 LDPC 부호이며, 또한 변조 방식이 16QAM이고, 배수(b)가 2인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 16QAM인 경우, 부호 비트의 4(=m)비트가, 1개의 심볼로서, 16QAM으로 정하는 16개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 16200비트이고, 배수(b)가 2인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는, 로우 방향으로 4×2(=mb)비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 16200/(4×2)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 16200비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×2(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×2(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7을, 예를 들어 도 47의 A에 도시한 바와 같이, 연속하는 2(=b)개의 심볼 4×2(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7에 할당하도록, 4×2(=mb)비트의 부호 비트 b0 내지 b7을 교체한다.
즉, 교체부(32)는, 상술한 도 46의 A의 경우와 마찬가지로, 부호 비트 b0 내지 b7을, 심볼 비트 y0 내지 y7에 할당하는 교체를 행한다.
도 47의 B는, LDPC 부호가, 부호 길이(N)가 16200비트이고, 부호화율이 3/5인 규정 부호이며, 또한 변조 방식이 64QAM이고, 배수(b)가 2인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 64QAM인 경우, 부호 비트의 6(=m)비트가, 1개의 심볼로서, 64QAM으로 정하는 64개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 16200비트이고, 배수(b)가 2인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는, 로우 방향으로 6×2(=mb)비트를 기억하는 12개의 칼럼을 갖고, 칼럼 방향으로 16200/(6×2)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 16200비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 6×2(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 6×2(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11을, 예를 들어 도 47의 B에 도시한 바와 같이, 연속하는 2(=b)개의 심볼 6×2(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11에 할당하도록, 6×2(=mb)비트의 부호 비트 b0 내지 b11을 교체한다.
즉, 교체부(32)는, 상술한 도 46의 B의 경우와 마찬가지로, 부호 비트 b0 내지 b11을, 심볼 비트 y0 내지 y11에 할당하는 교체를 행한다.
도 47의 C는, LDPC 부호가, 부호 길이(N)가 16200비트이고, 부호화율이 3/5인 규정 부호이며, 또한 변조 방식이 256QAM이고, 배수(b)가 1인 경우의, 현행 방식의 교체 처리의 일례를 나타내고 있다.
변조 방식이 256QAM인 경우, 부호 비트의 8(=m)비트가, 1개의 심볼로서, 256QAM으로 정하는 256개의 신호점 중 어느 하나에 매핑된다.
또한, 부호 길이(N)가 16200비트이고, 배수(b)가 1인 경우, 디멀티플렉서(25)의 메모리(31)(도 22, 도 23)는, 로우 방향으로 8×1(=mb)비트를 기억하는 8개의 칼럼을 갖고, 칼럼 방향으로 16200/(8×1)비트를 기억한다.
디멀티플렉서(25)에서는, LDPC 부호의 부호 비트가, 메모리(31)의 칼럼 방향으로 기입되고, 16200비트의 부호 비트(1 부호어)의 기입이 종료되면, 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 8×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 8×1(=mb)비트의 부호 비트 b0, b1, b2, b3, b4, b5, b6, b7을, 예를 들어 도 47의 C에 도시한 바와 같이, 1(=b)개의 심볼 8×1(=mb)비트의 심볼 비트 y0, y1, y2, y3, y4, y5, y6, y7에 할당하도록, 8×1(=mb)비트의 부호 비트 b0 내지 b7을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y7에,
부호 비트 b1을, 심볼 비트 y3에,
부호 비트 b2를, 심볼 비트 y1에,
부호 비트 b3을, 심볼 비트 y5에,
부호 비트 b4를, 심볼 비트 y2에,
부호 비트 b5를, 심볼 비트 y6에,
부호 비트 b6을, 심볼 비트 y4에,
부호 비트 b7을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
이어서, Sx용 교체 방식에 의한 교체 처리에 대해서 설명한다.
또한, 이하에서는, 메모리(31)로부터, 로우 방향으로 판독되는, mb비트의 부호 비트의, 최상위 비트로부터 #i+1비트째를, 비트 b#i라고도 나타냄과 함께, 연속하는 b개의 심볼의 mb비트의 심볼 비트의, 최상위 비트로부터 #i+1비트째의 비트를, 비트 y#i라고도 나타낸다.
도 48은, r=7/15 또는 8/15인 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 8PSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제1 예를 나타내는 도이다.
r=7/15 또는 8/15인 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 8PSK이고, 배수(b)가 1인 경우, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(3×1))×(3×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 3×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 3×1(=mb)비트의 부호 비트 b0 내지 b2를, 예를 들어 도 48에 도시한 바와 같이, 1(=b)개의 심볼의 3×1(=mb)비트의 심볼 비트 y0 내지 y2에 할당하도록, 3×1(=mb)비트의 부호 비트 b0 내지 b2를 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y0에,
부호 비트 b2를, 심볼 비트 y2에,
각각 할당하는 교체를 행한다.
도 49는, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 8PSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제2 예를 나타내는 도이다.
이 경우, 도 48에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(3×1))×(3×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 3×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 3×1(=mb)비트의 부호 비트 b0 내지 b2를, 예를 들어 도 49에 도시한 바와 같이, 1(=b)개의 심볼의 3×1(=mb)비트의 심볼 비트 y0 내지 y2에 할당하도록, 3×1(=mb)비트의 부호 비트 b0 내지 b2를 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y2에,
부호 비트 b2를, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
여기서, 교체부(32)에 의한 교체 처리에서의 LDPC 부호의 부호 비트의 교체 방식, 즉, LDPC 부호의 부호 비트와, 심볼을 나타내는 심볼 비트와의 사이의 할당 패턴(이하, 비트 할당 패턴이라고도 함)으로서는, 부호화율(r)=7/15와 8/15의 Sx용 16k 부호 각각에 대해서, 전용의 비트 할당 패턴을 채용할 수 있다.
단, 부호화율(r)=7/15와 8/15의 Sx용 16k 부호 각각에 대해서, 전용의 비트 할당 패턴을 채용하면, 각각의 비트 할당 패턴을 송신 장치(11)에 실장할 필요가 있고, 또한 부호화율(r)이 상이한 Sx용 16k 부호마다, 비트 할당 패턴의 변경(전환)이 필요하게 된다.
따라서, 부호화율(r)=7/15와 8/15의 각각의 Sx용 16k 부호에 대해서는, 변조 방식이 8PSK이고, 배수(b)가 1인 경우에는, 도 48 및 도 49에서 설명한 교체 방식의 한쪽만을, 송신 장치(11)에 실장할 수 있다. 후술하는, 변조 방식이 16APSK이고, 배수(b)가 1인 경우도 마찬가지이다.
도 50은, 부호화율(r)=7/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 8PSK를 채용함과 함께, 교체 방식으로서, 도 48의 Sx용 교체 방식의 제1 예를 채용해서 행한, BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 51은, 부호화율(r)=8/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 8PSK를 채용함과 함께, 교체 방식으로서, 도 48의 Sx용 교체 방식의 제1 예를 채용해서 행한, BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 50 및 도 51에서, 횡축은, Es/N0을 나타내고, 종축은, BER/FER을 나타낸다. 또한, 실선이 BER을 나타내고, 점선이 FER을 나타낸다.
도 50 및 도 51에 의하면, 부호화율(r)=7/15와 8/15의 각각의 Sx용 16k 부호에 대해서, 양호한 BER/FER이 얻어졌고, 따라서, Sx용 16k 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질이 확보되는 것을 확인할 수 있다.
시뮬레이션에서는, 교체 방식으로서, 도 49의 Sx용 교체 방식의 제2 예를 채용한 경우에도, 도 48의 Sx용 교체 방식의 제1 예를 채용한 경우와 동일 정도의 BER/FER이 계측되었다.
여기서, 시뮬레이션에서는, Sx용 16k 부호를 복호할 때의 반복 복호 횟수 C(it)로서, 50회를 채용함과 함께, 통신로(13)(도 7)로서, NL(Non-Linear) 채널을 상정하여, 3비트의 부호 비트를 3비트의 심볼 비트에 할당하는 각종 비트 할당 패턴에 대해서, BER/FER을 계측하였다.
그리고, 양호한 BER/FER이 얻어지는 비트 할당 패턴을, Sx용 교체 방식으로서 채용하였다.
따라서, 도 48 및 도 49의 Sx용 교체 방식은, Sx용 16k 부호를 사용한 8PSK에서의 데이터 전송을, NL 채널을 통해서 행하는 경우에 최적화된 교체 방식이라고 할 수 있다.
또한, 변조 방식으로서 8PSK를 채용한 시뮬레이션에서는, 그 8PSK의 콘스텔레이션으로서, 예를 들어 DVB-S.2의 8PSK에서 채용되고 있는 콘스텔레이션(도 19)을 채용하였다.
또한, 도 48 및 도 49의 Sx용 교체 방식은, NL 채널에서 사용한 경우에는 물론, NL 채널 이외의, 예를 들어 리니어 채널이나, 리니어 채널에 AWGN이 가해진 AWGN 채널 등에서 사용한 경우도, 양호한 통신 품질을 확보할 수 있다.
도 52는, 시뮬레이션에 사용한 전송 시스템의 모델(전송 시스템 모델)을 도시하는 블록도이다.
전송 시스템 모델은, Tx부(210), Rx부(220) 및 채널(Channel)부(230)를 갖는다.
Tx부(210)는, 송신측의 모델이며, FEC(Forward Error Correction)부(211), 맵핑부(Map.)(212), 업 샘플링부(Up-sampling)(213) 및 나이키스트 필터부(Nyquist filter)(214)를 갖는다.
FEC부(211)는, 예를 들어 BCH 부호, 나아가, LDPC 부호에 의한 오류 정정 부호화를 행하고, 그 오류 정정 부호화에 의해 얻어지는 LDPC 부호를, 맵핑부(212)에 공급한다.
맵핑부(212)는, FEC부(211)로부터의 LDCP 부호의 소정 수 비트를 심볼로 해서, 그 심볼을, 8PSK나 16APSK 등의 소정의 직교 변조의 변조 방식에서 정해지는 신호점에 매핑해서 직교 변조를 행하고, 그 직교 변조 후의 데이터를, 업 샘플링부(213)에 공급한다.
업 샘플링부(213)는, 맵핑부(212)로부터의 데이터의 업 샘플링을 행하고, 그 결과 얻어지는 데이터를, 나이키스트 필터부(214)에 공급한다.
나이키스트 필터부(214)는, 업 샘플링부(213)로부터의 데이터를 필터링하고, 그 결과 얻어지는 전송 신호를, 채널부(230)에 출력한다.
Rx부(220)는, 수신측의 모델이며, AGC(automatic gain control)부(221), 승산기(222), 롤 오프 필터부(Roll-Off Filter)(223), 다운 샘플링부(Down samp.)(224), CSI(Channel State Information)부(225), 디맵핑부(De-Map.)(226) 및 FEC부(227)를 갖는다.
AGC부(221)는, 채널부(230)로부터 출력되는 전송 신호를 증폭하기 위한 AGC 파라미터를 설정하고, 승산기(222)에 공급한다.
승산기(222)에는, AGC부(221)로부터 AGC 파라미터가 공급되는 것 외에, 채널부(230)가 출력하는 전송 신호가 공급된다.
승산기(222)는, 채널부(230)로부터의 전송 신호를, AGC부(221)로부터의 AGC 파라미터에 따라서 증폭하여, 롤 오프 필터부(223)에 공급한다.
롤 오프 필터부(223)는, 승산기(222)로부터의 전송 신호를 필터링하여, 다운 샘플링부(224)에 공급한다.
다운 샘플링부(224)는, 롤 오프 필터부(223)로부터의 전송 신호의 다운 샘플링을 행하고, 그 결과 얻어지는 데이터(맵핑 후의 데이터)를 디맵핑부(226)에 공급한다.
CSI부(225)는, 채널(채널부(230))의 상태를 나타내는 채널 정보를 설정하고, 디맵핑부(226)에 공급한다.
디맵핑부(226)는, CSI부(225)로부터의 채널 정보를 사용하여, 다운 샘플링부(224)로부터의 데이터를 디맵핑(신호점 배치 복호)해서 직교 복조하고, 그 결과 얻어지는 데이터(LDPC 부호의 우도)를 FEC부(227)에 공급한다.
FEC부(227)는, 디맵핑부(226)로부터의 데이터에 대해서, 오류 정정 부호를 복호하는 오류 정정 복호, 즉, 예를 들어 LDPC 부호의 복호, 나아가, BCH 부호의 복호를 행한다.
채널부(230)는, NL 채널의 모델이며, IBO(Input Back-Off)부(231), 승산기(232), TWTA(Travelling Wave Tube Amplifier)부(233), AWGN부(234) 및 가산기(235)를 갖는다.
IBO부(231)는, Tx부(210)로부터 출력되는 전송 신호의 전력을 조정하기 위한 IBO 파라미터를 설정하고, 승산기(232)에 공급한다.
승산기(232)에는, IBO부(231)로부터 IBO 파라미터가 공급되는 것 외에, Tx부(210)가 출력하는 전송 신호가 공급된다.
승산기(232)는, Tx부(210)로부터의 전송 신호를, IBO부(231)로부터의 IBO 파라미터에 따라서 증폭하여, TWTA부(233)에 공급한다.
TWTA부(233)는, 예를 들어 비선형의 특성의 증폭기(Non-Linear Amplifier)로 구성되어, 승산기(232)로부터의 전송 신호 중, 소정 값 미만의 전력의 전송 신호에 대해서는 그대로 출력하고, 소정 값 이상의 전력의 전송 신호에 대해서는, 전력을 소정 값에 클립해서 출력한다.
AWGN부(234)는, AWGN을 발생해서 출력한다.
가산기(235)에는, TWTA부(233)가 출력하는 전송 신호와, AWGN부(234)가 출력하는 AWGN이 공급된다.
가산기(235)는, TWTA부(233)로부터의 전송 신호에, AWGN부(234)로부터의 AWGN을 가산하고, 채널부(230)의 출력으로서 출력한다.
이상과 같이 구성되는 전송 시스템 모델에서는, Tx부(210)에 있어서, FEC부(211)가 오류 정정 부호화를 행하고, 그 오류 정정 부호화에 의해 얻어지는 LDPC 부호를, 맵핑부(212)에 공급한다.
맵핑부(212)는, FEC부(211)로부터의 LDCP 부호를 소정의 직교 변조의 변조 방식에서 정해지는 신호점에 매핑해서 직교 변조를 행한다. 맵핑부(212)에서 얻어지는 데이터는, 업 샘플링부(213) 및 나이키스트 필터부(214)를 통해서, Tx부(210)가 출력하는 전송 신호로서, 채널부(230)에 공급된다.
채널부(230)에서는, Tx부(210)로부터의 전송 신호가, 승산기(232) 및 TWTA부(233)를 개재함으로써, 적절히, 비선형의 왜곡을 받은 상태로 되어, 가산기(235)에 공급된다.
가산기(235)에서는, 승산기(232) 및 TWTA부(233)를 통해서 공급되는 전송 신호에, AWGN부(234)로부터의 AWGN이 가산되어, Rx부(220)에 공급된다.
Rx부(220)에서는, 채널부(230)로부터의 전송 신호가, 승산기(222), 롤 오프 필터부(223) 및 다운 샘플링부(224)를 통해서, 디맵핑부(226)에 공급된다.
디맵핑부(226)에서는, CSI부(225)로부터의 채널 정보를 사용하여, 승산기(222), 롤 오프 필터부(223) 및 다운 샘플링부(224)를 통해서 공급되는 데이터가 디맵핑되어서 직교 복조되고, 그 결과 얻어지는 데이터가 FEC부(227)에 공급된다.
FEC부(227)에서는, 디맵핑부(226)로부터의 데이터의, LDPC 복호 등의 오류 정정 복호가 행하여진다. 시뮬레이션에서는, 이 오류 정정 복호의 결과를 사용하여, BER/FER이 계측(산출)된다.
또한, 도 52의 채널부(230)를, IBO부(231), 승산기(232) 및 TWTA부(233)를 설치하지 않고, AWGN부(234) 및 가산기(235)만으로 구성함으로써, 채널부(230)는, AWGN 채널의 모델이 된다.
도 53은, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제1 예를 나타내는 도이다.
r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 53에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y2에,
부호 비트 b2를, 심볼 비트 y0에,
부호 비트 b3을, 심볼 비트 y3에,
각각 할당하는 교체를 행한다.
도 54는, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제2 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 54에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y3에,
부호 비트 b2를, 심볼 비트 y0에,
부호 비트 b3을, 심볼 비트 y2에,
각각 할당하는 교체를 행한다.
도 55는, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제3 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 55에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y2에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y0에,
부호 비트 b3을, 심볼 비트 y3에,
각각 할당하는 교체를 행한다.
도 56은, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제4 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 56에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y3에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y0에,
부호 비트 b3을, 심볼 비트 y2에,
각각 할당하는 교체를 행한다.
도 57은, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제5의 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 57에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y2에,
부호 비트 b2를, 심볼 비트 y3에,
부호 비트 b3을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 58은, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제6 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 58에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y1에,
부호 비트 b1을, 심볼 비트 y3에,
부호 비트 b2를, 심볼 비트 y2에,
부호 비트 b3을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 59는, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제7 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 59에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y2에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y3에,
부호 비트 b3을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 60은, r=7/15 또는 8/15의 Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식이 16APSK이고, 배수(b)가 1인 경우의 Sx용 교체 방식에 의한 교체 처리의 제8 예를 나타내는 도이다.
이 경우, 도 53에서 설명한 바와 같이, 디멀티플렉서(25)에서는, 칼럼 방향×로우 방향이 (16200/(4×1))×(4×1)비트의 메모리(31)에 기입된 부호 비트가, 로우 방향으로, 4×1(=mb)비트 단위로 판독되어, 교체부(32)(도 22, 도 23)에 공급된다.
교체부(32)는, 메모리(31)로부터 판독되는 4×1(=mb)비트의 부호 비트 b0 내지 b3을, 예를 들어 도 60에 도시한 바와 같이, 1(=b)개의 심볼의 4×1(=mb)비트의 심볼 비트 y0 내지 y3에 할당하도록, 4×1(=mb)비트의 부호 비트 b0 내지 b3을 교체한다.
즉, 교체부(32)는,
부호 비트 b0을, 심볼 비트 y3에,
부호 비트 b1을, 심볼 비트 y1에,
부호 비트 b2를, 심볼 비트 y2에,
부호 비트 b3을, 심볼 비트 y0에,
각각 할당하는 교체를 행한다.
도 61은, 부호화율(r)=7/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용함과 함께, 교체 방식으로서, 도 55의 Sx용 교체 방식의 제3 예를 채용해서 행한, BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 62는, 부호화율(r)=8/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용함과 함께, 교체 방식으로서, 도 55의 Sx용 교체 방식의 제3 예를 채용해서 행한, BER/FER을 계측하는 시뮬레이션의 시뮬레이션 결과를 도시하는 도면이다.
도 61 및 도 62에서, 횡축은, Es/N0을 나타내고, 종축은, BER/FER을 나타낸다. 또한, 실선이 BER을 나타내고, 점선이 FER을 나타낸다.
도 61 및 도 62에 의하면, 부호화율(r)=7/15와 8/15의 각각의 Sx용 16k 부호에 대해서, 양호한 BER/FER이 얻어졌고, 따라서, Sx용 16k 부호를 사용한 데이터 전송에 있어서, 양호한 통신 품질이 확보되는 것을 확인할 수 있다.
시뮬레이션에서는, 교체 방식으로서, 도 53의 Sx용 교체 방식의 제1 예, 도 54의 Sx용 교체 방식의 제2 예 및 도 56의 Sx용 교체 방식의 제4 예 내지 도 60의 Sx용 교체 방식의 제8 예를 채용한 경우에도, 도 55의 Sx용 교체 방식의 제3 예를 채용한 경우와 동일 정도의 BER/FER이 계측되었다.
여기서, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 변조 방식으로서 8PSK를 채용한 시뮬레이션(도 50 및 도 51)의 경우와 마찬가지로, Sx용 16k 부호를 복호할 때의 반복 복호 횟수 C로서, 50회를 채용함과 함께, 통신로(13)(도 7)로서, NL(Non-Linear) 채널을 상정하여, 4비트의 부호 비트를 4비트의 심볼 비트에 할당하는 각종 비트 할당 패턴에 대해서, BER/FER을 계측하였다.
그리고, 양호한 BER/FER이 얻어지는 비트 할당 패턴을, Sx용 교체 방식으로서 채용하였다.
따라서, 도 53 내지 도 60의 Sx용 교체 방식은, Sx용 16k 부호를 사용한 16APSK에서의 데이터 전송을, NL 채널을 통해서 행하는 경우에 최적화된 교체 방식이라고 할 수 있다.
또한, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 그 16APSK의 콘스텔레이션으로서, DVB-S.2의 16APSK에서 채용되고 있는 콘스텔레이션(도 20)에 대해서, 반경비(γ)를 최적화한 콘스텔레이션을 채용하였다.
즉, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 도 20에 나타낸 콘스텔레이션과 마찬가지로, IQ 평면상의 원점을 중심으로 하는 반경이 R1인 원(내주 원)의 원주상의 4개의 신호점, 및 반경이 R2(>R1)인 원(외주 원)의 원주상의 12개의 신호점의, 합계 16개의 신호점이 설치된 콘스텔레이션을 채용하였다.
단, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 외주 원과 내주 원의 반경비(γ)=R2/R1로서, NL 채널을 통한 데이터 전송에 있어서, FER을 최소로 하는 값을 채용하였다.
구체적으로는, 부호화율(r)=7/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 반경비(γ)로서 5.25를 채용하고, 부호화율(r)=7/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용한 시뮬레이션에서는, 반경비(γ)로서, 4.85를 채용하였다.
또한, 도 53 내지 도 60의 Sx용 교체 방식은, NL 채널에서 사용하는 경우에는 물론, NL 채널 이외의, 예를 들어 리니어 채널이나, 리니어 채널에 AWGN이 가해진 AWGN 채널 등에서 사용하는 경우도, 양호한 통신 품질을 확보할 수 있다.
또한, 도 61 및 도 62의 BER/FER을 계측하는 시뮬레이션에서는(상술한 도 50 및 도 51의 BER/FER을 계측하는 시뮬레이션에서도 마찬가지임), 롤 오프 레이트(roll-off-rate)로서 10%를 채용하였다. 롤 오프 레이트란, 도 52의 전송 시스템 모델의 나이키스트 필터부(214) 및 롤 오프 필터부(223)에 영향을 미치는 파라미터이다.
<맵핑>
도 63 및 도 64는, Sx용 16k 부호를 사용한 데이터 전송에 있어서, 변조 방식으로서, 16APSK를 채용하는 경우의, 그 16APSK의 신호점의 배치와, 반경비(γ)와의 예를 나타내는 도이다.
도 63 및 도 64에서, 16APSK의 16개의 신호점은, 반경이 R1인 내주 원상과, 반경이 R1보다 큰 R2인 외주 원상에 배치되어 있다.
구체적으로는, 반경이 R1인 내주 원상에는, 동일한 각도로, 4개의 신호점이 배치되어 있고, 반경이 R2인 외주 원상에는, 동일한 각도로, 12개의 신호점이 배치되어 있다.
또한, 16APSK의 콘스텔레이션(16개의 신호점)에 대해서는, 외주 원의 반경(R2)과, 내주 원의 반경(R1)의 비인 반경비(외주 원의 반경(R2)이, 내주 원의 반경(R1)의 몇 배인지를 나타내는 값)(γ)=R2/R1이, 신호점에 매핑하는 대상의 Sx용 16k 부호의 부호화율(r)마다 최적의 값으로 정해져 있다.
최적의 반경비(γ)로서는, 제1 및 제2 시뮬레이션에 의해, 소정의 평가값을 보다 좋게 하는 값(반경비)을 구하였다.
도 63은, 제1 시뮬레이션에 의해 구해진 반경비(γ)를 나타내고 있고, 도 64는, 제2 시뮬레이션에 의해 구해진 반경비(γ)를 나타내고 있다.
제1 시뮬레이션에서는, 도 63에 도시한 바와 같이, r=7/15의 Sx용 16k 부호에 대해서는, γ=5.25가 최적의 반경비로서 구해졌고, r=8/15의 Sx용 16k 부호에 대해서는, γ=4.85가 최적의 반경비로서 구해졌다.
제2 시뮬레이션에서는, 도 64에 도시한 바와 같이, r=7/15의 Sx용 16k 부호에 대해서는, γ=3.32가 최적의 반경비로서 구해졌고, r=8/15의 Sx용 16k 부호에 대해서는, γ=3.50이 최적의 반경비로서 구해졌다.
여기서, 제1 시뮬레이션에서는, 통신로(13)(도 7)로서, NL 채널을 상정하고, FER이 10-1 내지 10-2의 범위 내의 값이 되는, 전송 신호의 SNR(Signal to Noise Ratio)의 값을 특정하고, 그 값의 SNR의 전송 신호에 대해서, FER을 최소로 하는 반경비를, 최적의 반경비(γ)로서 구하였다.
따라서, 제1 시뮬레이션에 의해 구해진 반경비(γ)는, 데이터 전송을, NL 채널을 통해서 행하는 경우에 최적화된 반경비라고 할 수 있다.
한편, 제2 시뮬레이션에서는, 통신로(13)로서, AWGN 채널을 상정하고, 콘스텔레이션상의 신호점의 배치와 전송 신호의 SNR로 결정되는 전송 용량의 상계(channel capacity)인 BICM 용량(Bit Interleave Coded Modulation capacity)을 최대로 하는 반경비를, 최적의 반경비(γ)로서 구하였다.
따라서, 제2 시뮬레이션에 의해 구해진 반경비(γ)는, 데이터 전송을, AWGN 채널을 통해서 행하는 경우에 최적화된 반경비라고 할 수 있다.
또한, r=7/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용하고, NL 채널에 최적의 반경비(γ)=5.25를 채용한 경우의 BER/FER은, 상술한 도 61에 나타낸 바와 같다.
또한, r=8/15의 Sx용 16k 부호에 대해서, 변조 방식으로서 16APSK를 채용하고, NL 채널에 최적의 반경비(γ)=4.85를 채용한 경우의 BER/FER은, 상술한 도 62에 나타낸 바와 같다.
따라서, r=7/15의 Sx용 16k 부호에 대해서는, 반경비(γ)=5.25를 채용함으로써, 도 61에 도시한 바와 같이, 양호한 BER/FER을 얻을 수 있고, 양호한 통신 품질을 확보하는 것 등을 할 수 있다.
마찬가지로, r=8/15의 Sx용 16k 부호에 대해서는, 반경비(γ)=4.85를 채용함으로써, 도 62에 도시한 바와 같이, 양호한 BER/FER을 얻을 수 있고, 양호한 통신 품질을 확보하는 것 등을 할 수 있다.
또한, 제1 시뮬레이션에 의해 구해진 반경비(γ)의, 16APSK의 콘스텔레이션은, NL 채널에서 사용한 경우는 물론, AWGN 채널, 기타 채널에서 사용한 경우도, BER/FER이 양호하다는 관점에서, 양호한 통신 품질을 확보하는 것 등을 할 수 있다.
또한, 제2 시뮬레이션에 의해 구해진 반경비(γ)의, 16APSK의 콘스텔레이션은, BICM 용량이 양호하다는 관점에서, 역시, 채널에 상관없이, 양호한 통신 품질을 확보하는 것 등을 할 수 있다.
<수신 장치(12)의 구성예>
도 65는, 도 7의 수신 장치(12)의 구성예를 도시하는 블록도이다.
OFDM 처리부(OFDM operation)(151)는, 송신 장치(11)(도 7)로부터의 OFDM 신호를 수신하고, 그 OFDM 신호의 신호 처리를 행한다. OFDM 처리부(151)가 신호 처리를 행함으로써 얻어지는 데이터는, 프레임 관리부(Frame Management)(152)에 공급된다.
프레임 관리부(152)는, OFDM 처리부(151)로부터 공급되는 데이터로 구성되는 프레임의 처리(프레임 해석)를 행하고, 그 결과 얻어지는 대상 데이터의 신호와, 제어 데이터의 신호를, 주파수 디인터리버(Frequency Deinterleaver)(161과 153)에 각각 공급한다.
주파수 디인터리버(153)는, 프레임 관리부(152)로부터의 데이터에 대해서, 심볼 단위로 주파수 디인터리브를 행하고, 디맵퍼(Demapper)(154)에 공급한다.
디맵퍼(154)는, 주파수 디인터리버(153)로부터의 데이터(콘스텔레이션상의 데이터)를 송신 장치(11)측에서 행하여지는 직교 변조로 정해지는 신호점의 배치(콘스텔레이션)에 기초하여 디맵핑(신호점 배치 복호)해서 직교 복조하고, 그 결과 얻어지는 데이터(LDPC 부호(의 우도))를, LDPC 디코더(LDPC decoder)(155)에 공급한다.
LDPC 디코더(155)는, 디맵퍼(154)로부터의 LDPC 부호의 LDPC 복호를 행하고, 그 결과 얻어지는 LDPC 대상 데이터(여기서는, BCH부호)를 BCH 디코더(BCH decoder)(156)에 공급한다.
BCH 디코더(156)는, LDPC 디코더(155)로부터의 LDPC 대상 데이터의 BCH 복호를 행하고, 그 결과 얻어지는 제어 데이터(시그널링)를 출력한다.
한편, 주파수 디인터리버(161)는, 프레임 관리부(152)로부터의 데이터에 대해서, 심볼 단위로 주파수 디인터리브를 행하고, SISO/MISO 디코더(SISO/MISO decoder)(162)에 공급한다.
SISO/MISO 디코더(162)는, 주파수 디인터리버(161)로부터의 데이터의 시공간 복호를 행하고, 시간 디인터리버(Time Deinterleaver)(163)에 공급한다.
시간 디인터리버(163)는, SISO/MISO 디코더(162)로부터의 데이터에 대해서, 심볼 단위로 시간 디인터리브를 행하고, 디맵퍼(Demapper)(164)에 공급한다.
디맵퍼(164)는, 시간 디인터리버(163)로부터의 데이터(콘스텔레이션상의 데이터)를 송신 장치(11)측에서 행하여지는 직교 변조로 정해지는 신호점의 배치(콘스텔레이션)에 기초하여 디맵핑(신호점 배치 복호)해서 직교 복조하고, 그 결과 얻어지는 데이터를, 비트 디인터리버(Bit Deinterleaver)(165)에 공급한다.
비트 디인터리버(165)는, 디맵퍼(164)로부터의 데이터의 비트 디인터리브를 행하고, 그 비트 디인터리브 후의 데이터인 LDPC 부호(의 우도)를 LDPC 디코더(166)에 공급한다.
LDPC 디코더(166)는, 비트 디인터리버(165)로부터의 LDPC 부호의 LDPC 복호를 행하고, 그 결과 얻어지는 LDPC 대상 데이터(여기서는, BCH부호)를 BCH 디코더(167)에 공급한다.
BCH 디코더(167)는, LDPC 디코더(155)로부터의 LDPC 대상 데이터의 BCH 복호를 행하고, 그 결과 얻어지는 데이터를, BB 디스크램블러(BB DeScrambler)(168)에 공급한다.
BB 디스크램블러(168)는, BCH 디코더(167)로부터의 데이터에, BB 디스크램블을 실시하고, 그 결과 얻어지는 데이터를, 널 삭제부(Null Deletion)(169)에 공급한다.
널 삭제부(169)는, BB 디스크램블러(168)로부터의 데이터로부터, 도 8의 패더(112)로 삽입된 Null을 삭제하고, 디멀티플렉서(Demultiplexer)(170)에 공급한다.
디멀티플렉서(170)는, 널 삭제부(169)로부터의 데이터로 다중화되어 있는 1 이상의 스트림(대상 데이터) 각각을 분리하고, 필요한 처리를 실시하여, 아웃풋 스트림(Output stream)으로서 출력한다.
또한, 수신 장치(12)는, 도 65에 도시한 블록의 일부를 설치하지 않고 구성할 수 있다. 즉, 예를 들어 송신 장치(11)(도 8)를, 시간 인터리버(118), SISO/MISO 인코더(119), 주파수 인터리버(120) 및 주파수 인터리버(124)를 설치하지 않고 구성하는 경우에는, 수신 장치(12)는, 송신 장치(11)의 시간 인터리버(118), SISO/MISO 인코더(119), 주파수 인터리버(120) 및 주파수 인터리버(124)에 각각 대응하는 블록인 시간 디인터리버(163), SISO/MISO 디코더(162), 주파수 디인터리버(161) 및 주파수 디인터리버(153)를 설치하지 않고 구성할 수 있다.
도 66은, 도 65의 비트 디인터리버(165)의 구성예를 도시하는 블록도이다.
비트 디인터리버(165)는, 멀티플렉서(MUX)(54) 및 칼럼 트위스트 디인터리버(55)로 구성되고, 디맵퍼(164)(도 65)로부터의 데이터인 심볼의 심볼 비트의 (비트) 디인터리브를 행한다.
즉, 멀티플렉서(54)는, 디맵퍼(164)로부터의 심볼의 심볼 비트를 대상으로 하여, 도 9의 디멀티플렉서(25)가 행하는 교체 처리에 대응하는 역교체 처리(교체 처리의 역 처리), 즉, 교체 처리에 의해 교체된 LDPC 부호의 부호 비트(의 우도)의 위치를 원래의 위치로 복귀시키는 역교체 처리를 행하고, 그 결과 얻어지는 LDPC 부호를, 칼럼 트위스트 디인터리버(55)에 공급한다.
칼럼 트위스트 디인터리버(55)는, 멀티플렉서(54)로부터의 LDPC 부호를 대상으로 하여, 도 9의 칼럼 트위스트 인터리버(24)가 행하는 재배열 처리로서의 칼럼 트위스트 인터리브에 대응하는 칼럼 트위스트 디인터리브(칼럼 트위스트 인터리브의 역 처리), 즉, 재배열 처리로서의 칼럼 트위스트 인터리브에 의해 배열이 변경된 LDPC 부호의 부호 비트를, 원래의 배열로 되돌리는 역 재배열 처리로서의, 예를 들어 칼럼 트위스트 디인터리브를 행한다.
구체적으로는, 칼럼 트위스트 디인터리버(55)는, 도 28 등에 나타낸 메모리(31)와 마찬가지로 구성되는, 디인터리브용의 메모리에 대하여 LDPC 부호의 부호 비트를 기입하고, 또한 판독함으로써 칼럼 트위스트 디인터리브를 행한다.
단, 칼럼 트위스트 디인터리버(55)에서는, 부호 비트의 기입은, 메모리(31)로부터의 부호 비트의 판독 시의 판독 어드레스를, 기입 어드레스로서 사용하여, 디인터리브용의 메모리의 로우 방향으로 행하여진다. 또한, 부호 비트의 판독은, 메모리(31)에의 부호 비트의 기입 시의 기입 어드레스를, 판독 어드레스로서 사용하여, 디인터리브용의 메모리의 칼럼 방향으로 행하여진다.
칼럼 트위스트 디인터리브의 결과 얻어지는 LDPC 부호는, 칼럼 트위스트 디인터리버(55)로부터 LDPC 디코더(166)에 공급된다.
여기서, 디맵퍼(164)로부터, 비트 디인터리버(165)에 공급되는 LDPC 부호에, 패리티 인터리브, 칼럼 트위스트 인터리브 및 교체 처리가 실시되어 있는 경우, 비트 디인터리버(165)에서는, 패리티 인터리브에 대응하는 패리티 디인터리브(패리티 인터리브의 역 처리, 즉, 패리티 인터리브에 의해 배열이 변경된 LDPC 부호의 부호 비트를, 원래의 배열로 되돌리는 패리티 디인터리브), 교체 처리에 대응하는 역교체 처리 및 칼럼 트위스트 인터리브에 대응하는 칼럼 트위스트 디인터리브 모두를 행할 수 있다.
단, 도 66의 비트 디인터리버(165)에서는, 교체 처리에 대응하는 역교체 처리를 행하는 멀티플렉서(54) 및 칼럼 트위스트 인터리브에 대응하는 칼럼 트위스트 디인터리브를 행하는 칼럼 트위스트 디인터리버(55)는, 설치되어 있지만, 패리티 인터리브에 대응하는 패리티 디인터리브를 행하는 블록은, 설치되어 있지 않아, 패리티 디인터리브는 행하여지지 않는다.
따라서, 비트 디인터리버(165)(의 칼럼 트위스트 디인터리버(55))로부터, LDPC 디코더(166)에는, 역교체 처리 및 칼럼 트위스트 디인터리브가 행하여지고, 또한 패리티 디인터리브가 행하여지지 않은 LDPC 부호가 공급된다.
LDPC 디코더(166)는, 비트 디인터리버(165)로부터의 LDPC 부호의 LDPC 복호를, 도 8의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H)에 대하여 패리티 인터리브에 상당하는 열 치환을 적어도 행해서 얻어지는 변환 검사 행렬을 사용해서 행하고, 그 결과 얻어지는 데이터를, LDPC 대상 데이터의 복호 결과로서 출력한다.
도 67은, 도 66의 디맵퍼(164), 비트 디인터리버(165) 및 LDPC 디코더(166)가 행하는 처리를 설명하는 흐름도이다.
스텝 S111에서, 디맵퍼(164)는, 시간 디인터리버(163)로부터의 데이터(신호점에 매핑된 콘스텔레이션상의 데이터)를 디맵핑해서 직교 복조하여, 비트 디인터리버(165)에 공급하고, 처리는 스텝 S112로 진행한다.
스텝 S112에서는, 비트 디인터리버(165)는, 디맵퍼(164)로부터의 데이터의 디인터리브(비트 디인터리브)를 행하고, 처리는 스텝 S113으로 진행한다.
즉, 스텝 S112에서는, 비트 디인터리버(165)에 있어서, 멀티플렉서(54)가, 디맵퍼(164)로부터의 데이터(심볼의 심볼 비트에 상당)를 대상으로 하여, 역교체 처리를 행하고, 그 결과 얻어지는 LDPC 부호의 부호 비트를, 칼럼 트위스트 디인터리버(55)에 공급한다.
칼럼 트위스트 디인터리버(55)는, 멀티플렉서(54)로부터의 LDPC 부호를 대상으로 하여, 칼럼 트위스트 디인터리브를 행하고, 그 결과 얻어지는 LDPC 부호(의 우도)를 LDPC 디코더(166)에 공급한다.
스텝 S113에서는, LDPC 디코더(166)가, 칼럼 트위스트 디인터리버(55)로부터의 LDPC 부호의 LDPC 복호를, 도 8의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H)을 사용해서 행하고, 즉, 검사 행렬(H)에 대하여 패리티 인터리브에 상당하는 열 치환을 적어도 행해서 얻어지는 변환 검사 행렬을 사용해서 행하고, 그 결과 얻어지는 데이터를, LDPC 대상 데이터의 복호 결과로서, BCH 디코더(167)에 출력한다.
또한, 도 66에서도, 도 9의 경우와 마찬가지로, 설명의 편의를 위하여, 역교체 처리를 행하는 멀티플렉서(54)와, 칼럼 트위스트 디인터리브를 행하는 칼럼 트위스트 디인터리버(55)를 별개로 구성하도록 했지만, 멀티플렉서(54)와 칼럼 트위스트 디인터리버(55)는, 일체적으로 구성할 수 있다.
또한, 도 9의 비트 인터리버(116)에 있어서, 칼럼 트위스트 인터리브를 행하지 않는 경우에는, 도 66의 비트 디인터리버(165)에 있어서, 칼럼 트위스트 디인터리버(55)는 설치할 필요가 없다.
이어서, 도 65의 LDPC 디코더(166)로 행하여지는 LDPC 복호에 대해서, 재차 설명한다.
도 65의 LDPC 디코더(166)에서는, 상술한 바와 같이, 칼럼 트위스트 디인터리버(55)로부터의, 역교체 처리 및 칼럼 트위스트 디인터리브가 행하여지고, 또한 패리티 디인터리브가 행하여지지 않은 LDPC 부호의 LDPC 복호가, 도 8의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H)에 대하여 패리티 인터리브에 상당하는 열 치환을 적어도 행해서 얻어지는 변환 검사 행렬을 사용해서 행하여진다.
여기서, LDPC 복호를, 변환 검사 행렬을 사용해서 행함으로써, 회로 규모를 억제하면서, 동작 주파수를 충분히 실현 가능한 범위로 억제하는 것이 가능하게 되는 LDPC 복호가 앞서 제안되어 있다(예를 들어, 일본 특허 제4224777호를 참조).
따라서, 먼저, 도 68 내지 도 71을 참조하여, 앞서 제안되어 있는, 변환 검사 행렬을 사용한 LDPC 복호에 대해서 설명한다.
도 68은, 부호 길이(N)가 90이고, 부호화율이 2/3인 LDPC 부호의 검사 행렬(H)의 예를 나타내고 있다.
또한, 도 68에서는(후술하는 도 69 및 도 70에서도 마찬가지임), 0을, period(.)로 표현하고 있다.
도 68의 검사 행렬(H)에서는, 패리티 행렬이 계단 구조로 되어 있다.
도 69는, 도 68의 검사 행렬(H)에, 식 (11)의 행 치환과, 식 (12)의 열 치환을 실시해서 얻어지는 검사 행렬 H'를 나타내고 있다.
행 치환: 6s+t+1행째→5t+s+1행째 … (11)
열 치환: 6x+y+61열째→5y+x+61열째 … (12)
단, 식 (11) 및 (12)에서, s, t, x, y는, 각각 0≤s<5, 0≤t<6, 0≤x<5, 0≤t<6의 범위의 정수이다.
식 (11)의 행 치환에 의하면, 6으로 나누어서 나머지가 1이 되는 1, 7, 13, 19, 25행째를, 각각 1, 2, 3, 4, 5행째로, 6으로 나누어서 나머지가 2가 되는 2, 8, 14, 20, 26행째를, 각각 6, 7, 8, 9, 10행째로 라는 식으로 치환이 행하여진다.
또한, 식 (12)의 열 치환에 의하면, 61열째 이후(패리티 행렬)에 대하여 6으로 나누어서 나머지가 1이 되는 61, 67, 73, 79, 85열째를, 각각 61, 62, 63, 64, 65열째로, 6으로 나누어서 나머지가 2가 되는 62, 68, 74, 80, 86열째를, 각각 66, 67, 68, 69, 70열째로 라는 식으로 치환이 행하여진다.
이와 같이 하여, 도 68의 검사 행렬(H)에 대하여 행과 열의 치환을 행해서 얻어진 행렬(matrix)이 도 69의 검사 행렬 H'이다.
여기서, 검사 행렬(H)의 행 치환을 행해도, LDPC 부호의 부호 비트의 배열에는 영향을 미치지 않는다.
또한, 식 (12)의 열 치환은, 상술한, K+qx+y+1번째의 부호 비트를, K+Py+x+1번째의 부호 비트의 위치에 인터리브하는 패리티 인터리브의, 정보 길이(K)를 60으로, 순회 구조의 단위의 열수(P)를 5로, 패리티 길이(M)(여기서는, 30)의 약수 q (=M/P)를 6으로 각각 했을 때의 패리티 인터리브에 상당한다.
따라서, 도 69의 검사 행렬(H')은, 도 68의 검사 행렬(이하, 적절히, 원래의 검사 행렬이라고 함)(H)의, K+qx+y+1번째의 열을, K+Py+x+1번째의 열로 치환하는 열 치환을, 적어도 행해서 얻어지는 변환 검사 행렬이다.
도 69의 변환 검사 행렬(H')에 대하여 도 68의 원래의 검사 행렬(H)의 LDPC 부호에, 식 (12)와 동일한 치환을 행한 것을 곱하면, 0 벡터가 출력된다. 즉, 원래의 검사 행렬(H)의 LDPC 부호(1 부호어)로서의 행 벡터 c에, 식 (12)의 열 치환을 실시해서 얻어지는 행 벡터를 c'로 나타내기로 하면, 검사 행렬의 성질로부터, HcT는, 0 벡터가 되기 때문에, H'c'T도, 당연히 0 벡터가 된다.
이상으로부터, 도 69의 변환 검사 행렬(H')은, 원래의 검사 행렬(H)의 LDPC 부호 c에, 식 (12)의 열 치환을 행해서 얻어지는 LDPC 부호 c'의 검사 행렬로 되어 있다.
따라서, 원래의 검사 행렬(H)의 LDPC 부호 c에, 식 (12)의 열 치환을 행하고, 그 열 치환 후의 LDPC 부호 c'를, 도 69의 변환 검사 행렬(H')을 사용해서 복호(LDPC 복호)하고, 그 복호 결과에, 식 (12)의 열 치환된 역 치환을 실시함으로써, 원래의 검사 행렬(H)의 LDPC 부호를, 그 검사 행렬(H)을 사용해서 복호하는 경우와 마찬가지의 복호 결과를 얻을 수 있다.
도 70은, 5×5의 행렬의 단위로 간격을 둔, 도 69의 변환 검사 행렬(H')을 나타내고 있다.
도 70에서는, 변환 검사 행렬(H')은, 5×5(=P×P)의 단위 행렬, 그 단위 행렬의 1 중 1개 이상이 0으로 된 행렬(이하, 적절히, 준 단위 행렬이라고 함), 단위 행렬 또는 준 단위 행렬을 사이클릭 시프트(cyclic shift)한 행렬(이하, 적절히, 시프트 행렬이라고 함), 단위 행렬, 준 단위 행렬 또는 시프트 행렬 중 2 이상의 합(이하, 적절히, 합 행열이라고 함), 5×5의 0 행렬의 조합으로 표현되어 있다.
도 70의 변환 검사 행렬(H')은, 5×5의 단위 행렬, 준 단위 행렬, 시프트 행렬, 합 행열, 0 행렬로 구성되어 있다고 할 수 있다. 따라서, 변환 검사 행렬(H')을 구성하는, 이들 5×5의 행렬(단위 행렬, 준 단위 행렬, 시프트 행렬, 합 행열, 0 행렬)을 이하, 적절히, 구성 행렬이라고 한다.
P×P의 구성 행렬로 표현되는 검사 행렬의 LDPC 부호의 복호에는, 체크 노드 연산 및 배리어블 노드 연산을, P개 동시에 행하는 아키텍쳐(architecture)를 사용할 수 있다.
도 71은, 그러한 복호를 행하는 복호 장치의 구성예를 도시하는 블록도이다.
즉, 도 71은, 도 68의 원래의 검사 행렬(H)에 대하여, 적어도, 식 (12)의 열 치환을 행해서 얻어지는 도 70의 변환 검사 행렬(H')을 사용하여, LDPC 부호의 복호를 행하는 복호 장치의 구성예를 나타내고 있다.
도 71의 복호 장치는, 6개의 FIFO(3001 내지 3006)를 포함하는 가지 데이터 저장용 메모리(300), FIFO(3001 내지 3006)을 선택하는 셀렉터(301), 체크 노드 계산부(302), 2개의 사이클릭 시프트 회로(303 및 308), 18개의 FIFO(3041 내지 30418)를 포함하는 가지 데이터 저장용 메모리(304), FIFO(3041 내지 30418)를 선택하는 셀렉터(305), 수신 데이터를 저장하는 수신 데이터용 메모리(306), 배리어블 노드 계산부(307), 복호어 계산부(309), 수신 데이터 재배열부(310), 복호 데이터 재배열부(311)를 포함한다.
먼저, 가지 데이터 저장용 메모리(300과 304)에의 데이터의 저장 방법에 대해서 설명한다.
가지 데이터 저장용 메모리(300)는, 도 70의 변환 검사 행렬(H')의 행수 30을 구성 행렬의 행수(순회 구조의 단위의 열수(P)) 5로 나눈 수인 6개의 FIFO(3001 내지 3006)로 구성되어 있다. FIFO(300y)(y=1, 2, …, 6)는, 복수의 단수의 기억 영역을 포함하고, 각 단의 기억 영역에 대해서는, 구성 행렬의 행수 및 열수(순회 구조의 단위의 열수(P))인 5개의 가지에 대응하는 메시지를 동시에 판독하는 것 및 기입할 수 있게 되어 있다. 또한, FIFO(300y)의 기억 영역의 단수는, 도 70의 변환 검사 행렬의 행방향의 1의 수(허밍 가중치)의 최대수인 9로 되어 있다.
FIFO(3001)에는, 도 70의 변환 검사 행렬(H')의 제1행째부터 제5행째까지의 1의 위치에 대응하는 데이터(배리어블 노드로부터의 메시지 vi)가, 각 행 모두 가로 방향으로 채운 형태로(0을 무시한 형태로) 저장된다. 즉, 제j행 제i열을, (j, i)라고 나타내기로 하면, FIFO(3001)의 제1단의 기억 영역에는, 변환 검사 행렬(H')의 (1, 1)부터 (5, 5)의 5×5의 단위 행렬의 1의 위치에 대응하는 데이터가 저장된다. 제2단의 기억 영역에는, 변환 검사 행렬(H')의 (1, 21)부터 (5, 25)의 시프트 행렬(5×5의 단위 행렬을 우측 방향으로 3개만큼 사이클릭 시프트한 시프트 행렬)의 1의 위치에 대응하는 데이터가 저장된다. 제3 내지 제8단의 기억 영역도 마찬가지로, 변환 검사 행렬(H')과 대응지어서 데이터가 저장된다. 그리고, 제9단의 기억 영역에는, 변환 검사 행렬(H')의 (1, 86)부터 (5, 90)의 시프트 행렬(5×5의 단위 행렬 중 1행째의 1을 0으로 치환해서 1개만큼 왼쪽으로 사이클릭 시프트한 시프트 행렬)의 1의 위치에 대응하는 데이터가 저장된다.
FIFO(3002)에는, 도 70의 변환 검사 행렬(H')의 제6행째부터 제10행째까지의 1의 위치에 대응하는 데이터가 저장된다. 즉, FIFO(3002)의 제1단의 기억 영역에는, 변환 검사 행렬(H')의 (6, 1)부터 (10, 5)의 합 행열(5×5의 단위 행렬을 오른쪽으로 1개만큼 사이클릭 시프트한 제1 시프트 행렬과, 오른쪽으로 2개만큼 사이클릭 시프트한 제2 시프트 행렬의 합인 합 행열)을 구성하는 제1 시프트 행렬의 1의 위치에 대응하는 데이터가 저장된다. 또한, 제2단의 기억 영역에는, 변환 검사 행렬(H')의 (6, 1)부터 (10, 5)의 합 행열을 구성하는 제2 시프트 행렬의 1의 위치에 대응하는 데이터가 저장된다.
즉, 가중치가 2 이상인 구성 행렬에 대해서는, 그 구성 행렬을, 가중치가 1인 P×P의 단위 행렬, 단위 행렬의 요소의 1 중 1개 이상이 0으로 된 준 단위 행렬, 또는 단위 행렬 또는 준 단위 행렬을 사이클릭 시프트한 시프트 행렬 중 복수의 합의 형태로 표현했을 때의, 그 가중치가 1인 단위 행렬, 준 단위 행렬, 또는 시프트 행렬의 1의 위치에 대응하는 데이터(단위 행렬, 준 단위 행렬, 또는 시프트 행렬에 속하는 가지에 대응하는 메시지)는, 동일 어드레스(FIFO(3001 내지 3006) 중 동일한 FIFO)에 저장된다.
이하, 제3부터 제9단의 기억 영역에 대해서도, 변환 검사 행렬(H')에 대응지어서 데이터가 저장된다.
FIFO(3003 내지 3006)도 마찬가지로 변환 검사 행렬(H')에 대응지어서 데이터를 저장한다.
가지 데이터 저장용 메모리(304)는, 변환 검사 행렬(H')의 열수 90을, 구성 행렬의 열수(순회 구조의 단위의 열수(P))인 5로 나눈 18개의 FIFO(3041 내지 30418)로 구성되어 있다. FIFO(304x)(x=1, 2, …, 18)는, 복수의 단수의 기억 영역을 포함하고, 각 단의 기억 영역에 대해서는, 구성 행렬의 행수 및 열수(순회 구조의 단위의 열수(P))인 5개의 가지에 대응하는 메시지를 동시에 판독하는 것 및 기입할 수 있게 되어 있다.
FIFO(3041)에는, 도 70의 변환 검사 행렬(H')의 제1열째부터 제5열째까지의 1의 위치에 대응하는 데이터(체크 노드로부터의 메시지 uj)가, 각 열 모두 세로 방향으로 채운 형태로(0을 무시한 형으로) 저장된다. 즉, FIFO(3041)의 제1단의 기억 영역에는, 변환 검사 행렬(H')의 (1, 1)부터 (5, 5)의 5×5의 단위 행렬의 1의 위치에 대응하는 데이터가 저장된다. 제2단의 기억 영역에는, 변환 검사 행렬(H')의 (6, 1)부터 (10, 5)의 합 행열(5×5의 단위 행렬을 오른쪽으로 1개만큼 사이클릭 시프트한 제1 시프트 행렬과, 오른쪽으로 2개만큼 사이클릭 시프트한 제2 시프트 행렬과의 합인 합 행열)을 구성하는 제1 시프트 행렬의 1의 위치에 대응하는 데이터가 저장된다. 또한, 제3단의 기억 영역에는, 변환 검사 행렬(H')의 (6, 1)부터 (10, 5)의 합 행열을 구성하는 제2 시프트 행렬의 1의 위치에 대응하는 데이터가 저장된다.
즉, 가중치가 2 이상의 구성 행렬에 대해서는, 그 구성 행렬을, 가중치가 1인 P×P의 단위 행렬, 단위 행렬의 요소의 1 중 1개 이상이 0으로 된 준 단위 행렬, 또는 단위 행렬 또는 준 단위 행렬을 사이클릭 시프트한 시프트 행렬 중 복수의 합의 형태로 표현했을 때의, 그 가중치가 1인 단위 행렬, 준 단위 행렬, 또는 시프트 행렬의 1의 위치에 대응하는 데이터(단위 행렬, 준 단위 행렬, 또는 시프트 행렬에 속하는 가지에 대응하는 메시지)는, 동일 어드레스(FIFO(3041 내지 30418) 중 동일한 FIFO)에 저장된다.
이하, 제4 및 제5단의 기억 영역에 대해서도, 변환 검사 행렬(H')에 대응지어, 데이터가 저장된다. 이 FIFO(3041)의 기억 영역의 단수는, 변환 검사 행렬(H')의 제1열부터 제5열에서의 행방향의 1의 수(허밍 가중치)의 최대수인 5로 되어 있다.
FIFO(3042와 3043)도 마찬가지로 변환 검사 행렬(H')에 대응지어서 데이터를 저장하고, 각각의 길이(단수)는 5이다. FIFO(3044 내지 30412)도 마찬가지로, 변환 검사 행렬(H')에 대응지어서 데이터를 저장하고, 각각의 길이는 3이다. FIFO(30413 내지 30418)도 마찬가지로, 변환 검사 행렬(H')에 대응지어서 데이터를 저장하고, 각각의 길이는 2이다.
이어서, 도 71의 복호 장치의 동작에 대해서 설명한다.
가지 데이터 저장용 메모리(300)는, 6개의 FIFO(3001 내지 3006)를 포함하고, 전단의 사이클릭 시프트 회로(308)로부터 공급되는 5개의 메시지 D311이, 도 70의 변환 검사 행렬(H')의 어느 행에 속하는지의 정보(Matrix 데이터) D312에 따라, 데이터를 저장하는 FIFO를, FIFO(3001 내지 3006) 중에서 선택하고, 선택한 FIFO의 5개의 메시지 D311을 통합해서 순서대로 저장해 간다. 또한, 가지 데이터 저장용 메모리(300)는, 데이터를 판독할 때는, FIFO(3001)로부터 5개의 메시지 D3001을 순서대로 판독하여, 다음 단의 셀렉터(301)에 공급한다. 가지 데이터 저장용 메모리(300)는, FIFO(3001)로부터의 메시지의 판독 종료 후, FIFO(3002 내지 3006)로부터도, 순서대로 메시지를 판독하여, 셀렉터(301)에 공급한다.
셀렉터(301)는, 셀렉트 신호 D301에 따라, FIFO(3001 내지 3006) 중, 현재 데이터가 판독되어 있는 FIFO로부터의 5개의 메시지를 선택하고, 메시지 D302로서, 체크 노드 계산부(302)에 공급한다.
체크 노드 계산부(302)는, 5개의 체크 노드 계산기(3021 내지 3025)를 포함하고, 셀렉터(301)를 통해서 공급되는 메시지 D302(D3021 내지 D3025)(식 (7)의 메시지 vi)를 사용하여, 식 (7)에 따라서 체크 노드 연산을 행하고, 그 체크 노드 연산의 결과 얻어지는 5개의 메시지 D303(D3031 내지 D3035)(식 (7)의 메시지 uj)를 사이클릭 시프트 회로(303)에 공급한다.
사이클릭 시프트 회로(303)는, 체크 노드 계산부(302)에서 구해진 5개의 메시지(D3031 내지 D3035)를, 대응하는 가지가 변환 검사 행렬(H')에 있어서 원래가 되는 단위 행렬(또는 준 단위 행렬)을 몇 사이클릭 시프트한 것인지의 정보(Matrix 데이터) D305를 바탕으로 사이클릭 시프트하고, 그 결과를 메시지 D304로서, 가지 데이터 저장용 메모리(304)에 공급한다.
가지 데이터 저장용 메모리(304)는, 18개의 FIFO(3041 내지 30418)를 포함하고, 전단의 사이클릭 시프트 회로(303)로부터 공급되는 5개의 메시지 D304가 변환 검사 행렬(H')의 어느 행에 속하는지의 정보 D305에 따라, 데이터를 저장하는 FIFO를, FIFO(3041 내지 30418) 중에서 선택하고, 선택한 FIFO에 5개의 메시지 D304를 통합해서 순서대로 저장해 간다. 또한, 가지 데이터 저장용 메모리(304)는, 데이터를 판독할 때는, FIFO(3041)로부터 5개의 메시지 D3061을 순서대로 판독하여 다음의 단의 셀렉터(305)에 공급한다. 가지 데이터 저장용 메모리(304)는, FIFO(3041)로부터의 데이터의 판독 종료 후, FIFO(3042 내지 30418)로부터도, 순서대로 메시지를 판독하여, 셀렉터(305)에 공급한다.
셀렉터(305)는, 셀렉트 신호 D307에 따라, FIFO(3041 내지 30418) 중, 현재 데이터가 판독되어 있는 FIFO로부터의 5개의 메시지를 선택하고, 메시지 D308로서, 배리어블 노드 계산부(307)와 복호어 계산부(309)에 공급한다.
한편, 수신 데이터 재배열부(310)는, 통신로(13)를 통해서 수신한, 도 68의 검사 행렬(H)에 대응하는 LDPC 부호 D313을, 식 (12)의 열 치환을 행함으로써 재배열하여, 수신 데이터 D314로서, 수신 데이터용 메모리(306)에 공급한다. 수신 데이터용 메모리(306)는, 수신 데이터 재배열부(310)로부터 공급되는 수신 데이터 D314로부터, 수신 LLR(대수 우도비)을 계산해서 기억하고, 그 수신 LLR을 5개씩 통합해서 수신값 D309로서, 배리어블 노드 계산부(307)와 복호어 계산부(309)에 공급한다.
배리어블 노드 계산부(307)는, 5개의 배리어블 노드 계산기(3071 내지 3075)를 포함하고, 셀렉터(305)를 통해서 공급되는 메시지 D308(D3081 내지 D3085)(식 (1)의 메시지 uj)과, 수신 데이터용 메모리(306)로부터 공급되는 5개의 수신값 D309(식 (1)의 수신값 u0i)를 사용하여, 식 (1)에 따라서 배리어블 노드 연산을 행하고, 그 연산의 결과 얻어지는 메시지 D310(D3101 내지 D3105)(식 (1)의 메시지 vi)을 사이클릭 시프트 회로(308)에 공급한다.
사이클릭 시프트 회로(308)는, 배리어블 노드 계산부(307)에서 계산된 메시지(D3101 내지 D3105)를, 대응하는 가지가 변환 검사 행렬(H')에 있어서 원래가 되는 단위 행렬(또는 준 단위 행렬)을 몇 사이클릭 시프트한 것인지의 정보를 바탕으로 사이클릭 시프트하고, 그 결과를 메시지 D311로서, 가지 데이터 저장용 메모리(300)에 공급한다.
이상의 동작을 한바퀴 돎으로써, LDPC 부호의 1회의 복호(배리어블 노드 연산 및 체크 노드 연산)를 행할 수 있다. 도 71의 복호 장치는, 소정의 횟수만큼 LDPC 부호를 복호한 후, 복호어 계산부(309) 및 복호 데이터 재배열부(311)에 있어서, 최종적인 복호 결과를 구해서 출력한다.
즉, 복호어 계산부(309)는, 5개의 복호어 계산기(3091 내지 3095)를 포함하고, 셀렉터(305)가 출력하는 5개의 메시지 D308(D3081 내지 D3085)(식 (5)의 메시지 uj)과, 수신 데이터용 메모리(306)로부터 공급되는 5개의 수신값 D309(식 (5)의 수신값 u0i)를 사용하여, 복수회의 복호의 최종단으로서, 식 (5)에 기초하여, 복호 결과(복호어)를 계산하고, 그 결과 얻어지는 복호 데이터 D315를, 복호 데이터 재배열부(311)에 공급한다.
복호 데이터 재배열부(311)는, 복호어 계산부(309)로부터 공급되는 복호 데이터 D315를 대상으로, 식 (12)의 열 치환된 역 치환을 행함으로써, 그 순서를 재배열하여, 최종적인 복호 결과 D316로서 출력한다.
이상과 같이, 검사 행렬(원래의 검사 행렬)에 대하여, 행 치환과 열 치환 중 어느 한쪽 또는 양쪽을 실시하고, P×P의 단위 행렬, 그 요소의 1 중 1개 이상이 0으로 된 준 단위 행렬, 단위 행렬 또는 준 단위 행렬을 사이클릭 시프트한 시프트 행렬, 단위 행렬, 준 단위 행렬, 또는 시프트 행렬의 복수의 합인 합 행열, P×P의 0 행렬의 조합, 즉, 구성 행렬의 조합으로 나타낼 수 있는 검사 행렬(변환 검사 행렬)로 변환함으로써, LDPC 부호의 복호를, 체크 노드 연산과 배리어블 노드 연산을, 검사 행렬의 행수나 열수보다 작은 수의 P개 동시에 행하는 아키텍쳐(architecture)를 채용하는 것이 가능하게 된다. 노드 연산(체크 노드 연산과 배리어블 노드 연산)을 검사 행렬의 행수나 열수보다 작은 수의 P개 동시에 행하는 아키텍쳐를 채용하는 경우, 노드 연산을, 검사 행렬의 행수나 열수와 동일한 수만큼 동시에 행하는 경우에 비해, 동작 주파수를 실현 가능한 범위로 억제하여, 다수의 반복 복호를 행할 수 있다.
도 65의 수신 장치(12)를 구성하는 LDPC 디코더(166)는, 예를 들어 도 71의 복호 장치와 마찬가지로, 체크 노드 연산과 배리어블 노드 연산을 P개 동시에 행함으로써, LDPC 복호를 행하도록 되어 있다.
즉, 이제, 설명을 간단하게 하기 위해서, 도 8의 송신 장치(11)를 구성하는 LDPC 인코더(115)가 출력하는 LDPC 부호의 검사 행렬이, 예를 들어 도 68에 나타낸, 패리티 행렬이 계단 구조로 되어 있는 검사 행렬(H)이라고 하면, 송신 장치(11)의 패리티 인터리버(23)에서는, K+qx+y+1번째의 부호 비트를, K+Py+x+1번째의 부호 비트의 위치에 인터리브하는 패리티 인터리브가, 정보 길이(K)를 60으로, 순회 구조의 단위의 열수(P)를 5로, 패리티 길이(M)의 약수 q(=M/P)를 6으로 각각 해서 행하여진다.
이 패리티 인터리브는, 상술한 바와 같이, 식 (12)의 열 치환에 상당하기 때문에, LDPC 디코더(166)에서는, 식 (12)의 열 치환을 행할 필요가 없다.
이 때문에, 도 65의 수신 장치(12)에서는, 상술한 바와 같이, 칼럼 트위스트 디인터리버(55)로부터, LDPC 디코더(166)에 대하여 패리티 디인터리브가 행하여지지 않은 LDPC 부호, 즉, 식 (12)의 열 치환이 행하여진 상태의 LDPC 부호가 공급되고, LDPC 디코더(166)에서는, 식 (12)의 열 치환을 행하지 않는 것을 제외하면, 도 71의 복호 장치와 마찬가지의 처리가 행하여진다.
즉, 도 72는, 도 65의 LDPC 디코더(166)의 구성예를 나타내고 있다.
도 72에서, LDPC 디코더(166)는, 도 71의 수신 데이터 재배열부(310)가 설치되어 있지 않은 것을 제외하면, 도 71의 복호 장치와 마찬가지로 구성되어 있고, 식 (12)의 열 치환이 행하여지지 않는 것을 제외하고, 도 71의 복호 장치와 마찬가지의 처리를 행하기 때문에, 그 설명은 생략한다.
이상과 같이, LDPC 디코더(166)는, 수신 데이터 재배열부(310)를 설치하지 않고 구성할 수 있으므로, 도 71의 복호 장치보다도 규모를 삭감할 수 있다.
또한, 도 68 내지 도 72에서는, 설명을 간단하게 하기 위해서, LDPC 부호의 부호 길이(N)를 90으로, 정보 길이(K)를 60으로, 순회 구조의 단위의 열수(구성 행렬의 행수 및 열수)(P)를 5로, 패리티 길이(M)의 약수 q(=M/P)를 6으로 각각 했지만, 부호 길이(N), 정보 길이(K), 순회 구조의 단위의 열수(P) 및 약수 q(=M/P) 각각은, 상술한 값에 한정되는 것은 아니다.
즉, 도 8의 송신 장치(11)에 있어서, LDPC 인코더(115)가 출력하는 것은, 예를 들어 부호 길이(N)를 64800이나 16200 등으로, 정보 길이(K)를 N-Pq(=N-M)와, 순회 구조의 단위의 열수(P)를 360으로, 약수 q를 M/P로 각각 하는 LDPC 부호인데, 도 72의 LDPC 디코더(166)는, 그러한 LDPC 부호를 대상으로 하여, 체크 노드 연산과 배리어블 노드 연산을 P개 동시에 행함으로써, LDPC 복호를 행하는 경우에 적용 가능하다.
도 73은, 도 66의 비트 디인터리버(165)를 구성하는 멀티플렉서(54)의 처리를 설명하는 도면이다.
즉, 도 73의 A는, 멀티플렉서(54)의 기능적인 구성예를 나타내고 있다.
멀티플렉서(54)는, 역교체부(1001) 및 메모리(1002)로 구성된다.
멀티플렉서(54)는, 전단의 디맵퍼(164)로부터 공급되는 심볼의 심볼 비트를 대상으로 하여, 송신 장치(11)의 디멀티플렉서(25)가 행하는 교체 처리에 대응하는 역교체 처리(교체 처리의 역 처리), 즉, 교체 처리에 의해 교체된 LDPC 부호의 부호 비트(심볼 비트)의 위치를 원래의 위치로 복귀시키는 역교체 처리를 행하고, 그 결과 얻어지는 LDPC 부호를, 후단의 칼럼 트위스트 디인터리버(55)에 공급한다.
즉, 멀티플렉서(54)에 있어서, 역교체부(1001)에는, (연속하는) b개의 심볼의 단위로, 그 b개의 심볼의 mb비트의 심볼 비트 y0, y1, …, ymb-1이 공급된다.
역교체부(1001)는, mb비트의 심볼 비트 y0 내지 ymb-1을, 원래의 mb비트의 부호 비트 b0, b1, …, bmb-1의 배열(송신 장치(11)측의 디멀티플렉서(25)를 구성하는 교체부(32)에서의 교체가 행하여지기 전의 부호 비트 b0 내지 bmb-1의 배열)로 되돌리는 역교체를 행하고, 그 결과 얻어지는 mb비트의 부호 비트 b0 내지 bmb-1을 출력한다.
메모리(1002)는, 송신 장치(11)측의 디멀티플렉서(25)를 구성하는 메모리(31)와 마찬가지로, 로우(row)(가로) 방향으로 mb비트를 기억함과 함께, 칼럼(column)(세로) 방향으로 N/(mb) 비트를 기억하는 기억 용량을 갖는다. 즉, 메모리(1002)는, N/(mb) 비트를 기억하는 mb개의 칼럼으로 구성된다.
단, 메모리(1002)에서는, 송신 장치(11)의 디멀티플렉서(25)의 메모리(31)로부터의 부호 비트의 판독이 행하여지는 방향으로, 역교체부(1001)가 출력하는 LDPC 부호의 부호 비트의 기입이 행하여지고, 메모리(31)에의 부호 비트의 기입이 행하여지는 방향으로, 메모리(1002)에 기입된 부호 비트의 판독이 행하여진다.
즉, 수신 장치(12)의 멀티플렉서(54)에서는, 도 73의 A에 도시한 바와 같이, 역교체부(1001)가 출력하는 LDPC 부호의 부호 비트를, mb비트 단위로, 로우 방향으로 기입하는 것이, 메모리(1002)의 1행째로부터 아래의 행을 향해서 순차 행하여진다.
그리고, 1 부호 길이 분의 부호 비트의 기입이 종료되면, 멀티플렉서(54)에서는, 메모리(1002)로부터, 부호 비트를 칼럼 방향으로 판독하여, 후단의 칼럼 트위스트 디인터리버(55)에 공급한다.
여기서, 도 73의 B는, 메모리(1002)로부터의 부호 비트의 판독을 도시하는 도면이다.
멀티플렉서(54)에서는, LDPC 부호의 부호 비트를, 메모리(1002)를 구성하는 칼럼의 위에서부터 아래 방향(칼럼 방향)으로 판독하는 것이, 좌측으로부터 우측 방향의 칼럼을 향해서 행하여진다.
도 74는, 도 66의 비트 디인터리버(165)를 구성하는 칼럼 트위스트 디인터리버(55)의 처리를 설명하는 도면이다.
즉, 도 74는, 멀티플렉서(54)의 메모리(1002)의 구성예를 나타내고 있다.
메모리(1002)는, 칼럼(세로) 방향으로 mb비트를 기억함과 함께, 로우(가로) 방향으로 N/(mb)비트를 기억하는 기억 용량을 갖고, mb개의 칼럼으로 구성된다.
칼럼 트위스트 디인터리버(55)는, 메모리(1002)에 대하여 LDPC 부호의 부호 비트를, 로우 방향으로 기입하고, 칼럼 방향으로 판독할 때의 판독 개시의 위치를 제어함으로써, 칼럼 트위스트 디인터리브를 행한다.
즉, 칼럼 트위스트 디인터리버(55)에서는, 복수의 칼럼 각각에 대해서, 부호 비트의 판독을 개시하는 판독 개시의 위치를 적절히 변경함으로써, 칼럼 트위스트 인터리브에서 재배열된 부호 비트의 배열을, 원래의 배열로 되돌리는 역 재배열 처리를 행한다.
여기서, 도 74는, 도 28에서 설명한, 변조 방식이 16APSK나 16QAM 등이며, 또한 배수(b)가 1인 경우의, 메모리(1002)의 구성예를 나타내고 있다. 이 경우, 1 심볼의 비트수(m)는 4비트이며, 또한 메모리(1002)는, 4(=mb)개의 칼럼으로 구성된다.
칼럼 트위스트 디인터리버(55)는, 멀티플렉서(54) 대신에, 역교체부(1001)가 출력하는 LDPC 부호의 부호 비트의 로우 방향으로의 기입을, 메모리(1002)의 1행째로부터 아래의 행을 향해서 순차 행한다.
그리고, 1 부호 길이 분의 부호 비트의 기입이 종료되면, 칼럼 트위스트 디인터리버(55)는, 부호 비트를, 메모리(1002)의 위에서부터 아래 방향(칼럼 방향)으로 판독하는 것을, 좌측으로부터 우측 방향의 칼럼을 향해서 행한다.
단, 칼럼 트위스트 디인터리버(55)는, 송신 장치(11)측의 칼럼 트위스트 인터리버(24)가 부호 비트를 기입하는 기입 개시의 위치를, 부호 비트의 판독 개시의 위치로 해서, 메모리(1002)로부터의 부호 비트의 판독을 행한다.
즉, 각 칼럼의 선두(맨위)의 위치의 어드레스를 0으로 하고, 칼럼 방향의 각 위치의 어드레스를, 오름차순의 정수로 나타내기로 하면, 변조 방식이 16APSK나 16QAM이며, 또한 배수(b)가 1인 경우에는, 칼럼 트위스트 디인터리버(55)에서는, 가장 좌측의 칼럼에 대해서는, 판독 개시의 위치를 어드레스가 0인 위치로 하고, (좌측에서부터) 2번째의 칼럼에 대해서는, 판독 개시의 위치를 어드레스가 2인 위치로 하고, 3번째의 칼럼에 대해서는, 판독 개시의 위치를 어드레스가 4인 위치로 하고, 4번째의 칼럼에 대해서는, 판독 개시의 위치를 어드레스가 7인 위치로 한다.
또한, 판독 개시의 위치가, 어드레스가 0인 위치 이외의 위치의 칼럼에 대해서는, 부호 비트의 판독을, 가장 아래의 위치까지 행한 후에는 선두(어드레스가 0인 위치)로 복귀되고, 판독 개시 위치의 직전 위치까지의 판독이 행하여진다. 그리고, 그 후, 다음(우측)의 칼럼으로부터의 판독이 행하여진다.
이상과 같은 칼럼 트위스트 디인터리브를 행함으로써, 칼럼 트위스트 인터리브에서 재배열된 부호 비트의 배열이, 원래의 배열로 복귀된다.
도 75는, 도 65의 비트 디인터리버(165)의 다른 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 66의 경우와 대응하는 부분에 대해서는, 동일한 부호를 부여하고 있어, 이하에서는, 그 설명은 적절히 생략한다.
즉, 도 75의 비트 디인터리버(165)는, 패리티 디인터리버(1011)가 새롭게 설치되어 있는 것 외에는, 도 66의 경우와 마찬가지로 구성되어 있다.
도 75에서는, 비트 디인터리버(165)는, 멀티플렉서(MUX)(54), 칼럼 트위스트 디인터리버(55) 및 패리티 디인터리버(1011)로 구성되고, 디맵퍼(164)로부터의 LDPC 부호의 부호 비트의 비트 디인터리브를 행한다.
즉, 멀티플렉서(54)는, 디맵퍼(164)로부터의 LDPC 부호를 대상으로 하여, 송신 장치(11)의 디멀티플렉서(25)가 행하는 교체 처리에 대응하는 역교체 처리(교체 처리의 역 처리), 즉, 교체 처리에 의해 교체된 부호 비트의 위치를 원래의 위치로 복귀시키는 역교체 처리를 행하고, 그 결과 얻어지는 LDPC 부호를, 칼럼 트위스트 디인터리버(55)에 공급한다.
칼럼 트위스트 디인터리버(55)는, 멀티플렉서(54)로부터의 LDPC 부호를 대상으로 하여, 송신 장치(11)의 칼럼 트위스트 인터리버(24)가 행하는 재배열 처리로서의 칼럼 트위스트 인터리브에 대응하는 칼럼 트위스트 디인터리브를 행한다.
칼럼 트위스트 디인터리브의 결과 얻어지는 LDPC 부호는, 칼럼 트위스트 디인터리버(55)로부터 패리티 디인터리버(1011)에 공급된다.
패리티 디인터리버(1011)는, 칼럼 트위스트 디인터리버(55)에서의 칼럼 트위스트 디인터리브 후의 부호 비트를 대상으로 하여, 송신 장치(11)의 패리티 인터리버(23)가 행하는 패리티 인터리브에 대응하는 패리티 디인터리브(패리티 인터리브의 역 처리), 즉, 패리티 인터리브에 의해 배열이 변경된 LDPC 부호의 부호 비트를, 원래의 배열로 되돌리는 패리티 디인터리브를 행한다.
패리티 디인터리브의 결과 얻어지는 LDPC 부호는, 패리티 디인터리버(1011)로부터 LDPC 디코더(166)에 공급된다.
따라서, 도 75의 비트 디인터리버(165)에서는, LDPC 디코더(166)에는, 역교체 처리, 칼럼 트위스트 디인터리브 및 패리티 디인터리브가 행하여진 LDPC 부호, 즉, 검사 행렬(H)에 따른 LDPC 부호화에 의해 얻어지는 LDPC 부호가 공급된다.
LDPC 디코더(166)는, 비트 디인터리버(165)로부터의 LDPC 부호의 LDPC 복호를, 송신 장치(11)의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H)을 사용해서 행한다. 즉, LDPC 디코더(166)는, 비트 디인터리버(165)로부터의 LDPC 부호의 LDPC 복호를, 송신 장치(11)의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H) 그 자체를 사용하거나, 또는 그 검사 행렬(H)에 대하여, 패리티 인터리브에 상당하는 열 치환을 적어도 행해서 얻어지는 변환 검사 행렬을 사용해서 행한다.
여기서, 도 75에서는, 비트 디인터리버(165)(의 패리티 디인터리버(1011))로부터 LDPC 디코더(166)에 대하여, 검사 행렬(H)에 따른 LDPC 부호화에 의해 얻어지는 LDPC 부호가 공급되기 때문에, 그 LDPC 부호의 LDPC 복호를, 송신 장치(11)의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H) 그 자체를 사용해서 행하는 경우에는, LDPC 디코더(166)는, 예를 들어 메시지(체크 노드 메시지, 배리어블 노드 메시지)의 연산을 1개의 노드씩 순차 행하는 풀 시리얼 디코딩(full serial decoding) 방식에 의한 LDPC 복호를 행하는 복호 장치나, 메시지의 연산을 모든 노드에 대해서 동시(병렬)에 행하는 풀 패럴렐 디코딩(full parallel decoding) 방식에 의한 LDPC 복호를 행하는 복호 장치로 구성할 수 있다.
또한, LDPC 디코더(166)에 있어서, LDPC 부호의 LDPC 복호를, 송신 장치(11)의 LDPC 인코더(115)가 LDPC 부호화에 사용한 검사 행렬(H)에 대하여, 패리티 인터리브에 상당하는 열 치환을 적어도 행해서 얻어지는 변환 검사 행렬을 사용해서 행하는 경우에는, LDPC 디코더(166)는, 체크 노드 연산 및 배리어블 노드 연산을, P(또는 P의 1이외의 약수)개 동시에 행하는 아키텍쳐(architecture)의 복호 장치이며, 변환 검사 행렬을 얻기 위한 열 치환과 마찬가지의 열 치환을, LDPC 부호에 실시함으로써, 그 LDPC 부호의 부호 비트를 재배열하는 수신 데이터 재배열부(310)를 갖는 복호 장치(도 71)로 구성할 수 있다.
또한, 도 75에서는, 설명의 편의를 위하여, 역교체 처리를 행하는 멀티플렉서(54), 칼럼 트위스트 디인터리브를 행하는 칼럼 트위스트 디인터리버(55) 및 패리티 디인터리브를 행하는 패리티 디인터리버(1011) 각각을 별개로 구성하도록 했지만, 멀티플렉서(54), 칼럼 트위스트 디인터리버(55) 및 패리티 디인터리버(1011)의 2 이상은, 송신 장치(11)의 패리티 인터리버(23), 칼럼 트위스트 인터리버(24) 및 디멀티플렉서(25)와 마찬가지로, 일체적으로 구성할 수 있다.
또한, 송신 장치(11)의 비트 인터리버(116)(도 8)를 패리티 인터리버(23) 및 칼럼 트위스트 인터리버(24)를 설치하지 않고 구성하는 경우에는, 도 75에서, 비트 디인터리버(165)는, 칼럼 트위스트 디인터리버(55) 및 패리티 디인터리버(1011)를 설치하지 않고 구성할 수 있다.
이 경우도, LDPC 디코더(166)는, 검사 행렬(H) 그 자체를 사용해서 LDPC 복호를 행하는 풀 시리얼 디코딩 방식의 복호 장치나, 검사 행렬(H) 그 자체를 사용해서 LDPC 복호를 행하는 풀 패럴렐 디코딩 방식의 복호 장치, 변환 검사 행렬(H')을 사용하여, P개 동시의 체크 노드 연산 및 배리어블 노드 연산에 의한 LDPC 복호를 행하는, 수신 데이터 재배열부(310)를 갖는 복호 장치(도 71)로 구성할 수 있다.
<수신 시스템의 구성예>
도 76은, 수신 장치(12)를 적용 가능한 수신 시스템의 제1 구성예를 도시하는 블록도이다.
도 76에서, 수신 시스템은, 취득부(1101), 전송로 복호 처리부(1102) 및 정보원 복호 처리부(1103)로 구성된다.
취득부(1101)는, 프로그램의 화상 데이터나 음성 데이터 등의 LDPC 대상 데이터를, 적어도 LDPC 부호화함으로써 얻어지는 LDPC 부호를 포함하는 신호를, 예를 들어 지상 디지털 방송, 위성 디지털 방송, CATV망, 인터넷 그 밖의 네트워크 등의, 도시하지 않은 전송로(통신로)를 통해서 취득하여, 전송로 복호 처리부(1102)에 공급한다.
여기서, 취득부(1101)가 취득하는 신호가, 예를 들어 방송국으로부터, 지상파나, 위성파, CATV(Cable Television)망 등을 통해서 방송되어 오는 경우에는, 취득부(1101)는, 튜너나 STB(Set Top Box) 등으로 구성된다. 또한, 취득부(1101)가 취득하는 신호가, 예를 들어 web 서버로부터, IPTV(Internet Protocol Television)와 같이 멀티캐스트로 송신되어 오는 경우에는, 취득부(1101)는, 예를 들어 NIC(Network Interface Card) 등의 네트워크 I/F(Inter face)로 구성된다.
전송로 복호 처리부(1102)는, 수신 장치(12)에 상당한다. 전송로 복호 처리부(1102)는, 취득부(1101)가 전송로를 통해서 취득한 신호에 대하여, 전송로에서 발생하는 오류를 정정하는 처리를 적어도 포함하는 전송로 복호 처리를 실시하고, 그 결과 얻어지는 신호를, 정보원 복호 처리부(1103)에 공급한다.
즉, 취득부(1101)가 전송로를 통해서 취득한 신호는, 전송로에서 발생하는 오류를 정정하기 위한 오류 정정 부호화를 적어도 행함으로써 얻어진 신호이며, 전송로 복호 처리부(1102)는, 그러한 신호에 대하여, 예를 들어 오류 정정 처리 등의 전송로 복호 처리를 실시한다.
여기서, 오류 정정 부호화로서는, 예를 들어 LDPC 부호화나, BCH 부호화 등이 있다. 여기에서는, 오류 정정 부호화로서, 적어도 LDPC 부호화가 행하여지고 있다.
또한, 전송로 복호 처리에는, 변조 신호의 복조 등이 포함되는 경우가 있다.
정보원 복호 처리부(1103)는, 전송로 복호 처리가 실시된 신호에 대하여, 압축된 정보를 원래의 정보로 신장하는 처리를 적어도 포함하는 정보원 복호 처리를 실시한다.
즉, 취득부(1101)가 전송로를 통해서 취득한 신호에는, 정보로서의 화상이나 음성 등의 데이터량을 적게 하기 위해서, 정보를 압축하는 압축 부호화가 실시되어 있는 경우가 있으며, 그 경우, 정보원 복호 처리부(1103)는, 전송로 복호 처리가 실시된 신호에 대하여 압축된 정보를 원래의 정보로 신장하는 처리(신장 처리) 등의 정보원 복호 처리를 실시한다.
또한, 취득부(1101)가 전송로를 통해서 취득한 신호에, 압축 부호화가 실시되어 있지 않은 경우에는, 정보원 복호 처리부(1103)에서는, 압축된 정보를 원래의 정보로 신장하는 처리는 행하여지지 않는다.
여기서, 신장 처리로서는, 예를 들어 MPEG 디코드 등이 있다. 또한, 전송로 복호 처리에는, 신장 처리 외에, 디스크램블 등이 포함되는 경우가 있다.
이상과 같이 구성되는 수신 시스템에서는, 취득부(1101)에 있어서, 예를 들어 화상이나 음성 등의 데이터에 대하여, MPEG 부호화 등의 압축 부호화가 실시되고, 또한 LDPC 부호화 등의 오류 정정 부호화가 실시된 신호가, 전송로를 통해서 취득되어, 전송로 복호 처리부(1102)에 공급된다.
전송로 복호 처리부(1102)에서는, 취득부(1101)로부터의 신호에 대하여, 예를 들어 수신 장치(12)가 행하는 것과 마찬가지의 처리 등이, 전송로 복호 처리로서 실시되고, 그 결과 얻어지는 신호가, 정보원 복호 처리부(1103)에 공급된다.
정보원 복호 처리부(1103)에서는, 전송로 복호 처리부(1102)로부터의 신호에 대하여, MPEG 디코드 등의 정보원 복호 처리가 실시되고, 그 결과 얻어지는 화상, 또는 음성이 출력된다.
이상과 같은 도 76의 수신 시스템은, 예를 들어 디지털 방송으로서의 텔레비전 방송을 수신하는 텔레비전 튜너 등에 적용할 수 있다.
또한, 취득부(1101), 전송로 복호 처리부(1102) 및 정보원 복호 처리부(1103)는, 각각, 1개의 독립된 장치(하드웨어(IC(Integrated Circuit) 등), 또는 software module)로서 구성하는 것이 가능하다.
또한, 취득부(1101), 전송로 복호 처리부(1102) 및 정보원 복호 처리부(1103)에 대해서는, 취득부(1101)와 전송로 복호 처리부(1102)와의 세트나, 전송로 복호 처리부(1102)와 정보원 복호 처리부(1103)와의 세트, 취득부(1101), 전송로 복호 처리부(1102) 및 정보원 복호 처리부(1103)의 세트를, 1개의 독립된 장치로서 구성하는 것이 가능하다.
도 77은, 수신 장치(12)를 적용 가능한 수신 시스템의 제2 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 76의 경우와 대응하는 부분에 대해서는, 동일한 부호를 부여하고 있어, 이하에서는, 그 설명은 적절히 생략한다.
도 77의 수신 시스템은, 취득부(1101), 전송로 복호 처리부(1102) 및 정보원 복호 처리부(1103)를 갖는 점에서, 도 76의 경우와 공통되며, 출력부(1111)가 새롭게 설치되어 있는 점에서, 도 76의 경우와 상이하다.
출력부(1111)는, 예를 들어 화상을 표시하는 표시 장치나, 음성을 출력하는 스피커이며, 정보원 복호 처리부(1103)로부터 출력되는 신호로서의 화상이나 음성 등을 출력한다. 즉, 출력부(1111)는, 화상을 표시하고, 또는, 음성을 출력한다.
이상과 같은 도 77의 수신 시스템은, 예를 들어 디지털 방송으로서의 텔레비전 방송을 수신하는 TV(텔레비전 수상기)나, 라디오 방송을 수신하는 라디오 수신기 등에 적용할 수 있다.
또한, 취득부(1101)에 있어서 취득된 신호에, 압축 부호화가 실시되어 있지 않은 경우에는, 전송로 복호 처리부(1102)가 출력하는 신호가, 출력부(1111)에 공급된다.
도 78은, 수신 장치(12)를 적용 가능한 수신 시스템의 제3 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 76의 경우와 대응하는 부분에 대해서는, 동일한 부호를 부여하고 있어, 이하에서는, 그 설명은 적절히 생략한다.
도 78의 수신 시스템은, 취득부(1101) 및 전송로 복호 처리부(1102)를 갖는 점에서, 도 76의 경우와 공통된다.
단, 도 78의 수신 시스템은, 정보원 복호 처리부(1103)가 설치되어 있지 않고, 기록부(1121)가 새롭게 설치되어 있는 점에서, 도 76의 경우와 상이하다.
기록부(1121)는, 전송로 복호 처리부(1102)가 출력하는 신호(예를 들어, MPEG의 TS의 TS 패킷)를, 광 디스크나, 하드 디스크(자기 디스크), 플래시 메모리 등의 기록(기억) 매체에 기록한다(기억시킨다).
이상과 같은 도 78의 수신 시스템은, 텔레비전 방송을 녹화하는 레코더 등에 적용할 수 있다.
또한, 도 78에서, 수신 시스템은, 정보원 복호 처리부(1103)를 설치해서 구성하고, 정보원 복호 처리부(1103)에서, 정보원 복호 처리가 실시된 후의 신호, 즉, 디코드에 의해 얻어지는 화상이나 음성을, 기록부(1121)로 기록할 수 있다.
<컴퓨터의 일 실시 형태>
이어서, 상술한 일련의 처리는, 하드웨어에 의해 행할 수도 있고, 소프트웨어에 의해 행할 수도 있다. 일련의 처리를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 범용의 컴퓨터 등에 인스톨된다.
따라서, 도 79는, 상술한 일련의 처리를 실행하는 프로그램이 인스톨되는 컴퓨터의 일 실시 형태의 구성예를 나타내고 있다.
프로그램은, 컴퓨터에 내장되어 있는 기록 매체로서의 하드 디스크(705)나 ROM(703)에 미리 기록해 둘 수 있다.
또는, 또한 프로그램은, 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등의 리무버블 기록 매체(711)에, 일시적 또는 영속적으로 저장(기록)해 둘 수 있다. 이러한 리무버블 기록 매체(711)는, 소위 패키지 소프트 웨어로서 제공할 수 있다.
또한, 프로그램은, 상술한 바와 같은 리무버블 기록 매체(711)로부터 컴퓨터에 인스톨하는 것 외에, 다운로드 사이트로부터, 디지털 위성 방송용의 인공 위성을 통해서 컴퓨터에 무선으로 전송하거나, LAN(Local Area Network), 인터넷과 같은 네트워크를 통해서 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그렇게 해서 전송되어 오는 프로그램을, 통신부(708)에서 수신하고, 내장한 하드 디스크(705)에 인스톨할 수 있다.
컴퓨터는, CPU(Central Processing Unit)(702)를 내장하고 있다. CPU(702)에는, 버스(701)를 통해서, 입출력 인터페이스(710)가 접속되어 있고, CPU(702)는, 입출력 인터페이스(710)를 통해서, 유저에 의해, 키보드나, 마우스, 마이크 등으로 구성되는 입력부(707)가 조작되거나 함으로써 지령이 입력되면, 그것에 따라, ROM(Read Only Memory)(703)에 저장되어 있는 프로그램을 실행한다. 또는, 또한 CPU(702)는, 하드 디스크(705)에 저장되어 있는 프로그램, 위성 또는 네트워크로부터 전송되고, 통신부(708)에서 수신되어서 하드 디스크(705)에 인스톨된 프로그램, 또는 드라이브(709)에 장착된 리무버블 기록 매체(711)로부터 판독되어서 하드 디스크(705)에 인스톨된 프로그램을, RAM(Random Access Memory)(704)에 로드해서 실행한다. 이에 의해, CPU(702)는, 상술한 흐름도에 따른 처리, 또는 상술한 블록도의 구성에 의해 행하여지는 처리를 행한다. 그리고, CPU(702)는, 그 처리 결과를, 필요에 따라, 예를 들어 입출력 인터페이스(710)를 통해서, LCD(Liquid Crystal Display)나 스피커 등으로 구성되는 출력부(706)로부터 출력, 또는, 통신부(708)로로부터 송신, 나아가, 하드 디스크(705)에 기록시키거나 한다.
여기서, 본 명세서에 있어서, 컴퓨터에 각종 처리를 행하게 하기 위한 프로그램을 기술하는 처리 스텝은, 반드시 흐름도로서 기재된 순서에 따라서 시계열로 처리할 필요는 없으며, 병렬적 또는 개별로 실행되는 처리(예를 들어, 병렬 처리 또는 오브젝트에 의한 처리)도 포함하는 것이다.
또한, 프로그램은, 1개의 컴퓨터에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은, 먼 곳의 컴퓨터에 전송되어서 실행되는 것이어도 된다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.
즉, 예를 들어 상술한 Sx용 16k 부호(의 검사 행렬 초기값 테이블)는, 통신로(13)(도 7)로는, 위성 회선이나, 지상파, 케이블(유선 회선), 그 밖의 어느 것이어도 사용하는 것이 가능하다. 또한, Sx용 16k 부호는, 디지털 방송 이외의 데이터 전송에도 사용할 수 있다.
11 : 송신 장치 12 : 수신 장치
23 패리티 인터리버 24 : 칼럼 트위스트 인터리버
25 : 디멀티플렉서 31 : 메모리
32 : 교체부 54 : 멀티플렉서
55 : 칼럼 트위스트 디인터리버 111 : 모드 어댑테이션/멀티플렉서
112 : 패더 113 : BB 스크램블러
114 : BCH 인코더 115 : LDPC 인코더
116 : 비트 인터리버 117 : 맵퍼
118 : 시간 인터리버 119 : SISO/MISO 인코더
120 : 주파수 인터리버 121 : BCH 인코더
122 : LDPC 인코더 123 : 맵퍼
124 : 주파수 인터리버
131 : 프레임 빌더/리소스 얼로케이션부
132 : OFDM 생성부 151 : OFDM 처리부
152 : 프레임 관리부 153 : 주파수 디인터리버
154 : 디맵퍼 155 : LDPC 디코더
156 : BCH 디코더 161 : 주파수 디인터리버
162 : SISO/MISO 디코더 163 : 시간 디인터리버
164 : 디맵퍼 165 : 비트 디인터리버
166 : LDPC 디코더 167 : BCH 디코더
168 : BB 디스크램블러 169 : 널 삭제부
170 : 디멀티플렉서 210 : Tx부
211 : FEC부 212 : 맵핑부
213 : 업 샘플링부 214 : 나이키스트 필터부
220 : Rx부 221 : AGC부
222 : 승산기 223 : 롤 오프 필터
224 : 다운 샘플링부 225 : CSI부
226 : 디맵핑부 227 : FEC부
230 : 채널부 231 : IBO부
232 : 승산기 233 : TWTA부
234 : AWGN부 235 : 가산기
300 : 가지 데이터 저장용 메모리 301 : 셀렉터
302 : 체크 노드 계산부 303 : 사이클릭 시프트 회로
304 : 가지 데이터 저장용 메모리 305 : 셀렉터
306 : 수신 데이터용 메모리 307 : 배리어블 노드 계산부
308 : 사이클릭 시프트 회로 309 : 복호 계산부
310 : 수신 데이터 재배열부 311 : 복호 데이터 재배열부
601 : 부호화 처리부 602 : 기억부
611 : 부호화율 설정부 612 : 초기값 테이블 판독부
613 : 검사 행열 생성부 614 : 정보 비트 판독부
615 : 부호화 패리티 계산부 616 : 제어부
701 : 버스 702 : CPU
703 : ROM 704 : RAM
705 : 하드 디스크 706 : 출력부
707 : 입력부 708 : 통신부
709 : 드라이브 710 : 입출력 인터페이스
711 : 리무버블 기록 매체 1001 : 역 교체부
1002 : 메모리 1011 : 패리티 디인터리버
1101 : 취득부 1101 : 전송로 복호 처리부
1103 : 정보원 복호 처리부 1111 : 출력부
1121 : 기록부

Claims (18)

  1. 데이터 처리 장치로서,
    심볼들을 수신하도록 구성된 수신부;
    수신된 심볼들을 심볼들로부터 LDPC(Low Density Parity Check) 부호어의 부호 비트들로 디매핑하도록 구성된 디매핑부 - 8PSK에 의해 정의되는 8개의 신호점 중 임의의 것에 대응하는 각각의 심볼은 3개의 비트 y0, y1 및 y2로 표현되고, 비트 y0은 최상위 비트(MSB)에 대응하고, 상기 LDPC 부호어의 3개의 비트의 세트에 디매핑되고, 상기 세트는 3개의 비트 b0, b1 및 b2에 의해 표현되고, 상기 비트 b0은 최상위 비트에 대응하고, 심볼 y1은 비트 b0 상에 디매핑되고, 심볼 y0은 비트 b1 상에 디매핑되고, 심볼 y2는 비트 b2 상에 디매핑됨 -;
    상기 LDPC 코드의 패리티 검사 행렬에 기초하여, 16200 비트의 부호어 길이와 8/15의 부호 레이트를 갖는 상기 LDPC 부호어를 복호하도록 구성된 복호부를 포함하고,
    상기 LDPC 부호어는 정보 비트들 및 패리티 비트들을 포함하고,
    상기 패리티 검사 행렬은 상기 정보 비트들에 대응하는 정보 행렬부 및 상기 패리티 비트들에 대응하는 패리티 행렬부를 포함하고,
    상기 정보 행렬부는 패리티 검사 행렬 초기값 테이블에 의해 표현되고,
    상기 패리티 검사 행렬 초기값 테이블은 상기 정보 행렬부의 1의 요소들의 위치들을 360열 단위로 나타내는 테이블이며, 상기 테이블은,
    32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
    1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
    2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
    574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
    14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
    4075 4188 7313 7553
    5145 6018 7148 7507
    3198 4858 6983 7033
    3170 5126 5625 6901
    2839 6093 7071 7450
    11 3735 5413
    2497 5400 7238
    2067 5172 5714
    1889 7173 7329
    1795 2773 3499
    2695 2944 6735
    3221 4625 5897
    1690 6122 6816
    5013 6839 7358
    1601 6849 7415
    2180 7389 7543
    2121 6838 7054
    1948 3109 5046
    272 1015 7464
    를 포함하는 데이터 처리 장치.
  2. 제1항에 있어서, 상기 디매핑부는 16200/3 = 5400개의 심볼을 3개의 비트의 5400개의 세트 상에 디매핑하여 상기 LDPC 부호어의 16200개의 부호 비트를 획득하도록 구성되는 데이터 처리 장치.
  3. 제1항에 있어서,
    상기 복호부로부터 획득된 데이터의 소스 복호를 수행하도록 구성된 소스 복호 처리부; 및
    상기 소스 복호 처리부으로부터 획득된 화상을 표시하거나 음성을 출력하도록 구성된 출력부를 포함하는 데이터 처리 장치.
  4. 제1항에 있어서, 상기 수신부는 위성으로부터 심볼들을 수신하도록 구성되는 데이터 처리 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 데이터 처리 장치는 텔레비전 수상기인 데이터 처리 장치.
  6. 데이터 처리 방법으로서,
    심볼들을 수신하도록 구성된 수신 단계;
    수신된 심볼들을 심볼들로부터 LDPC(Low Density Parity Check) 부호어의 부호 비트들로 디매핑하는 디매핑 단계 - 8PSK에 의해 정의되는 8개의 신호점 중 임의의 것에 대응하는 각각의 심볼은 3개의 비트 y0, y1 및 y2로 표현되고, 비트 y0은 최상위 비트(MSB)에 대응하고, 상기 LDPC 부호어의 3개의 비트의 세트에 디매핑되고, 상기 세트는 3개의 비트 b0, b1 및 b2에 의해 표현되고, 상기 비트 b0은 최상위 비트에 대응하고, 심볼 y1은 비트 b0 상에 디매핑되고, 심볼 y0은 비트 b1 상에 디매핑되고, 심볼 y2는 비트 b2 상에 디매핑됨 -;
    상기 LDPC 코드의 패리티 검사 행렬에 기초하여, 16200 비트의 부호어 길이와 8/15의 부호 레이트를 갖는 상기 LDPC 부호어를 복호하는 복호 단계를 포함하고,
    상기 LDPC 부호어는 정보 비트들 및 패리티 비트들을 포함하고,
    상기 패리티 검사 행렬은 상기 정보 비트들에 대응하는 정보 행렬부 및 상기 패리티 비트들에 대응하는 패리티 행렬부를 포함하고,
    상기 정보 행렬부는 패리티 검사 행렬 초기값 테이블에 의해 표현되고,
    상기 패리티 검사 행렬 초기값 테이블은 상기 정보 행렬부의 1의 요소들의 위치들을 360열마다 나타내는 테이블이며, 상기 테이블은,
    32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
    1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
    2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
    574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
    14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
    4075 4188 7313 7553
    5145 6018 7148 7507
    3198 4858 6983 7033
    3170 5126 5625 6901
    2839 6093 7071 7450
    11 3735 5413
    2497 5400 7238
    2067 5172 5714
    1889 7173 7329
    1795 2773 3499
    2695 2944 6735
    3221 4625 5897
    1690 6122 6816
    5013 6839 7358
    1601 6849 7415
    2180 7389 7543
    2121 6838 7054
    1948 3109 5046
    272 1015 7464
    로서 표현되는 데이터 처리 방법.
  7. 제6항에 있어서, 상기 디매핑 단계는 16200/3 = 5400개의 심볼을 3개의 비트의 5400개의 세트 상에 디매핑하여 상기 LDPC 부호어의 16200개의 부호 비트를 획득하는 단계를 포함하는 데이터 처리 방법.
  8. 제6항에 있어서,
    상기 복호 단계로부터 획득된 데이터의 소스 복호를 수행하는 소스 복호 처리 단계; 및
    상기 소스 복호 처리 단계로부터 획득된 화상을 표시하거나 음성을 출력하는 출력 단계를 포함하는 데이터 처리 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 수신 단계는 위성으로부터 심볼들을 수신하는 단계를 포함하는 데이터 처리 방법.
  10. 데이터 처리 장치로서,
    심볼들을 수신하도록 구성된 수신부;
    수신된 심볼들을 심볼들로부터 LDPC(Low Density Parity Check) 부호어의 부호 비트들로 디매핑하도록 구성된 디매핑부 - 16APSK에 의해 정의되는 16개의 신호점 중 임의의 것에 대응하는 각각의 심볼은 4개의 비트 y0, y1, y2 및 y3으로 표현되고, 비트 y0은 최상위 비트(MSB)에 대응하고, 상기 LDPC 부호어의 4개의 비트의 세트에 디매핑되고, 상기 세트는 4개의 비트 b0, b1, b2 및 b3에 의해 표현되고, 상기 비트 b0은 최상위 비트에 대응하고, 심볼 y2는 비트 b0 상에 디매핑되고, 심볼 y1은 비트 b1 상에 디매핑되고, 심볼 y0은 비트 b2 상에 디매핑되고, 심볼 y3은 비트 b3 상에 디매핑됨 -;
    상기 LDPC 코드의 패리티 검사 행렬에 기초하여, 16200 비트의 부호어 길이와 8/15의 부호 레이트를 갖는 상기 LDPC 부호어를 복호하도록 구성된 복호부를 포함하고,
    상기 LDPC 부호어는 정보 비트들 및 패리티 비트들을 포함하고,
    상기 패리티 검사 행렬은 상기 정보 비트들에 대응하는 정보 행렬부 및 상기 패리티 비트들에 대응하는 패리티 행렬부를 포함하고,
    상기 정보 행렬부는 패리티 검사 행렬 초기값 테이블에 의해 표현되고,
    상기 패리티 검사 행렬 초기값 테이블은 상기 정보 행렬부의 1의 요소들의 위치들을 360열 단위로 나타내는 테이블이며, 상기 테이블은,
    32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
    1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
    2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
    574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
    14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
    4075 4188 7313 7553
    5145 6018 7148 7507
    3198 4858 6983 7033
    3170 5126 5625 6901
    2839 6093 7071 7450
    11 3735 5413
    2497 5400 7238
    2067 5172 5714
    1889 7173 7329
    1795 2773 3499
    2695 2944 6735
    3221 4625 5897
    1690 6122 6816
    5013 6839 7358
    1601 6849 7415
    2180 7389 7543
    2121 6838 7054
    1948 3109 5046
    272 1015 7464
    를 포함하는 데이터 처리 장치.
  11. 제10항에 있어서, 상기 디매핑부는 16200/4 = 4050개의 심볼을 4개의 비트의 4050개의 세트 상에 디매핑하여 상기 LDPC 부호어의 16200개의 부호 비트를 획득하도록 구성되는 데이터 처리 장치.
  12. 제10항에 있어서,
    상기 복호부로부터 획득된 데이터의 소스 복호를 수행하도록 구성된 소스 복호 처리부; 및
    상기 소스 복호 처리부으로부터 획득된 화상을 표시하거나 음성을 출력하도록 구성된 출력부를 포함하는 데이터 처리 장치.
  13. 제10항에 있어서, 상기 수신부는 위성으로부터 심볼들을 수신하도록 구성되는 데이터 처리 장치.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서, 상기 데이터 처리 장치는 텔레비전 수상기인 데이터 처리 장치.
  15. 데이터 처리 방법으로서,
    심볼들을 수신하도록 구성된 수신 단계;
    수신된 심볼들을 심볼들로부터 LDPC(Low Density Parity Check) 부호어의 부호 비트들로 디매핑하는 디매핑 단계 - 16APSK에 의해 정의되는 16개의 신호점 중 임의의 것에 대응하는 각각의 심볼은 4개의 비트 y0, y1, y2 및 y3으로 표현되고, 비트 y0은 최상위 비트(MSB)에 대응하고, 상기 LDPC 부호어의 4개의 비트의 세트에 디매핑되고, 상기 세트는 4개의 비트 b0, b1, b2 및 b3에 의해 표현되고, 상기 비트 b0은 최상위 비트에 대응하고, 심볼 y2는 비트 b0 상에 디매핑되고, 심볼 y1은 비트 b1 상에 디매핑되고, 심볼 y0은 비트 b2 상에 디매핑되고, 심볼 y3은 비트 b3 상에 디매핑됨 -;
    상기 LDPC 코드의 패리티 검사 행렬에 기초하여, 16200 비트의 부호어 길이와 8/15의 부호 레이트를 갖는 상기 LDPC 부호어를 복호하는 복호 단계를 포함하고,
    상기 LDPC 부호어는 정보 비트들 및 패리티 비트들을 포함하고,
    상기 패리티 검사 행렬은 상기 정보 비트들에 대응하는 정보 행렬부 및 상기 패리티 비트들에 대응하는 패리티 행렬부를 포함하고,
    상기 정보 행렬부는 패리티 검사 행렬 초기값 테이블에 의해 표현되고,
    상기 패리티 검사 행렬 초기값 테이블은 상기 정보 행렬부의 1의 요소들의 위치들을 360열마다 나타내는 테이블이며, 상기 테이블은,
    32 384 430 591 1296 1976 1999 2137 2175 3638 4214 4304 4486 4662 4999 5174 5700 6969 7115 7138 7189
    1788 1881 1910 2724 4504 4928 4973 5616 5686 5718 5846 6523 6893 6994 7074 7100 7277 7399 7476 7480 7537
    2791 2824 2927 4196 4298 4800 4948 5361 5401 5688 5818 5862 5969 6029 6244 6645 6962 7203 7302 7454 7534
    574 1461 1826 2056 2069 2387 2794 3349 3366 4951 5826 5834 5903 6640 6762 6786 6859 7043 7418 7431 7554
    14 178 675 823 890 930 1209 1311 2898 4339 4600 5203 6485 6549 6970 7208 7218 7298 7454 7457 7462
    4075 4188 7313 7553
    5145 6018 7148 7507
    3198 4858 6983 7033
    3170 5126 5625 6901
    2839 6093 7071 7450
    11 3735 5413
    2497 5400 7238
    2067 5172 5714
    1889 7173 7329
    1795 2773 3499
    2695 2944 6735
    3221 4625 5897
    1690 6122 6816
    5013 6839 7358
    1601 6849 7415
    2180 7389 7543
    2121 6838 7054
    1948 3109 5046
    272 1015 7464
    로서 표현되는 데이터 처리 방법.
  16. 제15항에 있어서, 상기 디매핑 단계는 16200/4 = 4050개의 심볼을 4개의 비트의 4050개의 세트 상에 디매핑하여 상기 LDPC 부호어의 16200개의 부호 비트를 획득하는 단계를 포함하는 데이터 처리 방법.
  17. 제15항에 있어서,
    상기 복호 단계로부터 획득된 데이터의 소스 복호를 수행하는 소스 복호 처리 단계; 및
    상기 소스 복호 처리 단계로부터 획득된 화상을 표시하거나 음성을 출력하는 출력 단계를 포함하는 데이터 처리 방법.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 수신 단계는 위성으로부터 심볼들을 수신하는 단계를 포함하는 데이터 처리 방법.
KR1020207013854A 2013-05-02 2014-04-21 데이터 처리 장치 및 데이터 처리 방법 KR102240220B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013096996 2013-05-02
JPJP-P-2013-096996 2013-05-02
PCT/JP2014/061156 WO2014178300A1 (ja) 2013-05-02 2014-04-21 データ処理装置、及びデータ処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020157031034A Division KR102113900B1 (ko) 2013-05-02 2014-04-21 데이터 처리 장치 및 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20200056482A KR20200056482A (ko) 2020-05-22
KR102240220B1 true KR102240220B1 (ko) 2021-04-13

Family

ID=51843434

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207013854A KR102240220B1 (ko) 2013-05-02 2014-04-21 데이터 처리 장치 및 데이터 처리 방법
KR1020157031034A KR102113900B1 (ko) 2013-05-02 2014-04-21 데이터 처리 장치 및 데이터 처리 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157031034A KR102113900B1 (ko) 2013-05-02 2014-04-21 데이터 처리 장치 및 데이터 처리 방법

Country Status (11)

Country Link
US (1) US9793925B2 (ko)
EP (1) EP2993794B1 (ko)
JP (1) JP6229902B2 (ko)
KR (2) KR102240220B1 (ko)
CN (1) CN105210299B (ko)
AU (1) AU2014260829B2 (ko)
BR (1) BR112015027141B1 (ko)
CA (1) CA2909311C (ko)
HU (1) HUE058811T2 (ko)
RU (1) RU2656725C2 (ko)
WO (1) WO2014178300A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015027135B1 (pt) * 2013-05-02 2022-02-15 Sony Corporation Dispositivo e método de processamento de dados
RU2658791C2 (ru) * 2013-05-02 2018-06-22 Сони Корпорейшн Устройство обработки данных и способ обработки данных
WO2014178299A1 (ja) * 2013-05-02 2014-11-06 ソニー株式会社 データ処理装置、及びデータ処理方法
BR112015027153B1 (pt) 2013-05-02 2021-12-14 Sony Corp Dispositivo e método de processamento de dados
JP6747437B2 (ja) * 2015-06-10 2020-08-26 ソニー株式会社 データ処理装置、データ処理方法、およびプログラム
CN110190925B (zh) * 2018-02-23 2022-03-08 中兴通讯股份有限公司 一种数据处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012165161A1 (ja) 2011-05-27 2012-12-06 ソニー株式会社 データ処理装置、及び、データ処理方法
WO2012173061A1 (ja) 2011-06-15 2012-12-20 ソニー株式会社 データ処理装置、及び、データ処理方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
RU2426241C2 (ru) * 2006-10-26 2011-08-10 Квэлкомм Инкорпорейтед Схемы кодирования для передач беспроводной связи
US8145971B2 (en) * 2006-11-29 2012-03-27 Mediatek Inc. Data processing systems and methods for processing digital data with low density parity check matrix
US8234538B2 (en) * 2007-04-26 2012-07-31 Nec Laboratories America, Inc. Ultra high-speed optical transmission based on LDPC-coded modulation and coherent detection for all-optical network
JP4788650B2 (ja) * 2007-04-27 2011-10-05 ソニー株式会社 Ldpc復号装置およびその復号方法、並びにプログラム
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI459724B (zh) * 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
RU2440669C1 (ru) * 2007-12-13 2012-01-20 Нек Корпорейшн Устройство декодирования, устройство хранения данных, система обмена данными и способ декодирования
KR101623468B1 (ko) * 2008-03-03 2016-05-23 라이 라디오텔레비지오네 이탈리아나 에스.페.아. Ldpc 코딩된 변조 및 qam 성상도들에 대한 비트 치환 패턴들
ITTO20080472A1 (it) 2008-06-16 2009-12-17 Rai Radiotelevisione Italiana Spa Metodo di elaborazione di segnali digitali e sistema di trasmissione e ricezione che implementa detto metodo
JP5320964B2 (ja) * 2008-10-08 2013-10-23 ソニー株式会社 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム
US8793745B2 (en) * 2010-04-14 2014-07-29 Hughes Network Systems, Llc Method and apparatus for data rate controller for a code block multiplexing scheme
JP5542580B2 (ja) * 2010-08-25 2014-07-09 日本放送協会 送信装置及び受信装置
EP2536030A1 (en) * 2011-06-16 2012-12-19 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes and QAM constellations
EP2560311A1 (en) * 2011-08-17 2013-02-20 Panasonic Corporation Cyclic-block permutations for spatial multiplexing with quasi-cyclic LDPC codes
US8929400B2 (en) * 2013-02-10 2015-01-06 Hughes Network Systems, Llc Apparatus and method for support of communications services and applications over relatively low signal-to-noise ratio links
US9294131B2 (en) * 2013-02-10 2016-03-22 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
RU2658791C2 (ru) 2013-05-02 2018-06-22 Сони Корпорейшн Устройство обработки данных и способ обработки данных

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012165161A1 (ja) 2011-05-27 2012-12-06 ソニー株式会社 データ処理装置、及び、データ処理方法
WO2012173061A1 (ja) 2011-06-15 2012-12-20 ソニー株式会社 データ処理装置、及び、データ処理方法

Also Published As

Publication number Publication date
KR20200056482A (ko) 2020-05-22
CA2909311A1 (en) 2014-11-06
BR112015027141B1 (pt) 2022-09-06
CN105210299B (zh) 2019-06-21
AU2014260829B2 (en) 2016-07-07
RU2656725C2 (ru) 2018-06-06
CN105210299A (zh) 2015-12-30
AU2014260829A1 (en) 2015-11-12
US20160065244A1 (en) 2016-03-03
RU2015146020A (ru) 2017-04-28
HUE058811T2 (hu) 2022-09-28
BR112015027141A2 (pt) 2017-07-25
CA2909311C (en) 2022-05-03
JPWO2014178300A1 (ja) 2017-02-23
EP2993794A4 (en) 2017-04-19
KR102113900B1 (ko) 2020-05-21
US9793925B2 (en) 2017-10-17
EP2993794B1 (en) 2022-04-06
EP2993794A1 (en) 2016-03-09
RU2015146020A3 (ko) 2018-03-21
KR20160002860A (ko) 2016-01-08
JP6229902B2 (ja) 2017-11-22
WO2014178300A1 (ja) 2014-11-06

Similar Documents

Publication Publication Date Title
KR102023558B1 (ko) 데이터 처리 장치, 및 데이터 처리 방법
KR102091888B1 (ko) 데이터 처리 장치, 및 데이터 처리 방법
KR102198121B1 (ko) 데이터 처리 장치, 및 데이터 처리 방법
JP6233667B2 (ja) データ処理装置、及びデータ処理方法
KR102190362B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
KR20200140409A (ko) 데이터 처리 장치, 및, 데이터 처리 방법
KR20200140397A (ko) 데이터 처리 장치, 및, 데이터 처리 방법
KR102164370B1 (ko) 데이터 처리 장치, 및, 데이터 처리 방법
KR102240220B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
JP6229899B2 (ja) データ処理装置、及びデータ処理方法
JP6229900B2 (ja) データ処理装置、及びデータ処理方法
KR102113711B1 (ko) 데이터 처리 장치 및 데이터 처리 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant