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

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

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

Можно также нажать кнопку 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

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

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

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

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

phasez(h,1)

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

| | | | |

Для просмотра документации необходимо авторизоваться на сайте