12비트 ADC인데 왜 10비트처럼 보일까: 양자화와 ENOB
자의 눈금과 손 떨림은 다른 문제
눈금을 촘촘하게 새긴 자라도 읽는 손이 흔들리면 작은 길이를 구별하기 어렵다. 아날로그 신호를 숫자로 바꾸는 ADC도 비슷하다. 출력이 12비트라는 말은 사용할 수 있는 코드가 4,096개라는 뜻이다. 실제 측정이 그만큼 정밀하다는 보증까지 담고 있지는 않다.
ADC는 신호를 정해진 시각에 읽고, 연속적인 크기를 유한한 코드 중 하나로 배정한다. 뒤의 과정을 양자화라고 한다. 이상적인 균일 양자화기라면 N비트일 때 전체 입력 범위를 2의 N제곱에 해당하는 간격으로 나눈다. 가장 작은 한 간격을 1LSB라고 부른다. 입력 범위를 넘지 않는 이상적 반올림 모델에서는 실제 값과 대표값 사이에 최대 반 눈금의 오차가 남는다.
이 오차는 회로를 완벽하게 만들어도 코드 간격 때문에 생긴다. 따라서 열잡음이나 외부 간섭과 구분해서 생각해야 한다. 다만 양자화 오차가 언제나 입력과 무관한 백색잡음처럼 행동하는 것은 아니다. 신호와 샘플링의 관계에 따라 규칙적인 성분으로 나타날 수도 있다.
비트 하나가 주는 약 6dB의 의미
입력 범위를 그대로 두고 비트를 하나 늘리면 눈금 간격은 절반이 된다. 이상적 양자화 오차의 크기도 줄어든다. 이 관계에서 익숙한 식이 나온다.
SNR_ideal ≈ 6.02 × N + 1.76 dB
N은 비트 수, SNR은 신호 전력과 잡음 전력의 비를 데시벨로 나타낸 값이다. 이 식은 입력 범위를 최대한 쓰는 정현파, 이상적인 균일 양자화, 다른 잡음과 왜곡이 없는 조건을 기준으로 한다. 오차를 대략 균일하고 입력과 무관하다고 보는 모델이며, 잡음은 샘플링 주파수 절반까지의 나이퀴스트 대역 전체에서 센다.
따라서 이상적인 12비트라면 약 74dB가 나온다. 입력 진폭을 줄이거나 측정 대역을 좁히면 같은 조건의 비교가 아니다. 특히 오버샘플링 뒤 필터로 관심 대역 밖 잡음을 제거한 결과를 이 식과 바로 비교해 물리 법칙을 넘어섰다고 해석하면 안 된다. ADI MT-001, 양자화 잡음과 SNR
실제 성능을 비트로 되돌려 읽기
현실의 ADC에는 내부 잡음과 비선형성이 있다. 정현파를 넣었는데 정수배 주파수의 고조파가 생기는 현상도 왜곡이다. 통상적인 SNR은 이런 고조파를 제외해 잡음을 평가하지만, SINAD는 잡음과 왜곡을 함께 센다. 그래서 동적 성능을 비트로 환산하는 ENOB에는 SINAD를 쓴다.
ENOB = (SINAD_dB − 1.76) / 6.02
SINAD_dB는 데시벨로 표시한 SINAD다. 앞 식을 거꾸로 풀어, 같은 성능을 내는 이상적 ADC의 비트 수를 찾는다. 여기서도 최대 입력 진폭의 정현파가 기준이며, 작은 진폭으로 측정했다면 진폭 보정 여부를 확인해야 한다.
설명용으로 12비트 ADC의 SINAD가 62dB라고 가정하면 ENOB는 약 10비트다. 출력선 두 개가 없어졌거나 아래 두 비트가 항상 무의미하다는 뜻은 아니다. 특정 입력 주파수·진폭·샘플링 조건에서 측정한 전체 오차를 하나의 등가 지표로 요약한 것이다. ADI MT-003, SINAD와 ENOB
비트를 늘리기 전에 볼 것
센서나 앞단 증폭기의 잡음이 이미 크다면 ADC 비트 수만 늘려도 전체 측정은 별로 좋아지지 않는다. 더 조용한 부품에는 전력·크기·비용의 대가가 따를 수 있다. 여러 샘플을 평균 내면 서로 상관없는 잡음을 줄일 수 있지만, 시간과 신호 대역폭을 내주며 비선형 왜곡까지 자동으로 제거하지는 못한다. TI, 측정 잡음과 평균화
ENOB 하나로 모든 용도를 평가하는 것도 위험하다. 거의 일정한 전압을 읽을 때의 코드 흔들림과 빠르게 변하는 신호의 왜곡은 다른 문제다. 정현파 기반 동적 ENOB와 직류 입력의 유효 분해능을 구분하고, 직류 정확도가 중요하면 오프셋과 이득 오차도 따로 살펴야 한다. 좋은 ADC 선택은 가장 긴 숫자를 고르는 일이 아니라, 필요한 신호를 어떤 조건에서 얼마나 구별해야 하는지 정하는 일이다. TI, ENOB와 유효 분해능의 차이