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