ICIS 학부 연구생/통신시스템 설계

[ 통신시스템설계 ] 05-(0) 채널코딩 기본

hanol02 2023. 8. 3. 21:47

목차

1. 채널코딩 기초

2. Linear Block Code

3. Convolutional Code


 

1. 채널코딩 기초

# 채널코딩이란?

  • 에러 잡기 + 속도(성능) 빠르게 하는 과정!!
  • 여러가지 채널 응용(음성통화, 인터넷 접속 등)에 대한 허용 가능한 오류율이 각각 다르다.
  • 일정 수준까지의 신뢰도에 도달하기 위해 거치는 과정임

 

 

# 이진대칭채널 (BSC: Binary Symmetric Channel) 

 

 

 

# 채널용량

  • 송신기에서 수신기로 정보를 보낼 때, 그 사이의 물리적 환경인 채널(Channel)에서 정보가 에러를 발생시키지 않고 보내질 수 있는 최대의 속도

 

 

 

# BSC의 채널용량

 

 

 

 

# 부호율 R 

  • R = k/n

 "부호율이 작아진다" 의미

  • 패리티 비트가 많아진다
  • 에러 정정능력이 강해진다
  • 전송속도가 줄어든다

 

 

 

 

# Shannon의 한계

  • 대역폭 늘리면 신호<잡음 이어도 통신 가능

 

 

****** 오류정정부호의 기본 틀 *******

데이터를 전송하기 전에 데이터에 추가 심볼(잉여분)을 추가한다!!

 

 

 

 


2. Linear Block Coding (선형 블록코드)

  • ( n , k ) 코드 = ( 전체 비트 수 n, 정보 비트 수 k )
    •    n = 2^(m)-1,  m = n-k
  • 부호율 R  ∝ 1/에러정정능력
  • 종류
    1. 해밍 코드: 1bit의 에러를 정정할 수 있다.
    2. BHC 코드: t bit의 에러를 정정할 수 있다. (t>1)
    3. RS 코드: t symbol의 에러를 정정할 수 있다. (1 symbol = 1bits, 2bits, 4bits ...)

 

 


3. Convolutional Code (길쌈 부호)

# Convolutional Code란?

  • 출력 계열이 현재 뿐만 아니라 과거의 입력 계열에 의한 영향도 받아서 결정되는 장치
  • 즉 기억이 있는 장치
  • 오류 정정 능력이 아주 우수하다.

 

# Convolutional Code의 부호화

: k개의 입력열을 (n, k, M) 길쌈 부호화기를 거쳐 n개의 출력열로 부호화시키는 과정