Групповая задержка фильтра является мерой средней задержки фильтра как функция частоты. Групповая задержка задана как отрицательная первая производная фазового отклика фильтра. Если комплексная частотная характеристика фильтра , затем групповая задержка
,
где фаза или аргумент, . Используйте grpdelay
функция, чтобы вычислить групповую задержку фильтра. Например, проверьте, что для КИХ-фильтра линейной фазы групповая задержка является половиной порядка фильтра.
d = designfilt('lowpassfir','FilterOrder',20,'CutoffFrequency',200,'SampleRate',2000); islinphase(d)
ans = logical
1
grpdelay(d)
Задержка фазы фильтра задана как отрицание фазы, разделенной на частоту:
.
Используйте phasedelay
функция, чтобы вычислить задержку фазы фильтра. Для КИХ-фильтра линейной фазы предыдущего примера задержка фазы равна групповой задержке.
phasedelay(d)
Используйте FVTool, чтобы построить и групповую задержку и задержку фазы системы на том же графике. Например, постройте задержки пятого порядка Баттерворт фильтр lowpass.
d = designfilt('lowpassiir','FilterOrder',5,'HalfPowerFrequency',200,'SampleRate',2000); fvtool(d,'Analysis','grpdelay','OverlayedAnalysis','phasedelay','Legend','on')
FVTool | grpdelay
| phasedelay