フラクタル信号を作る
フラクショナルブラウン運動(fBm)
任意のHurst指数 H をもつfBmは以下のように定義される.

ここで W ( T ) はガウシァンノイズである.fBmの特徴として,スペクトル P ( f ) ,パワースペクトル密度 Sv ( f ) は以下の関係を近似的に有する.

フラクショナル積分による作成
H = 0.5 とするとそのパワースペクトルの傾きは f -2 となり,ブラウン運動(ランダムウォーク)とよばれるこの信号は次式により与えられる.

即ち,単純な1階積分によって得られるわけだが,1 / f ノイズなどを作ろうとすると,
次の面倒な積分処理をおこなう必要がある.
・非整数階の微積分
信号f(t)のα階微分は以下の式で定義される.

微分された信号は以下のような,α階の積分により復元される.

ここで, f (α) は f ( t ) をα階微分した信号であり,
フラクタル信号を生成するさいは,一般的に無相関のガウシアン乱数が用いられる.
この非整数階の積分を利用することで任意のHurst指数のfBmを生成できる.
フラクショナル微積分を利用して生成した H = {1.0, 0.9, ・・・, -0.9} のフラクタル信号の波形,および,
パワースペクトルを以下に示す.





生成されたフラクタル信号の波形





生成されたフラクタル信号のパワースペクトル
スペクトル近似法による作成
ここでは要求されるスペクトル密度 f -β をもつランダム関数を直接作る方法がある.
まず,擬似乱数発生器によって,スペクトル密度 Sw(f) が一定なホワイトノイズ W(t) を生成する.
この W(t) に対して,伝達関数 T(t) のフィルタを通すとスペクトル密度が,

の出力 V(t) を得る.ここで T(f)~f-β/2 である.
実際の処理は以下のようにおこなう.
(1) 無相関のガウシァン乱数 W(t) をつくる
(2) FFTを使って,フーリエ級数 P(f) = R(f) + j I(f) を求める
(3) パワースペクトル S(f) = R(f)2 + I(f)2 で与えられるので,
パワースペクトルの傾きが -(2H+1) となるように,P(f)' = P(f) × f-(H+1/2) を求める
※注意 FFTでは最初の半分のデータと後半の半分のデータに分かれるため,該当周波数を与える際に間違わないようにする
※注意 FFTでの折り返された成分は共役を取っておかないと,逆FFTをかけたときに実数データに戻らなくなる
※補足 P(f)' の直流成分は 0 とする.
(4) 変換後のパワースペクトル P(f)' を逆FFTにかける
(5) 実数のフラクタルデータが生成される
FFTの影響による高周波成分の折り返しが気になる場合は,時間刻みを細かくした W(t) から
フラクタルデータを生成し,最後に希望のサンプリング周波数でリサンプリングすればよい.
戻る
2002/3
by Hiroyuki Koga