본문 바로가기

학교 수업/전공 수업

[멀티미디어 시스템] 아날로그 신호를 디지털 신호로 변환하는 과정

안녕하세요 소프트웨어 공부하는 레오존입니다.

이번 포스팅에서는 아날로그 신호를 디지털 신호로 변환하는 과정에 대해 정리해보도록 하겠습니다. 

 

 

멀티미디어는 기본적으로 디지털 프로세싱입니다. 반면에 우리 주변에 존재하는 natural signal들 예를 들어, 오디오, speech, 영상들은 전부 다 아날로그로 존재합니다. 따라서 멀티미디어 프로세싱을 하려면 아날로그 시그널을 디지털 시그널로 변환할 수 있어야 합니다.

구체적으로 어떻게 아날로그 신호를 디지털 신호로 , 디지털 신호를 아날로그 신호로 변환하는지에 대해 정리해 보도록 하겠습니다.


아날로그 신호를 디지털 신호로 변환하는 과정은 크게 두 단계를 거칩니다.
1. sampling 
2. quantization 

이렇게 아날로그 신호를 디지털 신호로 변환하는 과정을 pcm(Pulse-code modulation) 이라고 부릅니다. 아날로그 신호를 디지털 신호로 변환한 결과인 바이너리 코드를 pcm코드라고 부르기도 합니다.
샘플링은 아날로그 신호를 일정시간 간격마다 취하는 것을 말하는데, 그 일정시간 간격을 영어로 sampling period라고 표현합니다. sampling period는 Ts로 나타내기도 하는데 Ts에서 s는 sampling이라는 뜻의 subscript를 나타내고, T는 time interval를 의미합니다.

sampling rate 는 sampling period의 역수와 같습니다.

sampling-rate

 samling rate의 단위는 sample/sec 또는 sample/Hz입니다.

 

앞서 말한 quantization과 di
quantization : 컴퓨터가 표현할 수 있는 값 중에 하나로, 앞에서 샘플된 값을  truncation 하는 것을 말함
digitization: quantization 한 값을 다시 바이너리로 표현하는 과정을 말함



일정한 시간 간격  Ts동안 샘플을 취하는 샘플링을 진행한 후에, quantizaion을 실행합니다.
quantization을 이해하기 전에 컴퓨터는 모든 숫자를 완벽하게 표현할 수 없다는 사실을 알아야합니다.
 간단한 동작을 하는 기계같은 경우, 8bit 컴퓨터를 사용하는데 이러한 컴퓨터를 마이크로프로세서라고 합니다. 8bit 컴퓨터는 숫자를 8bit로 표현할 수 있습니다. 즉, 2의 8승인 256가지 중 하나의 숫자로 표현할 수 있는 것입니다. 4bit의 컴퓨터는 2의 4승인 16가지 중 하나로 표현이 가능합니다. 
따라서 0.3724159831...... 과 같은 무한대의 소수점 수를 표현하기 위해서는 무한 비트가 필요합니다. 보통 가정에서 사용하는 컴퓨터는 64bit로 이루어져있기 때문에 컴퓨터로 모든 숫자를 완벽하게 표현하는 것은 불가능합니다.

그래서 sampling 값을 컴퓨터가 표현할 수 있는 값 중 가장 가까운 값을 매핑하는 quatization을 진행합니다. quantization을 통해 매핑된 값은 단순히 아날로그 신호에서 일정한 간격으로 샘플을 취한 sampling 된 값과 차이를 보이기 때문에 이 부분에서 오차가 발생하게 됩니다. 이러한 오차를 quantization error라고 합니다. 이러한 오차는 컴퓨터가 표현할 수 있는 숫자에는 한계가 존재하기 때문에 아날로그 시그널을 디지털 신호로 변환하는 과정에서 반드시 존재하는 에러라고 할 수 있습니다. 
어떻게 하면 오차를 줄일 수 있을까요? 비트 수를 늘려서 더 촘촘하게 수를 지정할 수 있게 되면 오차를 줄일 수 있습니다. 대신 처리해야 할 데이터가 늘어나는 단점이 발생하게 되겠죠.

 

 



간단하게 아날로그 신호를 디지털 신호로 변환하는 과정에 대해 정리해 보았습니다.

감사합니다.