ゆるゆる独学

ゆるゆる独学

ゆるゆると気まぐれに更新していきます

最速?!第72回国試問題解説⑤(第72回診療放射線技師国家試験午前47)

こんにちは!

今回は医用画像情報学フーリエ変換に関する問題です。

問題は午前47です。

47 図に示す余弦関数をFourier〈フーリエ〉変換した結果で正しいのはどれか。2つ選べ。


f:id:Yuru-yuru:20200409172351j:plain


  1.0[cycles/mm]の成分は0.0である。

  2.1[cycle/mm]の実数部は1.0である。

  3.1[cycle/mm]の虚数部は1.0である。

  4.-1[cycle/mm]の実数部は1.0である。

  5.-1[cycle/mm]の虚数部はー1.0である。

フーリエ変換の性質として知っていた方は特別難しいと思わなかったかもしれませんが、これを理解するのはなかなか難しいと思います。

また、最近の傾向なのか分かりませんが、「ちゃんとフーリエ変換分かってますか?」という感じの問題が多い感じがします。

数年前まではお決まりの問題しか出ていなかったみたいですけどね。

そんなことはどうでもいいのですが、とにかくフーリエ変換を理解しておくことは重要です。

なんとなくの意味は分かっている方がほとんどだと思うので、とりあえず計算ができるように頑張りましょう。

ではまず、フーリエ変換の基礎から確認していきましょう!


基礎知識の確認

画像工学分野におけるフーリエ変換は画像を構成する信号を空間周波数ごとに扱うために用いられます。

高周波の成分を強調することで鮮鋭度を上げたり、逆に抑制することで平滑化したりなど様々な処理が行われます。

では、このフーリエ変換とはどのような計算が行われるのでしょうか。


フーリエ変換

画像データのような2次元の関数を考えるとややこしくなるので、1次元の関数について考えます。

1次元の関数f(x)フーリエ変換F(\omega)は以下の式で表されます。

 F(\omega) = \int_{-\infty} ^{\infty} f(x) e ^{-i \omega x} dx

式を見てもなぜこれが空間周波数の関数になるかわからないと思いますが、そこまで掘るとかなり長くなるので今回はスルーさせてください笑

とりあえずこの式を認めて、どのように計算処理が行われるのかを理解しましょう。


オイラーの公式

このフーリエ変換の計算を行っていくうえでオイラーの公式を覚えておく必要があります。

 e ^{i \theta} = \cos{\theta} + i \sin{\theta}

この式自体は数IIIまでやっていれば見たことがあると思います。

先程のフーリエ変換の式にeが含まれるのも実はこの式が関係しています。

今回は\theta = \omega xとして

 e ^{i \omega x} = \cos(\omega x) + i \sin(\omega x)

という式を主に使っていきます。


δ関数の性質

cos波をフーリエ変換する中で、δ関数の性質を使う場面がでてきます。

なので、必要となるδ関数の性質について少し確認しておきましょう。

せっかく勉強したので軽く説明も書きますが、式だけ少し見て後はさらっと読み飛ばすぐらいで大丈夫です。

まず、δ関数とは以下のようなものです。

f:id:Yuru-yuru:20200409184502j:plain:w400

詳しいことは省きますが正確に定義するならば、

 \int_{-\infty} ^{\infty} f(x) \delta (x) dx = f(0)

となるようです。これはδ関数をx軸に平行移動した場合にも同様に成り立ち、

 \int_{-\infty} ^{\infty} f(x) \delta (x-a) dx = f(a)

となります。

f(x)δ関数を掛けて積分すると、そのδ関数の位置のf(x)の値が出力されるということですね。

この性質を利用して、δ関数のフーリエ変換を求めることもできます。

f(x) = e ^{-ikx}とすると、先程の式より、

 \int_{-\infty} ^{\infty} \delta (x-a) e ^{-ikx} dx = e ^{-ika}

となり、これが成り立つならば右辺フーリエ変換すれば\delta(x-a)になるはずです。

よって、

 \delta(x-a) = {\frac{1}{2 \pi}} \int_{-\infty} ^{\infty} e ^{-ika} \cdot e ^{ikx} dk

      = {\frac{1}{2 \pi}} \int_{-\infty} ^{\infty} e ^{ik(x-a)} dk

となります。

今の時点ではこれが一体何の役に立つんだという感じだと思いますが、後々使うので出てきたらここに戻って確認してください。

最後にδ関数の対称性についてです。

これは偶関数と同じような性質であり、式で示すと、

 \delta(x) = \delta(-x)

です。

原点を中心として線対称になるということですね。


基礎知識としてはこの程度で大丈夫だと思います。

では、問題を解いていきましょう!


問題の解説

先程示した通り、問題では周期が1 mmの余弦関数(コサイン)フーリエ変換することが求められています。

f:id:Yuru-yuru:20200409172351j:plain:w500

ここで計算を始める前に、フーリエ変換が信号を周波数ごとに分解する(周波数の関数に変換する)ものであることを思い出してください。

図を見る限り周期が一定、すなわち周波数が一定余弦関数なのでフーリエ変換すると、この余弦関数の周波数にある値を持つことは分かると思います。

このことを頭に置いたうえで計算してみましょう。

フーリエ変換の式を再掲します。

 F(\omega) = \int_{-\infty} ^{\infty} f(x) e ^{-i \omega x} dx

今回はf(x) = \cos(\omega_0 x)なので、これを代入して計算していきます。

  F(\omega) = \int_{-\infty} ^{\infty} \cos (\omega_0 x) e ^{-i \omega x} dx

ここで\cos(\omega_0 x)としたのは、f(x)\omegaが変数ではなく固定された値であるためです。

さて計算しよう!というところで、いきなり先程のオイラーの公式を用いる必要があります。

オイラーの公式より

 e ^{i \omega x} = \cos(\omega x) + i \sin(\omega x)

 e ^{-i \omega x} = \cos(\omega x) - i \sin(\omega x)

が成り立つため、

 e ^{i \omega x} + e ^{-i \omega x} =2 \cos(\omega x)

 cos(\omega x) = {\frac{e ^{i \omega x} + e ^{-i \omega x}}{2}}

と表せるため、先程のF(\omega)は、

 F(\omega) = \int_{-\infty} ^{\infty} \left({\frac{e ^{i \omega_0 x} + e ^{-i \omega_0 x}}{2}}\right)  e ^{-i \omega x} dx

    = {\frac{1}{2}} \int_{-\infty} ^{\infty} \left(e ^{i(\omega_0 -\omega) x} + e ^{-i (\omega_0 + \omega) x}\right) dx

ここで先程のδ関数の性質を使用します!

  \delta(x-a) = {\frac{1}{2 \pi}} \int_{-\infty} ^{\infty} e ^{ik (x-a)} dk

この式を使っていきます。

先程の式を眺めると、上式の右辺に似た形があることが分かると思います。

よって各項に分けて計算すると、

 \pi \delta(\omega_0 - \omega) = {\frac{1}{2}} \int_{-\infty} ^{\infty} e ^{i(\omega_0 - \omega) x} dx

 \pi \delta(-\omega_0 -\omega) = {\frac{1}{2}} \int_{-\infty} ^{\infty} e ^{-i(\omega_0 + \omega) x} dx

となります。

まとめると、

 F(\omega) = \pi \delta(\omega_0 - \omega) + \pi \delta(-\omega_0 -\omega)

δ関数の対称性より

 F(\omega) = \pi \{\delta(\omega - \omega_0) + \delta(\omega + \omega_0)\}

これより\omega = \omega_0 , -\omega_0の値を取る実数であることが分かります。

f:id:Yuru-yuru:20200409190316j:plain:w300

これで一応問題の解答は出来るかと思います。

解答はです。

この値が1になるというのは私もイマイチ分かっていないので、誰か分かったら教えてください笑

では、おまけで正弦波(sin波)についてもやってみましょう!


おまけ

基本的にはcos波と同様です。

f(x) = \sin (\omega_0 x)とすると、フーリエ変換F(\omega)は、

  F(\omega) = \int_{-\infty} ^{\infty} \sin (\omega_0 x) e ^{-i \omega x} dx

ここでオイラーの公式より、

 sin(\omega_0 x) = {\frac{e ^{i \omega_0 x} - e ^{-i \omega_0 x}}{2i}}

であるため、F(\omega)は、

 F(\omega) = \int_{-\infty} ^{\infty} \left({\frac{e ^{i \omega_0 x} - e ^{-i \omega_0 x}}{2i}}\right)  e ^{-i \omega x} dx

    = {\frac{1}{2i}} \int_{-\infty} ^{\infty} \left(e ^{i(\omega_0 -\omega) x} - e ^{-i (\omega_0 + \omega) x}\right) dx

    = {\frac{i}{2}} \int_{-\infty} ^{\infty} \left(e ^{-i(\omega_0 +\omega) x} - e ^{i (\omega_0 - \omega) x}\right) dx

となる。先程と同様、δ関数の式より、

 F(\omega) = \pi i \delta(-\omega_0 - \omega) - \pi i \delta(\omega_0 -\omega)

δ関数の対称性より、

 F(\omega) = \pi i \{\delta(\omega + \omega_0) - \delta(\omega - \omega_0)\}

これより、\omega = -\omega_0で正の値、\omega = \omega_0の値を取る虚数であることがわかります。

f:id:Yuru-yuru:20200409190416j:plain:w300

これは偶関数であるcos波フーリエ変換実数奇関数であるsin波フーリエ変換虚数となることに一致しています。


まとめ

少々ややこしい計算もありましたが、何とか理解できたでしょうか?

実際には知識として押さえておくのが良いと思います。

試験中にフーリエ変換の計算をするのはかなり面倒臭いですよね笑

自信がない時に確かめる意味でやってみてもいいかもしれません。

さも全て分かったように書いていますが、曖昧な部分もあるのでもっと詳しい方がいらっしゃったらぜひ補足してくさい!

ではまた!