Contents デジタルメディア処理 2 の概要 フーリエ級数展開と 離散とその性質 周波数フィルタリング 担当 : 井尻敬 とは ( ) FourierSound.py とは ( ) FourierSound.py 横軸が時間の関数を 横軸が周波数の関数に変換する 法 声周波数 周波数 ( 係数番号 ) 後の関数は元信号に含まれる正弦波の量を す 中央に近いほど低周波, 外ほどが 周波 中央 ( 最も低周波 ) は, 定数項で直流成分と呼ばれる 直流成分があるので正弦波の組み合わせでも平均値が0でない信号を作れる 周波 低周波 周波 下の波はイメージ 注 ) グラフ縦軸は 圧 時間 周波数 注 ) グラフ横軸は係数番号 (Hz ではない ) グラフ縦軸は係数の実部 時間 時間 時間 時間 本来はもっともっと細かいです
とは ( 画像 ) の実時間 横軸が時間 / 空間の関数を 横軸が周波数の関数に変換する 法 データ量に依存するが 1D/2D のは 速なので実時間解析可能 Spector Analyzer by Hidetomo Kataoka @ 命館 画像 (2D 空間に画素が並ぶ ) 周波数画像 ( 画素は特定周波数の きさを す ) とは ( 画像 ) とは ( 画像 ) FourierPaint.py FourierImg.py 後の画像の画素は元信号に含まれる正弦波の量を す 中央付近が低周波, 外側が 周波 中央画素は, 定数項 ( 直流成分 ) 任意の画像はしましま画像の和で表現できる この図はイメージです本来は現画像と同サイズでもっと細かいです
余談 ( ノイズ ) 周波数フィルタリング ( ) FourieSound.py ノイズ ( 雑 ) には, それが含む周波数の分布に応じて特定の名前が付いたものがある 信号 ( ) 出 信号 により周波数を考慮した filter が設計できる 1. し 2. 周波数空間でフィルタを掛け 3. フィルタ処理 ゼロ ゼロ ホワイトノイズスペクトルが 様に分布 ピンクノイズスペクトル分布が 1/f に 例 ブラウンノイズスペクトル分布が 1/f 2 に 例 周波数係数 周波成分を完全にゼロに 周波数フィルタリング ( ) 周波数フィルタリング ( 画像 ) イコライザ周波数ごとにボリュームを調整する 質調整器 1. 源をし 2. 周波数ごとにフィルタを掛け 3. フィルタ Itunes のイコライザ フィルタ処理フィルタ画像を掛ける 説明のため Lowpass の半径を きく可視化本当はもっと さい
周波数フィルタリング ( 画像 ) まとめ : 画像のの概要 画像 Low Pass 低周波成分のみ通過 High Pass 周波成分のみ通過 は, 横軸時間の関数を横軸周波数の関数に変換する も定義される 2 次元は画像へ適 できる 周波数空間でフィルタ処理すると, 周波数に特化した信号処理が可能 周波数画像 Band Pass 特定周波成分のみ通過 フィルタ フィルタ処理済周波数画像 出 画像 Contents の概要 フーリエ級数展開と 離散とその性質 周波数フィルタリング オイラーの式 本講義では, の意味的な理解と画像処理応 に重点を置きます. 証明と導出は ( 少しだけしか ) 扱いません. 詳しく知りたい は 先 : これなら分かる応 数学教室 を強くお勧めします. はガウス平 における単位円に乗る これはもうこういう表記法だと思って覚えてください
練習三 関数を合成せよ フーリエ級数 sincos 複素数の積を求めよ 区間, 上の連続関数 は 2 2 csin csin 以下の関係を証明せよ cos 2 cos sin 2 2 cos sin sin : 基本周波数 フーリエ級数 フーリエ級数 区間, 上の連続関数 は 2 cos 1 sin 1 2 区間, 上の連続関数 は 2 2 cos 1 sin 1 cos 2 sin 2 cos 3 sin 3 基本周波数 2 cos 2 cos 3 sin 2 sin 3 sin 1 sin 2 sin 3 sin と cos の振幅を変えて す とも思えるが a k と b k で振幅と位相ずれを制御する とも てもよい 位相がずれても と における位置は同じなので 周期性は保たれていることに注意
フーリエ級数 ( 複素数表記 ) フーリエ級数 ( 複素数表記 ) 区間, 上の連続関数 は 2 2 cos sin この正弦波は何なのか? 1 この複素数表記された正弦波を重ね合わせていることは分かるんだけど cos,sin に べてイメージしにくい が実軸緑が虚軸 が時間軸 https://www.youtube.com/watch?v=yjekbjdhbr4 フーリエ級数 ( 複素数表記 ) フーリエ級数 ( 複素数表記 ) 区間, 上の連続関数 は 区間, 上の連続関数 は 複素数の掛け算 は cossin とすると となる つまり, を掛けるというのは に対し位相を ずらして r 倍する操作だといえる 動画の後半参照 or FourieViz.pde を processing で実 してみてください
まとめ : フーリエ級数展開 今回は導出と証明を省きました詳しく知りたい は教科書参照 練習 : 下の式 (1)-(3) より, 式 (4)(5) を導け オイラーの式 cossin,, cos, sin フーリエ級数展開 : 周期 T を持つ関数は正弦波の重ね合せで表現可 cos sin, cos, sin 2 cos sin cos sin 1 2 3 1 4 5 フーリエ級数展開 ( 複素数表現 ) : 上式にオイラーの式を代 すると以下のように変形できる, 先 : これなら分かる応 数学教室の 3.3 章を参照のこと とは には, 少し異なる複数の定義が存在する : : : : : : 時間 の関数 を 周波数 の関数 に変換する とは複素数関数である ( は実数関数のことが多い ) フーリエ級数展開において T とすると導出できる : :
の導出は, 健 先 これなら分かる応 数学教室 の 3.4 章を参照 Contents の概要 フーリエ級数展開と 離散 周波数フィルタリング 離散 (1D) 1 周期 Nの離散値 を周期 Nの離散値 に変換する と は複素数 ( ただし は実数列のことが多い ) が実数の場合 が成り つ ( ) は定数 ( 直流成分 ) に対応 は [0,N-1] 区間においてN 回振動する正弦波に対応 K=N/2がもっとも 周波で,k=N-1はk=1の正弦波と同じ周波数( 位相は逆 ) グラフは全て複素数
離散 (2D) : : 1 W W 係数画像 31 30 16 WH 32のときの 2 2 H H 縦横 向に周期 H/W で繰り返す離散値 を, 離散値 に変換 と は複素数列 ( は画像 - 実数列 - のことが多い )v, は定数 ( 直流成分 ) の係数, は, 画像区間において 縦にu 回 横に v 回振動する正弦波画像 の係数 U=v=N/2がもっとも 周波で,u=N-1は u=1の正弦波と同じ周波数 ( 位相は逆 ) 2 1 0 0 1 2 16 30 31, は上の (u,v) 番 の画像の係数 実際は, は複素数画像 離散の計算例 N = 8 のとき : f 0,f 1, f 2, f 3, f 4, f 5,f 6,f 7, 1 複素数とかでできてややこしそうだけどただの和分 Shift の話 W 1 8 1 8 1 8 cos 20 20 sin cos 20 20 sin cos 20 20 sin cos 20 20 sin cos 21 21 sin cos 22 22 sin cos 20 20 sin cos 27 27 sin cos 214 sin 214 H 1 8 cos 20 20 sin cos 23 23 sin cos 221 sin 221 を実装すると, ピークが端に来る変換結果になる 上図緑四 : これは間違いじゃない 低周波成分を中 においたほうが分かりやすいので上図 四 の位置を出 することが多い この shift を なう関数が 意されていることも np.fft.ifftshift()
周波数フィルタリング ( ) 周波数フィルタリング ( 画像 ) 信号 ( ) 出 信号 フィルタ処理 ゼロ ゼロ により周波数を考慮した filter が設計できる 1. し 2. 周波数空間でフィルタを掛け 3. フィルタ 周波数係数 周波成分を完全にゼロに フィルタ処理フィルタ画像を掛ける 周波数フィルタリング ( 画像 ) まとめ : 離散と周波数フィルタ Low Pass 低周波成分のみ通過 離散 (1D/2D) の実装 法を解説した 画像 High Pass 周波成分のみ通過 周波数画像 Band Pass 特定周波成分のみ通過 周波数空間でマスクを掛ける周波数フィルタを紹介した フィルタ フィルタ処理済周波数画像 出 画像