REMI Lab강의 노트

Wireless Embedded Systems E03

3장 디지털 신호와 표본화

누설과 창 함수

톤이 칸 사이에 놓이면 에너지가 모든 칸으로 번진다. 이 번짐을 없앨 수 있을까? 없앨 수 없다면 어떻게 줄일까?

이 번짐을 누설(spectral leakage)이라고 한다. DFT 점이 창 스펙트럼의 영점이 아닌 곳, 곧 sidelobe 위에 떨어져서 생긴다. 시간에서 보면 이렇다. DFT는 표본 NN개를 한 주기로 보고 되풀이된다고 가정하는데, 기록 안에 정수 주기가 들어 있지 않으면 한 주기의 끝과 다음 주기의 시작이 이어지지 않고 튄다. 그 튐이 모든 주파수에 성분을 만든다.

신호의 주파수를 미리 알 수 없고 실제 신호에는 여러 주파수가 섞여 있으므로, 모든 성분을 칸에 맞출 수는 없다. 누설은 피할 수 없다. 대신 기록의 양 끝을 0으로 부드럽게 줄이는 가중치 w[n]w[n]을 곱해 튐을 없앨 수 있다. 이것이 창 함수(window function)이고, 끝을 누그러뜨린다는 뜻으로 apodization이라고도 한다.

y[n]=x[n] w[n],n=0,1,…,N−1y[n]=x[n]\,w[n],\qquad n=0,1,\ldots,N-1

자주 쓰는 창은 다음과 같다(모두 n=0…N−1n=0\ldots N-1).

wHann[n]=0.5−0.5cos⁡(2πn/N)wHamming[n]=0.54−0.46cos⁡(2πn/N)wBlackman[n]=0.42−0.5cos⁡(2πn/N)+0.08cos⁡(4πn/N)\begin{aligned} w_{\mathrm{Hann}}[n]&=0.5-0.5\cos(2\pi n/N)\\ w_{\mathrm{Hamming}}[n]&=0.54-0.46\cos(2\pi n/N)\\ w_{\mathrm{Blackman}}[n]&=0.42-0.5\cos(2\pi n/N)\\ &\quad+0.08\cos(4\pi n/N) \end{aligned}

아래 그림은 사각 창과 두 창의 모양, 그리고 각 창의 스펙트럼을 dB로 그린 것이다. 먼저 위 그림에서 양 끝이 0으로 내려가는 정도를 비교하고, 아래 그림에서 첫 영점의 위치(mainlobe 폭)와 점선으로 표시한 가장 큰 sidelobe의 높이를 비교한다.

사각, Hann, Blackman 창(N = 64)의 모양과 스펙트럼. 사각 창은 mainlobe가 가장 좁고(첫 영점 1칸) 가장 큰 sidelobe가 −13.3 dB이다. Hann은 첫 영점 2칸, −31.5 dB, Blackman은 3칸, −58.1 dB이다.RectangularHannBlackman010N/2N w[n]표본 n0−20−40−60−80−100012345678dB (봉우리 = 0)봉우리에서 떨어진 칸 수−13.3 dB−31.5 dB−58.1 dB
N = 64인 주기형 창이다. 아래 그림의 가로축은 봉우리에서 떨어진 칸 수(1칸 = 1/Tobs)이고, 세로축은 20·log₁₀(|W|/W(0))이다. 끝을 부드럽게 줄일수록 sidelobe가 낮아지지만 첫 영점이 1칸(사각)에서 2칸(Hann), 3칸(Blackman)으로 밀려나 mainlobe가 넓어진다.
창 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

N=64N=64로 계산한 값이다. mainlobe 폭은 양쪽 첫 영점 사이의 거리이고, 마지막 열(톤이 칸 사이 한가운데에 있을 때 봉우리가 낮아지는 정도)은 다음 절에서 다룬다. 창을 고르는 것은 절충이다.

  • mainlobe가 좁을수록 가까운 두 톤을 가른다. 세기가 비슷한 두 톤이 1–2칸 떨어져 있으면 사각 창이 유리하다.
  • sidelobe가 낮을수록 큰 톤 옆의 작은 톤이 보인다. 큰 톤의 sidelobe가 작은 톤보다 높으면 작은 톤은 그 밑에 묻힌다.

아래 그림은 8.3 Hz의 큰 톤 옆 12.5 Hz(4.2칸 떨어짐)에 40 dB 작은 톤이 있는 기록이다(N=64N=64, fs=64f_s=64 Hz). 세로축은 창마다 ∑nw[n]\sum_n w[n]으로 나눈 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 가운데 고른다.

해 보기

  1. 사각 창으로 본다.
    관찰

    작은 톤의 mainlobe가 덮는 12.5 ± 1 Hz 안에서 큰 톤의 sidelobe는 최대 약 −21 dB로, −40 dB인 작은 톤보다 19 dB 높다(12.5 Hz 한 점에서는 −27 dB). 작은 톤은 봉우리로 보이지 않는다.

  2. 창을 Hann으로 바꾼다.
    관찰

    12.5 Hz 한 점의 누설은 약 −51 dB이지만, 12.5 ± 1 Hz 안에서는 11.7 Hz의 둘째 sidelobe가 약 −42 dB로 작은 톤과 거의 같은 세기이다. 그래서 작은 톤이 있다는 것은 보이지만, 두 성분이 겹쳐 봉우리가 약 11.8 Hz, −37 dB에 선다. 자리와 높이는 틀리다. 큰 톤의 봉우리는 넓어졌다.

  3. 창을 Blackman으로 바꾼다.
    관찰

    12.5 ± 1 Hz 안의 누설이 최대 약 −58 dB(12.5 Hz 한 점에서는 −63 dB)로 작은 톤보다 18 dB 낮아, 작은 톤이 −40 dB에서 제 모양을 갖춘다. 대신 mainlobe가 6칸으로 넓어져 두 봉우리 사이 골은 6.6 dB로 얕다.