sinc関数 sin(x )/x をwxMaximaでグラフ化はできるものの数字が出てこない。
f(x ) := sin(x )/x と定義して f(0 )とすると計算しないのである。分母が0になると ウギャーなのである。そこでは分子も0だから なんとかしてくれ・・・と思うがとりあえず放棄
cos(ω_0・t) をフーリエ変換する。ω_0 = 5 rad/s, -10 <= t <= 10, とする。ここで区間制限があるのでフーリエ変換が存在する条件は満たされる。。。
http://okawa-denshi.jp/techdoc/2-2-5Fourierhenkan3.htm
この山のところとか、裾野のうねうねとかどうなってんだろなと思ってExcelで計算して表示してみた。
うねうねは続くよ どこまでも だんだん小さくなるけど。
で、肝心のω = 5 のところ。そこでは sin(0 )/0 の計算のところだ。wxMaximaではウギャーするところだ。Excelでは数字がちゃんと出ている。なぜだ? それは想像すると分母に0を代入しないからだよおおーーーんんん。
左端列ω 、その右は人の場合には 5 – 5 = 0 とするところである。だが、近ピュータくんはそういう計算しないようである。1E-13 と出た。まあ人からするとこれは0だよなあ・・・・・(´・ω・`)
なのでたまたま 0 にならなかったのでエラーにならず、だ。
フーリエ変換、フーリエ級数とかは記号だけの数式の計算だけでは何かわかったような気にならない(あくまでも個人の感想であり・・・)
実際に計算して数値を見たい。。。電卓でもいいけどwxMaxima, Excelというタダのツールがある・・・いや、Excelはタダではなかったな(笑)
そういうので計算すると今度は数値計算の問題にぶつかる。上では簡単な症状だけど。分母を0にするとかしないとか、有効桁数はどうなるのか、とか考えるところはあるよ、上の場合と関係なく。
そして肝心の数学的な手法だが、これも実はフーリエ変換がちょ~・ワケワカランと思うワタクシの場合には、デルタ関数の扱いに慣れていない、知らなかったという事がある。
∫cos(2π f t)df = δ( t) , -∞ から + ∞ までの積分。
さっき、フーリエ変換の本を読んでいたら、補遺ってのが後ろにあって少し解説があった。超関数というらしい。ディラックのデルタ関数は知ってはいるが、 ∫cos(2π f t)df = δ( t) は知らなかったのである。
とはいうものの、改めて信号処理の本を読み直すと たまに出てきてますね δ(t – t_0)とか。
まあようするに、浅学非才!! 不勉強が身に染みるって話ね。
では、次にフーリエ級数という離散的な領域からフーリエ変換という連続量の領域へ持っていく際の数学的手法を理解したいである。然る後に、連続世界であるフーリエ変換から近ピュータ君が扱える離散化の世界へと続ける次第である。FFTはそこにある。たぶん。
いや、そんなことより、初めからフーリエ級数の係数を高速で求めるって事でもいいのではないか・・・
本によっては初めにDFTを定義して、それを高速化するFFTを説明し、その後にフーリエ変換が登場するものもあるが、それは昨今の技術紹介を先にして原理を後で説明するという流れである。ワタクシは歴史の流れのように進む次第である。じじゃああぁーーーん。
さて、寒いが外は日が出ているので暖かいであろう。散歩でもするか。
関越道で身動きできない車の人たち、大丈夫だろか。ああいうの数年に一度はある気がする。
高速道路の雪を高速道路の下にかき出す仕組みが欲しいところである。下の者は大迷惑である。
いい手はないものか。なむうぅ・・・・