Main Content

idealfilter

timeseries の理想フィルター

説明

tsout = idealfilter(tsin,interval,filtertype) は、timeseries オブジェクト tsin について、型が filtertype である理想 (非因果的) フィルターを、interval で指定した周波数範囲に適用します。

理想フィルターは非因果的であり、フィルターの振幅の端は周波数領域で変動が少ないです。ts のデータにはゼロ平均がなければなりません。

tsout = idealfilter(tsin,interval,filtertype,ind) はオプションで、フィルターを適用する tsin の行または列インデックスを指定します。

すべて折りたたむ

最初に、理想ノッチ フィルターを timeseries オブジェクトに適用してから、パス フィルターを適用します。

ファイル count.dat のデータを読み取り、行列 count から timeseries オブジェクトを作成します。

load count.dat
tsin = timeseries(count(:,1),1:24);

tsin のデータの平均値を計算します。

tsinmean = mean(tsin);

データのフィルター処理用に周波数範囲を Hz 単位で定義します。

interval = [0.08 0.2];

理想ノッチ フィルターを呼び出します。

tsoutnotch = idealfilter(tsin,interval,'notch');

元のデータとフィルター処理されたデータを比較します。

plot(tsin,'-.')
hold on
plot(tsoutnotch,'-')

フィルター処理されたデータの平均値を復元します。

tsoutnotchmean = tsoutnotch + tsinmean;
plot(tsoutnotchmean,':')
title('Notch Filter')
legend('Original Data','Filtered Data','Mean Restored',...
       'Location','NorthWest')
hold off 

Figure contains an axes object. The axes object with title Notch Filter, xlabel Time (seconds), ylabel unnamed contains 3 objects of type line. These objects represent Original Data, Filtered Data, Mean Restored.

pass フィルターを使用してフィルター処理を繰り返します。

plot(tsin,'-.')
hold on
tsoutpass = idealfilter(tsin,interval,'pass');
plot(tsoutpass,'-')

tsoutpassmean = tsoutpass + tsinmean;
plot(tsoutpassmean,':')
title('Pass Filter')
legend('Original Data','Filtered Data','Mean Restored',...
       'Location','NorthWest')

Figure contains an axes object. The axes object with title Pass Filter, xlabel Time (seconds), ylabel unnamed contains 3 objects of type line. These objects represent Original Data, Filtered Data, Mean Restored.

入力引数

すべて折りたたむ

ゼロ平均の入力 timeseries。スカラーとして指定します。

  • tsin が等間隔にサンプリングされていない場合、idealfilter はフィルターを適用する前に、均等な時間ベクトルでデータを再度サンプリングします。

  • idealfilter は、フィルターを適用する前に、tsin のすべての NaN 要素を、tsin に関連付けられている内挿法を使用して置き換えます。

データ型: timeseries

周波数範囲。2 列の行列として指定します。この行列の各行は、各間隔の開始周波数と終了周波数を表します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルター タイプ。次のオプションのいずれかとして指定します。

  • 'pass' — 特定の周波数範囲の変動を許可

  • 'notch' — 特定の周波数範囲の変動を消去します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

行または列インデックス。正の整数値スカラーまたはベクトルとして指定します。ind は、列方向のデータ (tsin.IsTimeFirsttrue) の列インデックスと行方向のデータ (tsin.IsTimeFirstfalse) の行インデックスを表します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

バージョン履歴

R2006a より前に導入