Для смыслового понимания я приготовил демонстрашку в маткаде.
Спектр Фурье, это разложение по базису собственных функций оператора сдвига по времени. Комплексные экспоненты это собственные вектора, оператора сдвига во времени. При сдвиге во времени каждая комплексная экспонента какой либо частоты не порождает комплексных экспонент другой частоты. Поэтому канонический спектр это разложение на комплексные экспоненты, а не к примеру на косинусы и синусы. При сдвиге во времени косинусы могут порождать синусы, они не являются собственными функциями оператора сдвига по времени.
Любой реальный колебательный процесс содержит в спектре Фурье отрицательные и положительные частоты комплексных экспонент. Каждая спектральная составляющая складываясь со своей зеркальной компонентой взаимно уничтожают мнимую компоненту. Поэтому в реальных физических колебательных процессах остаются ненулевыми только действительные величины и не остаётся мнимых. Чтобы выделить мнимую компоненту, которая присутствует на каждой отдельной частоте нужно поступить наоборот с зеркальными половинами спектра. Фильтр Гильберта, насколько я понимаю именно это и делает. Он взаимно вычитает действительные компоненты на зеркальных частотах и складывает мнимые, которые в присутствуют в зеркальных половинках спектра с противоположным знаком.
На моём рисунке зелёным цветом задана формула фильтра Гильберта в спектральном виде. Справа на графике зелёным цветом нарисованы две половинки спектра, где одна из половин инвертируется.
Поскольку речь вероятно идёт о практическом применении, это означает что существует тактовая частота дискретизации сигнала. Поэтому необходимо использовать фильтр Найквиста для сигнала. То есть - надо выбрать рабочую полосу шириной равной частоте дискретизации, и обрезать все частоты вне этой полосы. Во второй строчке из спектрального фильтра получена временная импульсная характеристика этого фильтра Гильберта с одновременным обрезанием спектра за пределами взятия интеграла по частоте от
до
. В качестве рабочей полосы выбрана нулевая зона Найквиста. В знаменателе сидят нормирующие множители. В общем-то они отношения к вопросу не имеют, но так для красоты и порядка я их оставил. В третьей строчке проверка того, что нормировка сделана правильно.
И наконец, внизу третий график, где нарисована действительная и мнимая составляющая импульсной характеристики фильтра Гильберта. Красным цветом нарисована действительная нулевая часть. Если бы спектр не инвертировали, а взяли бы вместо фильтра Гильберта тождественную единицу, то здесь красным была бы функция
. Синим цветом здесь - та самая, мнимая компонента, импульсной характеристики фильтра Гильберта. Хвосты этой характеристики ненулевые в бесконечности по времени как в прошлом так и в будущем. Инженерно-программный выбор заключается в выборе рабочей области характеристики, который будет использоваться. Обрезанный остаток хвостов определяет ошибку фильтрации. Идеальный необрезанный фильтр имеет бесконечные хвосты импульсной характеристики. Разумно было бы отрезать хвосты симметрично. Так можно минимизировать ошибку при равной длине выбранной рабочей области импульсной характеристики.
На вашем графике нарисован наклон фазовой характеристики. Это связано исключительно с выбором системы координат в которой размещён ваш кусок импульсной характеристики. За что я не люблю такие матлабовские картинки - непонятно происхождение вашего графика. А в моём маткадовском файле картинки рисуются по формулам указанным на рисунке. Если вы перепишете эти формулы, вы получите точно такие же графики. Если сдвинуть характеристику на время t, то возникнет дополнительный фазовый сдвиг
. Отсюда и наклон фазы у вашего графика. Если разместить симметрично относительно нуля координат, то наклона фазы не будет.
Теперь о задержках. Допустим в данном случае мы выбрали 21 точку как нарисовано на нижней картинке. Пусть 21 точка это длина импульcной характеристики. Её центр находится в нуле, и ещё по 10 точек в прошлом и будущем относительно точки t=0. Двигаясь по времени мы постепенно заполняем новыми поступившими отсчётами наш КИХ-фильтр, в котором требуются 21 значение для вычисления суммы.
Пусть на входе в t=0 поступил первый отсчёт сигнала. Мы хотим понять, когда на выходе такого КИХ-фильтра мы увидим отклик этой точки в центре импульсной характеристики. После того как первая партия отсчётов заполнит ещё 20 точек, мы получим 21 точку на входе и посчитаем первый отклик на выходе. Но он не будет соответствовать центру выбранной импульсной характеристики, он будет находиться лишь первым с краю. Надо подождать ещё 10 точек, когда самый первый отсчёт дойдёт до центра и попадёт в перемножитель с центральным коэффициентом. Итого 31 требуется для получения первого значения в центре. 31-1=30 это и вероятно есть программная задержка, о который вы спрашиваете. Она складывается из длины импульсной характеристики плюс расположение фазового центра относительно края.