모든 이야기

zero-drift op amp에서 작지만 주기적인 물결이 생기는 이유

zero-drift op amp의 DC offset은 작다. 그런데 출력 spectrum에는 일정한 간격의 peak가 보인다. 평균 오차를 줄이는 내부 동작이 다른 주파수의 성분을 만들어 낼 수 있기 때문이다. Chopper Ripple을 이해하면 정밀한 DC 특성과 주기적인 물결이 동시에 나타나는 이유가 분명해진다.

chopping의 기본 아이디어는 신호와 amplifier 내부 저주파 오차를 modulation으로 분리하는 것이다. 입력 신호를 ±1로 번갈아 곱해 높은 주파수로 옮기고, 증폭 후 같은 위상으로 다시 곱해 원래 대역으로 되돌린다. amplifier 내부에서 추가된 offset은 입력 신호와 같은 두 번의 modulation을 거치지 않아 출력에서 chopping 주파수 쪽으로 이동한다.

이를 ideal 모델로 쓰면 m(t)는 ±1인 square wave다. 중간 amplifier의 출력은 A[m(t)x(t) + Vos], demodulation 직후는 A[x(t) + m(t)Vos]다. 신호에는 m²=1이 적용되지만 내부 offset에는 m이 한 번 남는다. 이 square-wave 오차는 기본 chopping 주파수와 홀수 harmonic에 분포한다. 실제 IC의 모든 보정 loop를 이 단순 회로로 대표하는 것은 아니다.

Analog Devices의 zero-drift 설명은 chopping의 modulation·demodulation과 output ripple, switching glitch를 구분한다. low-frequency error를 높은 주파수로 옮겨도 실제 low-pass가 이상적 brick wall이 아니어서 잔여 성분이 남는다. auto-zeroing은 오차를 sample해 보정하는 다른 방식이며, 실제 제품은 두 기법을 결합하기도 한다.

출력에 남은 ripple의 기본 성분만 떼어 가상 계산을 해 보자. amplifier 이후에 20 kHz, peak 200 μV의 sinusoid가 있다고 지정한다. 이는 vendor의 ripple 정격도, 앞의 Vos로부터 실제 IC를 계산한 값도 아니다. 그 뒤에 unity DC gain인 1차 low-pass를 놓고 cutoff를 200 Hz로 정한다.

20 kHz에서 filter 크기는 1/√[1+(20,000/200)²] ≈ 0.0100이다. 지정한 sinusoid의 peak는 약 2.00 μV로 줄며, peak-to-peak는 약 4.00 μV다. 다른 harmonic과 glitch는 아직 넣지 않았으므로 전체 ripple의 최대 범위를 4 μV라고 보장하지 않는다.

같은 filter가 10 Hz 신호에 주는 크기는 약 0.99875다. 이 가상 조건에서는 원하는 느린 신호를 거의 유지하면서 지정한 20 kHz 성분을 줄인다. 그러나 signal bandwidth를 넓혀 cutoff를 올리면 ripple 억제가 약해진다. 필터를 선택할 때 ripple과 신호를 각각 어느 비율로 전달하는지 계산해야 한다.

ADC sampling까지 이어지면 주파수 계획이 필요하다. 가상 sample rate가 19.9 ksample/s라면 20 kHz 성분은 discrete-time 관찰에서 100 Hz로 alias될 수 있다. 100 Hz는 앞의 200 Hz 관심 대역 안이다. sampling 이전의 analog filter가 20 kHz를 충분히 줄여야 하며, ADC 이후에 20 kHz만 제거하려는 digital filter로는 이미 낮은 주파수에 나타난 성분을 구별하기 어렵다.

실제 chopping 주파수와 harmonic 위치, spectrum의 peak는 데이터시트에서 확인한다. typical frequency가 모든 부품에서 정확히 고정됐다고 가정하면 alias 위치와 notch 설계가 어긋날 수 있다. output filter를 추가할 때는 ADC 구동과 settling, amplifier의 capacitive load 조건도 맞춰야 한다. 낮은 cutoff 하나가 전체 signal chain의 성공을 보장하지 않는다.

ripple을 모든 switching 성분의 이름으로 쓰지도 않는다. charge injection 때문에 생긴 좁은 glitch나 외부 신호와의 mixing은 다른 경로를 만들 수 있다. 정확한 위치와 크기는 구현과 source impedance에 따라 달라지며, 기본 offset modulation 모델로 전부 예측하지 않는다. 필요한 대역에서 출력 spectrum과 시간 파형을 함께 확인한다.

Chopper Ripple은 낮은 DC 오차를 위해 주파수를 옮긴 뒤 남은 흔적이다. 잔여 성분의 위치와 크기, 신호 대역, analog filter와 sample rate를 함께 정하면 DC precision의 이득을 유지하면서 출력의 주기적인 오차를 관리할 수 있다.