Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

민동

44. HARQ와 ARQ 본문

5G STUDY

44. HARQ와 ARQ

Min_Dong 2024. 8. 29. 13:26

 

이전 포스팅에서 HARQ와 ARQ에 대해서 간략하게 설명했었다.

 

ARQ는 오류난 데이터를 다 폐기하고 데이터를 재전송 받는 반면 HARQ는 오류난 부분만 다시 재선송 받는 기법을 사용한다고 했었다. 따라서 HARQ를 사용하면 딜레이를 줄일 수 있다라고 까지 했었다.

 

오늘은 왜 HARQ와 ARQ가 같이 쓰여야하는가에 대해서 이야기해보려고 한다.

 

1. Hamming distance, FEC 

위의 큰 토픽을 알기 위해서는 FEC와 Hamming distance에 대해서 알아야 한다. 

 

1-0. Hamming distance

영상 속 Hamming Distance 설명 그림

 

Hamming Distance란 두 bit를 비교해서 같으면 0으로 count하고 다르면 1씩 증가시키는 것으로 두 문자열이 얼마나 다른지를 알 수 있게 해주는 척도라고 할 수 있다. 위의 예시에서 1001과 0000은 1과 0이 다르고 이것이 두 번 반복되므로 Hamming distance=2라는 것을 알 수 있다.

1-1. FEC

영상 속 FEC 설명 그림

 

FEC(Forward Error Correction)는 송신, 수신 측이 같은 코드북을 가지고 있어 실제 데이터를 전송할 때 특정 규칙에 따라 데이터를 바꾸어 보낸다. 

 

Hamming Distance와 FEC를 사용하여 어떻게 오류를 검출할 수 있을까? 아래 그림을 보자

영상 속 오류 검출 설명 그림

 

01 00 11 00을 FEC 코드북을 통해 11100 00000 11100 00000으로 바꾸어 보냈다. 수신측은 11100 10000 01010 10011을 받았는데 여기서 어떻게 오류를 찾는지 보겠다.

 

먼저 11100은 송,수신측이 모두 동일하므로 넘어간다.

 

그 다음 00000과 10000을 비교해보니 다르다는 것을 알 수 있다. 따라서 10000을 보냈던 데이터들과 모두 비교해보고 각 코드에 대한 Hamming distance 중 가장 적은 distance 값을 가진 것을 오류로 추정한다. 그리고 그 파트를 재전송을 요청한다.

 

하지만 Hamming distance 값이 2 3 3 2와 같이 중복되면 어떻게 될까?

이런 경우에는 어느 부분이 틀렸다고 확정짓기가 어렵기 때문에 NACK를 보내고 데이터를 재전송을 받는다.

 

만약 받은 데이터 값이 보낸 오류값인데 기존 데이터와 같은 값으로 오류가 나면 어떻게 될까?? (00000이어야 하는데 011111이 들어오는 예시) 이런 경우에는 CRC를 통해 해결해야한다. 

 

CRC는 RLC 계층에서 ARQ와 같이 사용되어 오류를 검출하고 재전송을 요청하는 기술 중 하나인데, FEC보다 더 복잡한 알고리즘으로 구현되어 있다. 따라서 HARQ에서 해결되지 못하는 문제들은 RLC 계층까지 올라가 CRC를 통해 고쳐진다고 볼 수 있다. (내 생각이지만 이러한 이유로 HARQ와 ARQ는 꼭 같이 쓰여야 한다는 것 같다. 서로 상호보완적인 관계니까)

 

CRC의 작동방식에 대해서는 영상을 참고하면 될것같다. (11분 30초부터)

간단하게 말하면 CRC는 XOR을 이용해서  FCS를 구하고 FCS를 붙인 데이터를 똑같은 코드로 나누어 0000이 나오면 맞는 데이터라고 판단하는 기능이다. 

 

2. RLC  MODE (TM, UM, AM) 

영상 속 RLC MODE 설명 그림

 

RLC에는 다양한 Mode가 존재하는데 데이터 전송 모드 특성에 따라 TM, UM, AM으로 나뉜다.

 

TM(Transport Mode) - 순서 보장, 오류 정정, 중복 제거 등의 기능을 제공하는 신뢰성이 가장 높은 모드로, 주로 음성 통화와 같은 실시간성이 요구되는 서비스에 사용된다.

 

UM(Unacknowledged Mode) - 일반적으로 실시간성이 낮은 데이터 전송에 사용되며 데이터 손실에 대한 허용 범위가 높은 모드이다.

 

AM(Acknowledged Mode) - 실시간성이 높은 데이터 전송에 사용되는 모드로 데이터 손실에 매우 민감하다.

 

일반적으로 RLC 모드에서 UM의 경우 데이터 손실에 대한 허용범위가 높고 실시간성도 낮기 때문에 ARQ를 써도 무방하다. 하지만 AM의 경우엔 그 반대에 해당하므로 HARQ를 주로 사용한다.

 

RLC MODE에서도 HARQ를 사용하는 것을 보면 HARQ와 ARQ는 상호보완적으로 사용되는 것이라고 생각한다.그래서 HARQ와 ARQ는 같이 쓰여야 한다고 하는게 아닐까?? 이 글을 읽는 여러분은 어떻게 생각하는가?? 

 

이 블로그는 수익형 블로그가 아니며, 개인 공부 기록을 위해 운영되는 블로그입니다.
원작자의 동의를 받고 출처를 밝히며 적습니다.

 

출처

https://www.youtube.com/watch?v=2_5NrNc_0O4&list=PLdjcO8otM2M-uJRGgmv3rHRqMInwHRwMd&index=44

 

 

 

 

'5G STUDY' 카테고리의 다른 글

46. Wifi Calling  (2) 2024.08.30
45. RLC(Radio Link Control)  (1) 2024.08.29
43. HARQ  (4) 2024.08.29
42. MAC  (0) 2024.08.28
41. SRS - Beamforming  (0) 2024.08.28