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

Функции 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)

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

| | | | |