Дискретное время аналитический сигнал с помощью Гильберта преобразовывает
x = hilbert(xr)
x = hilbert(xr,n)
Аналитический сигнал для последовательности xr
имеет одностороннее преобразование Фурье. Таким образом, преобразование исчезает для отрицательных частот. Чтобы аппроксимировать аналитический сигнал, hilbert
вычисляет БПФ входной последовательности, заменяет те коэффициенты БПФ, которые соответствуют отрицательным частотам с нулями, и вычисляет обратный БПФ результата.
hilbert
использует алгоритм с четырьмя шагами:
Вычислите БПФ входной последовательности, храня результат в векторном x
.
Создайте векторный h
, элементы которого h(i)
имеет значения:
1 для i
= 1, (n/2)+1
2 для i
= 2, 3 ... , (n/2)
0 для i
= (n/2)+2
... , n
Вычислите поэлементное произведение x
и h
.
Вычислите обратный БПФ последовательности, полученной на шаге 3, и возвращает первые элементы n
результата.
Этот алгоритм был сначала введен в [2]. Метод принимает, что входной сигнал, x
, является конечным блоком данных. Это предположение позволяет функции удалять спектральное сокращение в x
точно. Методы на основе КИХ-фильтрации могут только аппроксимировать аналитический сигнал, но у них есть преимущество, которым они управляют постоянно на данных. Смотрите Амплитудную Модуляцию Одно Боковой полосы для другого примера Гильбертова преобразования, вычисленного с КИХ-фильтром.
[1] Claerbout, Джон Ф. Основные принципы Геофизической Обработки данных с Приложениями к Нефтяной Разведке. Оксфорд, Великобритания: Блэквелл, 1985, стр 59–62.
[2] Марпл, S. L. “Вычисляя Дискретное время Аналитический Сигнал через БПФ”. IEEE® Transactions на Обработке сигналов. Издание 47, 1999, стр 2600–2603.
[3] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. 2-й Эд. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.