1. 개요[편집]
신호는 무한한데 하드디스크는 유한하다. 그래서 우리는 자를 수밖에 없고, 자르는 순간 스펙트럼이 번진다.
윈도 함수(window function, 창 함수)는 무한히 이어지는 신호에서 유한한 길이의 구간만 잘라낼 때 곱해 주는, 양 끝에서 매끄럽게 0으로 수렴하는 가중 함수다. 아무 창도 곱하지 않는 것은 곧 사각창(rectangular window)을 곱한 것과 같으며, 이때 스펙트럼에 생기는 번짐이 바로 스펙트럼 누설(spectral leakage)이다. 창을 고르는 일은 누설을 없애는 일이 아니라 주엽 폭과 부엽 준위를 저울질하는 일이다.
범위 구분: 푸리에 변환이 변환의 정의와 성질을, 고속 푸리에 변환이 알고리즘을, 웨이블릿 변환이 시간-주파수 다중해상도를 다룬다면, 이 문서는 유한 관측이라는 행위 자체가 스펙트럼에 남기는 손상과 그 거래 조건에 한정한다.
2. 누설은 어디서 오는가[편집]
길이 의 사각창을 시간 영역에서 곱하는 것은 주파수 영역에서 그 창의 스펙트럼과 합성곱하는 것이다. 사각창의 이산시간 푸리에 변환은 디리클레 커널이다.
이 커널의 주엽 폭은 널에서 널까지 이고, 첫 부엽은 주엽보다 겨우 dB 낮으며 감쇠율도 옥타브당 dB로 느리다. 순수 정현파의 주파수가 DFT 빈 중심에 정확히 떨어지면 부엽이 전부 다른 빈의 널 위치에 앉아 누설이 0이 되지만, 조금이라도 어긋나면(관측 구간에 정수 주기가 들어가지 않으면) 그 dB짜리 부엽이 전 대역에 그대로 깔린다. 바로 옆 빈에 dB짜리 약한 신호가 있으면 통째로 파묻힌다.
창을 매끄럽게 만들면 부엽은 급격히 낮아지지만, 대가로 주엽이 넓어진다. 주엽 폭은 곧 인접한 두 정현파를 분해할 수 있는 최소 간격이므로, 이것이 창 설계의 근본 트레이드오프다.
3. 대표 창과 성능 지표[편집]
한(Hann) 창은 , 해밍(Hamming) 창은 이다. 두 창의 형태 차이는 계수 두 개뿐인데 성능은 꽤 다르다. 해밍은 첫 부엽을 상쇄하도록 계수를 맞춰 최대 부엽이 더 낮지만, 창이 양 끝에서 0이 아니라 불연속이 남아 원거리 감쇠율은 옥타브당 dB에 그친다. 반면 한 창은 최대 부엽은 조금 높아도 dB/oct로 빠르게 죽는다.
| 창 | 주엽 폭 (널-널) | 최대 부엽 | 스캘롭 손실 | ENBW |
|---|---|---|---|---|
| 사각 | −13.3 dB | 3.92 dB | 1.00 | |
| 한 | −31.5 dB | 1.42 dB | 1.50 | |
| 해밍 | −42.7 dB | 1.75 dB | 1.36 | |
| 블랙만 | −58.1 dB | 1.10 dB | 1.73 | |
| 블랙만-해리스 (4항) | −92.0 dB | 0.83 dB | 2.00 | |
| 플랫톱 | 급 | −93 dB 급 | 0.01 dB 미만 | 3.77 |
표에 나온 세 지표의 뜻은 다음과 같다(수치는 Harris의 고전적 정리표 기준).1
- 스캘롭 손실(scalloping loss): 신호 주파수가 두 빈의 정확히 중간에 있을 때 진폭이 얼마나 과소평가되는지. 사각창은 최대 3.92 dB, 즉 진폭을 36%나 놓친다.
- 등가잡음대역폭(ENBW): 백색잡음에 대해 그 창이 실효적으로 통과시키는 대역폭을 빈 단위로 잰 값. 잡음 전력밀도를 계산할 때 반드시 이 값으로 나눠야 한다.
- 간섭성 이득(coherent gain): . 정현파 진폭을 복원하려면 스펙트럼을 이 값으로 나눈다. 한 창은 0.5, 해밍은 0.54다.
4. 어떤 창을 고를 것인가[편집]
용도가 정해지면 선택은 거의 기계적이다.
- 진폭을 정확히 재야 한다 → 플랫톱. 주엽을 일부러 평평하게 눌러 스캘롭 손실을 0.01 dB 미만으로 만든 창이라 교정용 계측기의 기본값이다. 대신 주엽이 넓어 분해능은 포기한다.
- 강한 신호 옆의 약한 신호를 봐야 한다 → 블랙만-해리스. 부엽 dB면 16비트 ADC의 양자화 잡음 바닥 아래로 내려간다.
- 딱히 정한 게 없다 → 한 창. 부엽 감쇠가 빠르고 중첩 처리 특성이 좋아 사실상 국룰.
- 사각창이 옳은 경우도 있다 → 과도 신호가 관측 구간 안에 완전히 들어가 있고 양 끝이 이미 0인 경우(임펄스 응답 측정, 타격 시험). 이때 창을 씌우면 멀쩡한 데이터를 깎아 SNR만 떨어뜨린다.2
카이저 창은 이 선택을 파라미터 하나로 연속화한다.
는 0차 변형 베셀 함수이고, 이면 사각창, 면 해밍, 이면 블랙만에 가까워진다. 요구 부엽 감쇠 dB가 주어지면 가 경험식으로 바로 나오기 때문에 “부엽 dB, 전이대역 몇 Hz”라는 사양을 그대로 숫자로 옮길 수 있다.3
5. 스펙트럼 추정과 중첩[편집]
단일 주기도(periodogram)는 데이터가 아무리 길어져도 분산이 줄지 않는 악명 높은 추정량이다. 웰치 방법은 신호를 길이 의 여러 구간으로 나누고, 각 구간에 창을 씌워 주기도를 구한 뒤 평균 낸다.
는 창이 잡아먹은 전력을 되돌려 놓는 정규화 상수다. 구간이 독립이면 분산이 로 줄고, 대신 각 구간이 짧아지니 주파수 분해능은 그만큼 나빠진다 — 여기서도 거래다.
구간을 50% 중첩시키는 것이 관례인데, 이는 창이 양 끝에서 눌러 버린 데이터를 이웃 구간이 가운데에서 되살려 주기 때문이다. 한 창의 경우 50% 중첩에서 시간축 가중치의 합이 정확히 상수가 되어 데이터가 균등하게 쓰인다. 중첩 구간은 완전히 독립이 아니므로 분산 감소는 보다 다소 나쁘지만, 같은 데이터 길이에서 구간 수 가 거의 두 배가 되므로 순이득이다. 블랙만-해리스처럼 더 좁은 창은 65~75% 중첩을 쓰기도 한다.
6. 구현에서 자주 틀리는 것[편집]
창은 개념이 쉬운 만큼 구현에서 조용히 틀리기도 쉽다. 반복되는 사고 세 가지만 짚는다.
대칭형과 주기형. 길이 의 한 창을 로 만들면 양 끝이 정확히 대칭인 대칭형이 되고, 분모를 으로 두면 마지막 표본이 빠진 주기형(DFT-even)이 된다. 필터 설계에는 대칭형이 맞고, 스펙트럼 분석에는 주기형이 맞다. 주기형이라야 창의 DFT가 실수가 되어 위상 오차가 생기지 않기 때문이다. 대부분의 라이브러리는 sym=True/False 같은 인자로 이 둘을 구분하는데, 기본값은 라이브러리마다 다르다.
영 채우기와 창은 다른 일을 한다. 영 채우기(zero-padding)는 스펙트럼을 더 촘촘히 보간할 뿐 분해능을 늘리지 않는다. 진짜 분해능은 관측 시간 가 정하고(), 창은 그 분해능을 주엽 폭만큼 더 나쁘게 만드는 대신 부엽을 눌러 준다. “영 채우기를 했으니 분해능이 좋아졌다”는 문장은 어느 쪽 개념도 이해하지 못했다는 신호다.
정규화를 두 번 하거나 안 한다. 정현파 진폭을 읽을 때는 간섭성 이득으로, 잡음 전력밀도를 읽을 때는 ENBW로 나눠야 한다. 둘은 서로 다른 상수이며, 같은 스펙트럼에서 순음의 진폭과 바닥 잡음 밀도를 동시에 보고할 때 이 구분을 놓치면 잡음 바닥이 통째로 몇 dB씩 밀린다.
7. FIR 필터 설계에서의 창 방법[편집]
창은 스펙트럼 분석 도구이기 전에 필터 설계 도구이기도 하다. 이상적 저역통과 필터의 임펄스 응답은 무한히 뻗는 sinc 함수이므로, 유한 길이로 만들려면 잘라야 한다. 그런데 그냥 자르면(=사각창) 깁스 현상이 나타난다. 차단 주파수 근방에서 통과대역 리플의 최대 오버슈트가 약 8.95%로 고정되며, 필터 차수를 아무리 올려도 이 값이 줄지 않는다. 리플이 좁아질 뿐 낮아지지는 않는 것이다.4
여기에 매끄러운 창을 곱하면 오버슈트가 사라지는 대신 전이대역이 넓어진다. 사각창 절단의 저지대역 감쇠 dB가 한 창에서는 dB, 블랙만에서는 dB로 올라가지만, 같은 필터 길이에서 전이대역은 각각 세 배, 다섯 배 넓어진다. 카이저 창을 쓰면 필요한 길이가
로 곧바로 나오므로, 창 방법은 최적 등리플 설계보다 성능은 조금 뒤지지만 설계식이 닫힌 형태로 존재한다는 압도적 편의성 때문에 여전히 널리 쓰인다.
8. 관련 문서[편집]
9. Footnotes[편집]
-
창 함수 계보를 한 편으로 정리한 Harris(1978)의 리뷰 논문은 지금도 이 분야의 표준 참고문헌이다. 다만 그 논문의 표에는 오식이 몇 개 있고, 그걸 그대로 베낀 후속 문헌들이 수십 년째 같은 숫자를 옮겨 적고 있다는 사실이 더 유명하다. ↩
-
“일단 한 창 씌우고 본다”가 습관이 되면 임펄스 응답의 초반 에너지를 절반으로 깎아 놓고 감쇠비를 잘못 뽑는 일이 생긴다. 창은 공짜가 아니다. 무엇을 잃는지 모르고 쓰면 그게 곧 손실이다. ↩
-
이 경험식들은 Kaiser가 1974년에 수치 실험으로 맞춘 것이지 유도된 것이 아니다. 그런데 40년 넘게 거의 모든 DSP 교재와 라이브러리에 그대로 실려 있다. 잘 맞는 경험식의 수명은 정리(theorem)보다 길다. ↩
-
정확한 값은 . 깁스가 1899년 Nature에 이 문제를 정리했지만, 사실 9년 앞서 영국의 Henry Wilbraham이 이미 계산해 놨다. 이름은 늦게 온 사람이 가져갔다. ↩