KR101503382B1 - 수신장치와 방법 및 프로그램 - Google Patents
수신장치와 방법 및 프로그램 Download PDFInfo
- Publication number
- KR101503382B1 KR101503382B1 KR1020080097888A KR20080097888A KR101503382B1 KR 101503382 B1 KR101503382 B1 KR 101503382B1 KR 1020080097888 A KR1020080097888 A KR 1020080097888A KR 20080097888 A KR20080097888 A KR 20080097888A KR 101503382 B1 KR101503382 B1 KR 101503382B1
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- signal
- ldpc
- transmission control
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/007—Unequal error protection
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
- Selective Calling Equipment (AREA)
Abstract
데이터 신호와 전송 제어 신호의 양신호를 복호하는 LDPC 복호 수단과, 상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼 및, 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼와, 상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와, 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 상기 전송 제어 신호중에서 적어도 한 개의 신호를 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단으로 전송하여 상기 복호 대상 신호의 복호를 실시하는 제어 수단을 구비하는 수신장치.
복호, 입력 버퍼, 전송 제어 신호, LDPC 복호수단, 행렬
Description
본 발명은 2007년 10월 19일 일본 특허청에 제출된 일본 특허 번호 JP 2007-272518호와 관련된 주제를 포함하고 있으며, 그 내용은 참조로서 본 명세서에 포함되어 있다.
본 발명은, 수신장치와 방법 및 프로그램에 관한 것이며, 특히, 복호 성능을 유지하면서 회로 규모를 더욱 축소할 수 있는 수신장치와 방법 및 프로그램에 관한 것이다.
통신 시스템에서는, 코딩을 사용해 잡음이 있는 통신 채널상에서 신뢰성 있는 통신을 하고 있다. 예를 들면, 위성 네트워크와 같은 무선 시스템에서는, 지리적 및 환경적 요인으로 발생되는 잡음원이 많다. 이러한 통신 채널은 고정 용량을 나타내며, 어느 신호대 잡음비(SNR)에 있어서의 심볼 마다의 비트를 나타낼 수 있는 섀넌 한계(Shanon limit)로서 알려진 이론적 상한을 규정하고 있다. 결과적으로, 코딩 설계는 이 섀넌 한계에 가까워지는 레이트(rate)를 달성하는 것을 목적으로 하고 있다. 이 목적은, 대역폭을 제한하는 제한 위성 시스템에 대해서 특히 밀접한 관계가 있다.
근래에는, 섀넌 한계에 가까운 성능을 나타내는 암호화 방법으로서 예를 들면, PCCC(Parallel Concatenated Convolutional Codes)와 SCCC(Serially Concatenated Convolutional Codes)가 있으며, 이러한 것들은 이른바 터보 암호화(Turbo coding)라고 칭해진다. 이러한 터보 부호가 개발되면서, 옛부터 알려진 암호화 방법인 저밀도 패리티 검사 부호(Low Density Parity Check codes)(이하, LDPC 부호라고 칭한다)가 각광을 받고 있다.
LDPC 부호는, R.G.Gallager에 의해 Cambridge, Massachusetts: M.I.T.Press, 1963에 기재된 "Low Density Parity Check Codes"에서 최초로 제안된 것이며, 그 후, D.J.C.MacKay에 의해 IEEE Trans. Inf. Theory, IT-45, pp. 399-431,1999에 기재된 "Good error correcting codes based on very parse matrices"와 M.G. Luby, M.Mitzenmacher, M.A.Shokrollahi and D.A.Spielman에 의해 Proceedings of ACM Symposium on Theory of Computing, pp. 249-258,1998에 기재된 "Analysis of low density codes and improved designs using irregular graphs"에서 다시 주목받기시작했다.
LDPC 부호는, 최근의 연구에 의해, 터보 부호와 같이, 부호길이(code length)가 증가함에 따라, 섀넌 한계에 가까운 성능을 얻을 수 있는 것을 알 수 있었다. 또, LDPC 부호는, 최소 거리가 부호길이에 비례한다고 하는 성질이 있으므로, 그 특징으로서 블록 에러 확률 특성이 좋고, 게다가 터보 부호 등의 복호 특성에서 관측되는, 이른바 에러 플로어(error floor) 현상이 대부분 생기지 않는다는 이점이 있다.
이하, 이러한 LDPC 부호에 대해 구체적으로 설명한다. LDPC 부호는, 선형 부호이며, 반드시 이진수가 될 필요는 없지만, 여기에서는, 이진수가 되는 것으로서 가정한다.
LDPC 부호는, 그 LDPC 부호를 정의하는 패리티 검사 행렬(parity check matrix)이 스파스(sparse) 하다는 것을 최대의 특징으로 하는 것이다. 스파스 행렬이란, 행렬의 컴퍼넌트(component)의 "1"의 개수가 매우 적게 구성되는 것이며, 스파스 패리티 검사 행렬을 H로 나타내는 것으로 하면, 그러한 패리티 검사 행렬 H는, 예를 들면, 도 1에 도시한 바와 같이, 각 열의 허밍 가중치(hamming weight)("1"의 수)가 "3"이 되는 것과 각 행의 허밍 가중치가 "6"인 것을 포함한다.
이와 같이, 각 행 및 각 열의 허밍 가중치가 일정한 패리티 검사 행렬 H에 의해서 정의되는 LDPC 부호는, 규칙적인(regular) LDPC 부호라고 칭해진다. 한편, 각 행 및 각 열의 허밍 가중치가 일정하지 않는 패리티 검사 행렬 H에 의해서 정의되는 LDPC 부호는, 불규칙 LDPC 부호라고 칭해진다.
이러한 LDPC 부호에 의한 암호화는, 패리티 검사 행렬 H에 근거해 생성 행렬 G를 생성하고, 생성된 행렬 G를 이진수의 정보 메시지에 대해서 곱셈하는 것에 의해서 부호어(code word)를 생성하는 것으로 실현된다. 구체적으로는, LDPC 부호에 의한 암호화를 실시하는 암호화 장치는, 우선, 패리티 검사 행렬 H의 전치행렬 HT와의 사이에, 식 GHT=0이 성립하는 생성 행렬 G를 산출한다. 여기서, 생성 행렬 G가, k×n행렬인 경우에는, 암호화 장치는, 생성 행렬 G에 대해서 k비트로 구성 되는 정보 메시지(벡터 u)를 곱셈해, n비트 구성되는 부호어 c(=uG)를 생성한다. 이 암호화 장치에 의해서 생성된 부호어에서는, 값이 "0"의 부호 비트가 "+1"로, 값이 "1"의 부호 비트가 "-1"로 매핑 되어, 그 매핑된 부호가 소정의 통신로를 통해 수신측으로 수신된다.
한편, LDPC 부호의 복호는, Gallager가 확률 복호(Probabilistic Decoding) 로 칭해 제안한 알고리즘이며, 가변 노드(메시지 노드(message node)라고도 불린다.)와 체크 노드(check node)로 구성된, 이른바 타나 그래프(Tannar graph)상에서의 확률 전파(belief propagation)에 의한 메시지·패싱·알고리즘에 의해서 실시하는 것이 가능하다. 여기서, 가변 노드와 체크 노드를 단지 노드라고도 한다.
하지만, 확률 복호에서는, 각 노드 사이에서 전달되는 메시지가 실수치(real value)가 되므로, 분석학적인 해결책은, 연속한 값을 받는 메시지의 확률 분포 그 자체를 추적할 필요가 있어, 해석하기가 무척 어렵다. 그러므로, Gallager는, LDPC 부호의 복호 알고리즘으로서 알고리즘 A 또는 알고리즘 B를 제안하고 있다.
LDPC 부호의 복호는, 예를 들면, 도 2에 나타내는 순서에 따라서 행해진다. 여기에서는, 부호길이의 길이를 가지는 LDPC 부호의 수신 데이터의 i번째를 U0(u0i)로 하고, 체크 노드로부터 출력되는 j번째의 메시지(체크 노드에 접속하고 있는 j번째의 가지(edge)로부터 출력되는 메시지)를 uj로 하고, 가변 노드로부터 출력되는 i번째의 메시지(가변 노드에 접속하고 있는 i번째의 가지로부터 출력되는 메시지)를 vi로 가정한다. 메시지란, 값이 "0"이 되는 확률을 나타내는, 이른바 대수 확률비율(log likelihood ratio) 등을 표현하는 실수치이다.
우선, LDPC 부호의 복호에 대해서는, 도 2에 도시한 바와 같이, 스텝(S11)에 있어서, 수신 데이터 U0(u0i)가 수신되어, 메시지 u0j가 "0"으로 초기화되는 동시에, 반복 처리의 카운터로서의 정수를 취하는 변수 k가 "0"으로 초기화되며, 그 후에 처리는, 스텝(S12)으로 진행된다. 스텝(S12)에 있어서, 수신 데이터 U0(u0i)를 이용하여, 식(1)에 나타내는 가변 노드의 연산을 실시하는 것에 의해서 메시지 vi가 구해지며, 게다가 이 메시지 vi를 이용하여, 식(2)에 나타내는 체크 노드의 연산을 실시하는 것에 의해서 메시지 uj가 구해진다.
[식 1]
[식 2]
여기서, 식(1)과 식(2)에 있어서의 dv와 dc는, 각각, 패리티 검사 행렬 H의 세로 방향(열)과 횡방향(행)의 "1"의 개수, 즉, 열의 가중치(허밍 가중치)와 행의 가중치를 나타내는 선택 가능한 파라미터이며, 예를 들면,(3,6)부호의 경우에는, dv=3, dc=6으로 된다.
식(1) 또는(2)의 연산에 대해서는, 각각, 메시지를 출력하려고 하는 가지(edge)로부터 입력된 메시지가 합 또는 곱셈 연산의 대상으로 사용되지 않으므로, 합 또는 곱셈 연산의 범위가 1 내지 dv-1또는 1 내지 dc-1이 되고 있다. 식(2)에 나타내는 연산은, 2개의 입력 v1, v2에 대해서 1을 얻을 수 있는 식(3)에 나타나는 함수 R(v1,v2)의 테이블을 미리 작성해 두어, 이것을 식(4)에 기재된 바와 같이 재귀적(recursively)으로 이용하는 것에 의해서 실시할 수 있다.
[식 3]
[식 4]
스텝(S12)에서는, 변수 k가 "1"만큼 증가되어 처리는 스텝(S13)으로 진행된다. 스텝(S13)에서는, 변수 k가 소정의 반복 복호 회수 N보다 큰지 아닌지를 판정한다. 스텝(S13)에 있어서, 변수 k가 N이상은 아니하고 판정되었을 경우, 처리는 스텝(S12)으로 돌아와 같은 처리가 반복된다.
스텝(S13)에 있어서, 변수 k가 N이상이라고 판정되었을 경우, 처리는 스텝(S14)으로 진행되며, 식(5)에 나타내는 연산을 실시하는 것에 의해서 최종적으로 출력하는 복호 결과로서 메시지 v가 구해지며, 그 메시지 v는 출력되어, LDPC 부호의 복호 처리가 종료한다.
[식 5]
여기서, 식(5)의 연산은, 식(1)의 연산과는 달리, 가변 노드에 접속하고 있는 모든 가지로부터의 메시지 uj를 이용해 행해진다.
이러한 LDPC 부호의 복호에서는, 예를 들면(3,6)부호의 경우에는, 도 3에 도시한 바와 같이, 각 노드간에 메시지의 전달이 이루어진다. 도 3에서, "="(등식)에 의해 표시된 노드는, 가변 노드를 나타내며, 식(1)에 나타낸 가변 노드의 연산이 행해진다. 도 3에서, "+"(플러스)로 가리키는 노드는, 체크 노드를 나타내며, 식(2)에 나타낸 체크 노드의 연산을 한다. 특히, 알고리즘 A에 대해서는, 메시지를 이진수화하고, "+K"에 의해 표시된 체크 노드에서, dc-1개의 입력 메시지(체크 노드에 입력되는 메시지 vi)의 배타적 논리합연산을 실시하며, "="에 의해 표시된 가변 노드에서, 수신 데이터 R에 대해서, dv-1개의 입력 메시지(가변 노드에 입력되는 메시지 uj)가 모두 다른 비트였을 경우에는, 부호를 반전해 출력한다.
최근, LDPC 부호의 복호의 실장법(mounting method)에 관한 연구도 행해지고 있다. 실장 방법에 대해 말하기 전에, 우선, LDPC 부호의 복호를 도식화해 설명 한다.
도 4는, (3,6)부호의 LDPC 부호(암호화율 = 1/2, 부호길이 = 12)의 패리티 검사 행렬(parity check matrix) H의 예이다. LDPC 부호의 패리티 검사 행렬 H는, 도 5와 같이, 타나 그래프를 이용해 기입될 수 있다. 여기서, 도 5에 있어서, "+"에 의해 나타내지는 각 노드는 체크 노드이며, "="에 의해 나타내지는 각 노드는 가변 노드이다. 체크 노드와 가변 노드는 각각, 패리티 검사 행렬의 행과 열에 대응한다. 체크 노드와 가변 노드의 사이의 각각의 연결은 가지(edge)이며, 패리티 검사 행렬 H의 "1"에 상당한다. 즉, 패리티 검사 행렬의 제 j행, 제 i 열의 컴퍼넌트가 1인 경우에는, 도 5에 있어서, 위로부터 i번째의 가변 노드("="의 노드)와 위로부터 j번째의 체크 노드("+"의 노드)가 가지에 의해 접속된다. 가지는, 가변 노드에 대응하는(수신 데이터의) LDPC 부호의 비트가 체크 노드에 대응하는 구속 조건을 가지는 것을 나타낸다. 도 5는, 도 4의 패리티 검사 행렬 H의 타나 그래프가 되고 있다.
LDPC 부호의 복호 방법이 되는 합 곱 알고리즘(Sum Product Algorithm)은, 가변 노드의 연산과 체크 노드의 연산을 반복해 실시한다.
가변 노드에서는, 도 6과 같이, 식(1)의 가변 노드의 연산을 실시한다. 즉, 도 6에 있어서, 가변 노드에 접속하고 있는 가지 중 i번째의 가지에 대응하는 메시지 vi는, 가변 노드에 접속하고 있는 나머지의 가지로부터의 메시지 u1 및 u2 와 수신 데이터 u0i를 이용해 계산된다. 다른 가지에 대응하는 메시지도 이와 같 이 계산된다.
체크 노드의 연산에 대해 설명하기 전에, 식(2)는,
a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b)의 관계를 이용하여, 식(6)과 같이 다시 쓸수 있다. 단, sign(x)는, x≥0인 경우, 1(논리 0)이며, x<0인 경우, -1(논리 1)이다.
[식 6]
게다가 x≥0에 있어서, 비선형 함수φ(x) =-ln(tanh(x/2))을 정의하면, 그 역함수φ-1(x)은, 식φ-1(x)=2tanh-1(e-x)로 나타내지기 때문에, 식(6)은, 식(7)과 같이 쓸 수 있다.
[식 7]
각 체크 노드에서는, 도 7과 같이, 식(7)의 체크 노드의 연산을 실시한다. 즉, 도 7에 있어서, 체크 노드에 접속하고 있는 가지 중 j번째의 가지에 대응하는 메시지 uj는, 체크 노드에 연결되고 있는 나머지의 가지로부터의 메시지 v1, v2, v3, v4, v5를 이용해 계산된다. 다른 가지에 대응하는 메시지도 이와 같이 계산된다.
함수φ(x)는,φ(x)=ln((ex+1)/(ex-1))로 나타낼 수 있고, x>0에 있어서,φ(x)=φ-1(x), 즉, 비선형 함수φ(x)의 연산 결과와 그 역함수φ-1(x)의 연산 결과와는 동일하다. 함수φ(x) 및φ-1(x)을 하드웨어에 실장할 때, LUT(Look-Up Table)을 이용해 실장되는 경우가 있지만, 양자는 동일한 LUT가 된다.
또, 식(1)의 가변 노드의 연산은, 식(5)과 다음의 식(8)로 나눌 수 있다.
[식 8]
따라서, 식(5) 및 식(8)과 식(7)의 연산을 반복해 실시하는 것으로, 식(1)의 가변 노드의 연산과 식(7)의 체크 노드의 연산을 반복해 실시할 수 있다.
이 경우, 도 8에 도시된 바와 같이, 식(5) 및 식(8)의 가변 노드의 연산 중, 식(5)의 연산의 결과를, 그대로 최종적인 복호 결과로 할 수 있다.
합 곱 알고리즘을 하드웨어에 실장하고, 복호 장치로 하는 경우, 식(1), 식(5) 또는 식(8)에서 나타내지는 가변 노드 연산(가변 노드의 연산) 및 식(7)에서 나타내지는 체크 노드 연산(체크 노드의 연산)을 적당한 회로 규모와 동작 주파수를 가지고 반복해 실시하는 것이 필요하다.
복호 장치의 실장의 예로서 단순하게 각 노드의 연산을 한 개씩 차례로 진행하는 것에 의해서 복호를 실시하는 풀 직렬의 복호(full serial decoding)의 실장법에 대해 설명한다.
도 9는, LDPC 부호의 복호를 실시하는 복호 장치의 구성예를 나타내고 있다.
도 9의 복호 장치에서는, 동작 클락의 1클락(clock) 마다, 1개의 가지에 대응하는 메시지가 계산된다.
즉, 도 9의 복호 장치는, 메시지 계산부(101), 메시지 메모리(104), 수신치 메모리(105), 제어부(106)로 구성된다. 메시지 계산부(101)는 가변 노드 계산기(102)와 체크 노드 계산기(103)로 구성되어 있다.
도 9의 복호 장치에서는, 메시지 메모리(104)로부터 메시지 계산부(101)로 메시지가 1개씩 판독되며, 메시지 계산부(101)에 있어서, 그 메시지를 이용하여, 소망하는 가지에 대응하는 메시지가 계산된다. 그리고, 그 계산에 의해서 구할 수 있는 메시지가, 메시지 메모리(104)에 저장된다. 도 9의 복호 장치에서는, 이상의 처리가 반복해 행해진다. 즉, 이른바 반복 복호(repetitive decoding)를 한다.
즉, 수신치 메모리(105)는, 송신되어 오는 LDPC 부호를 수신하여 얻을 수 있는, 부호의 0(또는 1)의 확률을 나타내는 대수 확률 비율이 되는 수신 데이터(LDPC 부호)(D100)가 공급되며, 수신치 메모리(105)는 그 수신 데이터(D100)를 기억한다.
가변 노드 연산시에는, 수신치 메모리(105)는, 제어부(106)로부터 공급되는 제어 신호에 따라서, 기억하고 있는 수신 데이터를 판독하고, 그 판독된 수신 데이터를 수신 데이터(D101)로서, 메시지 계산부(101)의 가변 노드 계산기(102)에 공급한다.
또, 가변 노드 연산시에는, 메시지 메모리(104)는, 제어부(106)로부터 공급되는 제어 신호에 따라서, 기억하고 있는 메시지(체크 노드 메시지 uj)(D102)를 판독하고, 그 판독된 수신 데이터를 가변 노드 계산기(102)에 공급한다. 가변 노드 계산기(102)는, 메시지 메모리(104)로부터 공급되는 메시지(D102)와 수신치 메모리(105)로부터 공급되는 수신 데이터(D101)를 이용해 식(1)의 가변 노드 연산을 실시하여, 그 가변 노드 연산의 결과 얻어지는 메시지(가변 노드 메시지) vi를, 메시지(D103)로서 메시지 메모리(104)에 공급한다.
다음에, 메시지 메모리(104)는, 이상과 같이 가변 노드 계산기(102)로부터 공급되는 메시지(D103)를 기억한다.
한편, 체크 노드 연산시에는, 메시지 메모리(104)는, 제어부(106)로부터 공급되는 제어 신호에 따라서, 기억하고 있는 가변 노드 메시지 vi를, 메시지(D104)로서 판독하고, 그 판독된 메시지를 체크 노드 계산기(103)에 공급한다.
체크 노드 계산기(103)는, 메시지 메모리(104)로부터 공급되는 메시지(D104)를 이용하고, 식(7)의 체크 노드 연산을 실시해, 그 체크 노드 연산에 의해서 구할 수 있는 메시지(체크 노드 메시지) uj를, 메시지(D105)로서 메시지 메모리(104)에 공급한다.
그리고, 메시지 메모리(104)는, 이상과 같이 체크 노드 계산기(103)로부터 공급되는 메시지(D105)를 기억한다.
메시지 메모리(104)로부터 체크 노드 계산기(103)에 의해 공급된 메시지(D105), 즉, 체크 노드 메시지 uj는, 다음의 가변 노드 연산시에, 메시지(D102)로서 판독되어 가변 노드 계산기(102)에 공급된다.
도 10은, 가변 노드 연산을 한 개씩 실시하는 도 9의 가변 노드 계산기(102)의 구성예를 나타내고 있다.
가변 노드 계산기(102)는, 외부로부터 메시지(데이터)가 공급(입력)되는 입력 포트로서 2개의 입력 포트(P101, P102)를 가지며, 외부에 메시지를 공급(출력)하는 포트로서 1개의 출력 포트(P103)를 가지고 있다. 그리고, 가변 노드 계산기(102)는, 입력 포트(P101, P102)로부터 입력되는 메시지를 이용하고, 식(1)의 가변 노드 연산을 실시해, 그 결과 얻을 수 있는 메시지를, 출력 포트(P103)로부터 출력한다.
즉, 입력 포트(P101)에는, 수신치 메모리(105)로부터 판독된 수신 데이터(D101)가 공급된다. 또, 입력 포트(P102)에는, 메시지 메모리(104)로부터 판독된 메시지(D102)(체크 노드 메시지 uj)가 공급된다.
가변 노드 계산기(102)에서는, 패리티 검사 행렬의 각 행에 대응하는 체크 노드로부터의 메시지(D102)(메시지 uj)가 입력 포트(P102)로부터 1개씩 판독되어, 그 메시지(D102)가, 연산기(151)와 FIFO 메모리(155)에 공급된다. 또, 가변 노드 계산기(102)에서는, 수신치 메모리(105)로부터 수신 데이터(D101)가 입력 포트(P101)로부터 1개씩 판독되어 연산기(157)에 공급된다.
연산기(151)는, 메시지(D102)(메시지 uj)와 레지스터(152)에 저장되어 있는 값(D151)을 가산하는 것으로써, 메시지(D102)를 적산하고(integrate), 그 결과 얻을 수 있는 적산치를, 레지스터(152)에 다시 저장한다. 패리티 검사 행렬의 1열에 있는 모든 가지로부터의 메시지(D102)가 적산되었을 경우, 레지스터(152)는 0으로 리셋트 된다.
패리티 검사 행렬의 1열에 걸쳐 메시지(D102)가 1개씩 판독되고, 레지스터(152)에 1열분의 메시지(D102)가 적산된 값이 저장되었을 경우, 즉, 레지스터(152)에, 패리티 검사 행렬의 1열에 있는 모든 가지로부터의 메시지(D102)(메시지 uj)가 적산된 적산치(j=1로부터 dv까지의Σuj)가 저장되었을 경우, 선택기(153)는, 레지스터(152)에 저장되어 있는 값, 즉, 패리티 검사 행렬의 1열에 있는 모든 가지로부터의 메시지(D102)(메시지 uj)가 적산된 적산치(D151)(j=1로부터 dv까지의Σuj)를 선택해, 레지스터(154)에 출력하여 저장시킨다.
레지스터(154)는, 저장하고 있는 값(D151)을, 값(D152)으로서 선택기(153)와 연산기(156)에 공급한다. 레지스터(152)에 1열분의 메시지(D102)가 적산된 값이 저장되기 직전까지는, 선택기(153)는, 레지스터(154)로부터 공급된 값(D152)을 선택해, 레지스터(154)에 출력해 재저장시킨다. 즉, 패리티 검사 행렬의 1열에 있 는 모든 가지로부터의 메시지(D102)(메시지 uj)가 적산될 때까지, 레지스터(154)는, 마지막 적산된 값을, 선택기(153)와 연산기(156)에 공급한다.
한편, FIFO(First In First Out) 메모리(155)는, 레지스터(154)로부터 새로운 값(D152)(j=1로부터 dv까지의Σuj)가 출력될 때까지, 체크 노드로부터의 메시지(D102)를 지연시키고, 값(D153)으로서 연산기(156)에 공급한다. 연산기(156)는, 레지스터(154)로부터 공급된 값(D152)으로부터, FIFO 메모리(155)로부터 공급된 값(D153)을 감산한다. 즉, 연산기(156)는, 패리티 검사 행렬의 1열에 있는 모든 가지로부터의 메시지(D102)(메시지 uj)의 적산치(j=1으로부터 dv까지의Σuj)로부터, 구하고 싶은 가지로부터의 메시지 uj를 감산하고, 그 감산치(j=1로부터 dv-1까지의Σuj)를 구하여 연산기(157)에 공급한다.
연산기(157)는, 입력 포트(P101)로부터의 수신 데이터(D101)와 연산기(156)로부터의 감산치(j=1으로부터 dv-1까지의Σuj)를 가산하고, 그 결과 얻을 수 있는 가산치를 메시지(D103)(메시지 vi)로서 출력 포트(P103)로부터 출력한다.
이상과 같이, 가변 노드 계산기(102)에서는, 식(1)의 가변 노드 연산(vi=u0i+Σuj)을 실시하고, 그 결과 얻을 수 있는 메시지(가변 노드 메시지) vi가, 출력 포트(P103)로부터 출력된다.
도 11은, 체크 노드 연산을 한 개씩 실시하는 도 9의 체크 노드 계산기(103) 의 구성예를 나타내고 있다.
체크 노드 계산기(103)는, 외부로부터 메시지(데이터)가 공급(입력)되는 입력 포트로서 1개의 입력 포트(P111)를 가지며, 외부에 메시지를 공급(출력)하는 포트로서 1개의 출력 포트(P112)를 가지고 있다. 체크 노드 계산기(103)는, 입력 포트(P111)로부터 입력되는 메시지를 이용하고, 식(7)의 체크 노드 연산을 실시해, 그 결과 얻을 수 있는 메시지를, 출력 포트(P112)로부터 출력한다.
즉, 입력 포트(P111)에는, 메시지 메모리(104)로부터 판독된 메시지(D104)(가변 노드 메시지 vi)가 공급된다.
체크 노드 계산기(103)에서는, 패리티 검사 행렬의 각 열에 대응하는 가변 노드로부터의 메시지(D104)(메시지 vi)가 입력 포트(P111)로부터 1개씩 판독되고, 그 최상위비트를 제외한 하위 비트, 즉, 메시지(D104)의 절대치(D122)(|vi|)가, LUT(121)에 공급되는 것과 동시에, 최상위비트, 즉 메시지(D104)의 부호 비트(양음을 나타내는 비트)(D121)가, EXOR 회로(129)와 FIFO 메모리(133)에 각각 공급된다.
LUT(121)는, 거기에 입력되는 값을 인수 x로 하고, 식(7)의 체크 노드 연산에 있어서의 비선형 함수φ(x)의 연산 결과를 출력하는 LUT이며, 절대치(D122)(|vi|)의 공급에 대해서, 비선형 함수φ(|vi|)의 연산을 실시한 연산 결과(D123)(φ(|vi|)을 판독하고, 연산기(122)와 FIFO 메모리(127)에 공급한다.
연산기(122)는, 연산 결과(D123)(φ(|vi|))과 레지스터(123)에 저장되어 있는 값(D124)을 가산하는 것으로써, 연산 결과(D123)를 적산하고, 그 결과 얻을 수 있는 적산치를 레지스터(123)에 재저장한다. 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 절대치(D122)(|vi|)에 대한 연산 결과(D123)(φ(|vi|))가 적산되었을 경우, 레지스터(123)는 0으로 리셋트 된다.
패리티 검사 행렬의 1행에 있는 메시지(D104)가 1개씩 판독되고, 레지스터(123)에 1행 분의 연산 결과(D123)가 적산된 적산치가 저장되었을 경우, 선택기(124)는, 레지스터(123)에 저장되어 있는 값 즉, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)(메시지 vi)로부터 얻어지는 φ(|vi|)를 가지는 적산된 적산치(D124)(i=1로부터 dc까지의Σφ(|vi|))를 선택해, 값(D125)으로서 레지스터(125)에 출력해 저장시킨다. 레지스터(125)는, 저장하고 있는 값(D125)을, 값(D126)으로서 선택기(124)와 연산기(126)에 공급한다.
레지스터(123)에 1행 분의 연산 결과(D123)가 적산된 적산치가 저장되기 직전까지는, 선택기(124)는, 레지스터(125)로부터 공급된 값(D126)을 선택해, 레지스터(125)에 출력해 재저장시킨다. 즉, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)(메시지 vi)로부터 얻어지는(|vi|)가 적산될 때까지, 레지스터(125)는, 마지막 적산되된 φ(|vi|)의 적산치를, 선택기(124)와 연산기(126)에 공급한다.
한편, FIFO 메모리(127)는, 레지스터(125)로부터 새로운 값(D126)(i=1로부터 dc까지의Σφ(|vi|))이 출력될 때까지, LUT(121)가 출력한 연산 결과 (D123)(φ(|vi|)를 지연해, 값(D127)으로서 연산기(126)에 공급한다. 연산기(126)는, 레지스터(125)로부터 공급된 값(D126)으로부터, FIFO 메모리(127)로부터 공급된 값(D127)을 감산하고, 그 감산 결과를, 감산치(D128)로서 LUT(128)에 공급한다. 즉, 연산기(126)는, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)(메시지 vi)로부터 구해진 φ(|vi|)의 적산치(i=1로부터 dc까지의Σφ(|vi|)로부터, 구하고 싶은 가지로부터의 메시지(i=dc의 메시지 vi)로부터 구해진φ(|vi|)를 감산하고, 그 감산치(i=1로부터 dc-1까지의Σφ(|vi|))를 감산치(D128)로서 LUT(128)에 공급한다.
LUT(128)는, 거기에 입력되는 값을 인수 x로 하고, 식(7)의 체크 노드 연산에 있어서의 비선형 함수φ(x)의 역함수φ-1(x)의 연산 결과를 출력하는 LUT이며, 연산기(126)로부터의 감산치(D128)(i=1로부터 dc-1까지의Σφ(|vi|))의 공급에 대해서, 역함수φ-1(Σφ(|vi|))의 연산을 실시한 연산 결과(D129)(φ-1(Σφ(|vi|))를 출력한다.
상술한 것처럼, 동일한 인수 x에 대한 비선형 함수φ(x)의 연산 결과와 역함수φ-1(x)의 연산 결과와는 동일하기 때문에, LUT(121, 128)는, 동일 구성의 LUT가 되고 있다.
이상의 처리와 병행하여, EXOR 회로(129)는, 레지스터(130)에 저장되어 있는 값(D131)과 부호 비트(양음을 나타내는 비트: sign bits)(D121)와의 배타적 논리합을 연산하는 것으로써, 메시지(D104)의 부호 비트(D121)끼리의 곱셈을 실시해, 곱셈 결과(D130)를 레지스터(130)에 재저장한다. 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 부호 비트(D121)가 곱셈되었을 경우, 레지스터(130)는 리셋트 된다.
패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 부호 비트(D121)가 곱셈된 곱셈 결과(D130)(i=1로부터 dc까지의 ∏sign(vc))가 레지스터(130)에 저장되었을 경우, 선택기(131)는, 레지스터(130)에 저장되어 있는 값 즉, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 부호 비트(D121)가 곱셈된 값(D131)(i=1로부터 dc까지의 ∏sign(vi))을 선택해, 값(D132)으로서 레지스터(132)에 출력해 저장시킨다. 레지스터(132)는 저장하고 있는 값(D132)을 값(D133)으로서 선택기(131)와 EXOR 회로(134)에 공급한다.
패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 부호 비트(D121)가 곱셈된 곱셈 결과(D130)(i=1로부터 dc까지의 ∏sign(vi))가 레지스터(130)에 저장되기 직전까지는, 선택기(131)는, 레지스터(132)로부터 공급된 값(D133)을 선택해, 레지스터(132)에 출력해 재저장시킨다. 즉, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)(메시지 vi)의 부호 비트(D121)가 곱셈될 때까지, 레지스터(132)는, 마지막으로 저장한 값을, 선택기(131)와 EXOR 회로(134)에 공급한다.
한편, FIFO 메모리(133)는, 레지스터(132)로부터 새로운 값(D133)(i=1로부터 dc까지의 ∏sign(vi))이 EXOR 회로(134)에 공급될 때까지, 부호 비트(D121)를 지연 해, 1비트의 값(D134)으로서 EXOR 회로(134)에 공급한다. EXOR 회로(134)는, 레지스터(132)로부터 공급된 값(D133)과 FIFO 메모리(133)로부터 공급된 값(D134)의 배타적 논리합을 연산하는 것으로써, 값(D133)을 값(D134)으로 나누어, 그 결과를 값(D135)으로서 출력한다. 즉, EXOR 회로(134)는, 패리티 검사 행렬의 1행에 있는 모든 가지로부터의 메시지(D104)의 부호 비트(D121)(sign(vi))의 곱셈치를, 구하고 싶은 가지로부터의 메시지(D104)의 부호 비트(D121)(sign(vi))로 나누고, 그 결과치(i=1로부터 dc-1까지의 ∏sign(vi))를 값(D135)으로서 출력한다.
그리고, 체크 노드 계산기(103)에서는, LUT(128)로부터 출력된 연산 결과(D129)를 하위 비트로 하는 것과 동시에, EXOR 회로(134)로부터 출력된 결과치(D135)를 최상위비트(부호 비트)로 하는 비트열이, 메시지(D105)(메시지 uj)로서 출력 포트(P112)로부터 출력된다.
이상과 같이, 체크 노드 계산기(103)에서는, 식(7)의 연산을 통해 메시지(체크 노드 메시지) uj가 구해진다.
도시하지 않았지만, 도 9의 복호 장치에서는, 복호의 최종단(예를 들면, 미리 정해진 반복 복호의 회수 N만큼 행해지는 가변 노드 연산 및 체크 노드 연산중 마지막에 행해지는 가변 노드 연산)에 있어서, 식(1)의 가변 노드 연산 대신에, 식(5)의 연산을 하여 그 연산 결과가, 최종적인 복호 결과로서 출력된다.
도 9의 복호 장치에 의하면, 메시지 메모리(104)(도 9), 가변 노드 계산기(102)(도 10)의 FIFO 메모리(155), 체크 노드 계산기(103)(도 11)의 FIFO 메모리(127)및(133)의 용량만큼, 여러가지 패리티 검사 행렬의 LDPC 부호를 복호할 수 있다.
도 9의 복호 장치를 반복하여 이용함으로써 복호를 하는 경우에는, 체크 노드 계산과 가변 노드 계산을 교대로 실시할 필요가 있기 때문에, 1회 복호하는데 메시지 수의 2배의 클락수가 필요하다. 단, 패리티 검사 행렬의 구조를 가지는 LDPC 부호의 경우, 각 노드 계산기를 P개 가지면, 1/P의 클락수로 복호시키는 것이 가능하게 된다.
이하, LDPC의 구성 행렬마다 병렬로 노드 연산을 실시하는 구성을 가지는 LDPC 부호의 복호 장치에 대해 설명한다. 이하, 이러한 연산을, 패리티 병렬 복호(partly parallel decoding)라고 칭한다.
패리티 병렬 복호를 실시하는 LDPC 부호는, 두 개 이상의 구성 행렬(constituent matrices)들로 이루어진 행렬로 표시될 수 있다. 그 구성 행렬은P×P의 단위행, 그 단위행렬의 컴퍼넌트에서 한 개 이상의 1이 0이 되는 행렬(이하 준단위행렬이라고 한다), 단위행렬 또는 준단위행렬을 사이클릭 시프트(cyclic shift)한 행렬(이하, 시프트 행렬이라고 한다), 단위행렬, 준단위행렬, 또는 시프트 행렬 중 2개 이상(복수)의 총합(이하, 준총합 행렬이라고 한다), P×P의 0행렬을 포함한다. 상기 구조의 패리티 검사 행렬을, P×P의 구조의 패리티 검사 행 렬이라고 칭하며, 그러한 구조의 패리티 검사 행렬로 나타내지는 LDPC 부호를, "P 부호"라고 칭한다.
이러한 P 부호의 복호시에, 체크 노드 연산과 가변 노드 연산을 P개 동시에 실시하는 것이 가능하게 된다.
예를 들면, 도 12는 P=6으로 했을 경우의 P×P의 구조의 패리티 검사 행렬 H의 일례를 나타내고 있다. 즉, 도 12의 패리티 검사 행렬 H는, 6×6의 단위행렬, 6×6의 준단위행렬, 6×6의 시프트 행렬, 6×6의 준총합 행렬, 6×6의 0행렬의 조합으로 이루어진 행렬의 일례를 나타내고 있다. 이 부호는 암호화율 2/3, 부호길이 108로 되어 있다.
게다가 이하, 별개의 가변 노드 계산기와 체크 노드 계산기를 채용하는 대신에, 체크 노드 연산과 가변 노드 연산과의 두 가지 연산을 동일 회로에 의해 교대로 처리할 수 있는 노드 계산기를 채용했을 경우의 예로서, 패리티 병렬 복호를 설명한다.
도 13은, "P=6의 부호"의 복호이며, 6개의 노드 계산기를 이용해 패리티 병렬 복호를 실시하는 복호 장치의 구성예를 나타내고 있다. 다만, 도 13의 예에서는, "P=6의 부호"로서 상술한 도 12의 부호를 복호하는 것이 가정되고 있다.
도 13의 복호 장치는, 수신치 메모리(200), 메시지 메모리(201), P=6개의 노드 계산기(210-1 내지 210-6)를 포함한 메시지 계산부(202), 제어부(203), 시프트부(204) 및 복호 결과 메모리(205)로 구성된다.
이하, 노드 계산기(210-1 내지 210-6)를 각각 구별할 필요가 없는 경우, 이것들을 전체적으로 노드 계산기(210)로 칭한다.
송신되어 온 LDPC 부호를 수신하여 얻을 수 있는, 부호의 0(또는 1)의 확률을 나타내는 대수 확률 비율이 되는 수신 데이터(LDPC 부호)(D200)가 수신치 메모리(200)에 공급되어, 그 수신 데이터(D200)를 저장한다.
가변 노드 연산시에는, 수신치 메모리(200)는, 제어부(203)로부터 공급되는 제어 신호에 따라서, 기억하고 있는 수신 데이터를 판독하고 수신 데이터(D201)로서 메시지 계산부(202)의 노드 계산기(210)에 공급한다.
메시지 메모리(201)는, 제어부(203)의 제어에 근거하여 메시지 데이터를 저장하거나 또는 판독하는 메모리이다. 즉, 메시지 메모리(201)는, 노드 계산기(210)에 메시지(D202, D203)를 공급하고 시프트부(204)로부터의 메시지(D205)를 저장한다. 메시지 메모리(201)는, 2개의 메시지 데이터를 동시에 판독하기 위해서, 독립적으로 제어 가능한 2개 이상의 메모리로 구성되어 있다.
메시지 계산부(202)의 각 노드 계산기(210)는, 가변 노드 연산과 체크 노드 연산을 바꾸어 처리하는 것이 가능한 연산기이다.
즉, 가변 노드 연산시에는, 노드 계산기(210)가, 메시지 메모리(201)로부터 공급되는 메시지(D202, D203)와 수신치 메모리(200)로부터 공급되는 수신 데이터(D201)를 이용하고, 식(1)에 따라서 가변 노드 연산을 실시하고, 그 가변 노드 연산의 결과 얻을 수 있는 메시지(가변 노드 메시지) vi를, 메시지(D204)로서 시프트부(204)에 공급한다.
체크 노드 연산시에는, 노드 계산기(210)는, 메시지 메모리(201)로부터 공급되는 메시지(D202, D203)를 이용하고, 식(7)에 따라서 체크 노드 연산을 실시해, 그 체크 노드 연산에 의해서 구할 수 있는 메시지(체크 노드 메시지) uj를, 메시지(D204)로서 시프트부(204)에 공급한다.
메시지 계산부(202)로부터 메시지(D204)가 공급되는 경우, 거기에 대응하는 가지에 의해, 도 12의 패리티 검사 행렬에 소스를 제공하기 위한 단위행렬이 얼마 만큼의 사이클릭 시프트 되었는지를 나타내는 정보가 제어부(203)로부터 제공된다. 시프트부(204)는, 이 정보에 근거해 메시지(D204)를 분류하기 위해 사이클릭 시프트를 실시하고, 그 결과를 메시지(D205)로서 메시지 메모리(201)에 공급한다.
도 13에서는, 구성 행렬마다 가변 노드 6개를 병렬로 연산하기 위하여, P=6개의 노드 계산기(210-1 내지 210-6)가 설치되어 있다. 예를 들면, 한 개의 수신 데이터마다 비트수 m을 6으로 했을 경우, 구성 행렬이 6×6의 사이즈가 되므로, 수신치 메모리(200)는, 예를 들면 한 단어마다 36 bit의 RAM으로 구성된다. 노드 연산은, 구성 행렬마다 병렬로 행해지므로, 수신치 메모리(200)로부터 각 노드 연산기(210-1 내지 210-6)로 구성 행렬 데이터가 동시에 전송된다.
도 14는, 식(1)에 따르는 가변 노드 연산과 식(7)에 따르는 체크 노드 연산을 서로 바꾸어 실시하는 도 13의 노드 계산기(210)의 구성예를 나타내고 있다.
노드 계산기(210)는, 외부로부터 메시지(데이터)가 공급(입력)되는 입력 포트로서, 3개의 입력 포트(P301, P302, P303)를 가지며, 외부에 메시지를 공급(출력)하는 포트로서 2개의 출력 포트(P304, P305)를 가지고 있다.
즉, 입력 포트(P301)에는, 도 13의 수신치 메모리(200)로부터 판독된 수신 데이터(D201)가 공급된다. 또, 입력 포트(P302, P303)에는, 메시지 메모리(201)로부터 판독된 메시지(D202), D203)가 공급된다. 그리고, 후술하는 메시지(D321)가, 출력 메시지(D204)로서 출력 포트(P304)로부터 출력되어 메시지 메모리(201)에 공급된다. 또, 복호의 최종 단계에서는, 후술하는 메시지(D308)가 복호 결과로서 출력 포트(P305)로부터 출력되어 복호 결과 메모리(205)에 공급된다.
도 14의 노드 계산기(210)는, 선택기(301,311,316)를 가지고 있다. 선택기(301, 311, 316)가“v”를 선택했을 경우에는, 도 14의 노드 계산기(210)는 가변 노드 연산을 실시하게 된다. 이것에 대해서, 선택기(301, 311,316)가“c”를 선택했을 경우에는, 도 14의 노드 계산기(210)는 체크 노드 연산을 실시하게 된다.
우선, 가변 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 14의 노드 계산기(210)를 설명한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1열에 대응하는 체크 노드로부터의 메시지(D202)가 입력 포트(P302)를 통해, 메시지(D301)(메시지 uj)로서, 한 개씩 입력되어, 선택기(301)를 통과해 메시지(D306)로서 가산기(302)에 입력된다. 가산기(302)에 있어서, 이 메시지(D306)에 레지스터(303)에 저장되어 있는 데이터(D307)가 가산되고, 그 가산치가 레지스터(303)에 재저장된다. 이와 같이, 데이터(D307)는, 메시지(D301)(메시지 uj)의 적산치가 된다.
1열분의 메시지(D301)(메시지 uj)가 적산되면, 그 적산치(D307)(j=1로부터 dv까지의Σuj)는 선택기(304)를 통과하고, 레지스터(305)에 저장된다.
동시에, 포트(P302)에 입력된 메시지(D301)(메시지 uj)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되고, 입력 포트(P303)를 통해 지연 입력 메시지(D302)로서 다시 입력된다.
지연 입력 메시지(D302)는, 선택기(311)를 통과하고, 감산기(312)에서 레지스터(305)에 저장되어 있는 적산 메시지(D308)로부터 감산되고, 그 감산치(D316)(j=1로부터 dv-1까지의 Σuj)가 가산기(313)에 공급된다. 가산기(313)에는 또, 수신치 메모리(200)로부터의 수신 데이터(D201)(u0i)가, 입력 포트(P301)를 통해 수신 데이터(D300)로서 공급된다. 가산기(313)에서, 감산치(D316)(j=1로부터 dv-1까지의 Σuj)에 수신 데이터(D300)(u0i)가 가산되며, 그 가산치(D317)(j=1로부터 dv-1까지의 Σuj+u0i)가 선택기(316)를 통과하고, 메시지(D321)가 된다. 이 메시지(D312)가, 출력 메시지(D204)로서 출력 포트(P304)로부터 출력되어 시프트부(204)에 공급된다.
이상의 내용을 환언하면, 도 14의 노드 계산기(210)는, 가변 노드에 연결되어 있는 모든 체크 노드로부터의 메시지의 총합으로부터, 구하고 싶은 체크 노드로부터의 메시지를 감산함으로써 얻어지는 가지(edge)에 대한 메시지를 계산하여, 식(1)의 연산을 실현하고 있다.
다음에, 체크 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 14의 노드 계산기(210)의 설명을 한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1행에 대응하는 가변 노드로부터의 메시지(D202)가 입력 포트(P302)를 통해, 메시지(D301)(메시지 vi)로서 한 개씩 입력되어 그 절대치(D303)(|vi|)가 LUT(300)에 공급된다.
LUT(300)는, 거기에 입력되는 값을 인수 x로서, 식(7)의 체크 노드 연산의 비선형 함수φ(x)의 연산 결과를 출력하는 LUT이며, 절대치(D303)(|vi|)의 공급에 응답하여, 비선형 함수φ(|vi|)의 연산을 실시한 연산 결과(D305)(φ(|vi|))를 판독한다.
이 연산 결과(D305)(φ(|vi|)는, 선택기(301)를 통과해 메시지(D306)로서 가산기(302)에 입력된다. 가산기(302)에서, 이 메시지(D306)에 레지스터(303)에 저장되어 있는 데이터(D307)가 가산되고, 그 가산치가 레지스터(303)에 재저장된다. 이와 같이, 데이터(D307)는, 연산 결과(D305)(φ(|vi|))의 적산치가 된다.
1행 분의 메시지(D301)(메시지 vi)의 각 연산 결과(D305)(φ(|vi|)가 적산되면, 그 적산치(D307)(i=1로부터 dc까지의Σφ(|vi|))는 선택기(304)를 통과하고, 레지스터(305)에 저장된다.
포트(P302)를 통해 입력된 메시지(D301)(메시지 vi)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되고, 입력 포트(P303)를 통해, 지연 입력 메시지(D302)로서 다시 입력된다.
입력 메시지(D301)에 대한 LUT(300)의 연산과 같이, LUT(310)에 있어서, 지연 입력 메시지(D302)의 절대치(D312)(|vi|)의 공급에 대해서, 비선형 함수φ(|vi|)의 연산을 실시하여, 그 연산 결과(D314)(φ(|vi|))가 판독된다.
이 연산 결과(D314)(φ(|vi|))는, 선택기(311)를 통과해 메시지(D315)로서 감산기(312)에 입력된다.
감산기(312)에서는, 레지스터(305)에 저장되어 있는 적산 메시지(D308)로부터, 메시지(D315)가 감산되어 그 감산치(D316)(i=1로부터 dc-1까지의Σφ(|vi|))는 LUT(314)에 제공된다.
LUT(314)는, 거기에 입력되는 값을 인수 x로서, 식(7)의 체크 노드 연산의 비선형 함수φ(x)의 역함수φ-1(x)의 연산 결과를 출력하는 LUT이며, 감산기(312)로부터의 감산치(D316)(i=1로부터 dc-1까지의Σφ(|vi|))의 공급에 대해서, 역함수φ-1(Σφ(|vi|))의 연산을 실시한 연산 결과 D318(φ-1(Σφ(|vi|))를 출력한다.
이상의 처리와 병행하여, 각 메시지(D301)의 양음을 나타내는 부호 비트(sign bit)(D304)(sign(vi))와 레지스터(307)에 저장되어 있는 값(D310)의 배타적 논리합이 EXOR 회로(306)에서 연산되어, 그 연산 결과(D309)가 레지스터(307)에 재저장된다.
레지스터(307)에서, 1행 분의 부호 비트가 적산되면, 그 적산치(D310)(i=1로부터 dc까지의 ∏sign(vi))가 선택기(308)를 통과하고, 레지스터(309)에 저장된다.
또, 적산에 이용된 값(D304)(sign(vi))은 지연 입력 메시지의 부호 비트(D313)로서 재차 입력 포트(P303)로부터 입력되어 EXOR 회로(315)에 입력된다. 이 부호 비트(D313)와 레지스터(309)의 적산치(D311)와의 배타적 논리합이 EXOR 회로(315)에 의해 연산되어, 그 연산 결과, 즉 i=1으부터 dc-1까지의 ∏sign(vi)가 부호 비트(D319)로서 출력된다.
최종적으로, LUT(314)의 연산 결과(D318)(φ-1(Σφ(|vi|)))에 대해서, 이 부호 비트(D319)가 부가된 값(D320)이, 선택기(316)를 통과해 메시지(D321)가 된다.이 메시지(D312)가, 출력 메시지(D204)로서 출력 포트(P304)로부터 출력되어 시프트부(204)에 공급된다.
이상의 내용을 환언하면, 도 14의 노드 계산기(210)는, 체크 노드에 연결되어 있는 모든 가변 노드로부터의 메시지의 총합으로부터, 구하고 싶은 가변 노드로부터 메시지를 감산하여, 식(7)의 연산을 실현하고 있다.
또한, 도 14의 노드 계산기(210)는, 복호의 최종단(예를 들면, 미리 정해진반복 복호의 회수 N만큼 행해지는 가변 노드 연산 및 체크 노드 연산중 마지막에 행해지는 가변 노드 연산)에서, 식(1)의 가변 노드 연산 대신에, 식(5)의 연산을 실행하여 얻어지는 연산 결과, 즉, 레지스터(305)로부터의 출력 데이터(D308)가, 복호 결과로서 출력 포트(P305)로부터 출력되어 도 13의 복호 결과 메모리(205)에 공급된다.
그런데, 가변 노드 연산(식(1))과 체크 노드 연산(식(7))은, u'j = φ(|ui|)× sign(uj)로 대체하여, 다음의 식(9), 식(10)과 같이 고쳐 쓸 수 있다.
[식 9]
[식 10]
여기서,φ(x)=φ-1(x)이다. 즉, 가변 노드 연산(식(9))과 체크 노드 연산(식(10)의 어느 쪽의 연산도 입력 데이터의 절대치에 대해서 φ(x)의 연산을 하게 된다. 그러므로, 체크 노드 연산의 경우에는 절대치의 적산을 실시하고, 별도로구한 부호로 최종 적산치를 증배하여 출력 메시지를 계산할 수 있다. 한편, 가변 노드 연산의 경우에는 부호 비트도 포함하여 가산을 실시하고, 수신 데이터를 가산해 출력 메시지로 할 수 있다.
도 15는, 식(9)에 따르는 가변 노드 연산과 식(10)에 따르는 체크 노드 연산을 서로 바꾸어 실시하는 도 13의 노드 계산기(210)의 구성예를 나타내고 있다.
노드 계산기(210)는, 외부로부터 메시지(데이터)가 공급(입력)되는 입력 포트로서 3개의 입력 포트(P601, P02, P603)를 가지며, 외부에 메시지를 공급(출력)하는 포트로서 2개의 출력 포트(P604, P605)를 가지고 있다.
즉, 입력 포트(P601)에는, 도 13의 수신치 메모리(200)로부터 판독된 수신 데이터(D201)가 공급된다. 또, 입력 포트(P602, P603)에는, 메시지 메모리(201)로부터 판독된 메시지(D602, D603)가 공급된다. 그리고, 후술하는 메시지(D622)가, 출력 메시지(D204)로서 출력 포트(P604)로부터 출력되어 메시지 메모리(201)에 공급된다. 또, 복호의 최종 단계에서는, 후술하는 메시지(D609)가 복호 결과로서 출력 포트(P605)로부터 출력되어 복호 결과 메모리(205)에 공급된다.
도 15의 노드 계산기(210)는, 선택기(601, 611, 615)를 가지고 있다. 이러한 선택기(601, 611, 615)가 "v"측을 선택했을 경우에는, 도 15의 노드 계산기(210)는 가변 노드 연산을 실시하게 된다. 이것에 대해서, 선택기(601, 611, 615)가 "c"측을 선택했을 경우에는, 도 15의 노드 계산기(210)는 체크 노드 연산을 실시하게 된다.
우선, 가변 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 15의 노드 계산기(210)의 설명을 한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1열에 대응하는 체크 노드로부터의 메시지(D202)가 입력 포트(P602)를 통해, 메시지(D601)(메시지 u'j)로서 한 개씩 입력된다. 그 절대치(D603)(|u'j|)를 인수 x로 하는 φ-1(x)의 연산이 LUT(600)에서 행해지고, 그 연산 결과(D605)(|uj|)를 부호 비트(D604)(sign(uj))로 증배하여 얻어지는 값(D606)(메시지 uj)이 선택기(601)를 통과하고, 값(D607)으로서 가산기(602)에 공급된다. 이 값(D607)은, 가산기(602)에 서, 레지스터(603)에 저장되어 있는 데이터(D608)와 가산되고, 레지스터((603))에 재저장된다. 이와 같이, 데이터(D608)는, 메시지(D607)(메시지 uj)의 적산치가 된다.
1열분의 메시지(D607)(메시지 uj)가 적산되면, 그 적산치(D608)(j=1로부터 dv까지의Σuj)는 선택기(604)를 통과하고, 레지스터(605)에 저장된다.
또, 포트(P602)에 입력된 메시지(D601)(메시지 u'j)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되고, 입력 포트(P603)를 통해, 지연 입력 메시지(D602)로서 다시 입력된다.
지연 입력 메시지(D602)중, 절대치(D613)(|u'j|)를 인수 x로 하는φ-1(x)의 연산이 LUT(610)에서 행해지며, 그 연산 결과(D615)(|u'j|)를 부호 비트(D614)(sign(uj))로 증배하여 얻어지는 값(D616)(메시지 uj)이 선택기(611)를 통과하고, 값(D617)으로서 감산기(612)에 공급된다.
감산기(612)에서는, 레지스터(605)에 저장되어 있는 적산 메시지(D609)로부터, 이 값(D617)이 감산되고, 그 감산치(D618)(j=1로부터 dv-1까지의Σuj)가 가산기 (613)에 공급된다. 가산기(613)에는 또, 수신치 메모리(200)로부터의 수신 데이터(D201)(u0i)가, 입력 포트(P601)를 통해 수신 데이터(D600)로서 공급된다. 가산기(613)에서, 감산치(D618)(j=1로부터 dv-1까지의Σuj)에 대해서, 수신 데이터(D600)(u0i)가 가산되며, 그 가산치(D619)(j=1로부터 dv-1까지의Σuj + u0i)가 선택기 (615)를 통과하고, 메시지(D622)가 된다. 이 메시지(D622)가, 출력 메시지 (D204)로서 출력 포트(P604)로부터 출력되어 시프트부(204)에 공급된다.
이상의 내용을 환언하면, 도 15의 노드 계산기(210)는, 가변 노드에 연결되어 있는 모든 체크 노드로부터의 메시지의 총합으로부터, 구하고 싶은 체크 노드로부터의 메시지를 감산하여 얻어지는 가지(edge)에 대해 메시지를 계산하여, 식(9)의 연산을 실현하고 있다.
다음에, 체크 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 15의 노드 계산기(210)의 설명을 한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1행에 대응하는 가변 노드로부터의 메시지(D202)가 입력 포트(P602)를 통해, 메시지(D601)(메시지 vi)로서 한 개씩 입력되어 그 절대치(D603)(|vi|)가 LUT(600)에 공급된다. 그 절대치 (D603)(|vi|)를 인수 x로 하는φ(x)의 연산이 LUT(600)에서 행해지며, 그 연산 결과 (D605)(φ|vi|)가 선택기(601)를 통과하고, 값(D607)으로서 가산기(602)에 공급된다. 이 값(D607)은, 가산기(602)에서, 레지스터(603)에 저장되어 있던 데이터 (D608)와 가산되고, 레지스터(603)에 재저장된다. 이와 같이, 데이터(D608)는, 연산 결과(D607)(φ(|vi|))의 적산치가 된다.
1행 분의 메시지(D601)(메시지 vi)의 각 연산 결과(D607)(φ(|vi|))가 적산되면, 그 적산치(D608)(i=1로부터 dc까지의Σφ(|vi|))는 선택기(604)를 통과하고, 레지스터(605)에 저장된다.
포트(P602)에 입력된 메시지(D601)(메시지 vi)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되고, 입력 포트(P603)를 통해, 지연 입력 메시지(D602)로서 다시 입력된다.
입력 메시지(D601)에 대한 LUT(600)의 연산과 같이, LUT(610)에 있어서, 지연 입력 메시지(D602)의 절대치(D613)(|vi|)를 인수 x로 하는 φ(x)의 연산을 하고, 그 연산 결과(D615)(φ(|vi|))가 판독된다.
이 연산 결과(D615)(φ(|vi|))는, 선택기(611)을 통과해 메시지(D617)로서 감산기(612)에 입력된다.
감산기(612)에서, 레지스터(605)에 저장되어 있는 적산 메시지(D609)로부터, 메시지(D617)가 감산되며, 그 감산치(D618)(i=1로부터 dc-1까지의 Σφ(|vi|))가 출 력된다.
이상의 처리와 병행하여, 각 메시지(D601)의 양음을 나타내는 부호 비트(sign bit)(D604)(sign(vi))와 레지스터(607)에 저장되어 있는 값(D611)의 배타적 논리합이 EXOR 회로(606)에서 연산되며, 그 연산 결과(D610)가 레지스터(607)에 재저장된다.
레지스터(607)에서, 1행 분의 부호 비트가 적산되면, 그 적산치(D611)(i=1로부터 dc까지의 ∏sign(vi))가 선택기(608)를 통과하고, 레지스터(609)에 저장된다.
적산에 이용된 값(D604)(sign(vi))은 지연 입력 메시지의 부호 비트(D614)로서 재차 입력 포트(P603)로부터 입력되어 EXOR 회로(614)에 입력된다. 이 부호 비트(D614)와 레지스터(609)의 적산치(D612)와의 배타적 논리합이 EXOR 회로(614)에서 연산되며, 그 연산 결과, 즉 i=1로부터 dc-1까지의 ∏sign(vi)가 부호 비트 (D620)로서 출력된다.
최종적으로, 감산기(612)로부터의 감산치(D618)(i=1로부터 dc-1까지의 Σφ(|vi|))에, 이 부호 비트(D620)가 부가된 값(D621)이, 선택기(615)를 통과해 메시지 (D622)가 된다. 이 메시지(D622)가, 출력 메시지(D204)로서 출력 포트(P604)로부터 출력되어 시프트부(204)에 공급된다.
이상의 내용을 환언하면, 도 15의 노드 계산기(210)는, 체크 노드에 연결되고 있는 모든 가변 노드로부터의 메시지의 총합으로부터, 구하고 싶은 가변 노드로 부터의 메시지를 감산하여, 식(10)의 연산을 실현하고 있다.
또, 도 15의 노드 계산기(210)는, 복호의 최종단(예를 들면, 미리 정해진 반복 복호의 회수 N만큼 행해지는 가변 노드 연산 및 체크 노드 연산중 마지막에 행해지는 가변 노드 연산)에 있어서, 식(9)의 가변 노드 연산 대신에, 식(5)를 식(9)와 같이 고쳐 기재한 식에 따라 연산을 하고, 그 연산 결과 즉, 레지스터(605)로부터의 출력 데이터(D609)가, 복호 결과로서 출력 포트(P605)로부터 출력되어 도 13의 복호 결과 메모리(205)에 공급된다.
게다가, 가변 노드 연산(식1)과 체크 노드 연산(식7)은, v'i =φ(|vi|)×sign(vi)를 대체함으로써, 다음의 식(12), 식(13)과 같이 고쳐 쓸 수 있다. 식(11)은, 식(12)와의 비교를 간단히 하기 위해, (1)을 다시 기재함으로써 얻어지게 된다는 것을 명심하자.
[식 11]
[식 12]
[식 13]
여기서,φ(x)=φ-1(x)이다. 즉, 가변 노드 연산(식12)과 체크 노드 연산(식13)의 어느 쪽의 연산도 입력 데이터의 절대치에 대해서 φ(x)의 연산을 하게 된다. 그러므로, 체크 노드 연산의 경우에는, 입력 데이터에 대해서 절대치의 적산 실시하고, 그리고, φ(x)의 연산을 실시한 후에, 별도로 얻어지는 부호 비트에 의해 연산의 결과를 증배함으로써 출력 메시지를 계산할 수 있다. 한편, 가변 노드 연산의 경우에는 입력 데이터를 부호 비트도 포함하여 적산을 실시하고, 수신 데이터를 가산한 후에, 그 절대치에 대해서, φ(x)의 연산을 실시해, 부호 비트에 의해 연산 결과가 증배되어 출력 메시지로 할 수 있다.
도 16은, 식(12)에 따르는 가변 노드 연산과 식(13)에 따르는 체크 노드 연산을 서로 바꾸어 실시하는 도 13의 노드 계산기(210)의 구성예를 나타내고 있다.
노드 계산기(210)는, 외부로부터 메시지(데이터)가 공급(입력)되는 입력 포트로서 3개의 입력 포트(P701, P702, P703)를 가지며, 외부에 메시지를 공급(출력)하는 포트로서 2개의 출력 포트(P704, P705)를 가지고 있다.
즉, 입력 포트(P701)에는, 도 13의 수신치 메모리(200)로부터 판독된 수신 데이터(D201)가 공급된다. 또, 입력 포트(P702, P703)에는, 메시지 메모리(201)로부터 판독된 메시지(D702, D703)가 공급된다. 그리고, 후술하는 메시지 (D722)가, 출력 메시지(D204)로서 출력 포트(P704)로부터 출력되어 메시지 메모리(201)에 공급된다. 또, 복호의 최종 단계에서는, 후술하는 메시지(D707)가 복호 결과로서 출력 포트(P705)로부터 출력되어 복호 결과 메모리(205)에 공급된 다.
도 16의 노드 계산기(210)는, 선택기(700, 705, 712, 715)를 가지고 있다. 이러한 선택기(700, 705, 712, 715)가 "v"를 선택했을 경우에는, 도 16의 노드 계산기(210)는 가변 노드 연산을 실시하게 된다. 이것에 대해서, 선택기(700, 705, 712, 715)가 "c"를 선택했을 경우에는, 도 16의 노드 계산기(210)는 체크 노드 연산을 실시하게 된다.
우선, 가변 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 16의 노드 계산기(210)를 설명한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1열에 대응하는 체크 노드로부터의 메시지(D202)가 입력 포트(P702)를 통해, 메시지(D701)(메시지 uj)로서 한 개씩 입력되어 선택기(700)를 통과해 메시지(D705)로서 가산기(701)에 입력된다. 가산기(701)에서, 이 메시지(D705)에 대해서, 레지스터(702)에 저장되어 있는 데이터(D706)가 가산되고, 레지스터(702)에 재저장된다. 이와 같이, 데이터(D706)는, 메시지(D701)(메시지 uj)의 적산치가 된다.
1열분의 메시지(D701)(메시지 uj)가 적산되면, 그 적산치(D706)(j=1로부터 dv까지의Σuj)는 선택기(703)를 통과하고, 레지스터(704)에 저장된다.
포트(P702)에 입력된 메시지(D701)(메시지 uj)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되며, 입력 포트(P703)를 통해, 지연 입력 메시지(D702)로서 다시 입력된다.
지연 입력 메시지(D702)는, 선택기 (705)를 통과하고, 감산기(710)에서 레지스터(704)에 저장되어 있는 적산 메시지(D707)로부터 감산되고, 그 감산치 (D714)(j=1로부터 dv-1까지의 Σuj)가 가산기(711)에 공급된다. 가산기(711)에는 또, 수신치 메모리(200)로부터의 수신 데이터(D201)(uoi)가, 입력 포트(P701)를 통해 수신 데이터(D700)로서 공급된다. 그러므로, 가산기(711)에 있어서, 감산치 (D714)(j=1로부터 dv-1까지의 Σuj)에, 수신 데이터(D700)(uoi)가 가산되어 그 가산치(D715)(j=1로부터 dv-1까지의 Σuj+u0i=vi)의 절대치(D716)(|vi|)가, 선택기(712)를 통과하고, 절대치(D718)(|vi|)가 되어 LUT(713)에 공급된다. 절대치(D718)(|vi|)를 인수 x로 하는φ(x)의 연산이 LUT(713)에서 행해지며, 그 연산 결과 (D719)(φ|vi|)가 출력된다.
이상의 처리와 병행하여, 가산기(711)로부터의 가산치(715)(vi)의 부호 비트(sign bit)(D717)(sign(vi))가, 선택기(715)를 통과해 부호 비트(D721)가 된다. 이 부호 비트(D721)가, LUT(713)의 연산 결과(D719)(φ|vi|)에 의해 증배되어 메시지(D722)(φ|vi|×sign(vi))가 된다. 이 메시지(D722)가, 출력 메시지(D204)로서 출력 포트(P704)로부터 출력되어 시프트부(204)에 공급된다.
이상의 내용을 환언하면, 도 16의 노드 계산기(210)는, 가변 노드에 연결되 어 있는 모든 체크 노드로부터의 메시지와 수신 데이터의 총합으로부터, 구하고 싶은 체크 노드로부터의 메시지를 감산하여, 구하고 싶은 가지(edge)에 대한 메시지를 계산하여, 식(12)의 연산을 실현하고 있다.
다음에, 체크 노드 연산을 실시하는 경우의 동작의 관점으로부터, 도 16의 노드 계산기(210)의 설명을 한다.
메시지 메모리(201)로부터 공급되는 패리티 검사 행렬의 1행에 대응하는 가변 노드로부터의 메시지(D202)가 입력 포트(P702)를 통해, 메시지(D701)(메시지 v'i)로서 한 개씩 입력되어 그 절대치(D703)(|v'i|)가 선택기(700)를 통과해 절대치 (D705)로서 가산기(701)에 입력된다. 가산기(701)에서, 이 절대치(D705)에, 레지스터(702)에 저장되어 있는 데이터(D706)가 가산되고, 레지스터(702)에 재저장된다. 이와 같이, 데이터(D706)는, 절대치(D703)(|v'i|)의 적산치가 된다.
1행 분의 메시지(D701)(메시지 v'i)의 절대치(D703)(|v'i|)가 적산되면, 그 적산치(D706)(i=1로부터 dc까지의Σ|v'i|)는 선택기(703)를 통과하고, 레지스터(704)에 저장된다.
포트(P702)에 입력된 메시지(D701)(메시지 v'i)와 같은 값이 다시 메시지 메모리(201)로부터 메시지(D203)로서 판독되고, 입력 포트(P703)를 통해, 지연 입력 메시지(D702)로서 다시 입력된다.
지연 입력 메시지(D702)의 절대치(D711)(|v'i|)는 선택기(705)를 통과하고, 감산기(710)에서 레지스터(704)에 저장되어 있는 적산 메시지(D707)로부터 감산되고, 그 감산치(D714)(i=1로부터 dc-1까지의Σ|v'i|)가 선택기(712)를 통과해 감산치 (D718)로서 LUT(713)에 공급된다. LUT(713)에 있어서, 그 감산치(D718)(i=1로부터 dc-1까지의 Σ|v'i|)를 인수 x로 하는φ-1(x)의 연산을 하고, 그 연산 결과(D719)(φ-1(Σ|v'i|), i=1로부터 dc-1까지)가 판독된다.
이상의 처리와 병행하여, 각 메시지(D701)의 양음을 나타내는 부호 비트(sign bit)(D704)(sign(v'i))와 레지스터(707)에 저장되어 있는 값(D709)의 배타적 논리합이 EXOR 회로(706)에서 연산되며, 그 연산 결과(D708)가 레지스터(707)에 재저장된다.
레지스터(707)에 있어서, 1행 분의 부호 비트가 적산되면, 그 적산치 (D709)(i=1로부터 dc까지의 ∏sign(v'i))가 선택기(708)를 통과하고, 레지스터 (709)에 저장된다.
적산에 이용된 값(D704)(sign(v'i))은 지연 입력 메시지의 부호 비트(D712)로서 재차 입력 포트(P703)로부터 입력되어 EXOR 회로(714)에 입력된다. 이 부호 비트(D712)와 레지스터(709)의 적산치(D710)와의 배타적 논리합이 EXOR 회로(714)에 의해 연산되며, 그 연산 결과, 즉 i=1로부터 dc-1까지의 ∏sign(v'i)가 부호 비트(D720)로서 출력된다. 이 부호 비트(D720)는, 선택기(715)를 통과해 부호 비 트(D721)가 된다.
최종적으로, LUT(713)의 연산 결과(D719)(φ-1(Σ|v'i|), i=1로부터 dc-1까지)에 대해서, 이 부호 비트(D721)가 부가된 값이, 메시지(D722)가 된다. 이 메시지(D722)가, 출력 메시지(D204)로서 출력 포트(P704)로부터 출력되어 복호 결과 메모리(205)에 공급된다.
이상의 내용을 환언하면, 도 16의 노드 계산기(210)는, 체크 노드에 연결되어 있는 모든 가변 노드로부터의 메시지의 총합으로부터, 구하고 싶은 가변 노드로부터의 메시지를 감산하여, 식(13)의 연산을 실현하고 있다.
또, 도 16의 노드 계산기(210)는, 복호의 최종단(예를 들면, 미리 정해진 반복 복호의 회수 N만큼 행해지는 가변 노드 연산 및 체크 노드 연산중 마지막에 행해지는 가변 노드 연산)에 있어서, 식(12)의 가변 노드 연산 대신에, 식(5)를 식(12)과 같이 고쳐 쓴 식에 따라 연산을 하고, 그 연산 결과, 즉, 레지스터(704)로부터의 출력 데이터(D707)가, 복호 결과로서 출력 포트(P705)로부터 출력되어 도 13의 복호 결과 메모리(205)에 공급된다.
최근에, LDPC로 암호화된 데이터 신호와 TMCC(Transmission and Multiplexing Configuration Control) 신호가 다중화 되어 전송되는 시스템의 연구 개발을 하고 있다. 이러한 시스템에 적합한 수신장치는 매우 적은 편이다.
그러므로, 본 발명은, LDPC로 암호화된 데이터 신호와 TMCC 신호가 다중화 되어 전송되는 시스템에 적용 가능한 수신장치를 제공하는 것을 목적으로 하는 것이다.
본 발명의 한 실시예에 따르면, LDPC(Low Density Parity Check) 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호와의 양신호를 수신해 복호하는 제 1의 수신장치가 제공된다. 상기 제 1의 수신장치는, 상기 데이터 신호와 상기 전송 제어 신호의 양신호를 복호하는 LDPC 복호 수단과, 상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼 및, 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼와, 상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와, 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 상기 전송 제어 신호중에서 적어도 한 개의 신호를 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단으로 전송하여 상기 복호 대상 신호의 복호를 실시하는 제어 수단을 구비한다.
상기 제 1의 수신장치에서는, 전송 제어 신호의 수신치는, 상기 데이터 신호에 비해 그 양자화 비트 수가 감소되며, 최종치가 상기 전송 제어 신호용 입력 버퍼에 보관 유지된다.
상기 제 1의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어, LDPC로 암호화된 계열이며, 그 계열로부터 상기 기 존 신호가 삭제된 형태의 신호로서 상기 수신장치에 전송되며, 상기 수신장치에 수신된 형태의 신호에 대해서, 상기 기존 신호가 0인 경우에는, 0의 확률이 1, 상기 기존 신호가 1인 경우에는, 1의 확률이 1이 되는 것을 의미하는 값이, 상기 전송 제어 신호에 부가되며, 최종적인 전송 제어 신호가 상기 전송 제어 신호용 입력 버퍼에 보관 유지된다.
상기 제 1의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어 LDPC로 암호화된 계열이며, 그 계열로부터 상기 기존 신호가 삭제된 형태의 신호로서 상기 수신장치에 전송되고, 상기 수신장치에 수신되어 상기 전송 제어 신호용 입력 버퍼에 보관 유지되며, 상기 전송 제어 신호가 상기 복호 대상 신호에 선택되었을 경우, 상기 기존 신호가 0인 경우에는 0의 확률이 1, 상기 기존 신호가 1인 경우에는 1의 확률이 1이 된다는 것을 의미하는 값을, 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 신호에 부가하여 얻어지는 신호가, 상기 전송 제어 신호로서 상기 LDPC 복호 수단에 전송된다.
상기 제 1의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어 LDPC로 암호화된 계열이며, 상기 LDPC 복호 수단은, 상기 전송 제어 신호의 복호중 상기 기존 신호를, 상기 기존 신호의 한 비트에 가지의 메시지가 연결된 상태에서, 기존 신호가 0인 경우는 0인 확률이 1, 기존 신호가 1인 경우는 1인 확률이 1을 의미하는 값으로 취급한다.
상기 제 1의 수신장치에서는, 상기 전송 제어 신호는, 상기 기존 신호가 모두 0으로 구성되어 있는 형태의 신호이며, 상기 LDPC 복호 수단은, 상기 전송 제어 신호의 복호중 상기 기존 신호에 대해서는, 상기 기존 신호의 한 비트에 연결하는 가지의 가변 노드 또는 체크 노드중 어느 한 모드의 연산을 생략한다.
상기 제 1의 수신장치에서는, 상기 제어 수단은, 상기 전송 제어 신호의 복호를, 상기 데이터 신호중 제 1의 데이터 신호의 복호가 완료하고 나서 다음의 제 2의 데이터 신호의 복호를 개시할 때까지의 기간 동안에, 상기 전송 제어 신호를 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시한다.
상기 제 1의 수신장치에서는, 상기 데이터 신호와 상기 전송 제어 신호는 소정 단위로 각각 다중화 되어 전송되며, 상기 제어 수단은, 적어도 상기 제 1의 데이터 신호, 상기 제 2의 데이터 신호, 및 상기 전송 제어 신호와 다중화된 상기 소정 단위가 상기 수신장치에서 수신 된 경우, 상기 전송 제어 신호를 상기 제 2의 데이터 신호에 앞서 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시한다.
상기 제 1의 수신장치에서는, 상기 제어 수단은, 상기 데이터 신호중 제 1의 데이터 신호의 복호가 성공했을 경우, 그 제 1의 데이터 신호의 복호가 완료하고 나서 다음의 제 2의 데이터 신호의 복호를 개시할 때까지 기간에, 상기 전송 제어 신호를 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시한다.
상기 제 1의 수신장치에서는, 상기 제어 수단은, 상기 전송 제어 신호의 복호를, 그 수신이 완료하기 전부터 상기 LDPC 복호 수단에 의해 개시시키며, 상기 LDPC 복호 수단은, 상기 전송 제어 신호중 미수신의 비트를 0인 확률과 1인 확률이 0.5를 의미하는 값으로 설정하고, 상기 전송 제어 신호의 복호를 실시한다.
상기 제 1의 수신장치에서는, 상기 LDPC 복호 수단은, 상기 전송 제어 신호 를 복호에 의해 얻어진 계열이, 상기 전송 제어 신호가 전송되는 시스템내에서 사용되지 않는 값이었을 경우에는, 복호가 실패했다고 판단한다.
본 발명의 다른 실시예에 따르면, 상기 제 1의 수신장치에 대응하는 제 1의 수신방법과 제 1의 프로그램이 제공된다.
상기 제 1의 수신장치, 수신방법 및 프로그램에서는, LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호의 양신호를 수신해 복호한다. 상기 제 1의 수신장치는, 상기 데이터 신호와 상기 전송 제어 신호의 상기 양신호를 복호 가능한 LDPC 복호 수단과, 상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼 및 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼를 구비한다. 이러한 구성에서는, 다음의 처리가 실행된다. 즉, 상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 상기 전송 제어 신호중 적어도 한 신호를 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단에 전송해 상기 복호 대상 신호의 복호를 실시한다.
본 발명의 다른 실시예에 따르면, LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호의 양신호를 수신해 복호하는 제 2의 수신장치가 제공된다. 이러한 제 2의 수신장치는, 상기 데이터 신호의 복호 전용의 데이터 신호용 LDPC 복호 수단과, 상기 전송 제어 신호의 복호 전용의 전송 제어 신호용 LDPC 복호 수단을 구비한다.
상기 제 2의 수신장치에서는, 상기 데이터 신호용 LDPC 복호 수단과 상기 전송 제어 신호용 LDPC 복호 수단은, 동일한 복호 장치로서 구성되어 있다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 경판정 복호 장치(hard-decision decoder)로서 구성되어 있다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 가변 노드 및 체크 노드의 연산을 각 비트마다 직렬로 실시하는 복호 장치로서 구성되어 있다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단의 전단에 설치되며, 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼를 추가로 구비한다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호의 수신치는, 상기 데이터 신호에 비해 그 양자화 비트 수가 감소되어, 최종치가 상기 전송 제어 신호용 입력 버퍼에 보관 유지된다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어, LDPC로 암호화된 계열이며, 그 계열로부터 상기 기존 신호가 삭제된 형태의 신호로서 상기 수신장치에 전송되며, 상기 수신장치에 수신된 형태의 신호에 대해서, 상기 기존 신호가 0인 경우에는, 0의 확률이 1, 상기 기존 신호가 1인 경우에는, 1의 확률이 1이 되는 것을 의미하는 값이, 상기 전송 제어 신호에 부가되며, 최종적인 전송 제어 신호가 상기 전송 제어 신호용 입력 버퍼에 보관 유지된다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어 LDPC로 암호화된 계열이며, 그 계열로부터 상기 기존 신호가 삭제된 형태의 신호로서 상기 수신장치에 전송되고, 상기 수신장치에 수신되어 상기 전송 제어 신호용 입력 버퍼에 보관 유지되며, 상기 전송 제어 신호가 상기 복호 대상 신호에 선택되었을 경우, 상기 기존 신호가 0인 경우에는 0의 확률이 1, 상기 기존 신호가 1인 경우에는 1의 확률이 1이 된다는 것을 의미하는 값을, 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 신호에 부가하여 얻어지는 신호가, 상기 전송 제어 신호로서 상기 전송 제어 신호용 LDPC 복호 수단에 전송된다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호는, 소정의 제어 정보에 대해서 기존 신호가 부가되어 LDPC로 암호화된 계열이며, 상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호의 복호중 상기 기존 신호를, 상기 기존 신호의 한 비트에 가지의 메시지가 연결된 상태에서, 기존 신호가 0인 경우는 0인 확률이 1, 기존 신호가 1인 경우는 1인 확률이 1을 의미하는 값으로 취급한다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호는, 상기 기존 신호가 모두 0으로 구성되어 있는 형태의 신호이며, 상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호의 복호중 상기 기존 신호에 대해서는, 상기 기존 신호의 한 비트에 연결하는 가지의 가변 노드 또는 체크 노드중 어느 한 모드의 연산을 생 략한다.
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호의 복호를, 그 수신이 완료하기 전부터 개시하며, 상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호중 미수신의 비트를 0인 확률과 1인 확률이 0.5를 의미하는 값으로 설정하고, 상기 전송 제어 신호의 복호를 실시한다.
산상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호를 복호해 얻어지는 계열이, 상기 전송 제어 신호가 전송되는 시스템내에서 사용되지 않는 값이었을 경우에는, 복호가 실패했다고 판단한다.
본 발명의 또 다른 실시에에 따르면, 상기 제 2의 수신장치에 대응하는 제 2의 수신방법과 제 2의 프로그램이 제공된다.
본 발명의 실시예에 따르는 상기 제 2의 수신장치, 수신방법 및 프로그램에서는, LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호와의 양신호를 수신해 복호한다.
본 발명의 다른 실시예에 따르면, LDPC 부호를 수신해 복호하는 제 3의 수신장치가 제공된다. 이러한 제 3의 수신장치는, 상기 LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 1의 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 2의 신호가 다중화 되어 전송 되어 왔을 경우, 상기 제 1의 신호와 상기 제 2의 신호를 분리하는 분리 수단과, 상기 분리 수단에 의해 분리된 상기 제 1의 신호와 상기 제 2의 신호를 각각 복호하는 LDPC 복호 수단을 구비한다.
본 발명의 또 다른 실시예에 따르면, 상기 제 3의 수신장치에 대응하는 제 3의 수신방법과 제 3의 프로그램이 제공된다.
본 발명의 실시예에 따르는 상기 제 3의 수신장치, 수신방법 및 프로그램에서는, 상기 LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 1의 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 2의 신호가 다중화 되어 전송되어 왔을 경우, 상기 제 1의 신호와 상기 제 2의 신호를 분리하는 스텝과, 분리된 상기 제 1의 신호와 상기 제 2의 신호를 각각 복호하는 스텝을 포함한다.
상술한 바와 같이 본 발명의 실시예들에 따르면, LDPC 부호를 수신해 복호 하는 수신장치를 제공할 수 있다. 특히, 복호 성능을 유지하면서, 그 회로 규모를 종래에 비해 축소할 수 있게 된다.
본 발명은 도면을 참조하여 실시의 형태를 통해 더욱 구체적으로 설명된다. 여기에 기재된 발명과 그에 대한 실시예들은 다음과 같은 관계를 가지고 있다. 이 기재는, 기재되어 있는 발명을 지지하는 구체적인 예가 명세서 또는 도면에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 명세서 또는 도면안에는 기재 되어 있지만, 구성 요건에 대응하는 것으로서 여기에는 기재되지 않은 구체적인 예가 있다고 해도, 그것은, 그 구체적인 예가, 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것은 아니다. 반대로, 구체적인 예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있다고 해도, 그것은, 그 구체적인 예가, 그 구성 요건 이외의 구성 요건에는 대응하지 않는다는 것을 의미하는 것은 아니다.
게다가 이 기재는, 명세서 또는 도면에 기재되어 있는 구체적인 예에 대응하는 발명이, 청구항에 모두 기재되어 있는 것을 의미하는 것은 아니다. 환언하면, 이 기재는, 명세서 또는 도면에 기재되어 있는 구체적인 예에 대응하는 발명이며, 이 출원의 청구항에는 기재되지 않은 발명의 존재, 즉, 장래, 분할 출원되거나 보정에 의해 추가되는 발명의 존재를 부정하는 것은 아니다.
제 1의 수신장치(예를 들면, 도 19의 LDPC 복호 장치(804))는, LDPC(Low Density Parity Check) 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와, 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우(예를 들면 도 17의 형식에서, 데이터 신호의 일례인 데이터와 전송 제어 신호의 일례인 TMCC가 다중화 되어 전송되어 왔을 경우), 상기 데이터 신호와 상기 전송 제어 신호와의 양신호를 수신해 복호하는 수신장치이며, 상기 양신호를 복호 가능한 LDPC 복호 수단(예를 들면 도 21의 LDPC 복호부(1504))과 상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼(예를 들면 도 21의 데이터 신호용 입력 버퍼(1502D)) 및 수신된 상기 전송 제어 신호를 보관 유 지하는 전송 제어 신호용 입력 버퍼(예를 들면 도 21의 TMCC 신호용 입력 버퍼(1502T))와 상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와 상기 전송 제어 신호용 입력 버퍼에 보관 유지하는 상기 전송 제어 신호중에서 적어도 한 신호를, 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단에 전송해 상기 복호 대상 신호의 복호를 실시하게 하는 제어를 실시하는 제어 수단(예를 들면 도 21의 제어부(1506))을 갖춘다.
제 2의 수신장치(예를 들면, 도 19의 LDPC 복호 장치(804))는, LDPC(Low Density Parity Check) 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 데이터 신호와, 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우(예를 들면 도 17의 형식에서, 데이터 신호의 일례인 데이터와 전송 제어 신호의 일례인 TMCC가 다중화 되어 전송되어 왔을 경우), 상기 데이터 신호와 상기 전송 제어 신호의 양신호를 수신해 복호 하는 수신장치이며, 상기 데이터 신호의 복호 전용의 데이터 신호용 LDPC 복호 수단과 상기 전송 제어 신호의 복호 전용의 전송 제어 신호용 LDPC 복호 수단을 갖추는 수신장치이다.
상기 제 2의 수신장치에서는, 데이터 신호용 LDPC 복호 수단과 상기 전송 제어 신호용 LDPC 복호 수단이, 동일한 복호 장치로서 구성되어 있다(예를 들면 도 21의 예에서는, LDPC 복호부(1504)로서 구성되어 있다).
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 경판정 복호 장치로서 구성되어 있다(예를 들면 도 26의 예에서는 LDPC경판정 복호 부(1906)로서 구성되어 있다).
상기 제 2의 수신장치에서는, 상기 전송 제어 신호용 LDPC 복호 수단은, 가변 노드 및 체크 노드의 연산을 각 비트마다 직렬로 실시하는 복호 장치로서 구성되어 있다(예를 들면 도 27의 예에서는, TMCC신호용 LDPC 복호부(2103T)로서 구성되어 있다).
제 3의 수신장치(예를 들면, 도 19의 LDPC 복호 장치(804))는, LDPC(Low Density Parity Check) 부호를 수신해 복호하는 수신장치이며, 상기 LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 1의 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 2의 신호가 다중화 되어 전송되어 왔을 경우(예를 들면 도 17의 형식에서, 제 1의 신호의 일례인 데이터와 제 2의 신호의 일례인 TMCC가 다중화 되어 전송되어 왔을 경우), 상기 제 1의 신호와 상기 제 2의 신호를 분리하는 분리 수단(예를 들면 도 21의 분리부(1501))와 상기 분리 수단에 의해 분리된 상기 제 1의 신호와 상기 제 2의 신호를 각각 복호하는 LDPC 복호 수단(예를 들면 도 21의 LDPC 복호부(1504))을 갖춘다.
이하, 본 발명을 적용한 구체적인 실시의 형태에 대해서, 도면을 참조하면서 상세하게 설명한다.
본 실시의 형태에서는, 수신장치에 전송되는 전송 신호는, 도 17에 나타나는 형식의 신호가 채용되고 있다고 한다.
즉, 도 17에 도시된 바와 같이, 데이터 신호(Data) 이외에도, 전송 파라미터 를 포함하는 TMCC 신호가, LDPC 부호를 이용해 암호화되고, 그 결과 얻을 수 있는 각 암호화 데이터가 시분할 다중화하여 얻어지는 신호가, 전송 신호로서 수신장치에 전송된다.
도 17의 전송 신호의 단위는 슬롯(slot)으로 되어 있다. 이하, 각 슬롯을 각각 구별하기 위하여 #α(α는 정수치이며, 도 17의 예에서는 1 내지 120의 정수치)라고 하는 부호를 이용해 설명해 나간다.
1개의 슬롯은, Sync, Pilot의 뒤에, 데이터와 TMCC가 교대로 배치되어 구성된다 . 슬롯에 있어서의 데이터에는, LDPC로 암호화된 데이터 신호가 시분할 된 결과로서 얻을 수 있는 데이터(이하, 단위 데이터라고 칭한다)가 저장된다. 한편, TMCC에는, LDPC로 암호화된 TMCC 신호가 시분할된 결과로서 얻을 수 있는 단위 데이터가 저장된다.
이 경우, 도 17에 도시된 바와 같이, 데이터 신호의 단위 데이터와 TMCC 신호의 단위 데이터가 교대로 배치되는 것으로, 시분할 다중화가 실현되고 있다. 다만, 예를 들면, LDPC로 암호화된 데이터 신호가 BPSK인 경우에는, 데이터 신호에 대한 한 개의 LDPC 부호는, 5개의 슬롯에서 시분할 다중화 되며, TMCC 신호에 대한 한 개의 LDPC1 부호는, 120의 슬롯에서 시분할 다중화 된다. 환언하면, 24 개의 LDPC 부호의 데이터 신호와 한 개의 LDPC 부호의 TMCC신호가 시분할 다중화 된 결과 얻을 수 있는 신호가, 도 17에 나타나는 슬롯#1 내지 #120으로 구성되는 전송 신호가 된다.
전송시의 데이터 신호는, 부호길이(code length) 44880비트로 구성되며, 전송시의 TMCC 신호는, 도 18의 아래 쪽의 도면에 도시된 바와 같이,(316)80비트로 구성된다고 한다. 즉, 도 18의 위쪽의 도면에 도시된 바와 같이, TMCC 신호의 LDPC 암호화 시에는, 실데이터(데이터)의 선두에 1870비트를 모두 0으로 하는 널 데이터(NULL data)를 부가하고 또한, 실데이터(데이터)의 후미에 11330비트를 모두 0으로 하는 널 데이터(NULL)를 부가하여 정보부에 공급하고 LDPC 암호화가 실행된다. 다만, 그 중의 널 데이터의 전송은 불필요하므로, LDPC 암호화 후에 널 데이터를 삭제한 결과 얻을 수 있는 31680비트의 데이터, 즉, 도 18의 아래 쪽의 도면의 데이터가, LDPC로 암호화된 TMCC 신호로서 복호 장치에 전송된다. 또, 데이터 신호가 복수의 암호화율과 복수의 변조 방식을 선택할 수 있으며, TMCC 신호는, 예를 들면, 기존 신호(널 데이터 등)를 정보길이에 포함시키더라도 암호화율이 1/2, 변조 방식은 BPSK가 되도록 암호화율과 변조 방식이 고정된다.
도 19는, 이러한 도 17이나 도 18에서 정의되는 전송 신호, 즉, LDPC로 암호화된 데이터 신호와 TMCC 신호가 시분할 다중화된 전송 신호가 전송되는 전송 시스템의 구성예를 나타내고 있다.
도 19의 전송 시스템에서는, 송신측의 장치로서 LDPC 암호화 장치(801)와 변조 장치(802)가 설치되어 있다.
LDPC 암호화 장치(801)는, TMCC 신호 암호화부(811), 데이터 신호 암호화부(812) 및 선택기(813)를 포함하도록 구성되어 있다. LDPC 암호화 장치(801)는 도 19에는 도시하지 않는 블록, 예를 들면 제어부와 같은 구성요소를 가지므로, 포함하도록 구성된다고 기술하였다.
TMCC 신호 암호화부(811)는, TMCC 신호 정보부에 대해서 LDPC 암호화를 실행하여, 상술한 도 18의 아래 쪽의 도면의 구조의 LDPC 부호, 즉 31680비트의 LDPC 부호를 생성해, 선택기(813)에 출력한다. TMCC 신호 정보부에 대한 입력 단게에서 TMCC 신호 암호화부(811)는, 널 데이터를 포함하고 있는 도 18의 위쪽의 도면 구조 또는 널 데이터를 포함하지 않는 구조, 즉, 실데이터만의 구조가 되어도 괜찮다. 후자의 경우, TMCC 신호 암호화부(811)는, 도 18의 위쪽의 도면의 구조에 따라 널 데이터를 부가한 후, LDPC 암호화를 실행할 수 있다.
한편, 데이터 신호 암호화부(812)는, 데이터 신호 정보부에 대해서 LDPC 암호화를 실행하여, 44880비트의 LDPC 부호를 생성해, 선택기(813)에 출력한다.
선택기(813)는, 도시하지 않는 제어부의 제어에 근거하여, 적절히 입출력을 바꾸어, LDPC로 암호화된 데이터 신호와 TMCC 신호와의 시분할 다중화를 실현한다. 즉, 상술의 도 17의 형태의 전송 신호가, LDPC 암호화 장치(801)로부터 출력되고, 변조 장치(802)에 의해 변조된 후, 전송로를 따라 노이즈가 부가되고, 수신측에 전송되게 된다.
이러한 전송 신호를 수신하는 수신측의 장치, 즉, 본 발명이 적용되는 수신장치로서 복조 장치(803)와 LDPC 복호 장치(804)가 설치되어 있다.
즉, 변조 장치(802)에 의해 변조된 전송 신호는, 복조 장치(803)에 의해 복조되어, 상술의 도 17의 형태로, LDPC 복호 장치(804)에 제공된다.
이와 같이, 복조 장치(803) 자체는 종래의 것을 그대로 채용할 수 있다.
본 발명이 적용되는 수신장치의 적어도 일부로서의 LDPC 복호 장치(804)는, 복조 장치(803)로부터 공급된 전송 신호를 복호해, 그 복호 결과를 출력한다.
여기서, LDPC 복호 장치(804)에 공급되는 전송 신호란, 상술한 바와 같이, 도 17의 형태의 전송 신호, 즉, LDPC로 암호화된 데이터 신호와 TMCC 신호가 시분할 다중화된 전송 신호이다.
그러므로, LDPC 복호 장치(804)는, LDPC로 암호화된 데이터 신호와 LDPC로 암호화된 TMCC신호를 분리하고, 각각 개별적으로 복호하고, 각각의 복호 결과인 데이터 신호와 TMCC신호를 출력한다.
환언하면, LDPC 복호 장치(804)는, LDPC로 암호화된 데이터 신호와 LDPC로 암호화된 TMCC 신호를 복호할 수 있는 기능을 가지고 있으면 충분하며 그 구성 자체는 특히 한정되지 않는다. 즉, LDPC 복호 장치(804)는, 여러가지 실시의 형태를 취하는 것이 가능하다. 이하, LDPC 복호 장치(804)의 몇 개의 실시의 형태에 대해서, 각각 개별적으로 구체적으로 설명해 나간다.
도 20은, LDPC 복호 장치(804)의 일실시의 형태의 구성예를 나타내고 있다.
도 20의 LDPC 복호 장치(804)는, 분리부(901), 데이터 신호용 입력 버퍼(902D), TMCC 신호용 입력 버퍼(902T), 데이터 신호용 LDPC 복호부(903D), TMCC 신호용 LDPC 복호부(903T), 선택기(904) 및 제어부(905)로 구성되어 있다.
데이터 신호용 LDPC 복호부(903D)와 TMCC 신호용 LDPC 복호부(903T)는 각각, 상술한 도 13의 복호 장치와 기본적으로 같은 기능과 구성을 가지고 있다. 여기서, "기본적으로"라고 기술한 것은, 도 13의 복호 장치에서는, "P=6의 부호"가 복호 대상으로 되어 있던 반면에, 도 20의 LDPC 복호 장치(804)에서는, P가 임의의 정수인 경우에, "P의 부호"가 복호 대상으로 되어 있기 때문이다. 또, 도 20의 예에서는, 제어부는 설치되지 않고, 외부에 별도의 제어부(905)가 설치되어 있다.
즉, 도 20의 데이터 신호용 LDPC 복호부(903D)는, 데이터 신호용 수신치 메모리(1200D), 데이터 신호용 메시지 메모리(1201D), P개의 노드 계산기(1210D-1 내지 1210D-P)를 포함하는 메시지 계산부(1202D), 시프트부(1204D), 및 복호 결과 메모리(1205D)로 구성된다.
이와 같이, 도 20의 TMCC 신호용 LDPC 복호부(903T)는, TMCC 신호용 수신치 메모리(1200T), TMCC 신호용 메시지 메모리(1201T), P개의 노드 계산기(1210T-1 내지 1210T-P)를 포함하는 메시지 계산부(1202T), 시프트부(1204T) 및 복호 결과 메모리(1205T)로 구성된다.
도 20의 LDPC 복호 장치(804)의 동작은, 다음과 같이 된다.
즉, 도 17의 형태의 전송 신호(복조 후)가, LDPC 복호 장치(804)의 분리부(901)에 제공된다. 이러한 전송 신호를 수신하게 되면, 분리부(901)는, LDPC로 암호화된 데이터 신호(데이터)와 TMCC 신호(TMCC)를 전송 신호로부터 각각 분리하고, LDPC로 암호화된 데이터 신호를 데이터 신호용 입력 버퍼(902D)에 수신치로서 공급하고, LDPC로 암호화된 TMCC 신호를 TMCC 신호용 입력 버퍼(902T)에 수신치로서 제공한다.
데이터 신호용 입력 버퍼(902D)에 한 번 보관 유지된 수신치는, 이전 슬롯에 입력된 데이터 신호가, 데이터 신호용 LDPC 복호부(903D)의 데이터 신호용 수신치 메모리(1200D)에 전송되어 복호가 완료할 때까지, 데이터 신호용 입력 버퍼(902D) 에 보관 유지된다.
데이터 신호용 LDPC 복호부(903D)는, LDPC로 암호화된 데이터 신호를 복호 하고, 그 복호 결과, 즉 데이터 신호를 선택기(904)에 공급한다. 복호 처리 자체는, P가 변화할 가능성이 있는 것을 제외하고, 도 13의 복호 장치의 처리와 같으므로, 여기에서는 그 설명에 대해서는 생략한다.
이러한 LDPC로 암호화된 데이터 신호의 복호 처리와 완전히 같은 처리가, TMCC 신호용 입력 버퍼(902T)와 TMCC 신호용 LDPC 복호부(903T)에서 모두 행해져, 그 복호 결과, 즉 TMCC 신호가 선택기(904)에 공급된다.
데이터 신호용 LDPC 복호부(903D)로부터 출력된 데이터 신호, 또는, TMCC 신호용 LDPC 복호부(903T)로부터 출력된 TMCC 신호는, 선택기(904)를 통과하고, 최종적인 복호 결과가 외부에 출력된다.
상술의 LDPC 복호 장치(804)의 전체의 동작이, 제어부(905)에 의해 제어된다.
이상 설명한 것처럼, 도 20의 LDPC 복호 장치(804)는, 데이터 신호용 LDPC 복호부(903D)외에 TMCC 신호용 LDPC 복호부(903T)를 가지고 있다. 즉, 도 20의 LDPC 복호 장치(804)는, 2개의 동일한 구성의 LDPC 복호부를 가지고 있다.
따라서, LDPC 복호 장치(804)로서 도 20의 구성을 채용했을 경우, TMCC 신호의 복호를 수반하지 않는 종래의 복호 장치와 비교하면, 한 개의 LDPC 복호부, 즉 한 개의 회로 규모만큼 증대하게 된다. 그러므로, 회로 규모를 한층 더 축소하고 싶다고 하는 요망이 있는 경우, LDPC 복호 장치(804)의 구성으로서 예를 들면 도 21에 나타나는 구성을 채용하면 좋다.
즉, 도 21은, LDPC 복호 장치(804)의 일실시의 형태의 구성예이며, 도 20의 예와는 다른 예를 나타내고 있다.
도 21의 LDPC 복호 장치(804)는, 분리부(1501), 데이터 신호용 입력 버퍼(1502D), TMCC 신호용 입력 버퍼(1502T), 선택기(1503), LDPC 복호부(1504) 및 제어부(1506)로 구성되어 있다.
LDPC 복호부(1504)는, 수신치 메모리(1700), 메시지 메모리(1701), P개의 노드 계산기(1710-1 내지 1710-P)를 포함하는 메시지 계산부(1702), 시프트부(1704) 및 복호 결과 메모리(1705)로 구성된다.
즉, LDPC 복호부(1504)는, 도 20의 데이터 신호용 LDPC 복호부(903D)는 TMCC 신호용 LDPC 복호부(903T)와 같은 기능과 구성을 가지고 있다. 환언하면, 도 20의 LDPC 복호 장치(804)는 2개의 LDPC 복호부를 가지고 있던 것에 비해, 도 21의 LDPC 복호 장치(804)는 1개의 LDPC 복호부를 가지고 있다.
도 21의 LDPC 복호 장치(804)의 동작은, 다음과 같이 된다.
도 17의 형태의 전송 신호(복조 후)가, LDPC 복호 장치(804)의 분리부(1501)에 제공된다. 분리부(1501)는, LDPC로 암호화된 데이터 신호(데이터)와 TMCC 신호(TMCC)를 전송 신호로부터 각각 분리하고, LDPC로 암호화된 데이터 신호를 데이터 신호용 입력 버퍼(1502D)에 수신치로서 공급하며, LDPC로 암호화된 TMCC 신호를 TMCC 신호용 입력 버퍼(1502T)에 수신치로서 제공한다.
즉, LDPC로 암호화된 데이터 신호가, 데이터 신호용 입력 버퍼(1502D)에 수 신치로서 보관 유지되는 한편, LDPC로 암호화된 TMCC 신호가, TMCC 신호용 입력 버퍼(1502T)에 수신치로서 보관 유지된다.
선택기(1503)는, 제어부(1506)의 제어에 근거하여, 데이터 신호용 입력 버퍼(1502D)에 보관 유지된 수신치(LDPC로 암호화된 데이터 신호) 또는 TMCC 신호용 입력 버퍼(1502T)에 보관 유지된 수신치(LDPC로 암호화된 TMCC 신호)를, LDPC 복호부(1504)에 공급한다.
LDPC 복호부(1504)는, 선택기로부터 공급된 수신치를 복호하여, 그 복호 결과를 출력한다. 즉, 수신치로서 LDPC로 암호화된 데이터 신호가 공급되었을 경우에는, 데이터 신호가 복호 결과로 출력된다. 한편, 수신치로서 LDPC로 암호화된 TMCC 신호가 공급되었을 경우에는, TMCC 신호가 복호 결과로 출력된다.
환언하면, 제어부(1506)는, 미리 설정된 스케줄링에 근거하여, 데이터 신호의 복호 타이밍과 TMCC 신호의 복호 타이밍을 관리하고 있다. 이러한 스케줄링의 구체적인 예에 대해서는, 도 29 내지 도 32를 참조해 후술한다.
즉, 데이터 신호의 복호 타이밍에서는, 제어부(1506)의 제어에 근거하여, 선택기(1503)의 입력이, 데이터 신호용 입력 버퍼(1502D)측으로 스위치된다. 이에 의해, 수신치(LDPC로 암호화된 데이터 신호)가, 데이터 신호용 입력 버퍼(1502D)로부터 수신치 메모리(1700)로 선택기(1503)를 통해 전송되어 LDPC 복호부(1504)에 서, 복호가 개시된다.
데이터 신호의 복호가 종료되어 TMCC 신호의 복호 타이밍이 도래하면, 제어부(1506)의 제어에 근거하여, 선택기(1503)의 입력이, TMCC 신호용 입력 버 퍼(1502T)측으로 스위치된다. 이에 의해, TMCC 신호용 입력 버퍼(1502T)로부터 수신치 메모리(1700)로 수신치(LDPC로 암호화된 TMCC 신호)가 선택기(1503)를 통해 전송되어 LDPC 복호부(1504)에서, 복호가 개시된다.
이상 설명한 것처럼, LDPC 복호 장치(804)로서 도 21의 구성을 채용했을 경우, 도 20의 구성을 채용했을 경우와 비교하면, LDPC 복호부가 1개 적기 때문에, 그 만큼 회로 규모를 축소할 수 있다. 즉, 입력 버퍼 이외에는, 공통 회로에 의해 처리되는 데이터 신호와 TMCC 신호와의 복호를 위해서 개별적인 회로는 필요 없게 되므로, 회로 규모를 축소할 수 있다.
게다가, LDPC로 암호화된 TMCC 신호가 되는 수신치의 양자화 비트 수를 삭감하면, TMCC 신호용 입력 버퍼(1502T)의 크기를 삭감하는 것이 가능하다. LDPC로 암호화된 TMCC 신호는, 예를 들면 기존 신호를 정보길이에 넣어도 암호화율은 1/2로 되고 BPSK 변조로 송신되므로, LDPC로 암호화된 데이터 신호보다 CN이 상당히 작기 때문에, 수신치의 비트수를 삭감해도 충분히 낮은 CN으로 복호하는 것이 성공될 수 있다.
다만, 분리부(1501)로부터 출력되어 TMCC 신호용 입력 버퍼(1502T)에 입력되는 단계에서 LDPC로 암호화된 TMCC 신호는, 도 18의 아래 쪽의 도면에 도시된 바와 같이, 1부호당 31600비트를 가진다. 이에 대해서, 분리부(1501)로부터 출력되어 데이터 신호용 입력 버퍼(1502D)에 입력되는 단계에서 LDPC로 암호화된 데이터 신호는 상술한 것처럼, 1부호당 44880비트를 가진다.
따라서, LDPC 복호부(1504)에서 데이터 신호와 TMCC 신호의 복호가 공통적으 로 실행되는 경우에는, LDPC암호화된 TMCC 신호의 구조를, 도 18의 위쪽의 도면에 나타나는 구조로 재변환할 필요성이 있다. 즉, 1부호당 31600비트를 가지는 구조에 대해서, LDPC 암호화시에 삽입된 13200 비트 널 데이터에 대응하는 값을 부가하여, 1부호당 44880비트의 구조로 변환하고, LDPC 복호부(1504)에 공급할 필요가 있다.
그러므로, 예를 들면, TMCC 신호용 입력 버퍼(1502T)로서 도 22에 나타나는 구성의 버퍼를 채용할 수 있다. 즉, 도 22의 TMCC 신호용 입력 버퍼(1502T)는, 선택기(1801)와 입력 버퍼 메모리(1802)로 구성된다.
도 22의 TMCC 신호용 입력 버퍼(1502T)의 동작은 다음과 같이 된다. 즉, TMCC 신호가 LDPC 암호화될 때에 삽입된 널 데이터는, 모두 0인 확률 1로서 선택기(1801)에 공급된다. 또, 분리부(1501)로부터 출력되어 TMCC 신호용 입력 버퍼(1 502T)에 입력될 단계에서 LDPC로 암호화된 TMCC 신호, 즉, 도 18의 아래 쪽의 도면 나타나는 1부호당 31600비트의 구조의 신호도 선택기(1801)에 제공된다. 그러므로, 제어부(1506)의 제어에 근거하여, 도 18의 위쪽의 구조의 널 데이터에 대응하는 타이밍에서, 모두 0인 확률 1이 되는 값이 선택기(1801)를 통해 입력 버퍼 메모리(1802)에 공급되며, 그 이외의 타이밍에서는, 분리부(1501)로부터 출력되는 수신치가 선택기(1801)를 통해 입력 버퍼 메모리(1802)에 공급된다. 즉, TMCC 신호가 LDPC 암호화 될 때에 삽입된 널 데이터는 모두 0인 확률 1이 되는 값으로서 입력 버퍼 메모리(1802)에 그 값이 삽입되게 된다. 이것을 "0"의 대수 확률비로 표현하면, +∞의 값이 되며, 이것을 하드웨어에 실장하는 경우는, 취할 수 있는 값의 최대치가 된다.
혹은 또 예를 들면, TMCC 신호용 입력 버퍼(1502T)로서 도 23에 나타나는 구성의 버퍼를 채용할 수 있다. 즉, 도 23의 TMCC 신호용 입력 버퍼(1502T)는, 입력 버퍼(1811)와 선택기(1812)로 구성된다.
도 23의 TMCC 신호용 입력 버퍼(1502T)의 동작은 다음과 같이 된다. 즉, TMCC 신호가 LDPC 암호화될 때에 삽입된 널 데이터는, 모두 0인 확률 1로서 선택기(1812)에 공급된다. 또, 분리부(1501)로부터 출력되어 TMCC 신호용 입력 버퍼(1 502T)에 입력될 단계에서 LDPC로 암호화된 TMCC 신호, 즉, 도 18의 아래 쪽의 도면에 나타나는 1부호당 31600비트의 구조의 신호는, 입력 버퍼(1811)에 일단 버퍼링 된 후, 선택기(1812)에 제공된다. 그러므로, 제어부(1506)의 제어에 근거하여, 도 18의 위쪽의 구조의 널 데이터에 대응하는 타이밍에서, 모두 0인 확률 1이되는 값이 선택기(1812)로부터 출력되며, 그 이외의 타이밍에서, 입력 버퍼(1811)에 버퍼링된 수신치가 선택기(1812)로부터 출력된다. 즉, TMCC 신호가 암호화 될 때에 삽입된 널 데이터는, LDPC 복호부(1504)에 수신치가 전송 될 때에, 모두 0인 확률 1을 가지는 수신치내에 삽입된다. 이것을 "0"의 대수 확률비로 표현하면, +∞의 값이 되며, 이것을 하드웨어에 실장하는 경우는, 취할 수 있는 값의 최대치가 된다.
이러한 도 22와 도 23중 어느 쪽의 구성을 TMCC 신호용 입력 버퍼(1502T)로 채용했다고 해도, TMCC 신호용 입력 버퍼(1502T)로부터 출력되는 단계에서 LDPC로 암호화된 TMCC 신호는, 도 18의 위쪽의 도면 나타나는 1부호당 44880비트의 구조를 가지는 신호가 된다. 즉, 1부호의 비트수는, 데이터 신호도 TMCC 신호도 동일하게 된다. 그 결과, 도 21의 선택기(1503)로부터 후단에 있는 LDPC 복호부(1504)는, 데이터 신호의 복호와 같은 처리로, TMCC 신호의 복호도 할 수 있게 된다.
LDPC 복호부(1504)는, LDPC로 암호화된 TMCC 신호(널 비트 포함)중 널 비트에 대해서는, 도 24와 도 25에 나타나는 수법에 따르는 복호를 실시할 수 있다.
도 24는, 널 비트의 복호 결과 출력의 수법에 대해 설명하는 도면이다.
즉, 상술한 도 8에 도시된 바와 같이, 널 비트 이외에 다른 비트들, 즉 식(5)의 연산의 결과가 최종적인 복호 결과로 출력된다.
이것에 대해서, 널 비트에 대해서는, 도 24에 도시된 바와 같이, 0인 확률 1이 최종적인 복호 결과로 항상 출력된다. 이것을 "0"의 대수 확률비로 표현하면, +∞의 값이 되며, 이것을 하드웨어에 실장하는 경우는, 취할 수 있는 값의 최대치가 된다. 이와 같이, LDPC 복호부(1504)는, 수신 데이터 u0i가 0인 확률이 1을 가지는 값이 공급되었을 경우, 그것은 널 데이터라고 판단하고, 데이터가 0인 확률이 되는 1을 최종적인 복호 결과로 항상 출력하면 좋다. 즉, 널 비트에 대한 복호 결과 출력을 위한 연산은 불필요해진다.
도 25는, 널 비트의 가변 노드의 연산 수법을 설명하는 도면이다.
즉, 널 비트 이외의 데이터 비트에 대해서는, 상술한 도 6에 도시된 바와 같이, 식(1)의 가변 노드 연산을 한다.
한편, 널 비트에 대해서는, 도 25에 도시된 바와 같이, 0인 확률 1이 항상 출력된다. 이것을 "0"의 대수 확률비로 표현하면, +∞의 값이 되며, 이것을 하드웨어에 실장하는 경우는, 취할 수 있는 값의 최대치가 된다. 이와 같이, LDPC 복호부(1504)는, 가변 노드 연산시에, 수신 데이터 u0i가 0인 확률 1을 가지는 값이 공급되었을 경우, 그것은 널 데이터라고 판단하고, 데이터가 0인 확률 1을 항상 출력할 수 있다. 즉, 널 비트에 대한 가변 노드 연산은 불필요해진다.
또한, 이상으로부터, 널 비트의 수신치 및 널 비트에 연결하는 가지(edge)의 메시지는, 데이터가 항상 0인 확률 1을 가지는 고정 값이 되므로, TMCC 신호용으로 개별적인 LDPC 복호부(예를 들면 상술한 도 20의 TMCC 신호용 LDPC 복호부(903T))를 준비했을 경우에는, 그 LDPC 복호부에 있어서의 수신치 메모리와 메시지 메모리를 삭감하는 것이 가능하다.
본 발명에 따르는 상기 대표적인 구성에서는, TMCC 신호는, 도 18에 도시된 바와 같이, 널 비트가 부가되어 LDPC 암호화 되는 것이 전제로 되어 있었다. 그렇지만, 특히 TMCC 신호는, 이러한 전제에 근거하는 신호일 필요는 없다.
즉, TMCC 신호는, 예를 들면, 소정의 제어 정보(도 18의 데이터에 상당하는 정보)에 대해서 기존 신호(도 18의 예에서는 널 비트)가 부가되어 LDPC로 암호화된 시퀀스가 되는 신호가 되며, 그 시퀀스로부터 기존 신호가 삭제된 형태의 신호로서 수신장치에 전송되는 형태를 채용할 수도 있다.
이 경우, TMCC 신호용 입력 버퍼(1502T)가 도 22의 구성을 취하는 경우, 기존 신호가 0인 경우는 데이터가 0인 확률이 1을 의미하는 값 또는, 기존 신호가 1 인 경우는 데이터가 1인 확률을 의미하는 값을 선택기(1801)에 입력시키도록 하면 좋다.
TMCC 신호용 입력 버퍼(1502T)가 도 23의 구성을 취하는 경우, 기존 신호가 0인 경우는 데이터가 0인 확률을 의미하는 값 또는 기존 신호가 1인 경우는 데이터가 1인 확률을 의하는 값을 선택기(1812)에 입력시키도록 하면 좋다.
LDPC 복호부(1504)는, TMCC 신호의 복호중 기존 신호에 대해서는, 그 기존 신호 비트에 연결하는 가지의 메시지를, 기존 신호가 0인 경우는 데이터가 0인 확률 1을 의미하는 값과 기존 신호가 1인 경우는 데이터가 1인 확률 1을 의미하는 값으로 취급할 수 있다.
도 26 내지 도 28을 참조하여, LDPC 복호 장치(804)의 다른 실시의 형태에 대해 설명해 나간다.
도 26은, LDPC 복호 장치(804)의 일실시의 형태의 구성예이며, 도 20, 도 21의 예와는 다른 예를 나타내고 있다.
즉, 도 26의 LDPC 복호 장치(804)는, 분리부(1901), 데이터 신호용 입력 버퍼(1902D), TMCC 신호용 입력 버퍼(1902T), 데이터 신호용 LDPC 복호부(1903D), 선택기(1904), 제어부(1905), LDPC경판정 복호부(1906), 복호 결과 메모리(1907)로 구성되어 있다.
도 26의 데이터 신호용 LDPC 복호부(1903D)는, 도 20의 데이터 신호용 LDPC 복호부(903D)와 같은 기능과 구성을 가지고 있다. 즉, 도 26의 데이터 신호용 LDPC 복호부(1903D)는, 수신치 메모리(2000D), 메시지 메모리(2001D), P개의 노드 계산기(2010D-1 내지 2010D-P)를 포함하는 메시지 계산부(2002D), 시프트부(2004 D) 및 복호 결과 메모리(2005D)로 구성된다.
이와 같이, 도 26의 데이터 신호의 복호용의 구성은, 도 20의 구성과 같은 구성이 되고 있다. 이것에 대해서, 도 26의 TMCC 신호의 복호용의 구성은, 도 20의 TMCC 신호용 LDPC 복호부(903T) 대신에, LDPC경판정 복호부(1906)과 복호 결과 메모리(1907)가 채용된 구성이 되고 있다.
즉, LDPC로 암호화된 TMCC 신호는, 예를 들면 상술한 것처럼, BPSK 변조 방식에서, 정보길이(information length)에 포함된 기존 신호에서 1/2의 낮은 암호화율을 가지므로, LDPC로 암호화된 데이터 신호와 비교하면 요구되는 CN이 작다고 하는 특징을 가지고 있다. 이러한 특징을 가진다고 하는 것은, LDPC로 암호화된 TMCC 신호에 대해서는, 경판정 복호가 실행되면, 충분히 낮은 CN으로 신호를 복호하는 것이 가능하다는 것을 의미한다. 따라서, 도 28의 LDPC 복호 장치(804)에서는, TMCC 신호의 복호용으로서 도시된 도 20의 TMCC 신호용 LDPC 복호부(903T) 대신에, LDPC 경판정 복호부(1906)와 복호 결과 메모리(1907)가 설치되어 있는 것이다.
이상의 설명을 정리하면, LDPC 복호 장치(804)의 구성에서는, 도 20의 예와 도 26의 예를 비교하면, TMCC 신호의 복호를 위한 구성으로서 도시된 도 20의 예에서는, TMCC 신호용 LDPC 복호부(903T)가 채용되고 있는 반면에, 도 26의 예에서는 LDPC경판정 복호부(1906)와 복호 결과 메모리(1907)가 채용되고 있는 점이 차이점이 된다.
따라서, 도 26의 LDPC 복호 장치(804)의 동작에 대해서도, LDPC경판정 복호 부(1906)의 동작을 제외하고, 도 20의 LDPC 복호 장치(804)의 상술한 동작과 같게 된다. 따라서, 이하, 도 26의 LDPC 복호 장치(804)의 동작 중, LDPC경판정 복호부(1906)의 동작에 있어서만 설명하며, 그 이외의 동작의 설명에 대해서는 생략 한다.
LDPC경판정 복호부(1906)는, 예를 들면 도 6에 나타나는 가변 노드의 연산을 실시하는 경우, 수신 데이터와 다른 가지로부터 도래하는 메시지의 다수결 결과(majority decision result)를 가변 노드의 메시지로 사용할 수 있다. 즉, 다음의 식(14) 내지(16)에 따르는 연산이, 가변 노드의 연산으로서 LDPC경판정 복호부(1906)에서 실행된다.
[식 14]
v1 =(u0i + u2 + u3 > 1)?1 :0···(14)
[식 15]
v2 =(u0i + u1+ u2 > 1)?1 :0 ···(15)
[식 16]
v3 =(u0i + u2 + u3 > 1)?1 :0···(16)
식(14) 내지 식(16)에 있어서, 좌변의 v1내지 v3이, 가변 노드의 메시지를 나타내고 있다. 또, 우변의 u0i가 수신 데이터를, u1내지 u3이 다른 가지로부터 도래하는 메시지를 각각 가리키고 있다.
또, 식(14) 내지 식(16)은, 프로그래밍에 있어서의 이른바 3항 연산자(ternary operator)의 형태의 식이다. 즉, 우변은 「<조건>?<1>:<0> 」의 형태로 나타내며, 만약 <조건>이 진(true)이라면, 이 식의 값(좌변의 값)은 <1>이 되며, 가짜라면 <0>이 되는 것을 의미하고 있다.
구체적으로는, 예를 들면 식(14)에 있어서,(u0i + u2 + u3 > 1)이라고 하는 조건이 성립하는 경우, 가변 노드의 메시지 v1는 1이라고 연산되며,(u0i + u2 + u3 > 1)이라고 하는 조건이 성립하지 않는 경우, 가변 노드의 메시지 v1는 0이라고 연산된다.
LDPC경판정 복호부(1906)는, 예를 들면 도 7에 나타나는 체크 노드의 연산을 실시하는 경우, 다른 가지로부터 도래하는 메시지의 배타적 논리합의 연산 결과를 체크 노드의 메시지 ui로 할 수 있다. 즉, 다음의 식(17) 내지 식(22)에 따르는 연산이, 체크 노드의 연산으로서 LDPC경판정 복호부(1906)에서 실행된다.
u1 = EXOR(v2,v3,v4,v5,v6)···(17)
u2 = EXOR(v1,v3,v4,v5,v6)···(18)
u3 = EXOR(v1,v2,v4,v5,v6)···(19)
u4 = EXOR(v1,v2,v3,v5,v6)···(20)
u5 = EXOR(v1,v2,v3,v4,v6)···(21)
u6 = EXOR(v1,v2,v3,v4,v5)···(22)
식(17) 내지 식(22)에 있어서, 좌변의 u1내지 u6가, 체크 노드의 메시지를 나타내고 있다. 또, 우변의 v1 내지 v6가 다른 가지로부터 도래하는 메시지를 나타내고 있다.
이러한 식(14) 내지 식(22)에서 나타나는 간단한 연산으로 가변 노드 또는 체크 노드의 연산이 가능하게 되므로, 도 26의 LDPC경판정 복호부(1906)와 복호 결과 메모리(1907)의 회로 규모는, 도 20의 TMCC 신호용 LDPC 복호부(903T)보다 소규모로 설계할 수 있다. 즉, LDPC 복호 장치(804)로서 도 26의 구성을 채용했을 경우, 도 20의 구성을 채용했을 경우와 비교하면, TMCC 신호의 복호를 위한 회로를 축소할 수 있으므로, 그 만큼 전체의 회로 규모도 축소할 수 있다.
도 27은, LDPC 복호 장치(804)의 일실시의 형태의 구성예이며, 도 20, 도 21, 도 26의 예와는 다른 예를 나타내고 있다.
즉, 도 27의 LDPC 복호 장치(804)는, 분리부(2101), 데이터 신호용 입력 버퍼(2102D), TMCC 신호용 입력 버퍼(2102T), 데이터 신호용 LDPC 복호부(2103D), TMCC신호용 LDPC 복호부(2103T), 선택기(2104) 및 제어부(2105)로 구성되어 있다.
도 27의 데이터 신호용 LDPC 복호부(2103D)는, 도 20의 데이터 신호용 LDPC 복호부(903D)와 같은 기능과 구성을 가지고 있다. 즉, 도 27의 데이터 신호용 LDPC 복호부(2103D)는, 데이터 신호용 수신치 메모리(2200D), 데이터 신호용 메시지 메모리(2201D), P개의 노드 계산기(2210D-1 내지 2210D-P)를 포함하는 메시지 계산부(2202D), 시프트부(2204D) 및 복호 결과 메모리(2205D)로 구성된다.
이와 같이, 도 27의 데이터 신호의 복호용의 구성은, 도 20의 구성과 같은 구성이 되고 있다. 이것에 대해서, 도 27의 TMCC 신호의 복호용의 구성은, 도 20의 TMCC 신호용 LDPC 복호부(903T) 대신에, 그것과는 다른 구성의 TMCC 신호용 LDPC 복호부(2103T)가 채용된 구성이 되고 있다.
즉, 도 27의 TMCC 신호용 LDPC 복호부(2103T)는, TMCC 신호용 수신치 메모리(2200T), TMCC 신호용 메시지 메모리(2201T), 1개의 노드 계산기(2210T)만을 포함한 메시지 계산부(2202T) 및 복호 결과 메모리(2205T)로 구성된다.
환언하면, 도 20의 예에서는, LDPC로 암호화된 TMCC 신호에 대해서도, 패리티 병렬 복호(parity parallel decoding)를 실시할 수 있도록, 즉 LDPC 부호를 나타내는 패리티 검사 행렬을 구성하는 P×P의 구조의 구성 행렬마다, 패러렐 방식으로, 노드 연산을 실시할 수 있도록, P개의 노드 계산기(1210T-1 내지 1210T-P)를 포함하는 TMCC 신호용 LDPC 복호부(903T)가 채용되고 있다 .
이것에 대해서, 도 27의 예에서는, LDPC로 암호화된 TMCC 신호에 대해서는, 풀 직렬의 복호(full serial decoding)를 실시할 수 있도록, 즉 단순하게 각 노드의 연산을 한 개씩 차례로 진행하는 것에 의해서 복호를 실시할 수 있도록, 1개의 노드 계산기(2210T)를 포함하는 TMCC 신호용 LDPC 복호부(2103T)가 채용되고 있다.
이와 같이, 도 27의 예에서는, LDPC로 암호화된 TMCC 신호에 대해서, 풀 직렬의 복호(full serial decoding)를 하며, 그 이유는 다음과 같다.
즉, 본 실시의 형태에서는, 도 17의 형식의 전송 신호가 LDPC 복호 장 치(804)에 공급되게 된다. 이 경우, 상술한 것처럼, 데이터 신호가 최대 120 부호에 대해서 도래하는 동안에, TMCC 신호는 단지 1부호분에 대해서만 도래하게 된다. 이것은, LDPC로 암호화된 데이터 신호와 TMCC 신호를 병렬적으로 복호하는 경우, 데이터 신호의 복호만큼, 복호 회수를 최대 120배 확보할 수 있는 것을 의미한다. 그 때문에, 도 27의 예의 같이, TMCC 신호용으로는, 1개의 노드 연산기(2210T)밖에 존재하지 않고, P=374가 되면, 즉, 패리티 검사 행렬의 구성 행렬이 374×374의 구조가 되면, 데이터 신호의 복호 회수의 120/374배와 같은 충분한 복호 회수가 확보된다.
또, 상술한 것처럼, LDPC로 암호화된 TMCC 신호가 전송되어 오는 경우, 예를 들면, BPSK 변조 방식으로 기존 신호가 정보길이에 포함되더라도 암호화율은 1/2로 낮기 때문에, LDPC로 암호화된 데이터 신호와 비교하면 요구되는 CN이 작다고 하는 특징을 가지고 있다. 이러한 특징을 가진다고 하는 것은, LDPC로 암호화된 TMCC 신호에 대해서는, 데이터 신호의 120/374배의 복호 회수가 되면, 충분히 낮은 CN으로 복호가 가능하게 된다.
도 27의 LDPC 복호 장치(804)의 동작은, LDPC로 암호화된 TMCC 신호에 대해 상술한 바와 같이, 패리티 병렬 복호라기 보다는 풀 직렬의 복호를 하는 것을 제외하면, 도 20의 LDPC 복호 장치(804)의 상술한 동작과 같게 된다. 따라서, 도 27의 LDPC 복호장치(804)의 동작에 대해서는, 그 설명을 생략한다.
도 28은, LDPC 복호 장치(804)의 일실시의 형태의 구성예이며, 도 20, 도 21, 도 26, 도 27의 예와는 다른 예를 나타내고 있다.
즉, 도 28의 LDPC 복호 장치(804)는, 분리부(2301), 데이터 신호용 입력 버퍼(2302D), TMCC 신호용 입력 버퍼(2302T), LDPC 복호부(2303) 및 제어부(2305)로 구성되어 있다.
도 28의 LDPC 복호부(2303)는, 데이터 신호용 수신치 메모리(2400D), TMCC 신호용 수신치 메모리(2400T), 데이터 신호용 메시지 메모리(2401D), TMCC 신호용 메시지 메모리(2401T), P개의 노드 계산기(2410-1 내지 2410-P)를 포함하는 메시지 계산부(2402), 시프트부(2404), 복호 결과 메모리(2405) 및 선택기(2406)로 구성된다.
도 28의 LDPC 복호 장치(804)의 동작은, 다음과 같이 된다.
도 17의 형식의 전송 신호(복조 후)가, LDPC 복호 장치(804)의 분리부(2301)에 제공된다. 분리부(2301)는, LDPC로 암호화된 데이터 신호(데이터)와 TMCC 신호(TMCC)를 전송 신호로부터 각각 분리하고, LDPC로 암호화된 데이터 신호를 데이터 신호용 입력 버퍼(2302D)에 수신치로서 공급하며, LDPC로 암호화된 TMCC 신호를 TMCC 신호용 입력 버퍼(2302T)에 수신치로서 제공한다.
즉, LDPC로 암호화된 데이터 신호가, 데이터 신호용 입력 버퍼(2302D)에 수신치로서 보관 유지되는 한편, LDPC로 암호화된 TMCC 신호가, TMCC 신호용 입력 버퍼(2302T)에 수신치로서 보관 유지된다.
제어부(2305)는, 미리 설정된 스케줄링에 근거하여, 데이터 신호의 복호 타이밍과 TMCC 신호의 복호 타이밍을 관리하고 있다. 이러한 스케줄링의 구체적인 예에 대해서는, 도 29 내지 도 32를 참조해 후술한다.
즉, 데이터 신호의 복호 타이밍에서는, 제어부(2305)의 제어에 근거하여, 선택기(2406)의 입력이, 데이터 신호용 수신치 메모리(2400D)측과 데이터 신호용 메시지 메모리(2401D)측으로 스위치 된다. 동시에, 데이터 신호용 입력 버퍼(2302D)에 보관 유지된 수신치(LDPC로 암호화된 데이터 신호)가, 데이터 신호용 수신치 메모리(2400D)에 전송된다. 그리고, 시프트부(2404)로부터 출력되는 메시지가, 데이터 신호용 메시지 메모리(2401D)에 저장되도록 제어된다. 이 경우의 LDPC 복호부(2303)의 회로 구성은, 도 20의 데이터 신호용 LDPC 복호부(903D)의 회로 구성과 등가가 된다. 이것에 의해, LDPC 복호부(2303)에 있어서, LDPC로 암호화된 데이터 신호의 복호가 가능하게 된다.
한편, TMCC 신호의 복호 타이밍에서는, 제어부(2305)의 제어에 근거하여, 선택기(2406)의 입력이, TMCC 신호용 수신치 메모리(2400T)와 TMCC 신호용 메시지 메모리(2401T)로 각각 스위치된다. 또, TMCC 신호용 입력 버퍼(2302T)에 보관 유지된 수신치(LDPC로 암호화된 TMCC 신호)가, TMCC 신호용 수신치 메모리(2400T)에 전송된다. 그리고, 시프트부(2404)로부터 출력되는 메시지가, TMCC 신호용 메시지 메모리(2401T)에 저장되도록 제어된다. 이 경우의 LDPC 복호부(2303)의 회로 구성은, 도 20의 TMCC 신호용 LDPC 복호부(903T)의 회로 구성과 등가가 된다. 이것에 의해, LDPC 복호부(2303)에 있어서, LDPC로 암호화된 TMCC 신호의 복호가 가능하게 된다.
이상, LDPC 복호 장치(804)의 실시의 형태로서 도 20, 도 21, 도 26, 도 27, 도 28의 5개의 형태에 대해 설명했다.
이러한 실시의 형태는, 직렬에 처리를 위해, 데이터 신호의 복호와 TMCC 신호의 복호를 선택적으로 스위치하는 형태(이하, 직렬 형태라고 칭한다)와 데이터 신호의 복호와 TMCC 신호의 복호와의 양자를 패러렐 처리하는 형태(이하, 패러렐 형태라고 칭한다)로 크게 나눌 수 있다. 즉, 도 21, 도 28의 LDPC 복호 장치(804)가 직렬 형태의 일례이며, 도 20 , 도 26, 도 27의 LDPC 복호 장치(804)가 패러렐 형태의 일례이다.
이하, 직렬 형태와 패러렐 형태로 구별된 TMCC 신호의 복호 타이밍의 스케줄링예에 대해 설명한다.
이하의 스케줄링예는, 도 17의 형식의 전송 신호를 단위로서 즉, 1 프레임 120 슬롯을 단위로 하여 수신치(복조 후)가 LDPC 복호 장치(804)에 수신되는 것이 전제로 되어 있다.
또, 이하의 스케줄링예를 나타내는 타이밍 차트에 있어서, 즉 도 29 내지 도 32의 타이밍 차트에 있어서, "수신"이라고 기술되어 있는 우측의 타이밍 차트는, 도 17의 형태의 전송 신호(복조 후)가 LDPC 복호 장치(804)에 도래하는 타이밍을 나타내고 있다. 한편, "복호"라고 기술되고 있는 우측의 타이밍 차트는, LDPC 복호 장치(804)의 복호의 타이밍을 나타내고 있다.
도 29는, 직렬 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 일례를 나타내는 타이밍 차트이다.
도 29의 예에서는, LDPC 복호 장치(804)는, 1 프레임 120 슬롯의 모두를 수신한 후의 타이밍에서, 우선, 수신이 완료된 프레임(이하, 제 1프레임이라고 칭한 다)으로 시분할 다중화된 LDPC로 암호화된 TMCC 신호(이하, 제 1프레임의 TMCC 신호로 약기한다)의 복호를 개시한다. LDPC 복호 장치(804)는, 제 1프레임의 TMCC 신호의 복호를 완료하면, 통상의 데이터 신호의 복호의 처리로 돌아와(또는 스위치되어), 제 1프레임의 슬롯#120에 포함되는 LDPC로 암호화된 데이터 신호(이하, 슬롯#120의 데이터 신호라고 칭한다. 다른 슬롯에 대해서도 같은 호칭을 채용한다)의 복호를 실시한다. 그리고, 그 후, LDPC 복호 장치(804)는, 제 1 프레임의 다음에 수신되는 프레임(이하, 제 2프레임이라고 칭한다)의 데이터 슬롯#1 내지#119의 각각의 데이터 신호의 복호를 차례로 진행한다.
여기서, TMCC 신호의 복호의 수법으로서는, 예를 들면, 다음의 2개의 수법을 채용할 수 있다.
즉, 제 1의 수법이란, 어떤 복호 반복 회수를 지정하고, 그 반복 회수의 복호가 실패했을 경우에는, 강제적으로 복호를 종료하는 수법이다.
제 2의 수법이란, LDPC로 암호화된 TMCC 신호에 대해서는, 복호가 성공할 때까지 오로지 복호의 처리를 반복하는 수법이다. 이 제 2의 수법을 채용하는 이유는 다음과 같다. 즉, LDPC로 암호화된 TMCC 신호의 요구되는 CN은, LDPC로 암호화된 데이터 신호의 요구되는 CN과 비교하면 매우 작기 때문에, TMCC 신호의 복호가 성공하지 않을 때에는, 다른 데이터 신호의 복호도 실패할 가능성이 꽤 높기 때문이다. 또, TMCC 신호의 복호가 성공하지 않으면 이후에 도래하는 프레임의 제어신호를 알 수 없기 때문이다. 즉, 이러한 이유에 근거해, LDPC로 암호화된 TMCC 신호를 우선적으로 성공할 때까지 복호하는 제 2의 수법을 채용하는 것이다.
구체적으로는 예를 들면 도 21의 LDPC 복호 장치(804)의 경우, 제 1프레임의 TMCC 신호를 모두 수신한 이후의 타이밍에서, 제어부(1506)의 제어에 근거하여, 선택기(1503)의 입력이 TMCC 신호용 입력 버퍼(1502T)로 스위치되며, TMCC 신호용 입력 버퍼(1502T)에 보관 유지 제 1프레임의 TMCC 신호가, LDPC 복호부(1504)의 수신치 메모리(1700)에 전송되어 제 1 프레임의 TMCC 신호의 복호가 개시된다.
여기서, TMCC 신호의 복호의 수법으로서 제 1의 수법이 채용되고 있는 경우에는, 소정의 복호 회수가 도달할 때에 복호 결과가 출력된다. 또, TMCC 신호의 복호의 수법으로서 제 2의 수법이 채용되고 있는 경우에는, 복호가 성공한 단계에서 복호 결과가 출력된다.
그러면, 제어부(1506)의 제어에 근거하여, 선택기(1503)의 입력이 데이터 신호용 입력 버퍼(1502D)측으로 스위치되어, 제 1프레임의 슬롯#120의 데이터 신호(수신치)가 데이터 신호용 입력 버퍼(1502D)로부터, LDPC 복호부(1504)의 수신치 메모리(1700)에 전송되어 슬롯#120의 데이터 신호의 복호가 개시된다. LDPC 복호부(1504)는, 그 후, 슬롯#1200의 데이터 신호의 복호를, 복호가 성공할 때까지, 혹은 다음의 제 2프레임의 슬롯#1의 수신이 끝날 때까지 계속한다.
이러한 도 29의 예의 스케줄링에 따라서, LDPC 복호 장치(804)가 TMCC 신호의 복호를 실행하면, 제 1프레임의 슬롯#120의 복호 회수를 감소시키는 동시에 회로 규모가 증대하거나 성능이 열화하는 것을 방지한다.
도 30은, 직렬 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 일례이며, 도 29와는 다른 예를 나타내는 타이밍 차트이다.
도 30의 예에서는, LDPC 복호 장치(804)는, 제 1프레임의 120 슬롯의 모두를 수신한 후의 타이밍에서, 먼저, 제 1프레임의 슬롯#120의 데이터 신호의 복호를 개시한다. 여기서, 슬롯#120의 데이터 신호의 복호가 성공한(도 30의 "dec suc"로 표시된)타이밍부터, 다음의 제 2프레임의 슬롯#1을 모두 수신해 그 데이터 신호의 복호를 개시할 때까지 시간적인 여유가 있으면, LDPC 복호 장치(804)는, 그 시간적인 여유가 있는 동안에, 제 1프레임의 TMCC 신호의 LDPC 복호를 실시한다. 만일, 이전에 복호가 성공에 이르지 않는 경우는, LDPC 복호 장치(804)는, 그대로 중간 결과를 보관 유지해 두며, 다음의 슬롯#2 내지 #119의 데이터 신호중 어느 쪽의 복호가 완료한 다음에는, 다음의 프레임의 슬롯을 모두 수신하여 그 데이터 신호의 복호를 개시할 때까지, 시간적인 여유가 있는 경우에, LDPC 복호 장치(804)는, 그 시간적인 여유가 있는 동안에, 제 1프레임의 TMCC 신호의 LDPC 복호를 재개한다.
이러한 도 30의 예의 스케줄링에 따라서, LDPC 복호 장치(804)가 TMCC 신호를 복호하는 것으로써, 데이터 신호의 복호 성능이 통상의 복호보다 열화하는 것을 방지한다.
도 30의 예의 스케줄링을 채용하는 경우에는, 상술한 바와 같이, 데이터 신호의 복호중에도 TMCC 신호에 대한 수신치와 메시지를 보관 유지해 둘 필요가 있다. 따라서, LDPC 복호 장치(804)는, TMCC 신호용의 수신치 메모리와 메시지 메모리를 가지는 구성을 취할 필요가 있다. 즉, 도 30의 예의 스케줄링을 채용하는 경우에는, 상술의 실시의 형태에서는, TMCC 신호용 수신치 메모리(2400T)와 TMCC 신호용 메시지 메모리(2401T)를 가지는 도 28의 LDPC 복호 장치(804)를 채용할 필요가 있다.
도 31은, 직렬 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 일례이며, 도 29, 도 30과는 다른 예를 나타내는 타이밍 차트이다.
상술한 것처럼, LDPC로 암호화된 TMCC 신호는 시분할 다중화 되어 복수의 단위 데이터로 구분되어 1 프레임 120 슬롯내에 간헐적으로(intermittently) 삽입된다. 즉, 도 17에 도시된 바와 같이, TMCC 신호의 단위 데이터(도 31의 TMCC로 표시된 데이터)는 간헐적으로 전송되어 온다. 그러므로, 예를 들면, 도 31에 도시된 바와 같이, LDPC 복호 장치(804)는, 제 1프레임의 마지막 TMCC 신호의 단위 데이터의 수신을 기다리지 않고, 제 1프레임의 TMCC 신호의 복호를 개시한다. 이것에 의해, TMCC 신호의 단위 데이터에 대한 4심볼과, 그 이전에 전송된 데이터 신호의 단위 데이터(도 31의 데이터 #7920으로 표시되는 데이터)에 대한 136심볼을 합친 총 140심볼 만큼 빠른 타이밍에서, 제 1프레임의 TMCC 신호의 복호를 개시하는 것이 가능하게 된다.
도 31의 예에서는, 제 1프레임의 TMCC 신호의 복호의 개시 타이밍은, 프레임의 마지막 TMCC 신호의 단위 데이터(보다 정확하게는, 그 이전의 데이터 신호의 단위 데이터)로 되어 있지만, 그것보다 이전이 되어도 상관없다.
다만, 어느 쪽으로 해도, 제 1프레임의 TMCC 신호의 복호가 개시될 단계에서는, 제 1프레임의 마지막 수 심볼에 대해서는 수신이 완료되지 않게 된다. 따라서, 수신이 완료되지 않는 비트에 대해서는 적당한 수신치, 예를 들면 "0"의 확률 이 0.5가 되는 적절한 수신치를 설정하여 복호를 개시하는 수법을 채용하면 좋다. 이 경우, 참수신치(true reception value)를 사용하고 있지 않았기 때문에 당연히, TMCC 신호의 복호 성능은 열화할 가능성이 있지만, 그 열화는 실용상 문제없다.
이러한 도 31의 예의 스케줄링에 따라서, LDPC 복호 장치(804)가 TMCC 신호를 복호하는 것으로써, TMCC 신호의 복호 개시 시간을 앞당기는 것이 가능해진다.
도 31의 예의 스케줄링은, 직렬 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 일례이다. 그렇지만, 수신이 완료하고 있지 않을 때로부터 TMCC 신호의 복호를 개시한다고 하는 기술적 사상은, 패러렐 형태의 TMCC 신호의 복호 타이밍의 스케줄링이라고 해도 동일하게 적용 가능하다.
이상 설명한 것처럼, 도 29 내지 도 31은, 직렬 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 각 예를 나타내는 타이밍 차트였다.
도 32는, 패러렐 형태의 TMCC 신호의 복호 타이밍의 스케줄링의 일례를 나타내는 타이밍 차트이다.
즉, 도 32의 예의 스케줄링에서는, LDPC 복호 장치(804)는, LDPC로 암호화된 데이터 신호와 TMCC 신호와의 양자의 복호를 패러렐 방식으로 실시할 수 있다.
도 32의 예에서는, 제 1프레임의 데이터 신호의 복호에서는, 마지막 슬롯 #120의 복호가, 다음의 제 2프레임의 슬롯 #1의 수신 종료 이전에 완료할 필요가 있다라는 조건이 있다. 그렇지만, 제 1프레임의 TMCC 신호의 복호에 대해서는, 제 2프레임이 다 수신할 때까지 그 복호를 계속할 수 있다. 이것이, TMCC 신호 용 LDPC 복호부로서 도 27의 예의 같이, 풀 직렬의 복호(full serial decoding)를 실시하는 구성을 채용할 수 있는 이유의 하나이다.
이상 설명한 것처럼, 각종 구성의 LDPC 복호 장치(804)를 채용하는 것에 의해, 데이터 신호 뿐만 아니라, TMCC 신호도 LDPC 암호화 되어 시간 분할 다중 되는 시스템을 실현할 수 있다. 즉, LDPC 복호 장치(804)로서 예를 들면 도 20의 예의 구성을 채용하는 것으로서, LDPC로 암호화된 데이터 신호와 TMCC 신호의 양자를 복호할 수 있는 복호 장치를 실현할 수 있다. 게다가 LDPC 복호 장치(804)로서 예를 들면 도 21, 도 26, 도 27, 도 28의 예의 구성을 채용하면, 도 20의 예의 구성을 채용했을 경우에 비해, 최소한으로 회로 규모 증대를 억제하면서, LDPC로 암호화된 데이터 신호와 TMCC 신호의 양자를 복호할 수 있는 복호 장치를 실현할 수 있다.
다만, LDPC 복호 장치(804)의 실현 형태는, 상술한 예로 한정되지 않는 것은 말할 필요도 없다.
예를 들면, TMCC 신호란, 변조 방식을 나타내는 전송 파라미터를 전송하는 신호이다. 구체적으로는 예를 들면, 변조 방식을 4비트로 표현한다고 하면, 변조 방식으로서는 16방법의 표현이 가능해진다. 예를 들면, 10방법의 변조 방식 밖에 이용되지 않는 시스템에 본 발명을 적용하는 것을 생각하면, TMCC 신호안에는, 사용되지 않는 값이 존재하게 된다. 이러한 경우, 예를 들면 다음과 같은 처리를 실행하는 기능을 가지는 LDPC 복호 장치(804)를 채용할 수도 있다. 즉, LDPC 복호 장치(804)가 TMCC 신호의 복호 결과 사용되지 않는 값을 출력했을 경우, LDPC 복호 장치(804)는, 신드롬 체크가 성공적이라고 복호는 실패한 것으로 간주하여 복호를 다시 하거나, 혹은 수신치를 그대로 출력하거나, 혹은 사용되고 있는 어떠한 값으로 대체하는 처리를 실행한다. 이것에 의해, 적어도 사용되지 않는 값을 출력하는 것을 피하는 것이 가능해진다.
설명은 생략하지만, 본 발명이 적용되는 상술한 수법은, 다른 변조 방식이나 암호화율이 바뀌어도 완전히 동일하게 적용할 수 있다. 즉, 본 발명은 양호한 실시 형태가 특정한 용어를 이용하여 기재되었으며, 이러한 기재는 단지 설명을 위한 것이며 이러한 변경과 수정들은 본 발명의 정신 및 범위를 일탈하는 일없이 이루어질 수 있다.
게다가, 본 발명은, LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 1의 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 암호화된 제 2의 신호가 다중화되어 전송되는 시스템에도 적용 가능하다. 즉, 이 경우, 본 발명이 적용되는 수신장치는, 제 1의 신호와 제 2의 신호를 분리하고, 분리된 제 1의 신호와 제 2의 신호를 각각 복호할 수 있는 기능을 가지고 있으며, 본 발명에 따르는 수신 장치의 구성들은 특별한 구성에 한정되지 않는다.
그런데, 상술한 일람 표시처리를 포함하는 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다.
상술한 일련의 처리를 소프트웨어에 의해 실행시키는 경우, 본 발명이 적용되는 복호 장치는, 예를 들면, 도 33에 나타나는 컴퓨터로 구성할 수도 있다.
도 33에 있어서, CPU(Central Processing Unit)(3001)는, ROM(Read Only Memory)(3002)에 기록되어 있는 프로그램, 또는 기억부(3008)로부터 RAM(Random Access Memory)(3003)으로 로드된 프로그램에 따라서 각종의 처리를 실행한다. RAM(3003)은 CPU(3001)가 각종의 처리를 실행하는데 필요한 데이터를 기억한다.
CPU(3001), ROM(3002) 및 RAM(3003)은 버스(3004)를 통해 서로 접속되어 있다. 이 버스(3004)에는 또, 입출력 인터페이스(3005)도 접속되어 있다. 입출력 인터페이스(3005)에는, 키보드, 마우스로 구성되는 입력부(3006), 디스플레이 모니터로 구성되는 출력부(3007), 하드 디스크로 구성되는 기억부(3008) 및 모뎀, 터미널 어댑터로 구성되는 통신부(3009)가 접속되어 있다. 통신부(3009)는, 인터넷을 포함한 네트워크를 통해 다른 장치(도시하지 않음)와의 사이에 실시하는 통신을 제어한다.
입출력 인터페이스(3005)는 또한, 필요에 따라서 드라이브(3010)가 접속되며, 그 위에는 자기 디스크, 광디스크, 광학 자기 디스크, 혹은 반도체 메모리와 같은 분리가능한 매체(3011)가 장착된다. 로드된 분리가능한 매체로부터, 판독된 컴퓨터 프로그램이 필요에 따라서 기억부(3008)에 설치된다.
일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장된 컴퓨터내에 설치되거나, 또는 각종의 프로그램이 각종의 기능을 실행하기 위해 설치된, 예를 들면 범용의 퍼스널 컴퓨터에, 네트워크나 기록 매체로부터 설치된다.
이러한 프로그램을 포함한 기록 매체는, 도 33에 도시된 바와 같이, 장치 본체와는 별도로, 이용자에게 프로그램을 제공하기 위해서 배포되는, 프로그램이 기록되어 있는 자기 디스크(floppy disk를 포함한다), 광디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함한다), 광학 자기 디스크(MD(Mini-Disk)를 포함한다), 혹은 반도 체 메모리 등으로 구성되는 분리가능한 매체(패키지 미디어)(3011)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태로 이용자에게 제공되는, 프로그램이 기록되어 있는 ROM(3002)이나, 기억부(3008)에 포함되는 하드 디스크 등으로 구성된다.
본 명세서에 있어서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 그 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 혹은 개별적으로 실행되는 처리도 포함하는 것이다.
또, 본 명세서에 있어서, 시스템이란, 복수의 장치나 처리부에 의해 구성되는 장치 전체를 나타내는 것이다.
도 1은, LDPC 부호의 패리티 검사 행렬의 예를 나타내는 도면이다.
도 2는, LDPC 부호를 복호할 때의 일련의 처리를 설명하는 플로차트(flow chart)이다.
도 3은, 메시지의 흐름의 설명도이다.
도 4는, (3,6) LDPC 부호의 패리티 검사 행렬의 예를 나타내는 도면이다.
도 5는, 도 4의 패리티 검사 행렬의 타나 그래프를 나타내는 도면이다.
도 6은, 가변 노드에서의 메시지 계산을 설명하는 도면이다.
도 7은, 체크 노드에서의 메시지 계산을 설명하는 도면이다.
도 8은, 복호 결과 출력 계산을 설명하는 도면이다.
도 9는, LDPC 부호의 종래의 복호 장치의 구성예를 나타내는 블럭도이다.
도 10은, 가변 노드 계산기의 구성예를 나타내는 블럭도이다.
도 11은, 체크 노드 계산기의 구성예를 나타내는 블럭도이다.
도 12는, LDPC 부호의 패리티 검사 행렬의 예를 나타내는 도면이다.
도 13은, 패리티 병렬 복호를 실시하는 LDPC 부호의 종래의 복호 장치의 구성예를 나타내는 블럭도이다.
도 14는, 노드 계산기의 제 1의 구성예를 나타내는 블럭도이다.
도 15는, 노드 계산기의 제 2의 구성예를 나타내는 블럭도이다.
도 16은, 노드 계산기의 제 3의 구성예를 나타내는 블럭도이다.
도 17은, 데이터 신호와 TMCC 신호를 전송하는 신호 형식의 일례를 나타내는 도면이다.
도 18은, TMCC 신호의 LDPC 암호화의 수법을 설명하는 도면이다.
도 19는, 본 발명이 적용되는 전송 시스템의 구성예를 나타내는 블럭도이다.
도 20은, 도 19의 LDPC 복호 장치의 제 1의 구성예를 나타내는 블럭도이다.
도 21은, 도 19의 LDPC 복호 장치의 제 2의 구성예를 나타내는 블럭도이다.
도 22는, 도 21 등의 LDPC 복호 장치의 TMCC 신호용 입력 버퍼의 제 1의 구성예를 나타내는 블럭도이다.
도 23은, 도 21 등의 LDPC 복호 장치의 TMCC 신호용 입력 버퍼의 제 1의 구성예를 나타내는 블럭도이다.
도 24는, LDPC로 암호화된 TMCC 신호중 널 비트에 대한 복호 결과 출력 계산을 설명하는 도면이다.
도 25는, LDPC로 암호화된 TMCC 신호중 널 비트에 대한 가변 노드로의 메시지 계산을 설명하는 도면이다.
도 26은, 도 19의 LDPC 복호 장치의 제 3의 구성예를 나타내는 블럭도이다.
도 27은, 도 19의 LDPC 복호 장치의 제 4의 구성예를 나타내는 블럭도이다.
도 28은, 도 19의 LDPC 복호 장치의 제 5의 구성예를 나타내는 블럭도이다.
도 29는, 도 19의 LDPC 복호 장치의 TMCC 신호의 복호의 제 1의 스케줄링예를 나타내는 블럭도이다.
도 30은, 도 19의 LDPC 복호 장치의 TMCC 신호의 복호의 제 2의 스케줄링예를 나타내는 블럭도이다.
도 31은, 도 19의 LDPC 복호 장치의 TMCC 신호의 복호의 제 3의 스케줄링예를 나타내는 블럭도이다.
도 32는, 도 19의 LDPC 복호 장치의 TMCC 신호의 복호의 제 4의 스케줄링예를 나타내는 블럭도이다.
도 33은, 본 발명이 적용되는 복호 장치의 다른 실시 형태로서의, 컴퓨터의 구성예를 나타내는 블럭도이다.
Claims (30)
- LDPC(Low Density Parity Check) 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 부호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 부호화된 전송 제어 신호가 다중화되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호와의 양신호를 수신해 복호하는 수신장치에 있어서,상기 데이터 신호와 상기 전송 제어 신호의 양신호를 복호하는 LDPC 복호 수단과,상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼 및, 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼와,상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와, 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 상기 전송 제어 신호 중에서 적어도 한 개의 신호를 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단으로 전송하여 상기 복호 대상 신호의 복호를 실시하는 제어 수단을 구비하고,상기 전송 제어 신호의 수신치는, 상기 데이터 신호와 비교해 그 양자화 비트 수를 줄여, 상기 전송 제어 신호용 입력 버퍼에 보관 유지되고,상기 LDPC 복호 수단은, 가변 노드 및 체크 노드의 연산을 각 비트마다 직렬로 실시하는 것을 특징으로 하는 수신장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제 1항에 있어서,상기 제어 수단은, 상기 전송 제어 신호의 복호를, 상기 데이터 신호중 제 1의 데이터 신호의 복호가 완료하고 나서 다음의 제 2의 데이터 신호의 복호를 개시 할 때까지의 기간 동안에, 상기 전송 제어 신호를 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시하는 수신장치.
- 제 7항에 있어서,상기 데이터 신호와 상기 전송 제어 신호는 소정 단위로 각각 다중화 되어 전송되며,상기 제어 수단은, 적어도 상기 제 1의 데이터 신호, 상기 제 2의 데이터 신호, 및 상기 전송 제어 신호와 다중화된 상기 소정 단위가 상기 수신장치에서 수신 된 경우, 상기 전송 제어 신호를 상기 제 2의 데이터 신호에 앞서 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시하는 수신장치.
- 제 7항에 있어서,상기 제어 수단은,상기 데이터 신호중 제 1의 데이터 신호의 복호가 성공했을 경우, 그 제 1의 데이터 신호의 복호가 완료하고 나서 다음의 제 2의 데이터 신호의 복호를 개시할 때까지 기간에, 상기 전송 제어 신호를 상기 LDPC 복호 수단에 의해 복호시키는 제어를 실시하는 수신장치.
- 삭제
- 제 1항에 있어서,상기 LDPC 복호 수단은, 상기 전송 제어 신호를 복호해 얻은 계열이, 상기 전송 제어 신호가 전송되는 시스템내에서 사용되지 않는 값이었을 경우에는, 복호가 실패했다고 판단하는 수신장치.
- LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 부호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 부호화된 전송 제어 신호가 다중화되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호의 양신호를 수신해 복호하며,상기 데이터 신호와 상기 전송 제어 신호의 상기 양신호를 복호 가능한 LDPC 복호 수단과,상기 LDPC 복호 수단의 전단에 각각 설치되며, 수신된 상기 데이터 신호를 보관 유지하는 데이터 신호용 입력 버퍼 및 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼를 구비하는 수신장치의 수신 방법에 있어서,상기 데이터 신호용 입력 버퍼에 보관 유지된 상기 데이터 신호와 상기 전송 제어 신호용 입력 버퍼에 보관 유지된 상기 전송 제어 신호중 적어도 한 신호를 복호 대상 신호로서 선택하고, 상기 LDPC 복호 수단에 전송해 상기 복호 대상 신호의 복호를 실시하고,상기 전송 제어 신호의 수신치는, 상기 데이터 신호와 비교해 그 양자화 비트 수를 줄여, 상기 전송 제어 신호용 입력 버퍼에 보관 유지되고,상기 LDPC 복호 수단은, 가변 노드 및 체크 노드의 연산을 각 비트마다 직렬로 실시하는 것을 특징으로 하는 수신 방법.
- 삭제
- LDPC 부호를 정의하는 소정의 패리티 검사 행렬을 이용해 LDPC로 부호화된 데이터 신호와 이것과 동일 혹은 다른 패리티 검사 행렬을 이용해 LDPC로 부호화된 전송 제어 신호가 다중화 되어 전송되어 왔을 경우, 상기 데이터 신호와 상기 전송 제어 신호와의 양신호를 수신해 복호하는 수신장치에 있어서,상기 데이터 신호의 복호 전용의 데이터 신호용 LDPC 복호 수단과,상기 전송 제어 신호의 복호 전용의 전송 제어 신호용 LDPC 복호 수단을 갖추고,상기 전송 제어 신호의 수신치는, 상기 데이터 신호와 비교해 그 양자화 비트 수를 줄여, 상기 전송 제어 신호용 입력 버퍼에 보관 유지되고,상기 전송 제어 신호용 LDPC 복호 수단은, 가변 노드 및 체크 노드의 연산을 각 비트마다 직렬로 실시하는 복호 장치로서 구성되어 있는 수신장치.
- 제 14항에 있어서,상기 데이터 신호용 LDPC 복호 수단과 상기 전송 제어 신호용 LDPC 복호 수단은, 동일한 복호 장치로서 구성되어 있는 수신장치.
- 제 14항에 있어서,상기 전송 제어 신호용 LDPC 복호 수단은, 경판정 복호 장치(hard-decision decoder)로서 구성되어 있는 수신장치.
- 삭제
- 제 14항에 있어서,상기 전송 제어 신호용 LDPC 복호 수단의 전단에 설치되며, 수신된 상기 전송 제어 신호를 보관 유지하는 전송 제어 신호용 입력 버퍼를 한층 더 갖추는 기재의 수신장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제 14항에 있어서,상기 전송 제어 신호용 LDPC 복호 수단은, 상기 전송 제어 신호를 복호해 얻어지는 계열이, 상기 전송 제어 신호가 전송되는 시스템내에서 사용되지 않는 값이었을 경우에는, 복호가 실패했다고 판단하는 수신장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2007-272518 | 2007-10-19 | ||
JP2007272518A JP4626827B2 (ja) | 2007-10-19 | 2007-10-19 | 受信装置および方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090040215A KR20090040215A (ko) | 2009-04-23 |
KR101503382B1 true KR101503382B1 (ko) | 2015-03-17 |
Family
ID=40352396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080097888A KR101503382B1 (ko) | 2007-10-19 | 2008-10-06 | 수신장치와 방법 및 프로그램 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8209581B2 (ko) |
EP (1) | EP2051385A3 (ko) |
JP (1) | JP4626827B2 (ko) |
KR (1) | KR101503382B1 (ko) |
CN (1) | CN101414835B (ko) |
TW (1) | TWI404344B (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675693B2 (en) * | 2009-04-27 | 2014-03-18 | Qualcomm Incorporated | Iterative decoding with configurable number of iterations |
IT1402261B1 (it) * | 2010-06-29 | 2013-08-28 | St Microelectronics Srl | Metodo di decodifica list e relativo decoder per codici ldpc |
JP2012054681A (ja) * | 2010-08-31 | 2012-03-15 | Nippon Hoso Kyokai <Nhk> | 送信装置及び受信装置 |
CN103023603B (zh) * | 2011-09-20 | 2015-07-08 | 澜起科技(上海)有限公司 | 基于ldpc校验矩阵的比特交织编码调制的实现方法 |
CN103166648B (zh) * | 2011-12-14 | 2016-03-30 | 联芯科技有限公司 | 一种ldpc解码器及其实现方法 |
US9015568B2 (en) * | 2012-04-12 | 2015-04-21 | Samsung Electronics Co., Ltd. | System and method for multi-stage time-division multiplexed LDPC decoder |
KR101881877B1 (ko) * | 2012-04-19 | 2018-07-25 | 삼성전자주식회사 | Ldpc 부호 복호기 및 복호 방법 |
JP5591876B2 (ja) * | 2012-06-22 | 2014-09-17 | 株式会社東芝 | 誤り訂正装置、誤り訂正方法およびプログラム |
WO2014178275A1 (ja) * | 2013-04-30 | 2014-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法 |
US9432053B1 (en) | 2014-07-07 | 2016-08-30 | Microsemi Storage Solutions (U.S.), Inc. | High speed LDPC decoder |
JP7051024B2 (ja) * | 2020-02-27 | 2022-04-08 | 三菱電機株式会社 | 復号方法、復号装置、制御回路およびプログラム記憶媒体 |
US11381254B1 (en) | 2021-03-11 | 2022-07-05 | Smart IOPS, Inc. | High throughput and area efficient partial parallel hard decoder for low-density parity-check codes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050021520A (ko) * | 2002-07-19 | 2005-03-07 | 인터디지탈 테크날러지 코포레이션 | Utra 시스템에서 동적인 전송 오류 정정 방법 |
KR20050100152A (ko) * | 2004-04-13 | 2005-10-18 | 한국전자통신연구원 | 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법 |
KR20070065834A (ko) * | 2005-12-20 | 2007-06-25 | 소니 가부시끼 가이샤 | 복호장치, 제어 방법, 및 프로그램 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2991694B1 (ja) * | 1998-06-12 | 1999-12-20 | 日本放送協会 | デジタル送信装置および受信装置 |
JP2000115003A (ja) * | 1998-09-30 | 2000-04-21 | Mitsubishi Electric Corp | デジタル放送受信装置 |
FI105961B (fi) * | 1998-12-14 | 2000-10-31 | Nokia Networks Oy | Vastaanottomenetelmä ja vastaanotin |
JP2002247003A (ja) * | 2001-02-22 | 2002-08-30 | Hitachi Kokusai Electric Inc | 直交周波数分割多重変調方式を用いた伝送装置 |
JP2002359607A (ja) * | 2001-05-30 | 2002-12-13 | Sanyo Electric Co Ltd | 受信方法、その方法を利用可能な検波回路、およびその方法を利用可能な移動通信端末。 |
US6757122B1 (en) * | 2002-01-29 | 2004-06-29 | Seagate Technology Llc | Method and decoding apparatus using linear code with parity check matrices composed from circulants |
JP3815557B2 (ja) * | 2002-08-27 | 2006-08-30 | ソニー株式会社 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
JP3740468B2 (ja) * | 2003-01-22 | 2006-02-01 | 株式会社東芝 | Ofdm受信装置及びデータ復調方法 |
US7139959B2 (en) * | 2003-03-24 | 2006-11-21 | Texas Instruments Incorporated | Layered low density parity check decoding for digital communications |
US7434145B2 (en) * | 2003-04-02 | 2008-10-07 | Qualcomm Incorporated | Extracting soft information in a block-coherent communication system |
US7484158B2 (en) * | 2003-12-03 | 2009-01-27 | Infineon Technologies Ag | Method for decoding a low-density parity check (LDPC) codeword |
KR100724856B1 (ko) * | 2004-03-19 | 2007-06-04 | 삼성전자주식회사 | 디지털 멀티미디어 방송 시스템에서 방송 서비스 수신장치 및 방법 |
US7281192B2 (en) * | 2004-04-05 | 2007-10-09 | Broadcom Corporation | LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing |
KR20060032464A (ko) * | 2004-10-12 | 2006-04-17 | 삼성전자주식회사 | 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치 |
US7856584B2 (en) * | 2005-03-30 | 2010-12-21 | Intel Corporation | Unequal error protection apparatus, systems, and methods |
US7577891B2 (en) * | 2005-05-27 | 2009-08-18 | Aquantia Corporation | Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining |
US7958424B2 (en) * | 2005-06-22 | 2011-06-07 | Trident Microsystems (Far East) Ltd. | Multi-channel LDPC decoder architecture |
US7810015B2 (en) * | 2005-11-28 | 2010-10-05 | Stmicroelectronics Sa | Decoding with a concatenated error correcting code |
JP4445941B2 (ja) | 2006-03-31 | 2010-04-07 | 三菱電機インフォメーションシステムズ株式会社 | 顧客データベース管理装置及び顧客データベース管理プログラム |
US8028216B1 (en) * | 2006-06-02 | 2011-09-27 | Marvell International Ltd. | Embedded parity coding for data storage |
US7958429B2 (en) * | 2007-07-02 | 2011-06-07 | Broadcom Corporation | Distributed processing LDPC (low density parity check) decoder |
-
2007
- 2007-10-19 JP JP2007272518A patent/JP4626827B2/ja not_active Expired - Fee Related
-
2008
- 2008-10-06 KR KR1020080097888A patent/KR101503382B1/ko not_active IP Right Cessation
- 2008-10-06 EP EP08253243.3A patent/EP2051385A3/en not_active Withdrawn
- 2008-10-17 CN CN2008101705517A patent/CN101414835B/zh not_active Expired - Fee Related
- 2008-10-17 US US12/253,347 patent/US8209581B2/en active Active
- 2008-10-17 TW TW097139957A patent/TWI404344B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050021520A (ko) * | 2002-07-19 | 2005-03-07 | 인터디지탈 테크날러지 코포레이션 | Utra 시스템에서 동적인 전송 오류 정정 방법 |
KR20050100152A (ko) * | 2004-04-13 | 2005-10-18 | 한국전자통신연구원 | 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법 |
KR20070065834A (ko) * | 2005-12-20 | 2007-06-25 | 소니 가부시끼 가이샤 | 복호장치, 제어 방법, 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
TWI404344B (zh) | 2013-08-01 |
US8209581B2 (en) | 2012-06-26 |
TW200939640A (en) | 2009-09-16 |
JP2009100422A (ja) | 2009-05-07 |
EP2051385A3 (en) | 2014-01-29 |
JP4626827B2 (ja) | 2011-02-09 |
KR20090040215A (ko) | 2009-04-23 |
CN101414835B (zh) | 2013-06-19 |
CN101414835A (zh) | 2009-04-22 |
US20090106622A1 (en) | 2009-04-23 |
EP2051385A2 (en) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101503382B1 (ko) | 수신장치와 방법 및 프로그램 | |
EP1442527B1 (en) | Node processors for use in parity check decoders | |
KR101283087B1 (ko) | 복호장치, 제어 방법, 및 기록 매체 | |
JP5505715B2 (ja) | 受信装置及び方法、プログラム、並びに受信システム | |
JP4487213B2 (ja) | 復号装置および方法、並びにプログラム | |
US7174495B2 (en) | LDPC decoder, corresponding method, system and computer program | |
JP4487212B2 (ja) | 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム | |
US7673223B2 (en) | Node processors for use in parity check decoders | |
EP2293453B1 (en) | Packet communication using interleaved low-density parity-check convolutional codes (LDPC-CC) | |
Mahdaviani et al. | Gamma codes: A low-overhead linear-complexity network coding solution | |
WO2006075382A1 (ja) | 符号化方法、復号方法及びそれらの装置 | |
WO2006115164A1 (ja) | 復号装置および復号方法 | |
US8806289B1 (en) | Decoder and decoding method for a communication system | |
US20150214980A1 (en) | Method and Apparatus of a Fully-Pipelined Layered LDPC Decoder | |
JP2008301152A (ja) | 復号装置および方法、並びにプログラム | |
Albayrak et al. | Low-complexity early termination method for rateless soft decoder | |
US20140082450A1 (en) | Systems and Methods for Efficient Transfer in Iterative Processing | |
JP2009159037A (ja) | 受信装置 | |
Morero et al. | Experimental demonstration of a variable-rate LDPC code with adaptive low-power decoding for next-generation optical networks | |
JP2007116591A (ja) | 符号化装置、復号化装置、および符号化・復号化システム | |
Declercq et al. | Multi-relay cooperative NB-LDPC coding with non-binary repetition codes | |
CN107863971B (zh) | 一种针对ptn的ldpc码校验矩阵的构造方法及系统 | |
Schorr et al. | LDPC code optimization for diversity reception and turbo equalization | |
Zheng | Design and Decoding LDPC Codes With Low Complexity | |
Radhakrishnan et al. | Reverse concatenated watermark codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |