皆さんお久しぶりです。ZMSのいっちです。
前回まで周期的・非周期的な連続信号について、フーリエ級数・フーリエ変換により時間領域と周波数領域の相互変換について説明してきました。
今回からいよいよ離散信号について扱っていきます。
離散信号
一言で言えば、連続信号は「連続時間で変化する信号」であるのに対して、離散信号とは「離散時間で変化する信号」です。ある事象を一定の間隔で測定した飛び飛びの値、ボクたちがサンプリングするデータはまさに「離散」的なデータです。
上図で言えば、実際の信号は赤い点線で示す連続信号ですが、観測者は一定間隔でサンプリングするために青い線で示すような飛び飛びの値を得ることになります。この一定間隔をTs (sec)とすれば、n回目のサンプリングデータはnTs (sec)の時の値となり、離散信号はサンプリング周期Ts を係数とする数列で表現できます。
しかし、このままではサンプリング周期を変えると数列の係数が変化するので扱いづらくなります。したがってn回目のサンプリングという無次元係数で表現することにします。これを正規化するといい、1サンプリング間の位相変化を正規化角周波数ωとします。正規化前の角周波数をΩとした場合、ω=ΩTsとなります。
離散信号の注意点としては、観測できる信号の角速度は-π〜πまでであることです。上図では赤い点線の信号の2倍の周波数の信号を、青い点線で描画していますが、サンプリング結果は全く同じ(青い棒)になるので注意です。
離散時間フーリエ変換
前回、非周期的な連続時間信号をフーリエ変換すると、非周期的な連続周波数信号を得られました。同様に、非周期的な離散信号をフーリエ変換すると、どのような周波数信号を得ることが出来るのでしょうか。上述の通りn回目のサンプリングデータを、数列 f[n]と表現します。フーリエ変換式に入れるためには、次式のように離散信号を連続信号であるかのように場合分けで表現します。
この式を複素フーリエ変換式に代入します。係数がΩではなくωになっていますが、先程の正規化された角周波数ω=ΩTs を係数としているからです。
しかし、この関数は点しかないので、積分しても0となってしまいます。ここで、ディラックのデルタ関数を使うことですっきり解くことができるので紹介します。デルタ関数とは、時間0で高さ無限大、幅は0、面積は1となる特殊な関数です。
この関数の使い方は、他の関数にデルタ関数をかけて積分することで、ある時間の関数の値を取得することです。ある時刻t=t1の場合の関数x(t)を求めたい場合には、
を計算します。この式はt=t1でしか値を持たないため、
と解くことができます。先程の図1の各点にデルタ関数をかけて複素フーリエ変換式に代入すると次のようになります。
t=n でしかデルタ関数は値を持たないため、離散時間フーリエ変換式は次式のようになります。非周期的な離散時間の数列から、周期的な連続周波数の関数を得ることができました。
最初の方で説明した通り、離散信号で扱う角周波数は-π〜πまでです。また上記の周波数関数は周期的であるため、離散時間フーリエ逆変換は、前回のフーリエ逆変換式と同様に次式のように求められます。
離散フーリエ変換
これまでのフーリエ変換の結果から、時間領域と周波数領域の関係を見てみると次のようになります。
この表から、周期的な信号をフーリエ(逆)変換すると離散的になり、非周期的な信号をフーリエ(逆)変換すると連続的になっています。では、「周期的な離散時間数列」のフーリエ変換はどうなるでしょうか?この変換を離散フーリエ変換とします。
フーリエ級数では時間の周期関数から飛び飛びの周波数成分に分解しましたが、同様に周期的な離散時間の数列を離散時間フーリエ変換すると、周期的な離散周波数の数列を得られます。
上図のような周期的な離散時間数列f[n]を、前述の離散時間フーリエ変換式に入れると、f[n]の全区間を無限に足すことになるため結果は∞に発散します。ここで、f[n]の1周期分(N本)の離散値に相当する離散周波数数列F[k]を考えると、周期2πの間にN本のデルタ関数が並ぶことになります。導出過程は省略しますが、離散フーリエ変換・逆変換は次式で与えられます。
この離散フーリエ変換ですが、時間領域も周波数領域も有限個の数列で表現されるため、コンピュータで扱うことが容易です。
フーリエ変換のまとめ
これですべてのフーリエ変換が出揃いました。周期性・離散性の4パターンのフーリエ変換・逆変換です。まとめると下のようになります。
変換式の見方の”あんちょこ”も載せておきました。
まとめ(2)
信号処理で必要な時間領域と周波数領域の相互変換について、周期性・離散性の各パターンをすべて網羅できました。これらを理解していないと、信号処理で普通に出てくるサンプリング定理、線形時不変システム、インパルス応答、伝達関数、デジタルフィルタ、窓関数、スペクトラム解析、z変換、等々、、、、について「ちんぷんかんぷん」になっちゃいます。
でもこのブログで全部解説するのも大変ですので、次回から大事な部分(サンプリング定理、インパルス応答、デジタルフィルタ、伝達関数あたり)を見繕って解説しようと思います。
じゃあまたね。
予習
畳み込みの定理というものを昔勉強した人いますか?
この畳み込みの定理は、フーリエ変換でも成立します。次回以降多用するので勉強しておいてね。