RC 저역통과 필터 차단 주파수 계산 및 ADC 앞단 필터 설계

마이크로컨트롤러(MCU) 및 고속 데이터 수집 장치(DAQ)에서 아날로그 신호를 디지털로 변환할 때, 원치 않는 고주파 노이즈와 스위칭 스파이크는 샘플링 데이터의 신뢰성을 무너뜨리는 주범입니다. 특히 나이퀴스트 샘플링 레이트의 절반을 초과하는 고주파 성분이 기저대역으로 접혀 들어오는 앨리어싱(Aliasing) 현상은 사후 소프트웨어 디지털 필터링으로 복구가 불가능한 영구적 신호 왜곡을 유발합니다. 이로 인해 하드웨어 설계자는 RC 저역통과 필터 차단 주파수 선정과 샘플링 커패시터 충전 시간(Acquisition Time) 확보라는 첨예한 아키텍처 트레이드오프에 직면하게 됩니다.

단순히 고주파 노이즈를 강력하게 감쇄시키기 위해 직렬 저항($R$)과 션트 커패시터($C$) 값을 과도하게 키우면, 연속-근사-레지스터(SAR) ADC 내부의 스위칭 커패시터가 샘플링 주기 내에 목표 전압으로 충전되지 못해 심각한 이득 오차와 비선형성 왜곡이 발생합니다. 반대로 저항값을 너무 낮추면 전단 연산증폭기(Op-Amp)의 위상 마진이 감소해 발진이 일어나거나 대역폭이 지나치게 열려 노이즈가 고스란히 유입되므로, 차단 주파수와 정착 시간(Settling Time)을 정밀하게 조율하는 프론트엔드 최적화가 필수적입니다.

RC 저역통과 필터 차단 주파수 및 ADC 입력단 회로 아키텍처

RC 저역통과 필터 차단 주파수: 나이퀴스트 앨리어싱과 회로 전달함수 해석

1차 수동 RC 저역통과 필터(Low-Pass Filter)는 직렬 저항 $R$과 병렬 커패시터 $C$의 전압 분배 네트워크로 구성됩니다. 주파수 도메인에서 회로의 복소수 전달함수 $H(s)$는 $H(s) = \frac{1}{1 + sRC}$로 정의되며, 출력 신호의 전력이 입력 대비 절반(-3dB)으로 감쇄되는 RC 저역통과 필터 차단 주파수($f_c$)는 다음 공식으로 엄밀하게 도출됩니다.

$$f_c = \frac{1}{2\pi RC}$$

이 수식은 신호 진폭이 $1/\sqrt{2} \approx 0.707$배로 떨어지고 입출력 위상 지연이 -45°에 도달하는 지점을 정의합니다. 1차 필터의 롤오프(Roll-off) 기울기는 -20dB/decade에 불과하므로, 샘플링 주파수($f_s$)의 절반인 나이퀴스트 한계 주파수($f_s/2$)에서 충분한 감쇄량을 확보하기 위해서는 $f_c$를 타깃 신호 대역폭과 나이퀴스트 주파수 사이에서 수학적으로 엄밀히 결정해야 합니다.

"SAR ADC 입력단 안티앨리어싱 필터 설계 시, 필터의 극점(Pole)은 입력 신호 대역폭보다는 충분히 높아야 위상 왜곡을 피할 수 있지만, 샘플링 주파수에서의 양자화 잡음 및 앨리어싱 성분을 억제하기 위해 나이퀴스트 대역 내로 제한되어야 합니다. 또한 외부 커패시터 $C_{ext}$는 내부 샘플링 커패시터 $C_{sh}$의 최소 20배 이상으로 설정하여 전하 재분배(Charge Kickback) 전압 강하를 억제해야 합니다."
— Texas Instruments Application Report (SBAA208A): SAR ADC Input Driver Design

TI 기술 문서에서 지적하듯, ADC 내부 샘플링 스위치가 닫힐 때 발생하는 전하 킥백(Charge Kickback) 현상은 외부 필터 커패시터로부터 순식간에 전하를 흡수합니다. 만약 외부 $C$의 용량이 너무 작거나 $R$이 너무 크면, 전압 강하가 회복되는 시정수 $\tau = R \cdot C$가 샘플링 획득 시간($t_{acq}$)을 초과하여 심각한 선형성 에러(INL)를 야기합니다.

SAR ADC 샘플링 스위치 킥백과 RC 필터 정착 시간 파형 해석

ADC 앞단 필터 설계: R과 C 소자값의 상한 및 하한 결정 기준

실제 12비트~16비트 고정밀 ADC 프론트엔드를 설계할 때 저항과 커패시터 값은 임의로 결정할 수 없으며, 구동 연산증폭기의 위상 여유와 샘플링 회로의 시정수 제약에 의해 윈도우 형태로 한정됩니다.

16비트 SAR ADC 입력 정착을 위한 획득 시간(Acquisition Time) 조건식

$$t_{acq} \ge \tau \cdot \ln(2^{N+1}) = R \cdot C_{ext} \cdot \ln(2^{17}) \approx 11.78 \cdot R \cdot C_{ext}$$

  • N: ADC 분해능 비트 수 (16-bit 기준 0.5 LSB 이내 수렴을 위해 약 11.8배의 시정수 필요)
  • $C_{ext}$: 내부 샘플링 커패시터($C_{sh} \approx 10\text{pF}\sim 20\text{pF}$)의 20~50배 이상 선정 (통상 470pF ~ 2.2nF)
  • $R_{ext}$: 증폭기 발진 방지용 최소 저항(일반적으로 10Ω 이상)과 정착 시간 상한선(통상 200Ω 이하)으로 제한

커패시터 유전체 재질 역시 정밀도에 결정적인 영향을 미칩니다. 일반 X7R, Y5V 세라믹 커패시터는 인가 전압에 따라 용량이 급변하는 전압 계수(VCR) 왜곡과 압전 노이즈(Microphonics)가 심각하므로, 아날로그 신호 경로에는 반드시 전압 및 온도에 극도로 안정한 C0G/NP0 유전체 커패시터를 채택해야 합니다.

커패시터 유전체 재질전압 계수 왜곡(VCR)온도 계수 안정성ADC 입력단 적용 적합성
C0G / NP0 (Class 1)극소 (전압 변동 없음)0 ± 30 ppm/°C (-55°C ~ +125°C)최우선 권장 (정밀 계측 필수)
X7R (Class 2)높음 (정격 전압 인가 시 -20%~-50%)±15% 편차 발생부적합 (THD 악화 및 비선형성 유발)
Y5V (Class 3)극단적 (정격 전압 시 최대 -80%)+22% / -82% 심각한 열화사용 절대 금지 (DC 바이패스 전용)
폴리프로필렌 필름(PP)극소 (우수한 선형성)우수함 (유전 흡수율 0.01% 이하)적합 (단, 부피가 크고 SMD 실장 제한)

유전체 특성 비교표에서 드러나듯, 클래스 2/3 세라믹 커패시터는 입력 전압 스윙에 따라 실효 커패시턴스가 달라져 고조파 왜곡(THD)을 유발합니다. 따라서 정밀 신호 체인에서는 반드시 C0G(NP0) 등급의 표면 실장형 MLCC를 선택해야 합니다.

RC 필터 보드 플롯 차단 주파수 감쇄 곡선 및 위상 지연 응답

실전 설계 예시: 500kSPS 12비트 SAR ADC 입력단 차단 주파수 연산

샘플링 속도가 $f_s = 500\text{kSPS}$이고 유효 아날로그 입력 신호 대역이 $\text{DC} \sim 20\text{kHz}$인 산업용 센서 보드를 설계한다고 가정합니다. 이때 나이퀴스트 주파수는 $f_{nyquist} = 250\text{kHz}$가 되며, ADC의 샘플링 획득 시간($t_{acq}$)이 $400\text{ns}$로 주어졌습니다.

1단계로 내부 샘플링 커패시터($C_{sh} = 15\text{pF}$)의 전하 킥백을 완충하기 위해 외부 커패시터 $C_{ext}$를 약 68배 수준인 $1.0\text{nF}$ C0G로 지정합니다. 2단계로 12비트 해상도($0.5\text{ LSB}$ 이내)에 요구되는 시정수 개수 $k = \ln(2^{13}) \approx 9.01$을 적용하여 직렬 저항 $R$의 상한값을 산출합니다.

$$R \le \frac{t_{acq}}{k \cdot C_{ext}} = \frac{400\text{ns}}{9.01 \cdot 1.0\text{nF}} \approx 44.4\Omega$$

표준 E96 계열 1% 정밀 저항에서 $R = 43.2\Omega$(또는 안정적인 $39\Omega$)을 선정하면, 최종 RC 저역통과 필터 차단 주파수는 다음과 같이 결정됩니다.

$$f_c = \frac{1}{2\pi \cdot 39\Omega \cdot 1.0\text{nF}} \approx 4.08\text{MHz}$$

여기서 산출된 차단 주파수가 입력 신호 대역(20kHz)보다 크게 높은 이유는 수동 1차 RC 단독 필터로는 정착 시간 제약 때문에 앨리어싱 억제와 신호 통과 대역을 완벽히 분리할 수 없기 때문입니다. 따라서 실제 회로에서는 $f_c \approx 4\text{MHz}$의 안티-킥백 수동 필터 전단에 능동 연산증폭기 기반의 2차 이상의 액티브 필터를 추가하여 $20\text{kHz}$ 이상 대역을 선제적으로 차단하는 2단계 토폴로지를 구성합니다.

고신뢰성 ADC 입력단 필터 레이아웃 원칙

  • 최단거리 밀착: 필터 커패시터 $C_{ext}$는 ADC 칩의 아날로그 입력 핀과 아날로그 접지(AGND) 핀 바로 옆 2mm 이내에 실장한다.
  • 차동 대칭 배선: 차동 ADC(Differential Input) 사용 시 $R$과 $C$를 두 라인에 대칭 배치하고, 양단 사이에 차동 커패시터($C_{diff}$)를 추가하여 공통 모드 노이즈를 제거한다.
  • 접지 분리 및 복귀 경로: 필터 접지단은 디지털 잡음이 흐르는 DGND 플레인이 아닌 순수한 AGND 기준면에 단독 연결한다.
  • 기생 인덕턴스 억제: 신호 패턴 폭을 적절히 유지하고 비아(Via) 사용을 최소화하여 인덕턴스에 의한 공진 피크를 방지한다.
파이썬 기반 ADC 프론트엔드 RC 필터 시뮬레이션 및 파라미터 최적화 코드 실행

Python 기반 ADC 프론트엔드 RC 필터 최적화 및 시뮬레이션 스크립트

ADC 사양서에 기재된 비트 해상도, 내부 샘플링 커패시턴스, 획득 시간($t_{acq}$)을 기반으로 허용 가능한 최대 저항값과 차단 주파수, 그리고 나이퀴스트 대역에서의 감쇄량을 자동 계산하는 엔지니어링 검증 스크립트입니다.

# Python 3: SAR ADC RC 안티앨리어싱 및 정착 시간 자동 계산 도구
import math

def calculate_adc_rc_filter(bits, c_sh_pf, t_acq_ns, sampling_rate_hz):
    # 1. 0.5 LSB 정밀도 수렴을 위한 시정수 승수 k 도출
    k = math.log(2 ** (bits + 1))
    
    # 2. 전하 킥백 흡수용 외부 커패시터 C_ext 결정 (C_sh의 50배 기본 적용)
    c_sh_farad = c_sh_pf * 1e-12
    c_ext_farad = c_sh_farad * 50.0
    
    # 3. 최대 허용 직렬 저항 R_max 계산 (t_acq = k * R * C_ext)
    t_acq_sec = t_acq_ns * 1e-9
    r_max = t_acq_sec / (k * c_ext_farad)
    
    # 4. 차단 주파수(f_c) 및 나이퀴스트 주파수 계산
    f_c = 1.0 / (2.0 * math.pi * r_max * c_ext_farad)
    f_nyquist = sampling_rate_hz / 2.0
    
    # 5. 나이퀴스트 지점 감쇄량(dB) 연산: 20 * log10(1 / sqrt(1 + (f/f_c)^2))
    attenuation_nyquist_db = -10.0 * math.log10(1.0 + (f_nyquist / f_c) ** 2)
    
    print(f"[설계 파라미터 결과]")
    print(f"- 요구 시정수 배수 (k): {k:.2f} tau")
    print(f"- 권장 외부 커패시터 (C_ext): {c_ext_farad * 1e12:.1f} pF (C0G/NP0 필수)")
    print(f"- 최대 허용 직렬 저항 (R_max): {r_max:.2f} Ohm")
    print(f"- 필터 차단 주파수 (-3dB f_c): {f_c / 1e6:.3f} MHz")
    print(f"- 나이퀴스트 주파수 ({f_nyquist / 1e3:.1f} kHz) 지점 감쇄량: {attenuation_nyquist_db:.2f} dB")

# STM32 12-bit ADC 사양 검증 (t_acq: 400ns, C_sh: 15pF, Sampling Rate: 500kSPS)
calculate_adc_rc_filter(bits=12, c_sh_pf=15.0, t_acq_ns=400.0, sampling_rate_hz=500000.0)

위 스크립트를 실행하면 12비트 $0.5\text{ LSB}$ 오차 한계 내에서 샘플링 커패시터의 전하 평형을 유지할 수 있는 임계 저항값이 도출됩니다. 만약 연산된 $R_{max}$ 값이 너무 낮아 오피앰프의 부하 용량(Capacitive Load) 구동 한계를 벗어난다면, 획득 시간을 소프트웨어 레지스터 상에서 연장하거나 버퍼 증폭기 사이에 작은 격리 저항을 직렬 추가해야 함을 사전에 판별할 수 있습니다.

실무 엔지니어링 FAQ

Q1. 차단 주파수 계산 시 사용되는 연산증폭기의 출력 임피던스는 무시해도 됩니까?

고주파 대역에서는 절대 무시할 수 없습니다. 오피앰프의 개방 루프 출력 임피던스($Z_{out}$)는 주파수가 상승함에 따라 이득이 떨어지면서 유도성(Inductive)으로 변합니다. 따라서 닫힌 루프(Closed-loop) 상태의 실효 출력 임피던스가 수동 직렬 저항 $R$에 더해져 필터의 실제 차단 주파수를 낮추고 과도 응답에 오버슈트를 초래할 수 있으므로 광대역 오피앰프를 선정해야 합니다.

Q2. 차동 입력(Differential) ADC에서 커패시터는 어떻게 구성해야 공통 모드 노이즈가 제거됩니까?

각 차동 입력 핀과 접지 사이에 단일 종단 커패시터($C_{cm}$)를 2개 배치하고, 두 신호 라인 사이에 용량이 약 10배 큰 차동 커패시터($C_{diff}$)를 병렬로 배치해야 합니다. 이렇게 구성하면 두 $C_{cm}$ 간의 부품 오차(Tolerance)로 인해 공통 모드 노이즈가 차동 신호 왜곡으로 전환되는 문제를 방지할 수 있습니다.

Q3. RC 저항값을 $1\text{k}\Omega$ 이상으로 크게 키우면 왜 전압 측정 오차가 발생합니까?

ADC 입력 누설 전류(Leakage Current)와 샘플링 시 흘러드는 평균 충전 전류가 큰 직렬 저항을 통과하면서 정적 전압 강하(IR Drop)를 만들기 때문입니다. 이로 인해 풀스케일 입력 구간에서 심각한 게인 오차가 발생하므로, 일반적으로 SAR ADC 직렬 저항은 수십 옴 단위로 억제하고 필요 시 액티브 버퍼를 전단에 배치해야 합니다.

공식 기술 가이드 및 설계 규격

함께 보면 좋은 글

📌 안내
이 글은 정보 제공을 목적으로 작성되었으며, 실제 기기·환경·정책에 따라 결과가 다를 수 있습니다. 보다 정확하고 최신인 정보는 아래 공신력 있는 기관의 자료를 함께 참고하시기 바랍니다.

Similar Posts