Computer Science

[Computer Science] 아날로그 처리 방법

HongCorin 2023. 1. 5. 06:13
반응형
  • 우리가 실제로 겪는 소리나 빛은 연속적이지만 컴퓨터에는 연속적인 대상을 저장할 방법이 없다.
그래서 데이터의 샘플(sample)을 취해야 한다. = 샘플링(sampling)
즉, 시간이나 공간상 일정한 간격으로 값을 읽어야 한다.
  • 저장한 데이터를 다시 영상이나 빛으로 보여주려면 sampling 데이터로부터 아날로그(연속적인) 신호를 다시 만들어내야 한다.

 

 

DAC schematic symbol

◎ 디지털 → 아날로그

  • DA 변환기(digital to analog converter, DAC)
    : 디지털 숫자를 사용해 아날로그 전압을 만들어내는 장치 
  • 해상도(resoultion)라는 용어는 DAC가 만들어내는 단계 수를 느슨히 표현할 때 쓰인다.
  • 해상도(resolution)는 DAC가 만들어낼 수 있는 최대 전압을 단계 수로 나눈 값이어야 한다.
    ex) 10bit DAC가 최대 5V를 만들어낼 수 있다면 해상도는 대략 0.005V다. (5/2^10)
  • DAC 입력을 일정한 비율로 변경하면 파형을 만들 수 있다.
  • 더 복잡한 파형을 만들기 위한 장치에는 데이터를 써넣기 위한 메모리가 들어 잇는 경우가 많다.
  • 장치는 추가 회로를 통해 메모리에 있는 데이터를 읽는다.
  • CPU가 수행하는 다른 작업과 무관하게 데이터를 일정한 비율로 읽어서 처리하기 위해 FIFO(first in first out) 설정을 만들어서 이를 구현한다.
  • FIFO 메모리의 trigger
    1) high-water mark 
      : 메모리가 거의 꽉 찼을 때 인터럽트 발생시킴
    2) low-water mark
      : 메모리가 거의 빈 상태가 될 경우 인터럽트 발생시킴
  • 이런 방법을 사용해 고수준의 소프트웨어에서는 일정한 비율로 연속적으로 출력이 일어나도록 메모리를 채울 수 있다.

 

ADC schematic symbol
Analog to Digital

◎ 아날로그 → 디지털

  • AD 변환기(analog to digital converter, ADC)
  • 값을 측정할 수 있도록 아날로그 신호의 현재 값을 흔들리지 않게 안정적으로 잡아내야 한다.
  • digital화한 파형이 analog 파형과 닮기 위해서는 여러번 샘플(sample)을 얻어햐 한다.
    'sample and hold' 라는 회로를 사용해 analog 파형의 값을 잡아낼 수 있다.
  • sample and hold circuit
    : 아날로그 입력이 들어오면 스위치를 열고 닫으며 샘플을 얻고, 아날로그 신호의 현재 값이 저장 탱크에 저장된다.
  • 저장 탱크에 안정적인 값이 들어 있기 때문에 이를 측정해서 디지털값을 만들어낼 수 있다.
  • 비교기(comparator)
    : 어떤 문덕값과 신호를 비교하는 장치가 필요.
      두 전압 중 어느 쪽이 더 높은지를 알려줌다.
      비교기의 + 입력 신호가 - 입력 신호보다 더 크거나 같으면 출력이 1이고, 아니면 0이다.
  • 플래시 변환기(flash converter)
    : sample and hold circuit 에서 오는 신호에 비교기를 여러 기준 전압(reference voltage)과 연결해서 쌓은 형태.
      (아래 그림)
     기준 전압을 0~1 V 사이로 8구간으로 나눈 경우, 출력이 아래와 같다.
     0.000V 이상 0.125V 미만 - 00000000 출력
     0.125V 이상 0.250V 미만 - 00000001 출력
     0.250V 이상 0.375V 미만 - 00000001 출력

flash converter

  • flash converter 는 comparator 마다 다르게 고정된 몇 가지 기준 전압을 사용한다.
    기준 전압을 변화시킬 수 있다면 comparator 를 하나만 써도 될 것이다. 
    이 기준 전압은 DAC에서 얻을 수 있다.
  • Clear 가 활성화되면 샘플값이 DAC 값과 같아질 때까지 counter 가 수를 샌다.
    샘플값과 DAC 값이 같아지면 comparator의 출력이 0이 되면서 counter 가 비활성화되므로 원하는 값을 얻고 끝난다.
    counter 에는 샘플을 digial로 변환한 값이 들어 있다.
  • 이런 ADC를 램프 변환기(ramp converter)라고 부른다.
    ramp converter 의 문제는 신호에서 얻은 샘플의 크기에 선형으로 비례하는 시간이 걸리기 때문에 변환에 오랜 시간이 걸리다는 데 있다.
  • 이를 우회하는 방법으로 연속 추정 변환기(successive approximation converter)가 있다. 
    이 변환기는 하드웨어로 binary search 를 진행한다.
  • 첫 클록에 DAC를 전체 범위의 절반으로 설정한다. 이 값이 샘플 값보다 작으면 DAC 값을 전체 범위의 1/4만큼 더 증가시킨다. 만약 이렇게 변경한 값이 샘플값보다 너무 크면 DAC 값을 전체 범위의 1/8만큼 더 감소시킨다. 이렇게 바꾼 값이 샘플값보다 더 낮으면 다시 전체 범위의 1/16만큼 DAC 값을 증가시킨다.
  • worst cast 의 경우 log2n 클록이 걸린다.

 

 

◎ 디지털 오디오

  • 1차원으로 sampling 을 하면 오디오를 디지털화할 수 있다.
  • 일정 시간 간격으로 신호의 진폭(ampitude)이나 높이를 측정해서 일정한 sampling frequency(샘플링 주파수)로 사각파(square wave)를 얻을 수 있고, rising edge(상승 에지)마다 A/D를 사용해 신호의 높이를 기록할 수 있다.
  • sample 이 있으면 이를 D/A 에 공급해서 원래의 신호를 재구성할 수 있어야 한다.

디지털 오디오 변환 파형

● 푸리에 변환(Fourier transform)
: Fourier transform 을 수행하면 주파수에 따른 진폭을 그래프로 그릴 수 있다. 
컴퓨터에서는 FFT(Fast Fourier Transform) 알고리즘을 통해 쉽게 이를 구현할 수 있다.
● 그래픽 이퀄라이저(Graphic Equalizer)
: 조절 가능한 filter 의 집합으로, filter 는 정해진 주파수를 통과시키거나 막아버리는 장치이다.
● Low pass filter
: 어떤 주파수보다 낮은 주파수를 통과시킨다.
● High pass filter
: 어떤 주파수보다 높은 주파수를 통과시킨다.
  • low pass & high pass filter 를 조합해서 정해진 최저 주파수와 최고 주파수 사이의 주파수를 제외한 나머지 주파수를 모두 무시하는 band pass filter 나 특정 주파수만 제외시키는 notch(band stop filter) 를 만들 수 있다.

filter

  • 무손실 압축(lossless compression)
    • 원래 데이터를 그대로 유지한다.
    • 그에 따라 원래 데이터 크기의 절반 정도밖에 압축하지 못한다.
    • FLAC(Free Lossless Audio Codec) 이 가장 유명하다.
      (Codec = coder-decoder, 모뎀과 비슷하게 어떤 대상을 한 코딩 시스템에서 다른 코딩 시스템으로 변환해주거나 반대 방향으로 변환해주는 SW 또는 HW)
  • 손실 압축(lossy compression)
    • 일부 세부 사항이 사라진다.
    • MP3, AAC, Ogg 등이 있다.
    • lossy compression 은 사람이 인식하지 못하는 소리를 없애기 때문에 FLAC보다 더 높은 압축률을 제공한다.

 

 

디지털 이미지

  • 시각 이미지는 2차원 공간을 sampling 해야 하기 때문에 오디오보다 더 복잡하다.
  • 디지털 이미지는 picture element 또는 pixel 로 이뤄진 직사각형 배열로 표현된다.
  • 컬러 이미지에서 pixel 은 RGB(red, green, blue)의 조합으로 표현되고, 오늘날 일반적인 디스플레이는 RGB 각각에 8bit 를 사용한다.
  • 컴퓨터는 additive(가산) 혼합 색 시스템을 사용해 색을 표현한다.
    (인쇄에 쓰이는 subtractive(감산) 색 시스템에서는 cyan, magenta, yellow 를 원색으로 사용한다.)
  • 이미지 sampling 은 이미지 앞에 모눈이 달린 창을 놓고 각 네모칸의 색을 기록하는 것과 비슷하다.
  • point sampling
    : 정사각형 전체의 색을 기록하는 대신 각 정사각형의 중심 점의 색을 기록하는 것이다.

digital image point sampling

  • super sampling
    : 한 정사각형 안에서 여러 지점의 색을 얻어서 평균을 내는 방법이다.
  • JPEG(Joint Photographic Experts Group)
    • 가장 일반적인 이미지 압축 방법
    • 이웃한 pixel 의 색이 서로 비슷할 가능성이 높기 때문에 개별적인 pixel 의 색을 저장하는 대신 이웃한 pixel의 색에 대한 표현을 저장하는 방식
    • lossy compression 과 비슷한 방식으로 사람의 인지 방법에 대한 지식을 활용한다.

 

 

  비디오

  • 비디오를 sampling 하는 것은 이미지를 sampling 하는 방식과 크게 다르지 않다.
  • 다만 여러 아티팩트가 시각적으로 거슬리기 때문에 이를 최소화할 필요가 있다.
  • 비디오는 이미지/오디오보다 훨씬 많은 정보를 만들어내므로 압축이 중요하다.
    ex) UHD 비디오 해상도 = 3840 X 2160 pixels.
          pixel 당 3 byte 로 곱하고, 초당 60 frame을 곱하면 1,492,992,000 byte/sec 
  • 비디오 frame 과 frame 사이에 이미지 중 아주 일부분만 변한다는 관찰이 비디오 압축의 핵심이다.
  • motion compensation(움직임 보상)
    : frame 이 변할 때 이미지 중 일부분만 변했고, 변경된 영역의 데이터만 필요하다면 더 적은 데이터를 저장하거나 송신할 수 있다.
  • 데이터를 복구할 때는 정기적으로 데이터에 keyframe(키프레임)을 추가하는 방식을 사용한다.
  • keyframe 은 완전한 이미지이므로, 오염된 데이터가 누적되면서 생긴 이미지가 손상된 경우라도 다음 keyframe 에 전체 이미지를 복구할 수 있다.
  • frame 사이의 차이를 감지하는 알고리즘은 복잡하며 계산이 아주 많이 필요하다.
  • MPEG4 등의 새 압축 표준은 layering(레이어링)을 지원한다.
  • layering 은 layer 간에 각기 다른 그림을 중첩시켜서 비디오 이미지를 만들어낼 수 있다.

 

 

 

 

 

 

 

<출처>

한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 조너선 스타인하트 지음, 오현석 옮김, 책만 출판사

 

https://commons.wikimedia.org/wiki/File:DAC_Symbol.jpg

 

File:DAC Symbol.jpg - Wikimedia Commons

 

commons.wikimedia.org

https://commons.wikimedia.org/wiki/File:ADC_Symbol.svg

 

File:ADC Symbol.svg - Wikimedia Commons

 

commons.wikimedia.org

https://electronics.stackexchange.com/questions/312463/track-vs-sample-and-hold

 

Track vs sample-and-hold

This is the output of both track-and-hold and sample-and-hold. But when I searched for its circuit I am getting the circuit I have shown below for both. So my question is: if the circuit for sampl...

electronics.stackexchange.com

https://www.allaboutcircuits.com/textbook/digital/chpt-13/flash-adc/

http://daawoong.com/pages/page_161.php?sn=382 

 

주식회사 다웅

주식회사 다웅 DAAWOONG, INC.

www.daawoong.com

https://www.allaboutcircuits.com/video-tutorials/op-amp-applications-band-pass-and-band-reject-active-filters/