主要内容

ヒルベルト変換および瞬時周波数

ヒルベルト変換で推定されるのは,単一成分の信号の瞬時周波数のみです。単一成分の信号は,単一の“リッジ”によって時間-周波数平面に表されます。一連の単一成分信号には単一の正弦波とチャ,プのような信号が含まれます。

1 kHzで2秒間サンプリングしたチャプを生成します。初期周波数が100hzで,1秒後には200hzに増加するようにチャプを指定します。

Fs = 1000;T = 0:1/fs:2-1/fs;Y = chirp(t, 100,1200);

関数pspectrumに実装された短時間フ,リエ変換を使用して,チャ,プのスペクトログラムを推定します。信号は,各時点の単一のピ,ク周波数によって明確に表されます。

pspectrum (y, fs,的谱图

图中包含一个轴对象。标题为Fres = 10.267 Hz, Tres = 250 ms的axes对象包含一个image类型的对象。

瞬時周波数を測定するために解析信号を計算して位相を微分します。導関数をスケ,リングすることで有効な推定が得られます。

Z = hilbert(y);Instfrq = fs/(2*pi)*diff(unwrap(angle(z)));CLF plot(t(2:end),instfrq) ylim([0 fs/2])

图中包含一个轴对象。axis对象包含一个line类型的对象。

関数instfreqは,1ステップで瞬時周波数を計算し,表示します。

instfreq (y, fs,“方法”希尔伯特的

图中包含一个轴对象。标题为“瞬时频率估计”的axis对象包含一个类型为line的对象。

信号が単一成分ではない場合は,メソッドが失敗します。

1023赫兹で2秒間サンプリングされた周波数60 Hzと90 Hzの2つの正弦波の和を生成します。スペクトログラムを計算してプロットします。各時点で2の成分の存在が示されます。

Fs = 1023;T = 0:1/fs:2-1/fs;X = sin(2* *60*t)+sin(2* *90*t);pspectrum (x, fs,的谱图)蜱虫([60 90])

图中包含一个轴对象。标题为Fres = 10.257 Hz, Tres = 250.2444 ms的axes对象包含一个image类型的对象。

解析信号を計算し,その位相を微分します。正弦波の周波数を囲む領域でズムンします。解析信号により,正弦波周波数の平均である瞬時周波数が予測されます。

Z = hilbert(x);Instfrq = fs/(2*pi)*diff(unwrap(angle(z)));Plot (t(2:end),instfrq) ylim([60 90]) xlabel(“时间(s)”) ylabel (的频率(赫兹)

图中包含一个轴对象。axis对象包含一个line类型的对象。

関数instfreqは,平均の推定も行います。

instfreq (x, fs,“方法”希尔伯特的

图中包含一个轴对象。标题为“瞬时频率估计”的axis对象包含一个类型为line的对象。

時間の関数として両方の周波数を推定するには,光谱图を使用して,パワ,スペクトル密度とtfridgeを探し,2のリッジを追跡します。tfridgeで,周波数の変更に対してペナルティを0.1に設定します。

[s,f,tt] = pspectrum(x,fs,的谱图);Numcomp = 2;[冰箱,~,lr] = tfridge(s,f,0.1,“NumRidges”, numcomp);pspectrum (x, fs,的谱图)举行plot3 (tt、冰箱、abs (s (lr)),“线宽”, 4)yticks ([90])

图中包含一个轴对象。标题为Fres = 10.257 Hz, Tres = 250.2444 ms的axis对象包含3个类型为image, line的对象。

参考

|

関連するトピック