달력

5

« 2024/5 »

  • 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
  • 31

'에러 정정 코드'에 해당되는 글 1

  1. 2012.02.21 블라인드 코드메이커
2012. 2. 21. 11:53

블라인드 코드메이커 카테고리 없음2012. 2. 21. 11:53

반응형
에러 정정 코드는 디지털 시대의 성공 중 하나이다. 그것은 통신 채널을 통하여 전송될 수 있는 정보를 인코딩하는 방법이다. 즉, 광섬유나 무선연결을 통해서도 완벽하게 노이즈에 의해 방해를 받지 않게 해준다.

인코딩되어진 메시지는 코드워드라고 불리며, 채널에서 노이즈가 많고, 코드워드가 길수록 완벽한 통신이 보장되어야만 한다. 그러나 코드워드가 길수록 메시지를 전송하는데 더 많은 시간이 걸린다. 그래서 가장 효율적이며, 믿을 수 있는 통신은 채널에서 코드워드가 노이즈의 레벨과 정확하게 매칭되는 것이 요구된다.

핸드폰 또는 Wi-Fi 송신기와 같은 무선기기들은 정기적으로 노이즈 레벨을 측정하기 위해서 테스트 메시지를 전송해야만 한다. 그래서 그것의 코드를 적절하게 조절할 수 있게 되는 것이다. 그러나 수신 품질은 단지 몇 피트 떨어진 위치에서 다양해질 수 있거나, 심지어 하나의 위치에서도 다양해질 수 있다. 노이즈 측정은 구식이 될 수 있으며, 무선기기들은 너무 길거나 대역폭을 낭비하는 코드워드를 사용하지 않을 것이다. 또는 너무 짧아서 정확한 디코딩이 불가능할 때도 사용하지 않을 것이다.

IEEE 정보이론(IEEE Transactions on Information Theory) 저널의 다음 호에서 MIT 전기공학 및 컴퓨터과학과 Gregory Wornell 교수, 이스라엘 텔아비브대학의 Uri Erez 및 구글의 Mitchell Trott는 새로운 코딩 방식을 기술하고 있다. 그것은 변동하는 무선 연결을 통하여 노이즈 레벨을 사전에 알지 못하여도 가장 빠른 데이터를 전송하도록 해준다. 연구자들은 9월에 이 기술에 대한 미국 특허를 받았다.

이 방법은 각 메시지를 위한 하나의 긴 코드워드 청크(chunk)를 만들어 주지만, 연속된 긴 코드워드가 그 자체로 좋은 코드워드가 된다. “코드워드의 첫 번째 부분을 전송하는 것이 전송하기 위한 전략이다. 만약 연속되지 않는다면, 우리는 두 번째 부분을 보내게 된다. 그리고 나서 이 이후의 것들을 보내게 된다. 그러나 반복적인 전송을 하지는 않는다. 같은 부분을 다시 재전송하는 것이 아니라 항상 다음 부분을 보내는 것이다. 첫 번째 부분이 디코딩하기에 너무 노이즈가 많기 때문에, 두 번째이며 연속된 부분들과 함께 새롭고, 좋은 메시지 인코딩을 함께 구성하게 되는 것이다.”라고 그는 말했다.

예를 들어, 마스터 코드워드라는 긴 코드워드는 3만개의 심볼로 구성되었다고 가정하면, 첫 번째 만개의 심볼은 채널에서 최소한의 노이즈만을 갖고도 이상적인 인코딩이 될 수 있다. 그러나 더 많은 노이즈가 있다면, 수신기는 이 뿐만 아니라 다음 5천개의 심볼을 필요로 하여 7,374개 정도가 될 것이다. 만약 많은 노이즈가 있다면, 수신기는 3만개 심볼을 모두 필요로 할 것이다. 그러나 기본적인 메시지를 디코딩하기 위해서 충분한 심볼을 받게 된다면, 이것은 송신기에게 중단하라는 신호를 보내게 된다. 논문에서 연구자들은 이것을 수학적으로 증명하고 있다. 수신된 코드워드의 길이는 채널의 노이즈 값에 따라서 가능한 짧은 길이를 가지게 된다. 심지어 변화가 많을 때도 그렇다.

마스터 코드워드를 만들기 위해서, 연구자들은 먼저 메시지를 동일한 길이의 여러 부분으로 나누었다. 그들은 이와 같은 각 부분을 기존의 에러정정 코드를 사용하여 인코딩하였다. 즉, Gallager 코드와 같은 것으로서 무선통신에서 일반적으로 사용되는 매우 효율적인 코드 종류이다. 그러면 그들은 결과로 나타난 각 코드워드를 다른 수로 곱하고, 함께 그 결과를 더해준다. 이것은 마스터 코드워드의 첫 번째 청크 부분을 만들어내게 된다. 그리고나서 코드워드를 다른 수의 셋으로 곱해주고, 그 결과를 더하게 되며, 이것은 마스터 코드워드의 두 번째 청크 부분을 만들게 되는 것이다.

메시지를 디코딩하기 위해서, 수신기는 코드워드에 곱해진 숫자를 알아야 할 필요가 있다. 이러한 숫자들은 통신채널의 예측된 변수에 의존하게 된다. 그러나 Wornell은 몇가지의 표준 구성이 대부분의 무선 애플리케이션을 위해 충분할 것이라고 추측했다.

전체가 모두 전송되어져야하는 마스터 코드워드의 청크(chunk)가 가장 먼저이다. 그 후에 수신기는 단지 부분적인 청크만을 가지고 디코딩을 끝낼 수 있다. 그래서 초기 청크의 크기는 특별한 애플리케이션을 위해 예상되어질 수 있는 가능한 최고의 채널 품질로 조정하게 된다.

마침내, 디코딩 처리과정의 복잡도는 초기 메시지가 나눈 부분들의 수에 의존하게 된다. 만약 그 숫자가 3이라면, 디코더는 모든 청크 중에 하나를 수신하는 대신에 3개의 메시지를 디코딩하는 것이 대부분의 무선 링크를 위한 가장 좋은 것으로 Wornell는 생각하고 있다. 그래서 기존의 코드가 했던 것의 3배 정도 많은 계산을 수행할 수 있게 될 것이다. “디지털 통신에서 컴퓨터 파워의 증가는 무어의 법칙에 따르기 때문에 3이라는 고정요소는 큰 문제가 아니다.” 라고 Wornell이 말했다.

Michael Henry Strater대학의 전기공학과 H. Vincent Poor는 Wornell과 그의 동료들이 개발한 것처럼 코딩 방식을 상업적으로 이용하는데 문제점이 거의 없는 것으로 보고 있다. “이 코드들은 매우 실용적이다. 실제로 논문에서 이러한 코드의 이론과 분석 뿐만 아니라 실용적인 구조의 사례들도 보여주고 있다.” 라고 Poor가 말했다.

왜냐하면, “이 코드들은 예측할 수 없는 채널에 대하여 효율적인 통신을 가능하게 해주기 때문에, 미래 무선통신 애플리케이션에서 중요한 역할을 하게 될 것이다. 그리고 모바일 기기를 연결하기 위한 표준이 될 것이다.” 라고 그가 덧붙였다.
출처 : http://web.mit.edu/newsoffice/2012/error-correcting-codes-0210.h

KISTI 미리안글로벌동향브리핑2012-02-20

반응형
:
Posted by 째시기