ADC: 연속적인 전압이 디지털 숫자가 될 때 사라지는 정보
아날로그 디지털 변환기, ADC는 입력 전압 같은 연속적인 물리량을 디지털 코드로 바꾸는 장치다. 센서와 마이크의 신호를 컴퓨터가 계산하려면 이런 경계가 필요하다. 변환은 단순히 전압에 이진 숫자 이름을 붙이는 작업이 아니다. 어떤 시점의 값을 읽는 샘플링과, 유한한 단계 가운데 하나로 표현하는 양자화가 함께 들어간다.
시간과 크기를 각각 이산화한다
샘플링 주파수를 f_s라고 하면 샘플 간 시간은 T_s = 1/f_s다. 10 kS/s는 초당 10000번의 샘플, 즉 100 μs 간격을 뜻한다. kS/s와 변환 비트 수는 다른 사양이다. 샘플을 자주 얻는다고 각 전압을 더 촘촘한 단계로 구분하는 것은 아니고, 비트가 많다고 빠른 변화를 자동으로 충분히 기록하는 것도 아니다.
이상적인 N비트 변환기는 2^N개의 코드를 가진다. 입력 범위의 폭이 V_FS라면 한 단계의 크기는 q = V_FS/2^N으로 나타낼 수 있으며 V 단위다. 0~3.3 V 범위를 가진 12비트 모델에서는 4096개 코드와 약 0.806 mV의 LSB 크기가 나온다. 최고 코드는 4095다. 이를 4096번째 코드라고 말하거나 모든 코드의 대표 전압을 양 끝점에 동시에 맞추면 변환 규칙이 달라질 수 있다.
코드의 의미는 전달 특성으로 정한다
이상적인 모델에서 양자화 구간의 중간값으로 입력을 대표하도록 정의하면 범위를 넘지 않은 입력의 양자화 오차는 대략 ±q/2 안에 놓인다. 실제 ADC의 첫 전이점과 끝 전이점, 잘림이나 반올림 방식은 데이터시트에서 확인해야 한다. Analog Devices의 ADC 교육 자료는 샘플링·양자화와 전달 특성의 용어를 구분한다. 입력 범위를 벗어나면 코드가 포화돼 크기 정보를 더 이상 표현하지 못한다.
비트 수는 분해능이며 정확도와 같지 않다. 기준 전압이 흔들리면 같은 입력의 코드도 달라질 수 있다. 오프셋은 전달 특성의 위치를, 이득 오차는 기울기를 바꾸며 DNL과 INL은 코드 폭과 직선으로부터의 편차를 나타낸다. 잡음과 비선형성이 큰 16비트 ADC가 모든 조건에서 12비트 ADC보다 정확한 측정 결과를 내는 것은 아니다.
샘플링 후에는 주파수가 겹칠 수 있다
기저대역 신호를 복원하려는 기본 조건에서는 입력을 충분히 대역 제한하고 f_s를 최고 주파수의 두 배보다 크게 둔다. 예를 들어 10 kS/s로 기록한 7 kHz 정현파는 샘플에서 3 kHz 성분과 겹쳐 보일 수 있다. 이 현상이 앨리어싱이다. 샘플링 전에 필터로 제거하지 못한 성분은 변환 후 디지털 필터만으로 원래 성분과 확실히 구분할 수 없다.
현실적인 아날로그 필터는 차단 주파수에서 완벽히 끊기지 않으므로 이론적 두 배 조건에 여유 대역이 필요하다. 샘플 시점의 흔들림인 클록 지터도 빠른 입력에서 전압 오차를 만든다. 일정한 주파수 성분만 관심 있는 대역통과 샘플링은 별도 조건으로 설계할 수 있지만, 이를 모든 입력에서 낮은 샘플링 속도가 충분하다는 뜻으로 일반화하면 안 된다.
이상적인 잡음식의 전제를 읽는다
양자화 오차가 적절히 분포하는 이상적인 모델에서는 rms 오차가 q/√12다. 풀스케일 정현파와 전체 나이퀴스트 대역을 기준으로 한 이상적 SNR은 약 6.02N + 1.76 dB이며 12비트에서는 약 74 dB다. Analog Devices MT-001은 이 식의 입력·대역·오차 가정을 설명한다. 작은 주기 신호에서는 오차가 신호와 상관될 수 있어 언제나 백색잡음으로 볼 수 없다.
SAR, 파이프라인, 시그마델타 같은 구조는 속도·잡음·지연과 입력 구동 조건이 다르다. 특히 샘플링 커패시터를 충전하는 입력에서는 신호원의 저항과 획득 시간도 중요하다. ADC를 고를 때는 비트 수와 최대 속도뿐 아니라 실제 신호 대역, 기준 전압, 입력 범위, 정착 시간과 측정 정확도를 함께 확인해야 한다. 디지털 코드가 어떤 아날로그 정보와 조건을 대표하는지가 변환의 핵심이다.