전공/디지털 논리

[디지털 논리 1강] 디지털과 아날로그(바이너리 ,샘플링, 엘리어싱, 양자화)

뜨거운 개발자 2023. 3. 3. 13:58

 

디지털 Vs 아날로그

디지털과 아날로그를 분류하는 방식은 정보를 표시하는 방식의 차이에 의해 생긴다고 볼 수 있다.

한마디로 설명하면 아날로그는 연속적이고 디지털은 불연속적이다.

예시(왼쪽 아날로그 오른쪽 디지털)

시계의 경우 쉽게 아날로그와 디지털을 구분할 수 있다.

일반적으로 해시계 모래시계 등 과거에 사용되던 시계는 대부분 아날로그 형식이었지만 조선시대 최초로 아날로그 시계인 자격루가 발명되었다.

온도계와 체중계의 경우 아날로그와 디지털의 차이를 쉽게 구분할 수 있을 것이다.

카메라는 과거에 흔히 사용되던 필름 카메라는 아날로그 방식이고 요즘 우리가 사용하는 일반적인 카메라는 전부 디지털 방식을 사용한다.

위의 디지털 카메라에서 네모 한 칸이 한 픽셀이고 이 단위로 rgb 정보를 전달할 수 있다.

디지털

아날로그

아날로그 디지털 비교

아날로그

특징

  • 주로 연속적이며 시그널이라고 흔히 부른다.
  • 아날로그는 주로 자연에서 발생하는 모든일이다.
  • 표현이 상당히 모호하다.

장점

  • 만들기가 쉽다.

단점

  • 노이즈에 약하다.
  • 복사/압축이 어렵다.
  • 수정이 어렵다.
  • 동기화도 어렵다.

예시

  • LP판은 높이 차이를 통해서 소리 정보를 전달하기 때문에 소리가 연속적이다.
  • 아날로그 컴퓨터는 전압의 크기를 이용해서 정보를 전달한다
  • 목소리

디지털

특징

  • 표현방식이 상당히 정확하게 표현할 수 있다. 정확하다는건 모든사람이 같은 내용을 전달 받는 다는 것이다. (sampling and quantization) (샘플링과 양자화를 통해서)
  • 주로 자연에서 발생하지 않고 사람이 만든 경우가 많다.
  • 디지털은 흔히 데이터라고 부른다.(디지털은 흔히 정수형이다.)
  • 양자화(연속적으로 보이는 양을 자연수로 셀 수 있는 양으로 재해석) 되어있다.
  • 그래서 우린 불연속적이라고 부른다.

장점

  • 복사가 쉽다.
  • 노이즈를 제거하기 쉽다.
  • 쉽게 수정할 수도 있다.
  • 압축도 쉽다.
  • ⇒ 명확한 표현이 가능하기 때문에 생기는 장점.

단점

  • 시스템이 복잡하다. (아날로그는 쉽게 만들 수 있다.),
  • 샘플링을 할 때 소실이 발생한다.

디지털 시스템 예시

  • 봉화(Beacons)
  • 주산기(Abacus)
  • CD
  • RNA/DNA
  • CD /DVD/HD DVD
  • 모스부호

디지털과 바이너리

바이너리 시스템

디지털 시스템에 속하는 개념으로 레벨을 2개만 사용하는 시스템이다.

바이너리 시스템은 2개의 레벨로만 사용한다. (ON/OFF)

!! 주의할 점 !! 모든 디지털 시스템은 바이너리 시스템이 아니다.

디지털 시스템 중 2개의 층으로만 나눈게 바이너리 시스템이다.

디지털 시스템 예시중 PAM은 전압에 따라서 5층으로 나눌 수 있다.

디지털 시스템이 바이너리 시스템보다 큰 개념이다. 같은거라고 착각하지 말자.

바이너리의 장점

  • 노이즈에 매우 강하다. (감지하는 층이 많아질 수록 노이즈에 약하다.)
  • 구현이 쉽다.

바이너리의 단점

  • 정보를 저장하는데 오랜시간이 걸린다.

바이너리 정보 단위

  • 1 bit (바이너리의 최소단위) (0과 1로 표현된다.)
  • 1 nibble = 4bit - 왜 우리는 nibble단위를 사용할까?(다음시간에 계속)
  • 1 byte = 8bit = 2nibbles
    • MSB , LSB 는 자주사용하는 용어니까 외워두도록 합시다.
  • 1 word : 프로세서 설계에서 사용하는 데이터의 자연 단위
    • 명령어의 길이이자. 주소의 크기를 의미하기도 한다.
    • e.g. x64 (a.k.a. AMD64): 1 word = 64 bits = 8 bytes [little-endian]
    • e.g. IA-32 (a.k.a. i386): 1 word = 32 bits = 4 bytes [little-endian]
    • e.g. SPARC: 1 word = 64 bits = 8 bytes [big-endian] → [bi-endian]

엔디안

위에서 엔디안이라는 개념이 등장했는데 엔디안이란 메모리나 패킷에 어떻게 데이터를 담는지를 정하는 방식이다.

빅엔디안

순서대로 넣는 방식

리틀 엔디안

뒤에서부터 넣는 방식

오늘날의 대부분의 컴퓨터는 리틀앤디안을 따른다.

용어 유래

걸리버 여행기에서 왔다.

사용

우리가 패킷에 무언갈 담을 때 상당히 중요하다!

보내는 사람과 받는 사람이 같은걸 사용해야만 한다.

X64는 대부분 리틀엔디안이다.

바이너리 유닛

일반적으로 우리가 표현하는 bite단위는 사실 컴퓨터에서 쓰는 단위와 조금 다르다.

둘 사이의 괴리를 해결하려고 표준이 변경중이다.

우리가 알고있는 1 TB는 사실 951 GiB에 불과하다.

그래서 컴퓨터를 보면 사진과 같이 나온다.

몇년뒤에는 킬로바이트가 아니라 키비바이트라고 부를꺼에요.

왼쪽은 10진수 형식 오른쪽은 컴퓨터가 사용하는 이진형식입니다.

샘플링

(Sampling)샘플링은 연속 시간 신호를 이산 시간 신호로 줄이는 것입니다.

우리는 아날로그를 완전 똑같게 가져올수는 없다.

다만 캡쳐를 해야하는데 얼마의 속도만큼 샘플링을 할지를 정해야한다.

샘플링은 높을수록 좋지만 하드웨어적 한계를 잘 봐야한다.

샘플링 주기(Sampling rate (sampling frequency))

100Hz(오디오) 100fps(화면) : 1초에 100번

1초 동안의 평균 샘플 수 (단위: [Hz])

Audio CD and MPEG-1 audio 44,100 Hz 즉 아날로그 신호인 목소리를 녹음하는데 1초에 이정도로 많은 주기로 샘플링을 진행해서 우리가 들을 때 이상함을 못 느끼는 겁니다.

Frame rate (frame per second; FPS) : 비디오 레코딩과 플레이하는데 사용되는 시간

Refresh rate (재생률)

컴퓨터가 보여주는 주기입니다.

디스플레이 장치가  이미지를 표시하는 초당 횟수입니다 .

이는 디스플레이를 구동하는 장치에서 매초 얼마나 많은 이미지를 저장하거나 생성하는지 설명하는 프레임 속도 와는 별개입니다 .

속도별 재생률 특징

작은 CRT 모니터(최대 약 15인치 또는 38cm)에서는 60~72Hz 사이에서 불편함을 느끼는 사람이 거의 없습니다.

더 큰 CRT 모니터(17인치 또는 43cm 이상)에서 새로 고침을 72Hz 이상으로 설정하지 않는 한 대부분의 사람들은 약간의 불편함을 경험합니다.

100Hz의 속도는 거의 모든 크기에서 편안합니다.

운영 체제마다 기본 새로 고침 빈도를 다르게 설정합니다.

Microsoft Windows 95 및 Windows 98 (First 및 Second Editions)은 재생 빈도를 디스플레이가 지원한다고 생각하는 최고 속도로 설정합니다.

Windows 2000 및 Windows XP , Windows Vista 및 Windows 7 과 같은 Windows NT 기반 운영 체제 는 기본 새로 고침 빈도를 일반적으로 60Hz로 보수적으로 설정합니다.

많은 게임을 포함한 일부 전체 화면 응용 프로그램에서는 이제 사용자가 전체 화면 모드에 들어가기 전에 새로 고침 빈도를 재구성할 수 있지만 대부분은 보수적인 해상도와 새로 고침 빈도로 기본 설정되며 옵션에서 설정을 높일 수 있습니다.

엘리어싱(컴퓨터 그래픽)

디지털 이미지를 볼 때 디스플레이나 프린터 장치, 눈과 뇌에서 재구성이 수행됩니다. 이미지 데이터가 샘플링 또는 재구성 중에 어떤 식으로든 처리되면 재구성된 이미지가 원본 이미지와 다르고 별칭이 표시됩니다.

앨리어싱은 샘플링 시 서로 다른 신호를 구분할 수 없게 만드는 효과입니다 .

샘플에서 재구성된 신호가 원래 연속 신호와 다를 때 발생하는 왜곡 되는 경우가 많습니다 .

시간적 엘리어싱(Temporal aliasing)

– Stroboscopic effect

디지털 오디오 또는 스트로보스코픽 효과 와 같이 시간에 따라 샘플링된 신호에서 발생할 수 있다.

시간적 앨리어싱은 비디오 및 오디오 신호 샘플링의 주요 관심사입니다. 예를 들어 음악에는 사람이 들을 수 없는 고주파 성분이 포함될 수 있습니다. 음악이 초당 32,000 샘플 (Hz)로 샘플링되는 경우 16,000Hz ( 이 샘플링 속도의 Nyquist 주파수 ) 이상의 모든 주파수 구성 요소는 음악이 디지털-아날로그 변환기 ( DAC). 아날로그 신호의 높은 주파수는 녹음된 디지털 샘플에서 낮은 주파수(잘못된 앨리어스)로 나타나므로 DAC에서 재생할 수 없습니다. 이를 방지하기 위해 앤티앨리어싱 필터를 사용하여 샘플링 전에 Nyquist 주파수 이상의 구성 요소를 제거합니다.

공간적 엘리어싱(Spatial aliasing)

공간적으로 샘플링된 신호(예 :모아레 패턴 )에서도 발생할 수 있습니다.

높은 해상도의 신호를 낮은 해상도에서 나타낼 때 생기는 계단 현상이라고 보면됩니다.

https://en.wikipedia.org/wiki/Aliasing (출처)

선풍기를 생각해보면 아주 간단한 예시이다. 즉 실제로 움직이는 모양또는 실제 모양이 아니라 우리 뇌에서 볼 때 그것을 다른것으로 본다고 해서 엘리어싱이라고 불린다.

우리의 눈의 샘플링은 겨우 20Hz(또는 38HZ)에 불과하다. 따라서 그 사이의 괴리때문에 발생하는 것이다.

안티 앨리어싱 Anti-aliasing

Anti-aliasing is a technique to minimize artifacts (distortion) by aliasing.

즉 엘리어싱으로 나타나는 오차들을 최소화하는 거싱다.

착시효과??블러처리가 되기도 함.

폰트 랜더링을 안티 엘리어싱하면 차이가 존재한다.

앤티 앨리어싱 글꼴이란 때때로 AA로 축약되는 앤티앨리어싱은 그래픽 개체 또는 글꼴의 가장자리를 더 매끄럽게 만드는 소프트웨어 프로세스를 설명하는 용어 입니다 . 개체의 가장자리와 배경 사이에 추가 픽셀을 추가하여 수행됩니다

Nyquist–Shannon sampling theorem

샘플링은 신호(예: 연속 시간 또는 공간의 함수)를 일련의 값(이산 시간 또는 공간의 함수)으로 변환하는 프로세스입니다

Nyquist–Shannon 샘플링 정리는 연속 시간 신호 와 이산 시간 신호 간의 기본 브리지 역할을 하는 정리입니다. 디지털과 아날로그 사이에 모든 정보를 다 캡쳐할 수 있도록 샘플 속도에 대해 정할 수 있도록 해주는 정리이다.

원래 신호의 최대 주파수가 𝐵Hz라면, 2𝐵Hz 샘플링한다.

예시

오리지널 시그널의 최대 주파수가 10HZ라면 20 HZ를 넘어가면 원래의 신호를 왜곡하는 엘리어싱이 발생한다.

Quantization(양자화)

양자화는 큰 집합(연속적)에서 더 작은 집합(디지털 -유한요소)으로의 매핑하는 프로세스 입니다.

반올림 및 자르기는 양자화 프로세스의 일반적인 예입니다. 신호를 디지털 형식으로 표현하는 프로세스에는 일반적으로 반올림이 포함되므로 양자화는 거의 모든 디지털 신호 처리에 어느 정도 관여합니다. 양자화는 또한 본질적으로 모든 손실 압축 알고리즘 의 핵심을 형성합니다 .

데이터를 디지털로 변경하는 것이라고 보면된다.

샘플링에러가 아까 발생하듯 양자화 또한 소실 또는 에러가 발생할 수 있다.

resolution (해상도)

화면이 표시할 수 있는 개별 픽셀 의 수입니다

  • 640 x 480: VGA
  • 1024 x 768: XGA
  • 1280 x 720: High-definition (HD; 720p)
  • 1920 x 1080: Full HD (FHD; 1080p)
  • 3840 x 2160: Ultra HD (UHD; 4K)

각 해상도에 맞게 양자화를 진행해야만 합니다. 당연하게도 해상도가 높을 수록 더 양자화 손실이 적을겁니다. 하지만 샘플링 할 때 낮은 샘플링을 했다면 아무리 해상도를 올려도 같은 영상을 보게 되는 것이죠!!

아날로그 소리를 디지털로 변환하는 법

마이크로 아날로그 시그널 받아서→ ADC를 이용해서 샘플링을 합니다. 그렇게 디지털 데이터로 받아서 저장합니다.

디지털을 아날로그로 변경하는 법

디지털 신호→Dac칩을 지난다→ 스피커로 소리를 낸다.

 

728x90