wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Computer Science/Data Communications

[데이터통신] 아날로그 대 디지털 변환 - 펄스코드변조(PCM)의 과정 (Sampling, Quantization, Encoding)과 델타 변조(Delta Modulation)

Kick_snare 2022. 4. 14. 18:16
728x90

본 포스팅은 McGraw-Hill Education의 Data Communications and Networking, 5th Edition By Behrouz .A Forouzan 을 참고하였습니다.

.

4.2 아날로그 대 디지털 변환

이번 포스팅에서는 아날로그 신호를 디지털 신호로 바꾸는 두 가지 기법에 대해 알아보도록 한다.

4.2.1 펄스 코드 변조 (PCM, Pulse Code Modulation)

아날로그를 디지털 신호로 바꾸는데 가장 많이 사용하는 방법은 펄스 코드 변조이다.

PCM 부호화는 아래의 3가지 단계의 과정을 따른다.

  1. 아날로그 신호를 표본 채집한다
  2. 채집된 신호를 계수화한다
  3. 계수화된 값을 비트 스트림으로 부호화한다

채집 (Sampling)

첫 단계는 표본 채집 (sampling)이다. 아날로그 신호가 매 Ts초(채집주기)마다 채집되며 채집주기의 역 채집률(sampling rate) 또는 채집 주파수(sample frequency)라고 하며 fs 로 표시한다.

채집에는 3가지 방법이 존재한다.

  • 이상적 채집 (Ideal Sampling)
    • 아날로그 신호로부터 펄스를 채집
    • 이상적이지만 구현이 쉽지않다
  • 자연적 채집 (Natural Sampling)
    • 고속 스위치가 채집이 일어나는 짧은 시간동안 잠시 켜진다
    • 아날로그 신호의 모양을 유지하는 일련의 채집량이 생긴다
  • 채집 후 유지 (Sample and Hold, FLat-top Sampling)
    • 전기 회로를 이용하여 flip-top 꼭지치기 채집량을 만든다

이러한 채집과정은 때로 펄스 진폭 변조 (PAM, pulse amplitude modulation)라고도 불린다. 하지만 이러한 채집된 데이터는 여전히 아날로그 신호이다.

표본 채집률

나이퀴스트 정리에 따르면, 원래의 아날로그 신호를 재생하기 위한 한 가지 필요조건은 채집률(sampling rate)가 원래 신호의 최고 주파수에 최소한 2 배가 되어야한다.

이 정리에 따라 알 수 있는 사실은

  • 대역폭이 제한적이어야 신호를 채집할 수 있다
    • 즉 무한 대역폭을 가지는 신로는 채집 불가
  • 채집률은 대역폭이 아니라 최소한 최고 주파수의 2배가 되어야한다

  • 아날로그 신호가 저대역 통과 신호라면 대역폭과 최고 주파수가 동일
  • 아날로그 신호가 띠대역 통과 신호라면 대역폭 값은 최고 주파수보다 낮다

나이퀴스트에 의해 최소 주파수의 2배가 넘지 않는 채집률을 가지게 된다면 Wagon wheel 문제와 같은 문제가 발생한다. 예로 자동차 바퀴가 고속으로 달리면 마치 반대로 천천히 돌아가는 것과 같이 보이는 경험을 한적이 있을 것이다.

위 그림은 시계 침의 움직임을 채집률에 따라 보이는 모습을 나타내었다.

C와 같이 undersampling 된다면 시계침이 거꾸로 움직이는 것과 같이 보인다.

계수화 (Quantization)

계수화란 아날로그 신호를 일정 구간의 레벨로 나누어 정수의 디지털 값으로 변환하는 과정이다. 계수화의 과정은 아래와 같다.

  1. Vmax와 Vmin 사이의 진폭 값을 순간적으로 갖는다고 가정
  2. 영역을 각각 높이 차(delta) L개의 구간으로 나눈다. delta = (Vmax-Vmin) / L
  3. 각 구간의 중간점에 0부터 L-1까지의 계수화된 값을 지정
  4. 채집된 신호의 진폭 값을 계수화된 값의 하나로 근사값을 지정

  • 계수화된 값의 정규값와 원래 신호의 정규값의 차이를 정규오차라고 한다
  • 음성과 영상 같은 경우 많은 수의 계수화 준위(레벨)이 필요하다
  • 계수화 오차는 신호의 SNR(신호대잡음비)를 바꾼다
    • 섀넌 정리에 의하면 전송 대역 상한을 줄이는 것이다

많은 경우 아날로그 신호의 순간적인 값들의 분포는 균일하지 않다. 보통 낮은 진폭 부근에서 변화가 잦으므로 이럴땐 non-unform quantization 비균등 구역화를 사용하는게 좋다.

  • 축약
    • 송신자는 신호 변환 이전에 축약 과정을 거친다
    • 큰 진폭값을 가지는 진폭의 전압을 줄인다
  • 확장
    • 수신자는 변환 이우헤 확장 과정을 거친다
    • 작은 진폭값을 가지는 진폭의 전압을 키운다

이러한 비균등 계수화를 통해 계수화 오차를 비교적 효과적으로 줄일 수 있다.

부호화 (Encoding)

PCM의 마지막 단계인 부호화는 각 표본이 계수화되고 표본당 비트 수가 정해진 이후 nb비트의 부호로 변환되는 과정이다.

Bit rate = sampling rate * number od bits per sample
Bit rate = fs * nb

원래의 신호로 복구하기 위해서는 PCM 복호기 (decoder)가 필요하다.

복호기는 전기 회로를 사용하여 수신된 코드를 다음 펄스까지 일정한 값으로 유지하는 펄스로 변환한다. 그 다음 계단형의 신호가 만들어지면 저대역 통과 필터를 통과시켜 아날로그 신호로 바꾼다.

신호가 나이퀴스트 채집률에 따르고 충분한 계수화 레벨을 사용하였다면 원래 신호로 복구가 가능하다.

위 사진은 그러한 과정을 그림으로 나타내고 있다.

PCM 대역폭

저대역 통과 신호의 대역폭을 디지털로 변환하면,

이 디지털 신호를 통과시킬 수 있는 채널의 최소 대역폭은 아래와 같다

채널의 최소 데이터 전송률, 최소 대역폭

Nmax = 2 * B * log2 L (bps)

Bmin = N / (2 * log2 L) (Hz)

4.2.2 델타 변조 (Delta Modulation)

PCM은 매우 복잡한 기술이다. 이러한 PCM의 복잡도를 낮추기 위해 다른 기술들이 개발되었다. 가장 간단한 것은 델타 변조 (DM, Delta Modulation)이다.

델타변조는 각 표본 채집 시에 직전 표본값과의 차이 값을 찾는다.

제목보고 들어온 사람은 미안하지만 귀찮아서 자세하게 설명하지는 않도록 하겠다.

 

 

728x90