주파수 응답과 필터

한 줄 요약 — 원하는 주파수만 통과시킵니다. 측정 회로에서 필터는 노이즈 제거와 에일리어싱(aliasing) 방지라는 두 가지 필수 역할을 합니다.


네 가지 기본 필터

종류통과차단(cutoff)최소 구성
저역통과 (LPF)낮은 주파수높은 주파수R → C(접지)
고역통과 (HPF)높은 주파수낮은 주파수C → R(접지)
대역통과 (BPF)특정 대역나머지HPF + LPF
대역저지 (BSF/notch)나머지특정 대역트윈-T, 브리지드-T

1차 RC 저역통과

RC 저역통과 필터 회로도R11.59kΩV11VC1100nFINOUTGND
RC 저역통과 필터워크벤치에서 열기 →
H(jω)=11+jωRC,fc=12πRCH(j\omega) = \frac{1}{1+j\omega RC}, \qquad f_c = \frac{1}{2\pi RC}
기호
omega각주파수angular frequencyrad/s
C정전용량capacitanceF
f_c차단 주파수cutoff frequencyHz
j허수 단위imaginary unit
R저항resistanceΩ
주파수이득위상(phase)
f≪fcf \ll f_c0 dB0°
f=fcf = f_c−3 dB−45°
f=10fcf = 10f_c−20 dB−84°
f=100fcf = 100f_c−40 dB−89°

차단 후 기울기는 −20 dB/decade (= −6 dB/octave)입니다.


1차 RC 고역통과

RC 고역통과 필터 회로도C1100nFV11VR11.59kΩINOUTGND
RC 고역통과 필터워크벤치에서 열기 →

저역통과와 R·C 위치만 바뀌었습니다. 차단주파수 공식은 똑같고, 통과하는 쪽만 반대가 됩니다.

H(jω)=jωRC1+jωRC,fc=12πRCH(j\omega) = \frac{j\omega RC}{1+j\omega RC}, \qquad f_c = \frac{1}{2\pi RC}
기호
omega각주파수angular frequencyrad/s
C정전용량capacitanceF
f_c차단 주파수cutoff frequencyHz
j허수 단위imaginary unit
R저항resistanceΩ

+20 dB/decade로 올라가다가 fcf_c 위에서 평탄해집니다.


차수와 감쇠 기울기

차수기울기필요한 극
1차−20 dB/dec1
2차−40 dB/dec2
4차−80 dB/dec4
8차−160 dB/dec8

★ 몇 차가 필요한가 — 안티에일리어싱 계산

샘플링 주파수 fsf_s, 신호 대역 fsigf_{sig}, 필요한 감쇠 AA dB일 때, 에일리어싱을 막으려면 fs−fsigf_s - f_{sig}에서 AA dB 이상 감쇠해야 합니다.

n≥A20log⁡10(fs−fsigfsig)n \geq \frac{A}{20\log_{10}\left(\frac{f_s-f_{sig}}{f_{sig}}\right)}
기호
A이득gain
f_sig신호 주파수signal frequencyHz
f_s샘플링 주파수sampling frequencyHz
n비트 수 또는 개수number of bits or count

예: fsig=5f_{sig} = 5 kHz, fs=40f_s = 40 kHz, 12비트 ADC(74 dB 필요)

fs−fsigfsig=355=7⇒20log⁡107=16.9 dB/차수\frac{f_s-f_{sig}}{f_{sig}} = \frac{35}{5} = 7 \quad\Rightarrow\quad 20\log_{10}7 = 16.9\ \text{dB/차수}
기호
f_sig신호 주파수signal frequencyHz
f_s샘플링 주파수sampling frequencyHz
n≥7416.9≈4.4→5차n \geq \frac{74}{16.9} \approx 4.4 \rightarrow \textbf{5차}
기호
n비트 수 또는 개수number of bits or count

샘플링 주파수를 200 kHz로 올리면:

1955=39⇒20log⁡1039=31.8 dB/차수,n≥2.3→3차\frac{195}{5} = 39 \Rightarrow 20\log_{10}39 = 31.8\ \text{dB/차수}, \quad n \geq 2.3 \rightarrow \textbf{3차}
기호
n비트 수 또는 개수number of bits or count

오버샘플링하면 필터 차수를 낮출 수 있습니다. 이것이 현대 ADC가 오버샘플링(oversampling)오버샘플링 oversampling필요한 것보다 빠르게 샘플링해 평균 내면 분해능이 올라가고 안티에일리어싱 필터가 쉬워집니다.Δn=12log⁡2(OSR)\Delta n = \tfrac{1}{2}\log_2(\mathrm{OSR})자세히 보기 →을 쓰는 이유입니다 — 복잡한 아날로그 필터 대신 간단한 필터 + 디지털 필터로 해결합니다. 자세한 설계 → 13-06


계산 예제

예제 1 — 안티에일리어싱 필터(anti-aliasing filter)에일리어싱 aliasing샘플링 주파수의 절반보다 높은 성분이 낮은 주파수인 척 되접혀 들어오는 현상으로, 한 번 섞이면 되돌릴 수 없습니다.자세히 보기 →

10 kHz까지 보고 싶고 샘플링률이 100 kSPS입니다. 1차 RC로 50 kHz(나이퀴스트)에서 얼마나 감쇠합니까?

fc=10f_c = 10 kHz로 설계하면 50 kHz는 5fc5f_c:

∣H∣=11+25≈0.196→−14 dB|H| = \frac{1}{\sqrt{1+25}} \approx 0.196 \rightarrow -14\ \text{dB}

14 dB는 부족합니다 (12비트 ADC에는 74 dB 필요). 4차 이상이 필요합니다.

예제 2 — 60 Hz 노치 필터가 필요한 이유

생체 신호 측정에서 전원선 픽업(60 Hz)은 신호보다 훨씬 클 수 있습니다. 그런데 관심 신호도 1~100 Hz 대역에 있습니다.

방법✅⚠️
60 Hz 노치 필터간섭(interference) 제거60 Hz 근처 신호도 같이 사라짐, 위상 왜곡
차동 측정 + 높은 CMRR신호 손실 없음전극(electrode) 임피던스(impedance)임피던스 impedance교류에서의 저항으로, 크기뿐 아니라 전압과 전류의 시간 차이(위상)까지 담은 복소수입니다.ZC=1jωC,ZL=jωLZ_C = \frac{1}{j\omega C},\quad Z_L = j\omega L자세히 보기 → 불균형이 CMRR을 떨어뜨림
차폐(shielding)차폐 shielding도체로 감싸 전기장을 막는 것으로, 한쪽 끝만 접지해야 접지 루프가 생기지 않습니다.자세히 보기 → 개선근본 해결실험 환경 제약
디지털 노치 (사후 처리)유연, 되돌릴 수 있음ADC가 이미 포화하면 소용없음

순서가 중요합니다: 차폐 → 차동 → 아날로그 필터 → 디지털 필터. 앞 단계에서 막는 것이 항상 낫습니다. → 12-08

예제 3 — 필터 위치가 중요한 이유

게인 1000배 증폭기 뒤에 필터를 두면? 증폭기가 이미 포화(saturation)했다면 필터가 소용없습니다. 60 Hz 간섭이 100 µV이고 신호가 50 µV일 때, 1000배 증폭하면 간섭이 100 mV — 아직 괜찮습니다. 하지만 간섭이 10 mV라면 증폭 후 10 V로 레일에 걸려 신호가 완전히 사라집니다.

큰 간섭은 증폭 전에 제거해야 합니다. 이것이 신호 체인에서 필터를 어디에 둘지 결정하는 원칙입니다 → 13-02


시뮬레이션으로 확인

RC 저역통과 필터 회로도R11.59kΩV11VC1100nFINOUTGND
RC 저역통과 필터워크벤치에서 열기 →
# examples/04-ac-frequency/rc-lowpass.yaml
meta:
  name: RC 저역통과 필터
  lesson: docs/04-ac-frequency/03-filters.md
components:
  - {ref: V1, type: vac, value: 1}
  - {ref: R1, type: r, value: 1.59k, sweep: {min: 159, max: 159k}}
  - {ref: C1, type: c, value: 100n, sweep: {min: 1n, max: 10u}}
nets:
  IN:  [V1.p, R1.1]
  OUT: [R1.2, C1.1]
  GND: [V1.n, C1.2]
analyses:
  - {type: ac, sweep: dec, points: 50, fstart: 1, fstop: 1MEG}
expect:
  - {measure: gain_db, node: OUT, at: 1k,   analysis: ac, value: -3.0,  tol: 0.3}
  - {measure: gain_db, node: OUT, at: 10k,  analysis: ac, value: -20.0, tol: 0.5}
  - {measure: gain_db, node: OUT, at: 100k, analysis: ac, value: -40.0, tol: 0.5}

−20 dB/decade 기울기를 숫자로 확인할 수 있습니다.


⚖️ 부품 트레이드오프

선택✅ 좋아지는 것⚠️ 나빠지는 것
패시브 RC 필터간단, 저렴, 전력 불필요, 잡음 추가 없음, 큰 신호에도 포화 없음이득 <1, 소스/부하 임피던스에 영향받음, 급격한 차단 어려움
액티브 필터액티브 필터 active filterOP앰프를 써서 인덕터 없이 2차 이상의 필터를 만드는 방법으로, 단끼리 서로 로딩하지 않습니다.자세히 보기 → (OP앰프)급격한 차단, 이득 제공, 단 간 격리전력 소비, OP앰프 잡음·왜곡 추가, 큰 신호에서 포화, 발진 가능
LC 필터손실 적음, 급격한 차단, 고주파에 유리인덕터가 크고 비쌈, 자기장 누설, 공진·링잉
차수를 높임급격한 차단, 잡음 대역폭 감소위상 왜곡·군지연 증가, 링잉, 부품 증가, 감도(부품 오차에 민감)
차단주파수를 낮춤잡음 감소신호 왜곡, 세틀링 시간 증가

필터 응답 종류의 트레이드오프

응답✅⚠️언제
버터워스통과대역이 최대 평탄위상 비선형, 계단 응답에 오버슈트범용
베셀군지연이 평탄 → 파형 보존차단이 완만파형이 중요한 측정(스파이크, 과도)
체비셰프급격한 차단통과대역 리플, 심한 위상 왜곡, 링잉주파수 분리가 중요할 때
타원(Cauer)가장 급격양쪽 리플, 최악의 위상좁은 전이대역

💡 신경 신호처럼 파형 모양이 중요한 경우 베셀 필터를 씁니다. 버터워스나 체비셰프는 스파이크(spike) 파형을 링잉으로 왜곡시켜 분류(spike sorting)를 망칩니다. “급격한 차단”이 항상 좋은 게 아닙니다.


🔌 실제 쓰임새

필터용도위치
LPF안티에일리어싱, 고주파 노이즈 제거ADC 직전 (13-06)
HPFDC 옵셋·드리프트 제거, 전극 반전위(half-cell potential) 차단증폭 전 (13-05)
BPF관심 대역만 추출 (MUA: 300 Hz~5 kHz)신호 체인 중간
노치60 Hz 제거최후 수단 (12-08)
RC 스너버(snubber)스위칭 링잉 억제전력 스위치 (16-05)
페라이트+C전원 라인 EMI전원 입구 (16-03)

⚠️ 이상과 실제의 차이

이상실제
필터가 소스/부하와 독립소스 임피던스가 R에 더해지고, 부하가 병렬로 붙어 차단주파수(cutoff frequency)가 이동
이상적 차단실제로는 완만한 롤오프
부품 값이 정확R ±1%, C ±10% → fcf_c가 ±11% 변동
커패시터(capacitor)가 이상적ESL 때문에 고주파에서 필터링이 멈춤 (11-02)
위상 왜곡 무시군지연이 파형을 변형

⚠️ 패시브 RC 필터를 여러 단 직렬로 연결하면 각 단이 서로 부하가 되어 계산이 틀립니다. 뒷단 임피던스를 앞단의 10배 이상으로 하거나, 단 사이에 버퍼를 넣어야 합니다. 액티브 필터가 이 문제를 자동으로 해결합니다.


연습문제

문제 1. fc=1f_c = 1 kHz인 저역통과 RC를 만드세요. C=10C = 10 nF일 때 R은?

연습 4-03-1 — f_c = 1 kHz 저역통과 만들기 회로도R116kΩE24 로 반올림한 값V11VC110nFINOUTGND
연습 4-03-1 — f_c = 1 kHz 저역통과 만들기워크벤치에서 열기 →
풀이 R=12πfcC=12π×1000×10−8≈15.9 kΩR = \frac{1}{2\pi f_c C} = \frac{1}{2\pi\times1000\times10^{-8}} \approx 15.9\ \text{k}\Omega
기호
C정전용량capacitanceF
f_c차단 주파수cutoff frequencyHz
R저항resistanceΩ

E24에서 16 kΩ을 씁니다. (fc=995f_c = 995 Hz)

문제 2. 1차 LPF (fc=1f_c = 1 kHz)가 10 kHz에서 감쇠하는 양은?

exercises/04-03-decade-rolloff.yaml
풀이

10fc10f_c이므로 −20 dB/decade에서 −20 dB (1/10 진폭).

정확히는:

∣H∣=11+102=1101≈0.0995→−20.04 dB|H| = \frac{1}{\sqrt{1+10^2}} = \frac{1}{\sqrt{101}} \approx 0.0995 \rightarrow -20.04\ \text{dB}

문제 3. 신경 스파이크(폭 ~1 ms, 300 Hz~5 kHz)를 측정합니다. 4차 버터워스 LPF(5 kHz)와 4차 베셀 LPF(5 kHz) 중 어느 것을 써야 하고, 왜입니까?

exercises/04-03-spike-shape.yaml
풀이

베셀을 써야 합니다.

이유: 스파이크는 넓은 주파수 대역에 걸친 성분들이 특정 위상 관계로 합쳐진 파형입니다. 필터의 군지연(group delay)이 주파수에 따라 다르면 각 성분이 다른 시간에 도착해 파형 모양이 변형됩니다.

  • 버터워스 4차: 통과대역 이득은 평탄하지만 군지연이 주파수에 따라 크게 변함 → 스파이크에 링잉(ringing) 이 생기고 폭이 넓어짐
  • 베셀 4차: 군지연이 평탄 → 파형 모양이 보존됨. 대신 차단이 완만해서 5 kHz 위 감쇠가 버터워스보다 약함

실무적 함의: 스파이크 분류(spike sorting)는 파형 모양으로 뉴런을 구분하므로, 필터가 파형을 왜곡하면 분류 정확도가 떨어집니다.

보완: 베셀의 완만한 차단이 걱정되면 오버샘플링으로 보완합니다. 샘플링률을 높이면 아날로그 필터의 부담이 줄고, 디지털에서 원하는 특성(선형 위상 FIR)으로 다시 필터링할 수 있습니다.


이전 ← 02 페이저와 복소 임피던스 | 다음 → 04 dB와 보드선도