I. 저 밀도기반 패리티체크, LDPC 코드
가. LDPC 코드의 개념
- 부호 길이를 증가시켜 오류 정정 능력을 향상시킨 계산 복잡도 유지 패리티체크 행렬 기반 오류 정정 부호
나. LDPC의 특징
- 병렬 복호 연산 수행가능(Turbo Code에 비해 이점)
- 반복 복호(Iterative Decoding) 기법
- ETSI DVB-S2, IEEE802.16e, 802.11n, 802.3an 표준에 사용
- 행렬의 대부분은 0으로 구성, 저밀도의 1 보유
다. 패리티검사 행렬과 태너그래프의 Cycle 요소
- 3, 4열의 1, 2행이 Cycle로 연결되어 부/복호화 시 서로에게 영향을 덜 주어(Burst Error) 오류 정정 성능 저하
II. LDPC 부호의 효율적 부호화 기법
가. 효율적 부호화 기법 설명
기법 | 기법 설명 |
---|---|
생성행렬 (Generator Matrix) | – 생성되는 행렬은 저밀도가 아님 – 일반적으로 높은 복잡도 요구 – 보다 낮은 복잡도의 부호화 요구 |
행/열방향 치환 (Permutation) | – 저밀도의 특성은 그대로 존재 – T는 대각선 원소가 1인 하부 삼각구조 |
나. 효율적 부호화를 위한 H 변형
- 행/열방향 치환 표현
III. LDPC 부호의 메시지 전달 반복 복호화
가. 메시지 전달 반복 복호화 기법 개념
- 채널에서 수신한 정보를 바탕으로 Tanner 그래프 상의 노드들이 서로 메시지를 주고 받으며 원래의 부호어를 확률적으로 추론하는 일련의 과정
- 사이클 존재 시 오류 정정 성능이 저하
나. 메시지 전달 반복 복호화 기법 수행도
- l번째 반복 복호에서 하나의 변수 노드 에서의 메시지 전달을 고려해보자. 연결된 dv개의 에지 중에서 위 방향으로 연결된 에지로 전파되는 메시지를 얻어내기 위해 아래 쪽에 있는 나머지 dv-1개의 에지에서 들어오는 메시지mi(i=1,2,…,dv-1)와 채널로부터의 수신 값 m0를 이용 한다.
View Comments (8)
LDPC는 블록부호화 입니까?
BCH와 차이는 뭔지요?
LDPC는 블록부호 기반 오류제어 코드입니다.
BCH와 LDPC 모두 블록부호 방식의 오류제어 코드입니다. 차이점은 BCH는 블록부호 중 순회 부호 방식이지만 LDPC는 블록부호 중 선형 블록부호 방식의 오류제어 코드입니다.
3, 4열의 1, 2행이 Cycle로 연결되어 부/복호화 시 서로에게 영향을 덜 주어(Burst Error) 오류 정정 성능 저하
라고 말씀하셨는데, Cycle이 짧으면 성능이 하락된다는 것은 이미 알고 있고, 특히 4-cycle을 피하려고 한다고 알고있습니다. 이때 왜 cycle이 짧으면 디코딩에서의 성능이 하락되는지 궁금합니다.
[링크]의 논문 등 다수 논문에서 부호길이가 길 수록, 1의 개수 및 위치가 매우 랜덤하여 짧은 주기(Short Cycle)을 만들지 않을 수록 좋은 성능을 가진다고 합니다. 저도 이 분야에 대해 깊이 알지는 못해서 여러 논문들을 찾아봤는데, 일반적으로 알려진 사실이라고 언급된 자료는 많지만 문의하신 내용에 대한 명확한 설명이 있는 자료는 찾기가 어렵네요.
안녕하세요. 기술사를 공부중인데 평소 많은 도움을 받고 있습니다. 감사합니다.
통신이론에 지식이 얕아 문의드립니다.
LDPC의 error floor 현상을 보완하기 위해 연접부호를 사용하는 것으로 알고 있습니다.
해서 UHDTV에 LDPC - 인터리빙 - BCH로 연접부호하는 걸로 알고 있습니다.
일반적으로? 연접부호는 버스트에러와 랜덤에러를 둘 다 강화하기 위해
블럭코드와 비블럭코드를 연접하는 것으로 아는데 LDPC와 BCH는 둘 다 블럭코드인데
그러면 버스트에레에만 효과가 있는게 아닌지? 하는 의문점이 듭니다.
아니면 그래서 사이에 인터리빙을 넣은 건지요...?
블록코드 방식이 모두 버스트에러에 효과적이진 않고, RS코드 정도가 버스트에러에 도움이 되며, 말씀하신 바와 같이 연접 시 인터리빙을 적용한 이유가 비트열을 재배열하여 버스트에러를 랜덤에러로 만들어 개별 정정 처리하도록 인터리빙을 넣는 것으로 알고 있습니다.
아...저는 정말 인터넷을 다 찾아보고 읽어봐도 이해가 안되네요 ㅠㅠ. 어떻게 접근 해야 할까요? LDPC 어렵네요
고생이 많으십니다. LDPC는 통신 이론과 함께 행렬과 수학 기반의 부호화 메커니즘에 대한 이해가 필요하기 때문에 접근이 쉽지 않습니다. 시험을 위해서라면 개념과 중요 키워드를 중심으로 암기하시는 것이 좋을 것 같고, 실제 업무에 활용하기 위해서라면 디지털 통신 이론 책을 통해 원리 기반 지식을 습득하시고 LDPC 관련 논문도 찾아보시면서 공부하시면 좋을 것 같습니다.