実際にフーリエ変換をしてみよう
単発パルス(方形パルス)のフーリエ変換
前回はフーリエ変換の意味と、複素フーリエ係数を求める式からフーリエ変換の式が得られる事を説明しました。今回は実践編という事でフーリエ変換を試してみたいと思います。
図1に示すような、時刻t=0に中心がある単発パルス(方形パルス)のフーリエ変換を行ってみましょう。パルスの横幅をW、パルスの高さ(振幅)をHと定義しています。
本連載ではできるだけ面倒な手計算をしないという方針ですが、この例題に関しては手計算を示したいので、ちょっと辛抱してお付き合いください。
このx(t)をフーリエ変換の公式に代入します。パルス波形がある所とない所(マイナス側・プラス側)の3つに積分区間が分割できます。図1に示したx(t)の定義と積分区間の関係性をよくチェックして下さい。
0をいくら積分しても0であることは自明なので、真ん中の第2項だけが有効な計算です。
Hは時間に関係ない定数なので、積分の外にくくり出すことができます。
積分の中に指数関数だけが残りました。この先の計算をするためには、本連載では説明していない「置換積分」というテクニックが必要になるのですが、とりあえず結果だけ示すと
となります。
右側のカッコ内は2つの複素指数の引き算なのですが、ここを見て「複素形式の三角関数に形が似ている」と気づけた人は大変センスの良い人です!少々トリッキーな事をして、分母の-2iだけをカッコの中に移すと次のように整理することができます。マイナスが移動した結果、分子の引き算順序が逆転している事に注意して下さい。
複素形式の三角関数ではと定義されているので、と解釈すると
という、大変すっきりした形に整います。
さらにここからもう一工夫することができまして、左側の分数にをかけ算して(これは約分すると1なので、かけ算しても値は変化しません)分母を右のsin関数へうつします。
右側の分数は、分子にsin関数、分母に(分子の)sin関数の中身が置かれています。これにはsinc関数(シンクまたはジンク関数と読む)という特別な名前がついており、
と、大変きれいにまとまります。
Wolfram AlphaおよびMaximaで計算してみましょう。パルスの大きさHとパルスの幅Wを文字のまま計算したものと、具体例としてH=5,W=0.5を代入したものを計算してみます。
まずはWolfram Alphaで文字のまま計算させてみます。
Sinc関数まではまとまりませんでしたが、正しく計算できています。続いて値を代入した状態で計算させてみます。
プロット結果を見ると、中心から離れるに従って徐々にsin関数の振幅が小さくなっていることが読み取れます。これがsinc関数の形状です。
続いてMaximaを使って文字のまま計算させてみましょう。
一見今までと異なる計算結果が出ているように見えますが、よく見るとこの式は以下のように整理できます。つまり複素形式のsin関数で表現されているだけで、等価な値です。
続いて値を代入した状態で計算とプロットをさせてみます。
複素形式のsin関数になっていますが、Wolfram Alphaと同じ波形がプロットされました。Maximaではプロット範囲を自由に変えられるので、もっと広い範囲(-12≦f≦12)をプロットしてみましょう。
単発パルス(方形パルス)のスペクトル
続いて、今計算した単発パルス(方形パルス)のスペクトルを求めてみましょう。
まずWolfram Alphaで求めてみます。振幅スペクトルはフーリエ変換結果(スペクトル関数)の絶対値(abs)を求める事で得られます。絶対値なので、振幅が負だった部分が正方向に折り返されます。
位相スペクトルはAbs(絶対値)関数を、位相を求めるArg関数に置き換えれば求められます(ただし残念ながら無料版のWolfram Alphaでは上手くプロットされませんでした)
パワースペクトルは振幅スペクトルを2乗して求められます。
同じことをMaximaでも行ってみましょう。振幅スペクトルはWolfram Alphaと同様にabs関数で求められます。
位相スペクトルはcarg関数で求めます(Wolfram Alphaと関数名が異なるので注意して下さい)
パワースペクトルは振幅スペクトルを2乗して求められます。
今回は計算が多くて大変だったかもしれません。お疲れ様でした。
次回は「フーリエ変換」を「離散フーリエ変換」に進化させる過程をお話しします。
こちらも是非
“もっと見る” ブログ
センサーのすべてがわかる!組み込み技術者のための基礎知識
私たちの生活を豊かにするために欠かせないセンサー。そんなセンサーの仕組みや種類について、分かりやすく解説していきます。
ブラシレスモーター制御用MCUをささっと動かしてみよう!【RL78編】
私の主観としては、”モーター制御用途でも十分使用可能な超汎用MCU”です。現状最も人に勧められるMCUの1つです。2つめのリンク stmcu.jpは、ログインする事でリファレンスマニュアルやペリフェラルの使い方に関する日本語資料が閲覧できますので、ユーザー登録をおススメします。
【フーリエ級数編4:フーリエ係数を求める】イメージでしっかりつかむ信号処理〜基礎から学ぶFFT〜
フーリエ級数で表現したい信号x(t)があるとして、そのx(t)をうまく再現してくれるようなフーリエ係数Ak, Bkを求めることはどうすればできるのでしょうか。