LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법 및 그 장치 |
|||||||||||||||||||||||||||
申请号 | KR1020130102453 | 申请日 | 2013-08-28 | 公开(公告)号 | KR101476049B1 | 公开(公告)日 | 2014-12-23 | ||||||||||||||||||||
申请人 | 세종대학교산학협력단; | 发明人 | 이성주; 박효빈; | ||||||||||||||||||||||||
摘要 | 본 발명은 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법 및 그 장치에 관한 것이다. 본 발명에 따르면, 복수의 데이터 비트 및 패러티 비트를 포함하며 일부 패러티 비트가 펑쳐링(Puncturing)된 LDPC(Low Density Parity Check) 부호화 신호를 수신하는 단계와, 상기 LDPC 부호화 신호에 포함된 M개의 비트 노드에 대하여 N개의 검사 노드 중 LLR(Log Likelihood Ratio) 값을 가지는 검사 노드를 매칭시키는 단계와, 상기 N개의 검사 노드 중 상기 펑쳐링된 패러티 비트가 연결된 적어도 하나의 제1 검사 노드를 제외한 나머지 검사 노드를 유효 검사 노드로 선정하고, 상기 각 비트 중에서 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 조절하는 단계, 및 상기 각 비트 중에서 상기 제1 검사 노드에 연결된 비트들에 대해 상기 조절된 LLR 값을 적용하여, 상기 펑쳐링된 패러티 비트의 LLR 값을 복원하는 단계를 포함하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법을 제공한다. 상기 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법 및 그 장치에 따르면, LDPC 복호 시스템에서 펑쳐링되지 않은 데이터의 신뢰도를 이용하여 펑쳐링된 데이터를 디펑쳐링함에 따라 복호 성능을 높일 수 있는 이점이 있다. |
||||||||||||||||||||||||||
权利要求 | 복수의 데이터 비트 및 패러티 비트를 포함하며 일부 패러티 비트가 펑쳐링(Puncturing)된 LDPC(Low Density Parity Check) 부호화 신호를 수신하는 단계; 상기 LDPC 부호화 신호에 포함된 M개의 비트 노드 각각에 대응하는 N개의 검사 노드에서의 LLR(Log Likelihood Ratio) 값의 존재 여부를 바탕으로, 상기 각각의 비트 노드를 그에 대응하는 상기 N개의 검사 노드 중 상기 LLR 값이 존재하는 일부 검사 노드와 매칭시키는 단계; 상기 N개의 검사 노드 중 상기 펑쳐링된 패러티 비트가 연결된 적어도 하나의 제1 검사 노드를 제외한 나머지 검사 노드를 유효 검사 노드로 선정하고, 상기 각 비트 중에서 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 조절하는 단계; 상기 각 비트 중에서 상기 제1 검사 노드에 연결된 비트들에 대해 상기 조절된 LLR 값을 적용하여, 상기 펑쳐링된 패러티 비트의 LLR 값을 복원하는 단계; 및 상기 복수의 데이터 비트 및 상기 패러티 비트에 대한 최초 획득된 LLR 값과, 상기 펑쳐링된 패러티 비트에 대한 상기 복원된 LLR 값을 결합하여, 상기 LDPC 부호화 신호를 디코딩하는 단계를 포함하며, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 조절하는 단계는, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 1 또는 -1에 가까운 값으로 프리디코딩(Predecoding)하되, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값이 양의 값이면 해당 LLR 값과 상기 1 사이의 값으로 프리디코딩하고 음의 값이면 해당 LLR 값과 상기 -1 사이의 값으로 프리디코딩하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법. 삭제 삭제 청구항 1에 있어서, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 조절하는 단계는, 상기 유효 검사 노드 중에서 검사 노드 번호가 작은 순으로 프리디코딩을 수행하되, 동일한 유효 검사 노드 내에서는 비트 노드 번호가 작은 순으로 수행하며, 상기 유효 검사 노드 중 첫 번째 유효 검사 노드에 연결된 모든 비트들의 최초 LLR 값에 대한 사인 값 및 크기 값을 획득하는 제1 단계; 상기 첫 번째 유효 검사 노드에 연결된 모든 비트들 중 제1 비트를 제외한 나머지 비트들의 사인 값을 모두 곱한 제1 값과, 제1 비트를 제외한 나머지 비트들의 크기 값 중 가장 작은 제2 값을 각각 획득하는 제2 단계; 및 상기 제1 값과 제2 값을 곱한 값을 상기 제1 비트의 최초 LLR 값에 더하여 상기 LLR 값을 조절하는 제3 단계를 포함하며, 상기 제1 비트 이후의 다음 비트에 대하여 각각 상기 제1 단계 내지 상기 제3 단계를 반복 수행하여 상기 다음 비트에 대한 LLR 값을 각각 조절하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법. 청구항 4에 있어서, 상기 펑쳐링된 패러티 비트의 LLR 값을 복원하는 단계는, 상기 펑쳐링된 패러티 비트가 연결된 적어도 하나의 검사 노드 중에서 검사 노드 번호가 큰 순서로 수행하며, 해당 검사 노드 내에서는 상기 펑쳐링된 패러티 비트 중 종단에 가까운 비트 노드에 대해 먼저 복원을 수행하며, 상기 해당 검사 노드에 연결된 모든 비트들의 LLR 값을 상기 프리디코딩에 따라 조절된 LLR 값으로 대체하는 제4 단계; 상기 해당 검사 노드에 연결된 비트들 중에서 마지막 펑쳐링된 패러티 비트를 제외한 나머지 비트들의 LLR 값에 대한 사인 값을 모두 곱한 제3 값과, 이 나머지 비트들의 크기 값 중 가장 작은 제4 값을 각각 획득하는 제5 단계; 및 상기 제3 값과 상기 제4 값을 곱한 값을 상기 마지막 펑쳐링된 패러티 비트의 LLR 값으로 복원하는 제6 단계를 포함하며, 상기 해당 검사 노드보다 검사 노드 번호가 작은 다음 검사 노드에서의 상기 LLR 값의 복원 과정에서, 상기 제4 단계 시에, 상기 다음 검사 노드에 연결된 비트 중 상기 해당 검사 노드에서 LLR 값이 복원된 비트와 동일한 펑쳐링된 패러티 비트가 있으면, 해당 펑쳐링된 패러티 비트의 값을 상기 해당 검사 노드에서 기 복원된 LLR 값으로 대체하여 상기 사인 값 및 크기 값을 획득한 다음, 상기 마지막 펑쳐링된 패러티 비트보다 비트 노드 번호가 작은 다음 펑쳐링 패러티 비트에 대하여 각각 상기 제4 단계 내지 상기 제6 단계를 수행하여 해당 펑쳐링 패러티 비트에 대한 LLR 값을 복원하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법. 청구항 5에 있어서, 상기 제6 단계 시에 상기 제4 값이 기 설정된 임계값 보다 작은 경우 해당 펑쳐링된 패러티 비트의 LLR 값을 0으로 복원하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 방법. 삭제 복수의 데이터 비트 및 패러티 비트를 포함하며 일부 패러티 비트가 펑쳐링(Puncturing)된 LDPC(Low Density Parity Check) 부호화 신호를 수신하는 신호 수신부; 상기 LDPC 부호화 신호에 포함된 M개의 비트 노드 각각에 대응하는 N개의 검사 노드에서의 LLR(Log Likelihood Ratio) 값의 존재 여부를 바탕으로, 상기 각각의 비트 노드를 그에 대응하는 상기 N개의 검사 노드 중 상기 LLR 값이 존재하는 일부 검사 노드와 매칭시키는 LLR 매칭부; 상기 N개의 검사 노드 중 상기 펑쳐링된 패러티 비트가 연결된 적어도 하나의 제1 검사 노드를 제외한 나머지 검사 노드를 유효 검사 노드로 선정하고, 상기 각 비트 중에서 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 조절하는 프리디코딩부; 상기 각 비트 중에서 상기 제1 검사 노드에 연결된 비트들에 대해 상기 조절된 LLR 값을 적용하여, 상기 펑쳐링된 패러티 비트의 LLR 값을 복원하는 LLR 복원부; 및 상기 복수의 데이터 비트 및 상기 패러티 비트에 대한 최초 획득된 LLR 값과, 상기 펑쳐링된 패러티 비트에 대한 상기 복원된 LLR 값을 결합하여, 상기 LDPC 부호화 신호를 디코딩하는 디코딩부를 포함하며, 상기 프리디코딩부는, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값을 1 또는 -1에 가까운 값으로 프리디코딩(Predecoding)하되, 상기 유효 검사 노드에 연결된 비트들에 대한 LLR 값이 양의 값이면 해당 LLR 값과 상기 1 사이의 값으로 프리디코딩하고 음의 값이면 해당 LLR 값과 상기 -1 사이의 값으로 프리디코딩하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 장치. 삭제 삭제 청구항 8에 있어서, 상기 프리디코딩부는, 상기 유효 검사 노드 중에서 검사 노드 번호가 작은 순으로 프리디코딩을 수행하되, 동일한 유효 검사 노드 내에서는 비트 노드 번호가 작은 순으로 수행하며, 상기 유효 검사 노드 중 첫 번째 유효 검사 노드에 연결된 모든 비트들의 최초 LLR 값에 대한 사인 값 및 크기 값을 획득하는 제1 단계, 상기 첫 번째 유효 검사 노드에 연결된 모든 비트들 중 제1 비트를 제외한 나머지 비트들의 사인 값을 모두 곱한 제1 값과, 제1 비트를 제외한 나머지 비트들의 크기 값 중 가장 작은 제2 값을 각각 획득하는 제2 단계, 및 상기 제1 값과 제2 값을 곱한 값을 상기 제1 비트의 최초 LLR 값에 더하여 상기 LLR 값을 조절하는 제3 단계를 수행하며, 상기 제1 비트 이후의 다음 비트에 대하여 각각 상기 제1 단계 내지 상기 제3 단계를 반복 수행하여 상기 다음 비트에 대한 LLR 값을 각각 조절하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 장치. 청구항 11에 있어서, 상기 LLR 복원부는, 상기 펑쳐링된 패러티 비트가 연결된 적어도 하나의 검사 노드 중에서 검사 노드 번호가 큰 순서로 수행하며, 해당 검사 노드 내에서는 상기 펑쳐링된 패러티 비트 중 종단에 가까운 비트 노드에 대해 먼저 복원을 수행하며, 상기 해당 검사 노드에 연결된 모든 비트들의 LLR 값을 상기 프리디코딩에 따라 조절된 LLR 값으로 대체하는 제4 단계; 상기 해당 검사 노드에 연결된 비트들 중에서 마지막 펑쳐링된 패러티 비트를 제외한 나머지 비트들의 LLR 값에 대한 사인 값을 모두 곱한 제3 값과, 이 나머지 비트들의 크기 값 중 가장 작은 제4 값을 각각 획득하는 제5 단계; 및 상기 제3 값과 상기 제4 값을 곱한 값을 상기 마지막 펑쳐링된 패러티 비트의 LLR 값으로 복원하는 제6 단계를 수행하며 상기 해당 검사 노드보다 검사 노드 번호가 작은 다음 검사 노드에서의 상기 LLR 값의 복원 과정에서, 상기 제4 단계 시에, 상기 다음 검사 노드에 연결된 비트 중 상기 해당 검사 노드에서 LLR 값이 복원된 비트와 동일한 펑쳐링된 패러티 비트가 있으면, 해당 펑쳐링된 패러티 비트의 값을 상기 해당 검사 노드에서 기 복원된 LLR 값으로 대체하여 상기 사인 값 및 크기 값을 획득한 다음, 상기 마지막 펑쳐링된 패러티 비트보다 비트 노드 번호가 작은 다음 펑쳐링 패러티 비트에 대하여 각각 상기 제4 단계 내지 상기 제6 단계를 수행하여 해당 펑쳐링 패러티 비트에 대한 LLR 값을 복원하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 장치. 청구항 12에 있어서, 상기 LLR 복원부는, 상기 제6 단계 시에 상기 제4 값이 기 설정된 임계값 보다 작은 경우 해당 펑쳐링된 패러티 비트의 LLR 값을 0으로 복원하는 LDPC 복호 시스템을 이용한 펑쳐링된 데이터의 복원 장치. |
||||||||||||||||||||||||||
说明书全文 |
|
B1 | B5 | P1 | P2 | |
LLR 값 | -0.5 | 0.4 | 0.2 | -0.3 |
사인 값 | -1 | 1 | 1 | -1 |
크기 값 | 0.5 | 0.4 | 0.2 | 0.3 |
표 1로부터, LLR 값에 대한 사인 값은 LLR 값이 음의 값이면 -1, 양의 값이면 1이 되는 것을 확인할 수 있다. 또한 LLR 값에 대한 크기 값은 그 절대치에 해당됨을 알 수 있다.
이후, 상기 첫 번째 유효 검사 노드(CN1)에 연결된 모든 비트들 중 가장 노드 번호가 작은 제1 비트(B1 관련)를 제외한 나머지 비트들(B5,P1,P2 관련)의 사인 값을 모두 곱한 제1 값(-1 = 1×1×(-1))과, 상기 나머지 비트들(B5,P1,P2 관련)의 크기 값(0.4,0.2,0.3) 중 가장 작은 제2 값(0.2)을 각각 획득한다(제2 단계).
그런 다음, 상기 제1 값(-1)과 제2 값(0.2)을 곱한 값(-0.2)을 상기 제1 비트(B1 관련)의 최초 LLR 값(-0.5)에 더하여 제1 비트의 노드에 대한 LLR 값을 -0.7(=(-0.5)+(-0.2))로 조절한다(제3 단계).
다음, 상기 제1 비트(B1 관련) 이후의 다음 비트(B5, P1, P2 관련)에 대하여 각각 상기 제1 단계 내지 상기 제3 단계와 동일한 원리의 과정을 반복 수행하여, 다음 비트에 대한 LLR 값을 동일한 방식으로 각각 조절한다. 즉, B1 이후에는, B5에 대하여 제1 내지 제3 단계를 수행하여 B5의 LLR 값을 조절하고, 그 이후에는 P1, 그리고 P2에 대해서도 각각 동일한 방법으로 LLR 값을 조절한다.
상기와 같이 CN1과 관련하여 프리 디코딩을 수행하면 CN1과 연결된 각 비트(B1, B5,P1,P2 관련)에 대한 LLR 값이 모두 조정된다. 다음에는, 이후의 다음 순위의 CN2, 그리고 CN3에 대해서도 동일한 방법으로 프리 디코딩을 순차로 수행한다. 다만, 이전 단계에 사용된 비트와 동일한 비트가 연산에 사용될 경우, 해당 비트의 LLR 값은 이전 단계에서 조절된 LLR 값으로 대체하여 사용한다. 이에 따라, 각 비트에 대하여 보다 최적의 LLR 값으로 프리 디코딩될 수 있다.
즉, 상기 다음 유효 검사 노드(CN2)에 대한 프리디코딩 과정에서는 다음 유효 검사 노드(CN2)에 연결된 비트 노드의 비트 중 직전 유효 검사 노드(CN1)에서 프리 디코딩된 비트와 동일한 비트 노드 번호(B1,P2)의 비트에 대해서는, 해당 비트의 LLR 값을 상기 직전 유효 검사 노드(CN1)의 프리 디코딩 시에 기 조절된 LLR 값으로 대체(ex, B1의 경우 -0.5이 아닌 -0.7 값으로 대체 사용)하여 상기 사인 값 및 크기 값을 획득하고, 이를 바탕으로 제2 및 제3 단계를 수행하여 LLR 값을 다시 조절한다. 이는 CN3에서도 마찬가지이다.
이와 같이 CN1 내지 CN3 까지 프리 디코딩을 모두 완료하면, 각 비트 노드에 대응하는 비트 별로, 프리 디코딩에 의해 최종 조절된 LLR 값이 획득된다. 최종 조절된 LLR 값은 이후, 펑쳐링된 패러티 비트에 대한 LLR 값의 복원에 사용된다.
다음은 펑쳐링된 패러티 비트의 LLR 값을 복원하는 S240 단계를 설명한다. S240 단계는 LDPC 부호화 신호에 포함된 12개(M=12)의 각 비트 중에서, 펑쳐링된 패러티 비트가 연결된 검사 노드(CN4, CN5, CN6)에 연결된 비트들에 대해 상기 조절된 LLR 값을 적용한 다음, 이를 통해 펑쳐링된 패러티 비트의 LLR 값을 복원한다.
이러한 S240 단계의 경우, S230 단계와는 달리, 상기 펑쳐링된 패러티 비트가 연결된 검사 노드(CN4, CN5, CN6) 중에서 검사 노드 번호가 큰 순서(CN6->CN5->CN4)로 수행하며, 해당 검사 노드(ex, CN6) 내에서는 상기 펑쳐링된 패러티 비트 중 종단에 가까운 비트 노드(P5,P6 중 종단에 가까운 P6)에 대해 먼저 복원을 수행한다.
이하에서는 가장 먼저 수행하는 CN6을 대상으로 설명한다. 도 5는 도 4를 바탕으로 도 2의 S240 단계를 설명하는 개념도이다. 도 4 및 도 5를 참조하면, 우선 해당 검사 노드(CN6)에 연결된 모든 비트들(B1 B6,P1,P6 관련)의 LLR 값을, 상기 프리 디코딩(S230 단계)에 따라 조절된 LLR 값으로 대체한다(제4 단계).
설명의 편의를 위하여, 프리 디코딩 과정을 통해 B1, B6, P1의 조절된 LLR 값은 각각 -0.9, 0.8, 0.7인 것으로 가정한다. 이때, 각각의 사인 값은 -1, 1, 1이고, 크기 값은 0.9, 0.8, 0.7이다.
그런 다음, 상기 해당 검사 노드(CN6)에 연결된 비트들(B1,B6,P1,P6 관련) 중에서 마지막 펑쳐링된 패러티 비트(P6 관련)를 제외한 나머지 비트들(B1,B6,P1 관련)의 사인 값을 모두 곱한 제3 값(-1 = (-1)×1×1)과, 이 나머지 비트들의 크기 값 중 가장 작은 제4 값(0.7)을 각각 획득한다(제5 단계). 이러한 제5 단계의 원리는 앞서 프리 디코딩 시에 사용한 제2 단계의 원리와 동일하므로 상세한 설명은 생략한다.
그런 다음, 상기 제3 값(-1)과 상기 제4 값(0.7)을 곱한 값(-0.7)을 상기 마지막 펑쳐링된 패러티 비트(P6 관련)의 LLR 값으로 복원한다(제6 단계). 즉, P6의 LLR 값은 제3 값과 제4 값을 곱한 -0.7의 값으로 복원하여 사용한다.
여기서, 상기 제6 단계 시에, 상기 제4 값의 크기가 기 설정된 임계값(ex, 0.2)보다 작은 경우, 해당 펑쳐링된 패러티 비트의 LLR 값을 0으로 복원한다. 즉, 앞서의 예에서 제4 값이 임계값 미만인 것으로 확인되면, 마지막 펑쳐링된 패러티 비트(P6 관련)의 LLR 값은 0으로 복원한다.
이와 같이, 검사 노드(CN6)를 이용하여 비트 노드 P6에 대응하는 패러티 비트의 LLR 값을 구한 이후에는, 상기 해당 검사 노드(CN6)보다 검사 노드 번호가 작은 다음 검사 노드(CN5)에서 LLR 값을 복원하는 과정을 상기 제4 단계 내지 제6 단계와 같은 방법으로 거치게 된다.
이때, 제4 단계 수행 시에, 다음 검사 노드(CN5)에 연결된 비트 중에서 상기 해당 검사 노드(CN6)에서 LLR 값이 복원된 비트(P6 관련)와 동일한 펑쳐링된 패러티 비트가 있으면(도 5 참조; P6이 CN6 이외에도 CN5에 연결되어 있음), 해당 펑쳐링된 패러티 비트(P6 관련)의 LLR 값을 앞서 해당 검사 노드(CN6)에서 기 복원된 LLR 값으로 대체하여 상기 사인 값 및 크기 값을 제4 단계와 같은 방법으로 획득한다. 그리고 다음 펑쳐링 패러티 비트(P5 관련)에 대하여 각각 제5 단계 및 제6 단계를 수행하여 해당 펑쳐링 패러티 비트(P5 관련)에 대한 LLR 값을 복원한다. 이러한 과정은 CN4에 대해서도 수행될 수 있다. 이는 CN4에 P5가 연결되어 있기 때문이며 이때 P5를 대상으로 상기와 같은 과정을 수행하여 P5에 대한 LLR 값이 다시 조절될 수 있다.
이와 같이, 펑쳐링된 패러티 비트에 대한 LLR 값이 복원된 이후, LDPC 부호화 신호의 디코딩(S250) 시에는 프리 디코딩에 따라 조절된 LLR 값을 사용하지 않으며, 펑쳐링된 패러디 비트를 제외한 모든 비트에 대해서는 최초 획득된 LLR 값을 사용하고, 펑쳐링된 패러디 비트에 대해서는 상기 복원된 LLR 값을 사용하여, 상기 LDPC 부호화 신호를 디코딩한다.
이상과 같은 본 발명의 실시예에 따르면, LDPC 복호화 전 디펑처링 과정에서 펑처링 되지 않은 신뢰도 높은 데이터를 이용하여 펑처링된 데이터를 0이 아닌 값으로 채워, 복호화 과정인 패리티 체크 과정에서 임의의 값(0의 값)을 채워서 발생하는 오류를 줄일 수 있다. 이러한 본 발명에 따르면, LDPC 복호 시스템에서 펑쳐링되지 않은 데이터의 신뢰도를 이용하여 펑쳐링된 데이터를 디펑쳐링함에 따라 복호 성능을 높일 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 펑쳐링된 데이터의 복원 장치
110: 신호 수신부 120: LLR 매칭부
130: 프리디코딩부 140: LLR 복원부
150: 디코딩부