본문 바로가기
도서/성공과 실패를 결정하는 1%의 프로그래밍 작동 원리

1.2~1.5 디지털과 아날로그

by iskull 2022. 11. 3.
728x90

1.2 연속과 이산

  아날로그와 디지털의 차이는 연속과 이산에 있다. 연속은 끊어진 자국이 없는 상태, 이산은 끊어진 자국이 있는 상태이다.

  연속은 끊어진 단위가 존재하지 않기 때문에 무한하게 자를 수 있는 반면 이산은 사전에 결정된 최소한의 해상도(또는 단위)가 존재하기 때문에 더 이상 자를 수 없다. 예컨대 연속인 숫자와 이산인 숫자의 중간값을 한없이 찾는 과정을 상상해 보자. 연속인 숫자는 무한정 자를 수 있으므로 탐색 과정은 다음과 같다.

연속인 숫자 탐색 과정

  이제 해상도가 1인 이산인 숫자에서 중간 숫자를 찾는 과정을 도식화하면 다음과 같다.

이산인 숫자 탐색 과정

  위 이산인 숫자 탐색 과정에서 0과 1 사이를 찾는 방식은 수학의 반올림과 비슷하다. 그러나 반올림은 올림, 내림, 사사오입 등의 다양한 방식이 있는 반면, 전자 회로 디지털 정보에서는 0에 가깝기 때문에 0으로 간주하는 범위, 1에 가깝기 때문에 1로 간주하는 범위, 애매하여 어떻게 되는지 알 수 없는 범위 등이 존재한다. 통상적으로 애매한 범위를 최대한 줄이기 위해 0으로 간주하는 범위와 1로 간주하는 범위를 최대한 넓게 잡는다. 또는 전원 전압의 조건을 엄격하게 하는 방식도 존재한다. 이는 애매한 영역에서 판단이 이루어진다면, 디지털 정보 처리가 정상적으로 동작하지 않기 때문이다.

1.3 그래도 디지털이 승리하는 이유

  위와 같은 비교를 했을 때 아날로그는 애매한 구간이 없고 무한정 나눌 수 있기 때문에 디지털보다 더 우월해 보인다. 하지만 실제 상황에서 기기의 오차보다 작은 수치로 세분화하는 것은 무의미하다.

  예를 들어 한 회로가 9.9V ~ 10.1V의 범위에서 정확한 전압을 제공한다 해보자. 이 때 12V 전압과 비교한다면 차이는 1.9V~2.1V가 된다. 이 차이를 아날로그 관점에서 보면 다음과 같이 범위의 차이가 존재한다. 따라서 이 범위의 오차 중 어느 전압을 보고할지 알 수 없다.

  물론 오차를 엄격히 통제하는 것도 하나의 방법이다. 하지만 오차 통제는 엄격하게 제한된 환경 아래에서만 가능하다. 따라서 아날로그의 결과 판독을 무한히 세분화할 수 있는 것과 의미 있는 정보를 얻는 것은 별개의 얘기다. 그에 반해 디지털은 오차에 관용적이다. 다소 조건이 변해도 결과가 변하지 않는다. 따라서 디지털을 활용하는 것이 원하는 동작을 하는 기기를 만들기 쉽다.

1.4 아날로그 컴퓨터는 존재하는가

  1960년대에는 존재했었다. 그 당시에는 정밀한 연산을 요구하는 비즈니스에 디지털 컴퓨터를, 고속의 과학 기술 계산에 아날로그 컴퓨터를 사용했었다. 하지만 기술의 발전으로 1970년대 이후 기술의 진보에 따라 디지털 컴퓨터가 우세하게 되었다.

1.5 디지털 정보는 얼마나 분할하는 것이 좋은가

  하나의 전선에서 몇볼트의 전압을 설정할지는 자유다. 따라서 0V~100까지 1V씩 단계적으로 설정하면 100 종류 값을 하나의 전선으로 보낼 수 있다. 하지만 이렇게 잘게 나누다 보면 아날로그에서 발생하는 문제와 같은 문제가 발생하게 된다. 

  이런 문제를 예방하는 가장 좋은 방식은 2 분할이다. 2 분할은 기기를 저렴하게 제조할 수 있고, 동작이 안정되며, 환경 변화에 강하다.

  두 가지 값만 표현하는 2 분할을 논리형, 복수의 값을 구별하는 것을 복수 분할을 다치 논리형이라 한다. 다치 논리형은 아직까지 주류가 되지 않았다.

  논리형에서 취급해야 하는 정보량이 증가할 경우 전선 수를 늘리거나 타이밍을 늦춰 차례대로 보내면 된다.

 

출처 - 성공과 실패를 결정하는 1%의 프로그래밍 작동 원리