Main Content

카이저 윈도우

카이저 윈도우는 사이드로브 에너지에 대한 메인로브 에너지의 비율이 최대화되는 장형 타원체 윈도우의 근삿값입니다. 특정 길이를 갖는 카이저 윈도우에 대해, 파라미터 β가 사이드로브의 상대적 감쇠량을 제어합니다. 주어진 β에 대해, 사이드로브의 상대적 감쇠량은 윈도우 길이를 기준으로 고정됩니다. 명령문 kaiser(n,beta)는 파라미터 beta를 사용하여 길이가 n인 카이저 윈도우를 계산합니다.

β가 증가하면 사이드로브의 상대적 감쇠량이 줄어들고 메인로브 폭이 늘어납니다. 아래 스크린샷에서는 길이가 달라져도 고정된 β 파라미터에 대해 사이드로브의 상대적 감쇠량이 대략 동일하게 유지되는 것을 보여줍니다.

아래 예제에 길이가 50이고 β 파라미터가 1, 4, 9인 경우의 카이저 윈도우가 표시되어 있습니다.

MATLAB® 명령줄을 사용하여 카이저 윈도우를 만들려면 다음을 입력하십시오.

n = 50;
w1 = kaiser(n,1);
w2 = kaiser(n,4);
w3 = kaiser(n,9);
[W1,f] = freqz(w1/sum(w1),1,512,2);
[W2,f] = freqz(w2/sum(w2),1,512,2);
[W3,f] = freqz(w3/sum(w3),1,512,2);
plot(f,20*log10(abs([W1 W2 W3])))
grid
legend('\beta = 1','\beta = 4','\beta = 9')

MATLAB 명령줄을 사용하여 카이저 윈도우를 만들려면 다음을 입력하십시오.

w1 = kaiser(50,4);
w2 = kaiser(20,4);
w3 = kaiser(101,4);
[W1,f] = freqz(w1/sum(w1),1,512,2);
[W2,f] = freqz(w2/sum(w2),1,512,2);
[W3,f] = freqz(w3/sum(w3),1,512,2);
plot(f,20*log10(abs([W1 W2 W3])))
grid
legend('length = 50','length = 20','length = 101')

FIR 설계에서의 카이저 윈도우

카이저 윈도우를 사용하여 주어진 필터 사양 세트를 충족하는 FIR 필터를 설계할 때 사용하면 유용한 공식이 2개 있습니다. 사이드로브의 상대적 감쇠량 –αdB을 얻으려면 β(beta) 파라미터가 다음과 같아야 합니다.

β={0.1102(α-8.7),α>50,0.5842(α-21)0.4+0.07886(α-21),50α21,0,α<21.

천이 폭 Δω rad/sample에 대해 다음 길이를 사용합니다.

n=α-82.285Δω+1.

위와 같은 발견법을 사용하여 설계한 필터는 사양을 거의 충족하긴 하겠지만 검증이 필요합니다. 차차단 주파수 0.5π rad/sample, 천이 폭 0.2π rad/sample, 저지대역 감쇠량 40dB인 저역통과 필터를 설계하기 위해 다음과 같이 시도해 보겠습니다.

[n,wn,beta] = kaiserord([0.4 0.6]*pi,[1 0],[0.01 0.01],2*pi);
h = fir1(n,wn,kaiser(n+1,beta),'noscale');

kaiserord 함수는 주어진 주파수 영역 사양 세트를 충족하기 위해 필요한 필터 차수, 차단 주파수, 카이저 윈도우 베타 파라미터를 추정합니다.

통과대역의 리플이 저지대역의 리플과 대략 비슷합니다. 주파수 응답에서 볼 수 있듯이 이 필터는 사양을 거의 충족합니다.

freqz(h,1)

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title Magnitude, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

참고 항목

함수