- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

関数
経験的モード分解およびヒルベルト変換

## 関数
template<class T >
bool | mist::hilbert (const array< T > &in, array< std::complex< T > > &out, bool mirror=false)
| ヒルベルト変換
template<class T1 , class T2 >
size_t | mist::emd (const array< T1 > &in, array< T2 > &imf, double sd=0.3)
| 経験的モード分解

## 説明

次のヘッダをインクルードする
#include <mist/hht.h>

## 関数

template<class T1 , class T2 >

size_t mist::emd | ( | const array< T1 > & | in,
|  | array< T2 > & | imf,
|  | double | sd = `0.3`
| ) |  |

経験的モード分解

入力系列に経験的モード分解を適用し，固有モード関数を出力する

注意
  出力の固有モード関数は高周波数成分から順に並ぶ
  便宜上，残差を最後の配列要素として返す

imf[ 0 ] -> 1st IMF imf[ 1 ] -> 2nd IMF imf[ 2 ] -> 3rd IMF : : imf( imf.size( ) - 1 ) -> residual

引数

  [in] | in | … 入力系列
  [out] | imf | … 固有モード関数の配列
  [in] | sd | … シフト処理の終了基準の値 (デフォルトは0.3)

戻り値
  固有モード関数の数 (残差は含まない)

参照先 mist::array< T, Allocator >::begin(), mist::array< T, Allocator >::end(), mist::array< T, Allocator >::resize(), と mist::array< T, Allocator >::size().

template<class T >

bool mist::hilbert | ( | const array< T > & | in,
|  | array< std::complex< T > > & | out,
|  | bool | mirror = `false`
| ) |  |

ヒルベルト変換

解析信号(複素数)の系列を出力する

注意
  出力系列の虚部が実部のヒルベルト変換となっている

引数

  [in] | in | … 入力系列
  [out] | out | … 出力系列
  [in] | mirror | … 端がなめらかになるように折り返し処理をするかどうか (デフォルトはfalse)

戻り値
  変換に成功したかどうか

参照先 mist::array< T, Allocator >::size().