푸리에 영역 로그 스팸 알고리즘을 이용한 비이진 LDPC 병렬 디코딩

본 논문은 비이진 LDPC 코드의 로그-도메인 합-곱 디코딩에서 체크 노드 연산이 병목이 되는 문제를 해결하고자, 변수 노드와 체크 노드의 역할을 뒤바꾸는 푸리에 영역 기반 로그-스팸 알고리즘을 제안한다. 낮은 차수의 변수 노드에서 집중적인 연산을 수행하도록 함으로써 병렬 처리 효율을 크게 향상시키고, 추정 비트와 신드롬을 푸리에 도메인에서 빠르게 계산하는

푸리에 영역 로그 스팸 알고리즘을 이용한 비이진 LDPC 병렬 디코딩

초록

본 논문은 비이진 LDPC 코드의 로그-도메인 합-곱 디코딩에서 체크 노드 연산이 병목이 되는 문제를 해결하고자, 변수 노드와 체크 노드의 역할을 뒤바꾸는 푸리에 영역 기반 로그-스팸 알고리즘을 제안한다. 낮은 차수의 변수 노드에서 집중적인 연산을 수행하도록 함으로써 병렬 처리 효율을 크게 향상시키고, 추정 비트와 신드롬을 푸리에 도메인에서 빠르게 계산하는 방법을 추가로 개발하였다.

상세 요약

비이진 LDPC 코드는 심볼이 GF(q) 위에 정의되기 때문에 전통적인 이진 LDPC에 비해 복잡도가 급격히 증가한다. 기존의 로그-도메인 합-곱(Log‑SP) 알고리즘은 양자화 오류를 줄이기 위해 로그 변환과 FFT를 결합했지만, 로그 영역에서는 FFT 연산이 직접 적용되지 않아 체크 노드에서 복잡한 컨볼루션 연산을 수행해야 한다. 체크 노드의 차수가 변수 노드보다 일반적으로 높기 때문에, 전체 디코딩 시간의 대부분이 체크 노드 연산에 소모되어 병목 현상이 발생한다.

이 논문은 이러한 구조적 비효율성을 근본적으로 재구성한다. 푸리에 변환을 로그‑스팸 알고리즘에 도입함으로써, 체크 노드와 변수 노드의 연산 역할을 교환한다. 구체적으로, 원래 체크 노드에서 수행되던 컨볼루션(곱셈) 연산을 푸리에 도메인에서 곱셈으로 변환하고, 변수 노드에서는 역푸리에 변환을 통해 간단한 곱셈과 덧셈만 수행하도록 설계하였다. 결과적으로, 연산 부하가 차수가 낮은 변수 노드에 집중되며, 이는 SIMD 혹은 GPU와 같은 병렬 하드웨어에서 효율적인 파이프라인을 가능하게 한다.

또한, 논문은 추정 비트와 신드롬을 푸리에 도메인에서 직접 계산하는 빠른 방법을 제시한다. 기존 방식에서는 디코딩 후 별도의 역변환 과정을 거쳐야 했지만, 제안된 방법은 푸리에 변환된 메시지를 그대로 활용해 비트 추정과 검증을 수행함으로써 추가적인 연산 비용을 최소화한다. 이 과정에서 로그‑스팸의 수치 안정성을 유지하기 위해 적절한 스케일링과 클리핑 기법이 적용되었다.

실험 결과는 제안된 푸리에 로그‑스팸 알고리즘이 동일한 오류 성능을 유지하면서도 체크 노드 중심의 기존 Log‑SP 대비 2~3배 이상의 처리 속도 향상을 보였으며, 특히 고차원 GF(256) 위의 코드에서 그 효과가 두드러졌다. 또한, 병렬 구현 시 메모리 접근 패턴이 규칙적이어서 캐시 효율이 크게 개선되는 점도 강조된다.

이러한 기여는 비이진 LDPC 디코더를 실시간 통신 시스템이나 고속 스토리지 컨트롤러에 적용할 때, 하드웨어 자원과 전력 소모를 크게 절감할 수 있는 실용적 기반을 제공한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...