htrans

Преобразование Гильберта

Описание

пример

H = htrans(f) возвращает преобразование Гильберта символьной функции f. По умолчанию независимая переменная t и переменная преобразования x.

пример

H = htrans(f,transVar) использует переменную преобразования transVar вместо x.

пример

H = htrans(f,var,transVar) использует независимую переменную var и переменной преобразования transVar вместо t и x, соответственно.

  • Если все входные параметры массивов одного размера, то htrans действует поэлементно.

  • Если один вход является скаляром, а другие - массивами того же размера, то htrans расширяет скаляр в массив того же размера.

  • Если f - массив символьных выражений с различными независимыми переменными, затем var должен быть символьным массивом с элементами, соответствующими независимым переменным.

Примеры

свернуть все

Вычислите преобразование Гильберта sin(t). По умолчанию преобразование возвращает функцию x.

syms t;
f = sin(t);
H = htrans(f)
H = -cos(x)-cos(x)

Вычислите преобразование Гильберта sinc(x) функция, которая равна sin(pi*x)/(pi*x). Выразите результат как функцию u.

syms f(x) H(u);
f(x) = sinc(x);
H(u) = htrans(f,u)
H(u) = 

-cos(πu)u-1uπ- (cos (sym (pi) * u )/u - 1/u )/sym (pi)

Постройте график sinc функция и ее преобразование Гильберта.

fplot(f(x),[0 6])
hold on
fplot(H(u),[0 6])
legend('sinc(x)','H(u)')

Figure contains an axes. The axes contains 2 objects of type functionline. These objects represent sinc(x), H(u).

Создайте синусоиду с положительной частотой в реальном пространстве.

syms A x t u;
assume([x t],'real')
y = A*sin(2*pi*10*t + 5*x)
y = Asin(5x+20πt)A * sin (5 * x + 20 * sym (pi) * t)

Примените сдвиг фазы -90 градусов к положительной частотной составляющей с помощью преобразования Гильберта. Задайте независимую переменную следующим t и переменную преобразования как u.

H = htrans(y,t,u)
H = -Acos(5x+20πu)-A * cos (5 * x + 20 * sym (pi) * u)

Теперь создайте комплексный сигнал с отрицательной частотой. Применить 90-градусный сдвиг фазы к отрицательной частотной составляющей с помощью преобразования Гильберта.

z = A*exp(-1i*10*t)
z = Ae-10tiA * exp ((-10 * t * sym (1i)))
H = htrans(z)
H = Ae-10xiiA * exp ((-10 * x * sym (1i)) * sym (1i)

Создайте реальный сигнал f(t) с двумя частотными составляющими, 60 Гц и 90 Гц.

syms t f(t) F(s)
f(t) = sin(2*pi*60*t) + sin(2*pi*90*t)
f(t) = sin(120πt)+sin(180πt)sin (120 * sym (pi) * t) + sin (180 * sym (pi) * t)

Вычислите соответствующий аналитический сигнал F(s) использование преобразования Гильберта.

F(s) = f(s) + 1i*htrans(f(t),s)
F(s) = sin(120πs)+sin(180πs)-cos(120πs)i-cos(180πs)isin (120 * sym (pi) * s) + sin (180 * sym (pi) * s) - cos (120 * sym (pi) * s) * sym (1i) - cos (180 * sym (pi) * s) * sym (1i)

Вычислите мгновенную частоту F(s) использование

finstant(s)=12πdϕ(s)ds,

где ϕ(s)=arg[F(s)] - мгновенная фаза аналитического сигнала.

InstantFreq(s) = diff(angle(F(s)),s)/(2*pi);
assume(s,'real')
simplify(InstantFreq(s))
ans = 75sym (75)

Входные параметры

свернуть все

Вход, заданный как символьное выражение, символьная функция, символьный вектор или символьная матрица.

Независимая переменная, заданная как символьная переменная, символьный вектор или символьная матрица. Эта переменная обычно находится во временном интервале. Если вы не задаете переменную, то htrans использует t по умолчанию. Если f не содержит t, затем htrans использует функцию symvar для определения независимой переменной.

Переменная Преобразования, заданная как символьная переменная, символьный вектор или символьная матрица. Эта переменная находится в той же области, что и var. Если вы не задаете переменную, то htrans использует x по умолчанию. Если x является независимой переменной f, затем htrans использует переменную преобразования v.

Выходные аргументы

свернуть все

Преобразование Гильберта или гармонический сопряженный функции вход f. Область выхода H является функцией от переменной, заданной как transVar.

Когда htrans не может преобразовать функцию входа, она возвращает недооцененный вызов. Чтобы вернуть исходное выражение, примените обратное преобразование Гильберта к выходу при помощи ihtrans.

Подробнее о

свернуть все

Преобразование Гильберта

Преобразование Гильберта H = H (x) выражения,   f = f(t) относительно переменной t в точке x,

H(x)=1πp.v.f(t)xtdt.

Здесь p.v. представляет основное значение Коши интеграла. Функция f(t) может быть сложной, но t и x должны быть реальными.

Совет

  • Чтобы вычислить обратное преобразование Гильберта, используйте ihtrans. Преобразование Гильберта функции равно отрицательному ее обратному преобразованию Гильберта.

  • Для сигнала во временном интервале преобразование Гильберта применяет сдвиг фазы -90 градусов к положительным частотам соответствующих компонентов Фурье. Это также применяет 90-градусный сдвиг фазы к отрицательным частотам.

  • Для фактического сигнала a, преобразование Гильберта b = htrans(a) возвращает его гармонический сопряженный b. Действительный сигнал a = real(z) и его преобразование Гильберта b = imag(z) сформировать аналитический сигнал z = a + 1i*b.

См. также

| | | |

Введенный в R2019a