💡 핵심 인사이트
LDPC는 1962년 갤러거(Gallager)가 발명했지만 너무 시대를 앞서가서 40년간 쓰레기통에 박혀있던 비운의 천재 알고리즘입니다.
2000년대 컴퓨터 기술의 발전으로 부활하여, 터보 코드의 고질적인 약점인 '느린 해독 속도'를 극복하고 초고속 병렬 처리를 통해 5G(20Gbps)의 엄청난 데이터와 Wi-Fi 6 통신의 에러를 순식간에 정정해 내는 차세대 FEC(순방향 에러 수정)의 최종 보스로 등극했습니다.
Ⅰ. 40년 만의 부활 (왜 옛날엔 안 썼을까?)
- 로버트 갤러거의 논문(1962): 갤러거는 희소 행렬(0이 엄청나게 많고 1이 거의 없는 거대한 엑셀 표)을 이용해 에러를 기가 막히게 잡아내는 수학을 논문으로 썼습니다.
- 방치된 이유: 이 거대한 행렬 덩어리를 1초에 수백 번씩 곱하고 더하려면 당시 1960년대의 진공관/트랜지스터 컴퓨터로는 1년을 돌려도 불가능했습니다. 결국 "수학적으론 완벽하지만 현실에선 쓸 수 없는 망상"으로 취급되어 버려졌습니다.
- 부활 (1990년대 후반): CPU와 반도체 칩셋(ASIC) 성능이 미친 듯이 발전하면서 학자들이 다시 논문을 꺼내 컴퓨터를 돌려봤더니, 최강이라 불리던 '터보 코드'를 씹어먹는 샤논 한계의 끝판왕임이 증명되며 화려하게 부활했습니다.
Ⅱ. LDPC의 원리 (저밀도 패리티 검사 행렬)
- Low Density (저밀도): 에러를 검사하기 위해 1만 행 $\times$ 1만 열짜리 거대한 검사 행렬(H)을 만듭니다. 그런데 이 표 안의 숫자가 99%는 다
0이고,1은 듬성듬성 아주 조금(저밀도)만 들어있습니다. - 패리티 방정식: 수신기가 데이터를 받으면 이 거대한 0 밭인 행렬과 곱하기를 합니다.
0을 곱하면 다 사라지므로, 듬성듬성 있는1들끼리만 연결된 수십 개의 '매우 단순한 방정식'이 튀어나옵니다. - 신뢰도 전파 (Belief Propagation): 이 수십 개의 단순한 방정식 노드들이 서로 선을 긋고 "나는 이게 에러 같아", "난 저게 에러 같아"라며 메시지(확률 힌트)를 주고받습니다. 몇 번의 핑퐁(반복)을 거치면 거대한 1만 비트의 데이터 중 어디가 깨졌는지 단번에 찾아내어 고칩니다.
Ⅲ. 터보 코드 vs LDPC (왜 5G는 LDPC를 선택했나?)
4G LTE를 지배했던 터보 코드는 왜 5G에서 버려졌을까요? 5G의 핵심 목표는 eMBB(초고속, 20Gbps)와 **URLLC(초저지연, 1ms)**입니다.
- 터보 코드 (직렬 처리의 한계): 두 개의 디코더가 번갈아 가며 한 놈이 끝날 때까지 멍하니 기다렸다가 쪽지를 주고받는 구조입니다. **계산이 직렬(순차적)이라 처리 속도를 높이는 데 태생적 한계(지연 발생)**가 뚜렷했습니다.
- LDPC (병렬 처리의 마법): 저밀도 행렬에서 파생된 수십 개의 방정식들은 서로 독립적입니다. 즉, GPU 코어 수백 개를 때려 박아 수십 개의 방정식을 1초의 대기 시간도 없이 동시에(병렬로) 풀어버릴 수 있습니다. 계산 속도가 빛의 속도(초저지연)로 빨라집니다.
이 압도적인 '초고속 병렬 해독(Decoding)' 능력 덕분에 LDPC는 터보 코드를 밀어내고 5G 이동통신의 데이터 채널(사용자 영상/음성 데이터) 표준 규격으로 만장일치 채택되었습니다.
📢 섹션 요약 비유: 터보 코드는 한 권의 어려운 퍼즐 책을 두 명의 천재가 **앞장부터 뒷장으로 번갈아 넘겨주며 푸는 방식(직렬, 느림)**입니다. 반면 LDPC는 1만 피스짜리 거대한 직소 퍼즐을 넓은 운동장에 쫙 깔아놓고(저밀도 행렬), 수백 명의 알바생(병렬 코어)을 동시에 투입해 각자 자기 구역 퍼즐만 미친 듯이 맞춘 뒤, 마지막에 서로 테이프만 붙여버리는 초고속 병렬 조립 방식입니다.