ADC의 용어와 전달 특성
ADC는 연속한 전압을 정수로 바꾼다. 정수 하나는 몇 볼트를 뜻하고, 몇 가지 정수를 낼 수 있을까?
ADC(analog-to-digital converter)는 두 가지 일을 한다. 클록이 마다 언제 잴지 정하고(시간 표본화), 비트 수가 잰 전압을 어떤 값으로 적을지 정한다(진폭 양자화). 6비트 ADC는 마다 6비트 정수 하나를 내놓는다(강의 자료 WE3 19쪽). 두 일은 서로 다른 오차를 만든다. aliasing은 시간 표본화에서 생기고, 양자화 오차와 양자화 잡음은 진폭 양자화에서 생긴다.
| 용어 | 뜻 |
|---|---|
| 분해능 | 양자화에 쓰는 비트 수 |
| 코드 수 | 낼 수 있는 출력 정수의 가짓수 |
| FSR(full-scale range) | ADC가 받아들이는 입력 전압의 범위 |
| 코드 하나가 차지하는 전압 폭 | |
| 최대 코드 | 읽을 수 있는 가장 큰 코드(0부터 셀 때) |
| full-scale 입력 전압 | 최대 코드가 시작되는 입력 전압 |
| 전달 특성 | 입력 전압과 출력 코드의 관계 |
예를 들어 , FSR = 5 V인 ADC(강의 자료 WE3 21쪽)는 코드가 256개이고 mV이다. 최대 코드는 255(11111111)이고, 입력이 V에 이르면 이 코드가 나온다.
ADC 앞에 증폭기를 두면 입력 쪽에서 본 FSR이 바뀐다(강의 자료 WE3 22쪽). 기준 전압 V인 12비트 ADC 앞에 이득 2인 PGA(programmable gain amplifier)를 두면, ADC 입력의 0…5 V는 PGA 입력의 0…2.5 V에 해당한다.
이득을 올리면 작은 신호를 더 잘게 나누지만, 잘리는(clipping) 전압도 그만큼 낮아진다. Pluto의 수신 이득을 바꾸는 것도 같은 일이다.
전달 특성은 계단이다. 그래서 ADC는 선형 시스템이 아니다. LSB가 1 V인 ADC에서 0.3 V와 0.3 V를 따로 양자화해 더한 값과, 둘을 더한 0.6 V를 양자화한 값은 다르다. 이 비선형이 만드는 오차가 아래의 양자화 오차이다.
양자화 오차
계단이 만드는 오차는 얼마나 크고, 평균적으로 얼마일까?
이 장의 ADC는 입력 범위 를 폭 LSB인 칸 개로 나누고, 입력이 든 칸의 가운데 값을 출력 로 낸다. 오차를 라 하면 입력이 범위 안에 있는 한
이다(강의 자료 WE3 23쪽). 코드 하나가 0 V를 가운데에 두는 ADC도 있다(강의 자료 WE3 23쪽). 계단이 ½ LSB 옮겨질 뿐 오차의 범위는 같다. 코드 를 전압 로 읽으면(내림) 오차는 LSB, 평균 LSB가 된다(강의 자료 WE3 21쪽). 출력을 칸의 가운데로 읽어야 오차가 LSB이다.
입력이 여러 코드를 지나며 계단과 무관하게 움직이면, 는 에 고르게 퍼진다. 고르게 퍼진 오차의 평균은 0이고 평균 제곱은
이므로 RMS 오차는 이다. 이 값은 오차가 고르게 퍼졌다는 가정에서 나왔다. 비트 수가 작거나 입력이 몇 코드만 지나면 오차가 입력을 따라 움직여 이 가정이 깨진다.
▶로 한 단계씩 넘기며 먼저 입력에서 가장 가까운 출력 레벨로 가는 화살표를 보고, 그다음 코드와 오차가 쌓이는 것을 본다. 비트 수를 바꾸고 끝까지 재생해 오차의 분포와 지금까지의 RMS를 비교한다.
합성 정현파 한 주기를 256표본으로 나누어 양자화했다. 입력 범위는 −1…+1 V, LSB = 2 V/2ⁿ이다. 오차 분포는 지금까지 모은 표본으로 계산하며 점선은 균일 분포이다. LSB/√12는 오차가 고르게 퍼질 때의 값이고, 적은 비트 수나 잘린 입력에는 맞지 않는다.
해 보기
- 첫 표본을 양자화한다.
관찰
입력에서 출력 레벨로 간 거리와 e[n]의 크기를 견준다.
- 8비트로 끝까지 모은다.
관찰
오차 분포는 균일 분포의 점선과, RMS는 LSB/√12와 견준다.
- 진폭을 1.1 V로 키운다.
관찰
입력이 범위를 넘으면 끝 코드에 머물고 오차가 ½ LSB를 넘는다.
강의 노트