Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

htrans

説明

H = htrans(f) はシンボリック関数 f のヒルベルト変換を返します。既定では、独立変数は t、変換変数は x です。

H = htrans(f,transVar) は、x の代わりに transVar を変換変数として使用します。

H = htrans(f,var,transVar) は、tx の代わりに vartransVar をそれぞれ独立変数および変換変数として使用します。

  • すべての入力引数が同じサイズの配列である場合、htrans は要素単位で動作します。

  • 1 つの入力がスカラーで他が同じサイズの配列の場合、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)

60 Hz と 90 Hz の 2 つの周波数成分を持つ実数値信号 f(t) を作成します。

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 を使用します。ft を含まない場合、htrans は関数 symvar を使用して独立変数を決定します。

変換変数。シンボリック変数、シンボリック ベクトルまたはシンボリック行列として指定します。この変数は、var と同じ領域にあります。変数を指定しない場合、htrans は既定で x を使用します。xf の独立変数である場合、htrans は変換変数 v を使用します。

出力引数

すべて折りたたむ

入力関数 f のヒルベルト変換または調和共役です。出力 HtransVar で指定される変数の関数です。

htrans が入力関数を変換できない場合は、未評価の呼び出しが返されます。元の式を返すには、ihtrans を使用して出力に逆ヒルベルト変換を適用します。

詳細

すべて折りたたむ

ヒルベルト変換

変数 t の式 f = f(t) の点 x におけるヒルベルト変換 H = H(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 で導入