hilbert
Дискретный аналитический сигнал с использованием преобразования Гильберта.
| Библиотека |
|
Аргументы
Входные аргументы
#
xr —
входной сигнал
вектор | матрица
Details
Входной сигнал, заданный как вещественный вектор или матрица. Если xr комплексный, то hilbert игнорирует его мнимую часть.
| Типы данных |
|
#
n —
длина ДПФ
положительный целочисленный скаляр
Details
Длина дискретного преобразования Фурье (ДПФ), заданная как положительный целочисленный скаляр.
| Типы данных |
|
Выходные аргументы
#
x —
аналитический сигнал
вектор | матрица
Details
Аналитический сигнал, возвращаемый в виде вектора или матрицы.
Примеры
Аналитический сигнал последовательности
Details
Определим последовательность и вычислим ее аналитический сигнал с помощью функции hilbert.
import EngeeDSP.Functions: hilbert
xr = [1 2 3 4]'
x = hilbert(xr)
4×1 Matrix{ComplexF64}:
1.0 + 1.0im
2.0 - 1.0im
3.0 - 1.0im
4.0 + 1.0im
Мнимая часть x — это преобразование Гильберта матрицы xr, а вещественная часть — это сама xr.
imx = imag(x)
4×1 Matrix{Float64}:
1.0
-1.0
-1.0
1.0
rex = real(x)
4×1 Matrix{Float64}:
1.0
2.0
3.0
4.0
Вторая половина ДПФ матрицы x равна нулю. (В этом примере вторая половина преобразования — это просто последний элемент.) Постоянная составляющая и компонента Найквиста в fft(x) являются чисто вещественными.
import EngeeDSP.Functions: fft
dft = fft(x)
4-element Vector{ComplexF64}:
10.0 + 0.0im
-4.0 + 4.0im
-2.0 + 0.0im
0.0 + 0.0im
Дополнительно
Аналитический сигнал
Details
Функция hilbert возвращает комплексную спиральную последовательность, иногда называемую аналитическим сигналом, из последовательности вещественных данных.
Аналитический сигнал имеет вещественную часть , которая представляет собой исходные данные, и мнимую часть , содержащую преобразование Гильберта. Мнимая часть представляет собой версию исходной вещественной последовательности со сдвигом фазы на 90°. Таким образом, синусы преобразуются в косинусы, и наоборот, косинусы преобразуются в синусы. Ряд, преобразованный по Гильберту, имеет ту же амплитуду и частотный состав, что и исходная последовательность. Преобразование включает информацию о фазе, которая зависит от фазы исходной последовательности.
Преобразование Гильберта полезно для вычисления мгновенных характеристик временного ряда, особенно амплитуды и частоты. Мгновенная амплитуда — это амплитуда комплексного преобразования Гильберта; мгновенная частота — это скорость изменения мгновенного фазового угла. Для чистой синусоиды мгновенные амплитуда и частота постоянны. Однако мгновенная фаза представляет собой пилообразную форму, отражающую линейное изменение локального фазового угла в течение одного периода. Для смесей синусоид атрибуты представляют собой краткосрочные, или локальные, усреднения, охватывающие не более двух или трех точек.
В [1] описан метод Колмогорова для минимально-фазовой реконструкции, который включает в себя преобразование Гильберта логарифма спектральной плотности временного ряда. Эту реконструкцию выполняет функция панели инструментов rceps.
Алгоритмы
Аналитический сигнал для последовательности 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. Методы, основанные на КИХ-фильтрации, могут лишь аппроксимировать аналитический сигнал, но их преимущество заключается в непрерывности обработки данных.
Литература
-
Claerbout, Jon F. Fundamentals of Geophysical Data Processing with Applications to Petroleum Prospecting. Oxford, UK: Blackwell, 1985.
-
Marple, S. L. «Computing the Discrete-Time Analytic Signal via FFT.» IEEE® Transactions on Signal Processing. Vol. 47, 1999, pp. 2600–2603.
-
Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.