Фазовый отклик

Функции MATLAB® доступны, чтобы извлечь фазовый отклик фильтра. Учитывая частотную характеристику, функциональный abs возвращает величину и angle возвращает угол фазы в радианах. Просмотреть величину и фазу Фильтра Баттерворта с помощью fvtool:

d = designfilt('lowpassiir','FilterOrder',9, ...
    'HalfPowerFrequency',400,'SampleRate',2000);
fvtool(d,'Analysis','freq')

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) and Phase Response contains an object of type line.

Можно также нажать кнопку Magnitude и Phase Response на панели инструментов или выбрать Analysis> Magnitude и Phase Response, чтобы отобразить график.

unwrap функция также полезна в анализе частоты. unwrap разворачивает фазу, чтобы сделать его непрерывным через разрывы фазы на 360 ° путем добавления множителей ±360 °, по мере необходимости. Чтобы видеть, как unwrap полезно, спроектируйте 25-й порядок КИХ-фильтр lowpass:

h = fir1(25,0.4);

Получите частотную характеристику с freqz и постройте фазу в градусах:

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

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

Это затрудняет, чтобы отличить скачки на 360 ° (артефакт функции арктангенса в angle) от скачков на 180 °, которые показывают нули в частотной характеристике.

unwrap устраняет скачки на 360 °:

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

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

В качестве альтернативы можно использовать phasez видеть развернутую фазу:

phasez(h,1)

Figure contains an axes. The axes with title Phase Response contains an object of type line.

Смотрите также

| | | | |