누설과 창 함수
톤이 칸 사이에 놓이면 에너지가 모든 칸으로 번진다. 이 번짐을 없앨 수 있을까? 없앨 수 없다면 어떻게 줄일까?
이 번짐을 누설(spectral leakage)이라고 한다. DFT 점이 창 스펙트럼의 영점이 아닌 곳, 곧 sidelobe 위에 떨어져서 생긴다. 시간에서 보면 이렇다. DFT는 표본 개를 한 주기로 보고 되풀이된다고 가정하는데, 기록 안에 정수 주기가 들어 있지 않으면 한 주기의 끝과 다음 주기의 시작이 이어지지 않고 튄다. 그 튐이 모든 주파수에 성분을 만든다.
신호의 주파수를 미리 알 수 없고 실제 신호에는 여러 주파수가 섞여 있으므로, 모든 성분을 칸에 맞출 수는 없다. 누설은 피할 수 없다. 대신 기록의 양 끝을 0으로 부드럽게 줄이는 가중치 을 곱해 튐을 없앨 수 있다. 이것이 창 함수(window function)이고, 끝을 누그러뜨린다는 뜻으로 apodization이라고도 한다.
자주 쓰는 창은 다음과 같다(모두 ).
아래 그림은 사각 창과 두 창의 모양, 그리고 각 창의 스펙트럼을 dB로 그린 것이다. 먼저 위 그림에서 양 끝이 0으로 내려가는 정도를 비교하고, 아래 그림에서 첫 영점의 위치(mainlobe 폭)와 점선으로 표시한 가장 큰 sidelobe의 높이를 비교한다.
| 창 | mainlobe 폭 | 최대 sidelobe | 반 칸 손실 |
|---|---|---|---|
| 사각 | 2칸 | −13.3 dB | 3.92 dB |
| Hann | 4칸 | −31.5 dB | 1.42 dB |
| Hamming | 4칸 | −42.4 dB | 1.75 dB |
| Blackman | 6칸 | −58.1 dB | 1.10 dB |
로 계산한 값이다. mainlobe 폭은 양쪽 첫 영점 사이의 거리이고, 마지막 열(톤이 칸 사이 한가운데에 있을 때 봉우리가 낮아지는 정도)은 다음 절에서 다룬다. 창을 고르는 것은 절충이다.
- mainlobe가 좁을수록 가까운 두 톤을 가른다. 세기가 비슷한 두 톤이 1–2칸 떨어져 있으면 사각 창이 유리하다.
- sidelobe가 낮을수록 큰 톤 옆의 작은 톤이 보인다. 큰 톤의 sidelobe가 작은 톤보다 높으면 작은 톤은 그 밑에 묻힌다.
아래 그림은 8.3 Hz의 큰 톤 옆 12.5 Hz(4.2칸 떨어짐)에 40 dB 작은 톤이 있는 기록이다(, Hz). 세로축은 창마다 으로 나눈 dB라서, 칸에 맞는 진폭 1인 톤이 어느 창에서나 0 dB이다. 먼저 사각 창에서 12.5 Hz 자리에 봉우리가 있는지 찾고, 창을 바꿔 가며 다시 찾는다.
두 복소 톤(8.3 Hz, 진폭 1과 12.5 Hz, 진폭 0.01 = −40 dB)을 64 Hz로 64개 모은 기록이다. 곡선은 유한 기록의 DTFT, 점은 DFT이다. 창은 사각, Hann, Blackman 가운데 고른다.
해 보기
- 사각 창으로 본다.
관찰
작은 톤의 mainlobe가 덮는 12.5 ± 1 Hz 안에서 큰 톤의 sidelobe는 최대 약 −21 dB로, −40 dB인 작은 톤보다 19 dB 높다(12.5 Hz 한 점에서는 −27 dB). 작은 톤은 봉우리로 보이지 않는다.
- 창을 Hann으로 바꾼다.
관찰
12.5 Hz 한 점의 누설은 약 −51 dB이지만, 12.5 ± 1 Hz 안에서는 11.7 Hz의 둘째 sidelobe가 약 −42 dB로 작은 톤과 거의 같은 세기이다. 그래서 작은 톤이 있다는 것은 보이지만, 두 성분이 겹쳐 봉우리가 약 11.8 Hz, −37 dB에 선다. 자리와 높이는 틀리다. 큰 톤의 봉우리는 넓어졌다.
- 창을 Blackman으로 바꾼다.
관찰
12.5 ± 1 Hz 안의 누설이 최대 약 −58 dB(12.5 Hz 한 점에서는 −63 dB)로 작은 톤보다 18 dB 낮아, 작은 톤이 −40 dB에서 제 모양을 갖춘다. 대신 mainlobe가 6칸으로 넓어져 두 봉우리 사이 골은 6.6 dB로 얕다.
강의 노트