Publications무선통신 기초

무선통신 기초

잘못 받은 0과 1은 어떻게 고칠까?

5분 27초 영상으로 제나가 미나미에게 보내는 사진 한 장을 따라가며, 잘못 읽힌 0과 1을 고치는 오류 정정, 확인하는 CRC, 다시 요청해 합치는 HARQ가 어떻게 겹겹이 일하는지 수식 없이 살펴봅니다.

글·영상 · TelcoNexus최초 발행 영상 5분 27초 · 선택 심화 2개 · 9부조회수 확인 중

제나가 미나미에게 사진 한 장을 보냅니다. 사진도 결국은 아주 긴 0과 1의 줄입니다. 무선 구간을 지나는 동안 잡음과 간섭이 섞이면, 받는 쪽에서 1이 0으로, 0이 1로 잘못 읽힐 수 있습니다. 신호가 좋으면 드물어질 뿐 완전히 사라지지는 않습니다. 이번 편은 받는 쪽이 틀린 비트를 어떻게 알아채고 고치는지, 그리고 그 결과를 믿어도 되는지 어떻게 가르는지를 따라갑니다.

지난 8편에서는 핸드오버로 연결을 이어 가는 모습을 보았습니다. 그래도 무선 구간의 잡음과 간섭은 그대로 남아 있습니다. 앞에서 본 변조와 부호율 조절, 여러 안테나는 모두 잘못 읽히는 일을 줄이는 방법이었지만, 그래도 남는 오류가 있습니다. 비트 몇 개만 틀려도 사진 한 귀퉁이가 깨지거나 파일이 열리지 않을 수 있습니다.

WATCH & UNDERSTAND

영상으로 먼저 보기

6개 장면 · 한국어 음성·자막
별도 창에서 보기

재생 버튼을 누르면 음성이 시작됩니다. 장면 이름을 눌러 이동할 수 있습니다. 작은 화면에서는 크게 보기 또는 가로 화면을 권합니다.

영상에서 만날 세 가지 질문
  1. 잘못 읽힌 0과 1을 받는 쪽은 어떻게 고칠까?
  2. 고친 결과가 맞는지는 어떻게 확인할까?
  3. 실패하면 다시 요청해 어떻게 합칠까?

같은 비트를 세 번 보내 봅니다

가장 단순한 방법은 같은 비트를 세 번씩 보내는 것입니다. 1을 보내고 싶으면 1, 1, 1을 보냅니다. 원리를 보기 위한 장난감 예시일 뿐, 실제 LTE나 5G 이동통신의 주된 데이터 부호는 아닙니다.

받은 것이 1, 0, 1이라면 가운데 하나가 잡음 때문에 뒤집힌 것입니다. 받는 쪽은 셋 중 많은 쪽을 고르는 다수결로 판단하고, 1이 두 개이니 1로 고쳐 냅니다. 그런데 셋 중 두 개가 뒤집혀 0, 0, 1이 도착하면 다수결은 0을 고릅니다. 고친 것이 아니라 틀린 답을 내놓은 것입니다. 이 방법은 셋 중 하나까지만 고칠 수 있습니다.

대가도 있습니다. 정보 한 비트를 보내려고 세 비트를 썼습니다. 정보 비트 수를 실제로 보낸 전체 부호 비트 수로 나눈 값을 부호율이라고 하며, 전체에는 정보 비트와 덧붙인 여분이 모두 들어갑니다. 세 번 보내기의 부호율은 3분의 1입니다. 여기서 얻을 것은 방법이 아니라 감각입니다. 여분을 덧붙이면 틀린 것을 알아채고 고칠 여지가 생깁니다.

더 읽기 1 · 부호율을 계산하는 법

부호율은 정보 비트 수를 전체 부호 비트 수로 나눈 값입니다. 분모는 언제나 여분까지 합친 전체입니다. 영상의 예를 따라가 봅니다. 정보 비트 400개에 여분 비트 400개를 붙이면 전체 부호 비트는 800개이고 부호율은 400/800, 곧 2분의 1입니다. 여분을 200개만 붙이면 전체는 600개이고 부호율은 400/600, 곧 3분의 2입니다.

같은 종류의 부호를 같은 자원으로 보낸다면, 부호율이 낮을수록 대체로 더 많은 오류를 견디지만 실을 수 있는 내용은 줄어듭니다. 내용을 그대로 두고 보호를 늘리면, 같은 전송 속도에서는 자원이나 시간이 더 듭니다. 부호 종류가 다르면 같은 부호율에서도 성능이 다릅니다. [1]

여분을 영리하게 쓰는 오류 정정

실제 이동통신의 주된 데이터 부호는 이런 단순 반복보다 훨씬 정교합니다. 데이터 덩어리 전체를 보고 수학 규칙으로 계산한 여분 비트를 덧붙이는데, 여분 비트마다 여러 정보 비트가 얽혀 있어서 서로 단서가 됩니다.

받는 쪽은 받은 비트를 이 규칙에 비춰 보고, 규칙에 가장 잘 맞는 원래 비트열을 찾아갑니다. 이때 0인지 1인지만이 아니라 얼마나 확실한지도 함께 씁니다. 이렇게 미리 넣은 여분으로 받는 쪽이 스스로 고치는 방법을 순방향 오류 정정이라고 합니다. [1]

그래도 고칠 수 있는 데에는 한계가 있습니다. 잡음이 그 한계를 넘으면 고치지 못하고, 드물게는 엉뚱한 답으로 고쳐 버리기도 합니다. 그래서 고친 결과가 맞는지 따로 확인하는 장치가 필요합니다.

CRC: 고치는 장치가 아니라 확인하는 장치

그 확인에 쓰는 것이 CRC입니다. 보내는 쪽은 데이터로 정해진 계산을 해서 짧은 검사값을 만들고 데이터 뒤에 붙여 보냅니다. 받는 쪽은 오류 정정을 마친 데이터로 같은 계산을 다시 합니다. 다시 계산한 값이 붙어 온 검사값과 같으면 통과, 다르면 실패입니다. 실패하면 데이터나 검사값 어딘가가 틀렸다는 뜻이지만, 어느 비트가 틀렸는지는 알려 주지 않습니다.

그래서 오류 정정이 고치는 일을 한다면, CRC는 그 결과를 믿어도 되는지 가르는 관문입니다. 통과했다고 반드시 맞는 것은 아닙니다. 아주 드물게는 틀린 데이터가 우연히 같은 검사값을 만들어 통과할 수 있어서, 검사 규칙과 길이를 예상되는 오류에 맞게 골라 그런 일이 아주 드물도록 설계합니다. 통과한 데이터는 위쪽으로 넘기고, 실패한 데이터 덩어리는 믿지 않지만 받은 것을 바로 버리지도 않습니다. [2]

HARQ: 다시 요청하고 합칩니다

받는 쪽은 검사 결과를 보내는 쪽에 알려 줍니다. 통과하면 잘 받았다는 신호를, 실패하면 다시 보내 달라는 신호를 보냅니다. 오류 정정에 이 재전송 요청을 더한 방식을 하이브리드 자동 재전송, 줄여서 HARQ라고 부릅니다.

영상이 보여 주는 LTE와 5G의 방식에서는 실패한 첫 수신을 버리지 않습니다. 받는 쪽은 비트마다 0 쪽인지 1 쪽인지, 그리고 얼마나 확실한지를 숫자로 남겨 둡니다. 이런 정보를 소프트 정보라고 합니다. 예를 들어 어떤 비트가 첫 번째에는 0 쪽으로 조금 기울어 읽히고 두 번째에는 1 쪽으로 또렷하게 읽혔다면, 0과 1을 더하는 것이 아니라 두 관찰의 확신을 합쳐 1 쪽이 이겨서 비트를 바로잡을 수 있습니다. [3]

다시 보내는 대표적인 방식은 두 가지입니다. 처음과 같은 부호 비트를 다시 보내면 같은 비트의 확신이 쌓입니다. 처음과 다른 여분 비트를 보내면 일부는 겹칠 수 있지만 고칠 단서가 늘어나 보호가 강해지는 경향이 있습니다. 어느 쪽이든 받는 쪽은 앞의 수신과 새 수신을 합쳐 다시 오류 정정을 하고 CRC로 또 확인합니다. 그래도 반드시 성공하는 것은 아니며, 실패하면 정해진 한도 안에서 한 번 더 요청할 수 있습니다.

더 읽기 2 · 세 번 보내기의 한계와 확신을 합치는 법

세 번 보내기에서 다수결이 고칠 수 있는 것은 셋 중 하나가 뒤집힌 경우까지입니다. 둘이 뒤집히면 다수결은 틀린 쪽을 고르고, 받는 쪽은 틀렸다는 사실조차 알지 못합니다. 이것이 오류를 고치는 장치와 확인하는 장치가 따로 필요한 이유입니다.

HARQ에서 합치는 것은 0과 1이라는 최종 판정이 아니라, 판정에 이르기 전의 확신입니다. 첫 수신에서 비트가 0 쪽으로 조금만 기울었다면 그 비트는 아직 확신이 약한 상태이고, 두 번째 수신에서 1 쪽으로 또렷하게 읽혔다면 그 확신이 더 큽니다. 영상은 이렇게 확신을 합치면 1 쪽이 이겨 비트를 바로잡을 수 있다고 설명합니다. 이 예시는 원리를 보이기 위한 것이며 실제 장치가 쓰는 계산 방식과 수치를 나타내지 않습니다. [3]

한계와 다음 이야기

재전송은 끝없이 반복되지 않습니다. 시도 횟수와 허용 시간에 한도가 있고, 한 번 오갈 때마다 시간이 걸립니다. 그래서 무선의 신뢰성은 절대적인 약속이 아니라, 아주 높은 확률로 성공하도록 설계한 결과입니다.

한도 안에서도 실패하면 그 위의 계층이 다시 보내기도 합니다. 다만 이것은 쓰는 방식과 서비스에 따라 다릅니다. 사진은 다시 보내 조금 늦게라도 도착하게 할 수 있고, 실시간 통화는 기다리지 않고 넘어가 소리가 잠깐 끊길 수도 있습니다.

정리하면 오류 정정은 고치고, CRC는 확인하고, HARQ는 다시 요청해 합칩니다. 제나의 사진은 이렇게 여러 겹의 보호를 지나 미나미에게 도착합니다. 이제 틀린 비트를 다루는 법까지 보았으니, 마지막 시간에는 제나가 보낸 "안녕"이라는 한마디가 미나미에게 닿기까지의 전체 길을 따라가 봅니다.

참고 자료와 설명의 범위

이 글과 영상은 잘못 읽힌 비트를 다루는 방법을 처음 접하는 사람을 위한 단순화한 설명입니다. 세 번 보내기와 비트 개수, 확신을 합치는 예시는 이해를 위한 것이며 특정 통신사나 장치, 규격 설정값을 나타내지 않습니다. 아래 자료는 용어를 확인하는 심화 읽기용 문서 목록이며, 이번 게시에서 조항까지 독립적으로 검토했다는 뜻은 아닙니다.

NR 채널 코딩과 부호율 관련 규격. ETSI · 3GPP TS 38.212 문서 목록.

NR 전체 구조 설명. ETSI · 3GPP TS 38.300 문서 목록.

NR MAC 계층의 HARQ 관련 규격. ETSI · 3GPP TS 38.321 문서 목록.

이어서 읽기