Main Content

위상 응답

MATLAB® 함수를 사용하여 필터의 위상 응답을 추출할 수 있습니다. 주어진 주파수 응답에 대해 함수 abs는 크기를 반환하고 angle은 위상각(단위: 라디안)을 반환합니다. 버터워스 필터의 크기와 위상을 확인하려면 다음을 입력하십시오.

d = designfilt("lowpassiir",FilterOrder=9, ...
    HalfPowerFrequency=0.4);
freqz(d)

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.

unwrap 함수는 주파수 분석에서도 유용합니다. unwrap은 필요에 따라 ±360°의 배수를 더하여 위상을 펼침으로써 360° 위상 불연속 지점에서 위상을 연속으로 만듭니다. unwrap이 얼마나 유용한지 살펴보기 위해 다음과 같이 25차 저역통과 FIR 필터를 설계해 보겠습니다.

h = fir1(25,0.4);

freqz로 주파수 응답을 구하고 위상을 도 단위로 플로팅합니다.

[H,f] = freqz(h,1,512,2);
plot(f,angle(H)*180/pi)
grid

Figure contains an axes object. The axes object contains an object of type line.

360° 비약(angle 내의 아크탄젠트 함수로 인해 생성된 아티팩트)과 주파수 응답에서 0을 나타내는 180° 비약을 구분하기가 어렵습니다. unwrap은 360° 비약을 제거합니다.

plot(f,unwrap(angle(H))*180/pi)

Figure contains an axes object. The axes object contains an object of type line.

또한 phasez를 사용하여 펼쳐진 위상을 확인할 수도 있습니다.

phasez(h,1)

Figure contains an axes object. The axes object with title Phase Response, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Phase (radians) contains an object of type line.

참고 항목

| | | |