brunch

You can make anything
by writing

C.S.Lewis

by 이경종 Mar 05. 2020

ch1-4. 아날로그와 디지탈

디지탈 신호

전장에서 신호와 주파수에 대해 아주 기본적인 것들을 알아보았다. 이제는 임베디드 소프트웨어의 핵심 원자라 할 수 있는 디지탈 신호를 알아보자.


정확하게 말하면 디지탈을 나타내도록 전송되는 아날로그 신호가 디지탈 신호다. 

<그림 1>

실제로는 노이즈의 영향으로 신호가 깨긋한 직선이 되지는 않는다. 실제 장비로 측정해보면 보통 아래와 같다고 보면 된다.

<그림 1>에서 사각형의 시간값을 줄이면, 아래처럼 아날로그 신호를 디지탈 신호로 더 근사화 할 수 있다.


이 근사화 정도를 샘플링 레이트(sampling rate)라고 한다. 우리가 노래 들을 때 이용하는 MP3는 음성(아날로그 신호)을 디지탈 신호로 바꾼 것이다. 간단히 말해, 고음질의 MP3 파일은 샘플링 레이트가 높다고 보면 된다.


디지탈은 0과 1의 두가지 상태(Bit)로 모든 데이터를 표현한다. 즉, 2진법이 디지탈 데이터의 기본 표현방식이다. 기억하자! 디지탈 세계의 단위는 비트(Bit)이고, 그 값은 0 아니면 1이다.

2진법이 뭔지는 여기서 설명하지 않겠다. 모르면 수학교과서나 인터넷을 찾아보기 바란다.

여하튼 소프트웨어 개발을 하게 되면, 특히 로우 레벨(Low Level)을 다루는 임베디드 개발을 하게 되면 

2진법과 16진업은 10진법만큼이나 친숙해지지 않을 수 없을 것이다. 어차피 친숙해질 거, 고생하고 친숙해지느니, 미리 좀 고생해서 친숙해지는 게 낫다. 이에 대해서는 데이터처리를 공부할 때 다시 보도록 하자.


디지털 신호 역시 아날로그 신호와 마찬가지로 주기와 주파수로 표현가능하다.

위 그림에서 보면 Clock은 주기적인 디지털 신호다. Data는 비주기적이다.

통상 레퍼런스(reference)가 되는, 다시 말해 다른 곳에서 참조되는 시간값등을 표현하는 레퍼런스 신호는 주기적 신호다. 0과 1로서 데이터를 표현해야 하는 신호들은 당연히 비주기적 신호다.


디지털 신호의 경우 주파수(frequency) 와 비트레이트(bitrate)라는 용어도 함께 쓰인다. Bitrate는 bps(bits per second)로 표시하고, 1초에 전송되는 비트(Bit)의 수다. 결국 주파수와 매한가지 개념이다. 디지탈 신호라고 해서 좀 표현만 바꾼 것이다. 아날로그신호는 주파수 단위로 Hz를 쓰고, 디지탈 신호는 bps를 쓴다라고 어딘가에 적혀져 있지만, 실상 현업에서는 디지탈신호도 Hz 단위를 널리 사용한다. 


디지탈 신호가 어떻게 생겼는지는 이제 알겠는데, 그럼 디지털 신호는 어떻게 만드는거야? 라는 의문이 생길 수 있다.


디지털 신호는 전압의 크기와 지속시간으로 만들어낸다. 하이/로우의 개념을 알아야 한다.(카드 게임의 하이 로우 아님) 

디지털 신호는 세가지 상태를 가질 수 있다. 

하이는 특정전압값으로 1을 표현한다. 로우는 전압값이 0로 데이터 역시 0을 표현한다. 하이로 로우도 아닌 상태를 tristate라고 하며, 하이임피던스 내지는 플로팅 상태라고도 표현한다.

쉽게 말해 플로팅 상태는 0보다는 크고 특정전압값보다는 작은 어정쩡한 상태로 0도 1도 아닌 상태다. 디지탈에서는 써먹지 못하는 상태인데, 일단은 이런 게 있다는 정도만 알면 되고, 디지탈 신호는 하이와 로우로 이루어진다는 것만 기억하자. 



       YES24 링크 교보문고 링크

작가의 이전글 Ch1-3. 아날로그와 디지탈
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari