Функции MATLAB ® доступны, чтобы извлечь фазовый отклик фильтра. Учитывая частотную характеристику, функция abs
возвращает величину и angle
возвращает угол фазы в радианах. Чтобы просмотреть величину и фазу фильтра Баттерворта, используя fvtool
:
d = designfilt('lowpassiir','FilterOrder',9, ... 'HalfPowerFrequency',400,'SampleRate',2000); fvtool(d,'Analysis','freq')
Можно также нажать кнопку Величины и Фазового отклика на панели инструментов или выбрать Анализ > Величиной и Фазовым откликом, чтобы отобразить график.
The unwrap
функция также полезна в частотном анализе. unwrap
разрывает фазу, чтобы сделать ее непрерывной на 360 ° разрывы фазы путем добавления кратных ± 360 °, по мере необходимости. Чтобы увидеть, как unwrap
полезно разработать lowpass конечная импульсная характеристика 25-го порядка:
h = fir1(25,0.4);
Получите частотную характеристику с freqz
и постройте график фазы в степенях:
[H,f] = freqz(h,1,512,2); plot(f,angle(H)*180/pi) grid
Трудно различить переходы 360 ° (артефакт функции arctangent внутри angle
) из переходов на 180 °, которые означают нули в частотной характеристики.
unwrap
устраняет переходы на 360 °:
plot(f,unwrap(angle(H))*180/pi)
Также можно использовать phasez
для просмотра развёрнутой фазы:
phasez(h,1)