Fourier積分

目次 (2023/8/31 ver.0.01)

1番目のタブが選択された!

1.What's New

h4> もくじ

1.1 Fourier解析とは

「Fourier」変換
  • 実変数tの関数「$f(t)$」が与えられた時、以下のような積分を関数「$f(t)$」の「Fourier」積分あるいは「Fourier」変換と呼ぶ。
  • $\Large \displaystyle F(\omega)=\int_{-\infty}^{\infty}f(t)e^{-j\omega t}dt$

  • 関数「$F(\omega)$」は、一般に複素数であり、次のように表す事ができる。
  • $\Large \displaystyle F(\omega)=R(\omega)+jX(\omega)=A(\omega)e^{j\phi(\omega)}$

  • 「$A(\omega)$」は、関数「$f(t)$」のFourierスペクトルと呼ばれる。
  • 「$A(\omega)^2$」は、関数「$f(t)$」のエネルギーrスペクトルと呼ばれる。
「Fourier」逆変換
  • 「Fourier」逆変換として知られる以下の基本公式は、その「Fourier」変換「$F(\omega)$」によって「$f(t)$」を表示している。
  • $\Large \displaystyle f(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{j\omega t}d\omega$

1.2 Fourier級数核とは

  • Fourier級数核「$k_N(t)$」は、以下のように定義される。
  • $\Large \displaystyle k_N(t)=\frac{1}{T}\sum_{n=-N}^{N}e^{jn\omega_0 t}=\frac{1}{T}\sum_{n=-N}^{N}(\cos(n\omega_0 t)+j\sin(n\omega_0 t))$

    $\Large \displaystyle =\frac{1}{T}(1+2\sum_{n=1}^{N}\cos(n\omega_0 t))$

  • 三角関数の加法定理より以下の式が成立する。
  • $\Large \displaystyle \sum_{n=1}^{N}\cos(n\omega_0 t)=\cos(\omega_0 t)+\cos(2\omega_0 t)+\cdots+\cos(N\omega_0 t)$

    $\Large \displaystyle =\frac{1}{2\sin(\frac{1}{2}\omega_0 t)}\{\sin(\frac{2N+1}{2}\omega_0 t)-\sin(\frac{1}{2}\omega_0 t)\}$

    $\Large \displaystyle =\frac{\sin(\frac{2N+1}{2}\omega_0 t)}{2\sin(\frac{1}{2}\omega_0 t)}-\frac{1}{2} $

  • 従って、Fourier級数核「$k_N(t)$」は、以下のようになる。
  • $\Large \displaystyle k_N(t)=\frac{\sin((N+\frac{1}{2})\omega_0 t)}{T\sin(\frac{1}{2}\omega_0 t)}$

2.特異関数と線スペクトル

もくじ

2.1 基本的例題

①「$\delta(t)$」関数
  • 「$\delta(t)$」関数のフーリエ変換は「1」になり、「1」のフーリエ逆変換は「$\delta(t)$」関数になる。
  • $\Large \displaystyle \delta(t)\Leftrightarrow 1$

    $\Large \displaystyle 1\Leftrightarrow 2\pi \delta(\omega)$

②「$\delta(t-t_0)$」関数
  • 「$\delta(t-t_0)$」関数のフーリエ変換は「$e^{-j\omega t_0}$」になり、そのフーリエ逆変換は「$\delta(t-t_0)$」関数になる。
  • $\Large \displaystyle \delta(t-t_0)\Leftrightarrow e^{-j\omega t_0}$

    $\Large \displaystyle e^{j\omega_0 t}\Leftrightarrow 2\pi \delta(\omega-\omega_0)$

    $\Large \displaystyle e^{-j\omega_0 t}\Leftrightarrow 2\pi \delta(\omega+\omega_0)$

③「$\cos(\omega_0 t)$」関数

    $\Large \displaystyle \cos(\omega_0 t) = \frac{1}{2}(e^{j\omega_0 t} + e^{-j\omega_0 t})$

  • なので、「$cos(\omega_0 t)$」関数のフーリエ変換は、「$\pi(\delta(\omega - \omega_0)+\delta(\omega + \omega_0))$」になる。
  • $\Large \displaystyle \cos(\omega_0 t)\Leftrightarrow \pi(\delta(\omega - \omega_0)+\delta(\omega + \omega_0))$

④「$\sin(\omega_0 t)$」関数

    $\Large \displaystyle \sin(\omega_0 t) = \frac{1}{2j}(e^{j\omega_0 t} - e^{-j\omega_0 t})$

  • なので、「$\sin(\omega_0 t)$」関数のフーリエ変換は、「$\frac{\pi}{j}(\delta(\omega - \omega_0)-\delta(\omega + \omega_0))$」になる。
  • $\Large \displaystyle \sin(\omega_0 t)\Leftrightarrow j\pi(\delta(\omega + \omega_0)-\delta(\omega - \omega_0))$

⑤ステップ関数「$U(t))$」
  • ステップ関数「$U(t))$」のフーリエ変換は、「$\pi\delta(\omega)+\frac{1}{j\omega}$」になる。
  • $\Large \displaystyle U(t)\Leftrightarrow \pi\delta(\omega)+\frac{1}{j\omega}$

⑥重畳積分「$f(t)=f_1(t)*f_2(t)=\int_{-\infty}^{\infty}f_1(\tau)f_2(t-\tau)d\tau$」定理
  • 重畳積分「$f_1(t)*f_2(t)$」のフーリエ変換は、「$F_1(\omega)F_2(\omega)$」になる。
  • $\Large \displaystyle \int_{-\infty}^{\infty}f_1(\tau)f_2(t-\tau)d\tau\Leftrightarrow F_1(\omega)F_2(\omega)$

  • 対称性の原理から、以下の周波数領域での重畳積分定理を得る。
  • $\Large \displaystyle f_1(t)f_2(t)\Leftrightarrow \frac{1}{2\pi}\int_{-\infty}^{\infty}F_1(\omega)F_2(\omega-y)dy$

2.2 「Fourier」級数

「Fourier」級数とは
  • 周期Tを持つ周期関数
  • $\Large \displaystyle f(t+T)=f(t)$

  • は、指数関数の和として次のように書かれる事を示そう。
  • $\Large \displaystyle f(t)=\sum_{n=-\infty}^{\infty}\alpha_n e^{jn\omega_0 t}\ \ \ \omega_0=\frac{2\pi}{T}$

  • ただし、定数「$\alpha_n$」は、
  • $\Large \displaystyle \alpha_n=\frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-jn\omega_0 t}dt$

  • で与えられる。上記の式から、「$f(t)$」の「Fourier」変換「$F(\omega)$」は、等間隔「$\omega_0$」のパルス列
  • $\Large \displaystyle F(\omega)=2\pi\sum_{n=-\infty}^{\infty}\alpha_n\delta(\omega-n\omega_0)$

  • となる事が分かる。

2.3 「Poisson」の求和式

「Poisson」の求和式とは
  • 周期関数「$f(t)$」の「Fourier」級数展開式は、次の形に書く事ができる。
  • $\Large \displaystyle \sum_{-\infty}^{\infty}f_0(t+nT)=\frac{1}{T}\sum_{-\infty}^{\infty}e^{jn\omega_0 t}F_0(n\omega_0)$

  • 上式は、次の明白な拡張された結果が成立することを暗示している。
  • すなわち、もし「$\phi(t)$」が任意関数で、その「Fourier」変換を「$Phi(\omega)$」とすると、 「Pissson」の求和式として知られる、以下の恒等式が成立する。
  • $\Large \displaystyle \sum_{-\infty}^{\infty}\phi(t+nT)=\frac{1}{T}\sum_{-\infty}^{\infty}e^{jn\omega_0 t}\Phi(n\omega_0)\ \ \ \omega_0=\frac{2\pi}{T}$

証明
標本化データに対する「Pissson」の求和式の応用
  • 「$t=nT$」で連続な任意関数を「$f(x)$」とし、面積が「$Tf(nT)$」の等間隔パルス列よりなる関数
  • $\Large \displaystyle f^*(t)=T\sum_{-\infty}^{\infty}f(nT)\delta(t-nT)$

  • を作る。「$f^*(x)$」の「Fourier」変換「$F^*(\omega)$」は、
  • $\Large \displaystyle F^*(\omega)=T\sum_{-\infty}^{\infty}f(nT)e^{-jnT\omega}$

  • となる。もし、「$F(\omega)$」が「$f(t)$」の「Fourier」変換ならば、次式が成立する事を示そう。
  • $\Large \displaystyle F^*(\omega)=\sum_{-\infty}^{\infty}F(\omega+\frac{2\pi n}{T})$

2.4 周波数領域周期関数のスペクトル

2.5 サンプリング定理

サンプリング定理とは
  • 「$f(t)$」の「Fourier」変換が、ある角周波数($\omega_c$)より上でゼロ、即ち、
  • $\Large \displaystyle F(\omega)=0\ \ \ |\omega|\geq \omega_c$

  • ならば、「$f(t)$」は、間隔は「$\pi/\omega_c$」で、その点の値が、
  • $\Large \displaystyle f_n=f(n\frac{\pi}{\omega_c})$

  • で与えられる等間隔パルス列から、一意的に決定されることを意味している。
  • 実際に、「$f(t)$」は、
  • $\Large \displaystyle f(t)=\sum_{n=-\infty}^{\infty}f_n\frac{sin(\omega_c t-n\pi)}{\omega_c t-n\pi}$

  • と言うfouriee級数になる。
証明
  • 「$f(t)$」の「Fourier」変換「$F(\omega)$」は、ある角周波数「$\omega_c$」より上でゼロなので、 「$F(\omega)$」を以下のように「Fourier」逆変換をして「$f(t)$」を求める事が出来る。
  • $\Large \displaystyle f(t)=\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}F(\omega)e^{j\omega t}d\omega$

  • 故に、「$f_n$」は、
  • $\Large \displaystyle f_n=f(n\frac{\pi}{\omega_c})=\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}F(\omega)e^{j\omega n\frac{\pi}{\omega_c}}d\omega$

  • 関数「$F(\omega)$」を区間「$-\omega_c,\omega_c$」でfouriee級数に展開すると、「$T=\frac{\pi}{\omega_c}$」なので、以下のようになる。
  • $\Large \displaystyle F(\omega)=\sum_{n=-\infty}^{\infty}A_n e^{-jnT\omega}=\sum_{n=-\infty}^{\infty}A_n e^{-jn\pi\frac{\omega}{\omega_c}}\ \ \ -\omega_c\lt \omega \lt \omega_c$

  • ここで、「$A_n$」は、以下のようになる。
  • $\Large \displaystyle A_n=\frac{1}{2\omega_c}\int_{-\omega_c}^{\omega_c}F(\omega)e^{jn\pi\frac{\omega}{\omega_c}}d\omega=\frac{\pi}{\omega_c}f_n$

3.確率伝播アルゴリズムとは

もくじ

3.1 確率伝播アルゴリズム(belief propagation algorithm)とは

ベイジアンネットにおいて、確率変数の事後確率を効率的に計算するアルゴリズム
  • 「伝播」は正しくは「でんぱ」と読むが「でんぱん」と誤読されることも多い。
  • 「伝搬」は誤読に起因する誤字。
  • 信念伝播アルゴリズムとも訳される。

3.2 原理

  • 掛け算の足し算に対する分配法則:
  • $\Large \displaystyle a(b+c)=ab+ac$

  • 左辺は演算2回だが右辺は演算3回
  • $\Large \displaystyle a\sum_{i=1}^n b_i=\sum_{i=1}^n ab_i$

  • 左辺は演算 n 回だが右辺は 2n-1 回。
  • 因子の「括り出し」を積極的に適用すれば、事後確率計算に必要な演算数を劇的に減らせる。
  • さらに、演算の中間結果の重複計算を避けることで、効率を上げている。

3.3 簡単なベイジアンネットの例

  • 簡単なネットワークならば、それ専用の確率伝播アルゴリズムの導出は難しくない。
  • $\Large \displaystyle \boxed{A}\longrightarrow\boxed{B}\longrightarrow\boxed{C}\longrightarrow\boxed{D}$

  • このネットワークを例に、「$D$」 の観測値が与えられた時の事後確率「$P(A|D), P(B|D), P(C|D)$」を計算するアルゴリズムを導出してみる。
  • $\Large \displaystyle P(A,B,C,D)=P(D|C)P(C|B)P(B|A)P(A)$

3.4 事後確率の計算式

  • 正規化定数「$\alpha=P(D)$」 とすると、事後確率「$P(C|D)$」は、以下のように計算できる。
  • $\Large \displaystyle P(C|D)=\frac{P(C,D)}{P(D)}=\frac{1}{\alpha}\sum_B \sum_A P(A,B,C,D)$

    $\Large \displaystyle =\frac{1}{\alpha}\sum_B \sum_A (P(D|C)P(C|B)P(B|A)P(A))$

  • 「$P(D|C)$」は、「$B、A$」に依存しないので「$\sum_A \sum_B$」の外に括り出せる。
  • また「$P(C|B)$」は、「A$」に依存しないので「$\sum_A$」の外に括り出せる。
  • $\Large \displaystyle P(C|D)=\frac{1}{\alpha}P(D|C)\{ \sum_B P(C|B)\sum_A P(B|A)P(A)\}$

  • 正規化定数「$\beta=P(C)$」 とすると、事後確率「$P(B|D)$」は、以下のように計算できる。
  • $\Large \displaystyle P(B|D)=\frac{P(B,D)}{P(D)}=\frac{1}{\beta}\sum_B \sum_A P(A,B,C,D)$

4.SwitchBotセンサー

4.1 参照URL

UUID:「cba20d00-224d-11e6-9fb8-0002a5d5c51b」

4.2 人感センサー

ServiceData
  • Byte0: 73
  • Byte1: 40
  • Byte2: 64
    • bit1: 1=人の動きを検知、0=人の動きを不検知
  • Byte3: 00
  • Byte4: 42
    • 動体を検出してからの時間(秒)
  • Byte5: 01
    • bit6: 明るい
    • bit7: 暗い

5.隠れマルコフモデル