두 개의 조건, 두 개의 계수
k+1개의 자유 계수를 가진 필터는 그 전달 함수에 대해 정확히 k+1개의 조건을 만족할 수 있습니다. 해밍은 가장 단순하지 않은 경우인 두 개의 계수, 두 개의 조건으로 이를 시연했습니다.
조건
- f = 1/6에서: H(1/6) = 1 (이 주파수는 변하지 않고 통과)
- f = 1/3에서: H(1/3) = 0 (이 주파수는 완전히 차단됨)
필터 형태
입력 x_n과 하나의 지연을 사용하는 두 개의 계수 a와 b를 가진 필터:
y_n = a · x_n + b · x_{n−1}
고유함수 대입
입력 e^{i2πfn}, 출력 H(f) · e^{i2πfn}. 우변은 다음을 제공합니다:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
e^{i2πfn}으로 양변을 나눕니다:
H(f) = a + b · e^{−i2πf}
이제 두 조건을 적용하여 두 개의 미지수에 대한 두 개의 방정식을 얻습니다.
계수 구하기
H(f) = a + b·e^{−i2πf}에 f = 1/6을 대입합니다:
1 = a + b·e^{−i2π/6} = a + b·(cos(−π/3) + i·sin(−π/3)) = a + b·(1/2 − i√3/2)
f = 1/3을 대입합니다:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
이 두 방정식으로부터 해밍은 a = 1/2, b = 1/2를 얻었습니다 — 3-샘플 평균과 같습니다 (출력이 중간 위치에 있음).
완전한 필터
두 조건을 모두 만족하는 필터는 다음 형태입니다:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
위치 n의 출력은 이전, 현재, & 다음 입력 샘플을 사용합니다.
전달 함수:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
검증:
- H(1/6) = cos(π/3) + 1/2 = 1/2 + 1/2 = 1 ✓
- H(1/3) = cos(2π/3) + 1/2 = −1/2 + 1/2 = 0 ✓
다른 주파수에서: H(0) = 1 + 1/2 = 3/2 (직류를 증폭으로 통과), H(1/2) = −1 + 1/2 = −1/2.
통찰력: 디지털 필터는 소프트웨어에서 아날로그 RC 필터가 하드웨어에서 구현하는 것을 구현합니다. 계수 선택은 주파수 응답을 분석적으로 제어합니다.
여러 주파수에서의 전달 함수
전달 함수 H(f) = cos(2πf) + 1/2는 두 개의 설계 포인트뿐만 아니라 모든 주파수에서 적용됩니다.
깁스의 발견
해밍은 마이켈슨 — 마이켈슨-몰리 실험으로 유명한 — 이 푸리에 급수를 75 항까지 계산하도록 아날로그 기계를 만든 이야기를 했습니다. 불연속 함수를 계수에서 재구성할 때, 기계는 점프 근처에 지속적인 오버슈트를 보였습니다.
마이켈슨은 지역 수학자들에게 물었습니다. 그들은 장비에 문제가 있다고 했습니다. 깁스만 귀를 기울였습니다.
깁스 현상: N 항으로 잘린 푸리에 급수가 계단 불연속을 근사할 때, 근사는 점프 높이의 약 8.9%만큼 오버슈트합니다 — 그리고 이 오버슈트는 N이 증가함에 따라 감소하지 않습니다. 더 많은 항은 오버슈트 스파이크를 좁히지만 절대 제거하지 않습니다.
수학적으로: N-항 푸리에 급수는 불연속을 제외하고 모든 곳에서 점별로 수렴합니다. 불연속에서 부분합은 점프의 중점으로 수렴하지만, 점프 근처의 부분합의 최대값은 1.0 (이상적)이 아닌 1.0895 (단위 높이의 계단의 경우)에 접근합니다.
필터에 중요한 이유
이상적인 저역통과 필터는 계단 함수 전달 함수를 갖습니다: H(f) = 1 (f < f_c인 경우), H(f) = 0 (f > f_c인 경우). 통과대역 & 정지대역 사이의 그 불연속성은 유한 길이 필터 (잘린 푸리에 급수)가 그 주파수 응답에서 깁스 리플을 나타냄을 의미합니다.
결과: 잘린 푸리에 급수 설계는 사용되는 계수의 수에 관계없이 통과대역 & 정지대역 모두에서 약 9% 리플을 가진 필터를 생성합니다.
깁스 현상의 함의
해밍은 이 결과를 사용하여 윈도우 함수를 동기화했습니다: 이상적인 푸리에 계수에 부드럽게 테이퍼하는 윈도우를 곱하면 깁스 오버슈트를 극적으로 줄입니다.
해밍 윈도우: w_k = 0.54 + 0.46·cos(πk/N). 이 윈도우는 깁스 리플을 0.2% 미만으로 줄입니다.
트레이드오프: 윈도우화는 전환을 부드럽게 하지만 전환 대역을 넓힙니다. 더 날카로운 컷오프는 항상 더 많은 계수를 필요로 합니다.