"相互相関関数はそれぞれDFTしてから掛け合わせて逆DFTすれば計算できるよ"
なんていわれてもにわかには信じ難いですよね。
ということで簡単に証明してみたいと思います。
データ長の二つのデータとを考えます。
一応、元のデータがでその中から長さのテンプレートがどこにあるかを探す、的な状況を想定しています。
そういう時はテンプレートの末尾に個の0を追加してとの長さがどちらもになるようにしておきます。
このとき、相互相関関数は
です。
こいつをDFTしてみます。
第2回でチラッと言いましたがもも長さNのデータが無限に繰り返されているものと仮定します。
したがってになります。
また、自明ですが、
も成立します。
これを踏まえると、
が成り立ちます。
はもちろん
です。
”おいおいちょっとまってくれよ! 外側のΣのnに依存してるじゃねーか! さらにτの符号が負だからtの順番が逆になっちゃうよ! なのに普通にDFTが成り立つことにしちゃって良いのかよ!”
と、僕は思いました。 が、少し落ち着いて考えると順番もnも関係なかったのでした。
小さいNで例を挙げるとわかりやすいと思います。
たとえば、を考えて見ます。
は
と書き下せるわけです。
nを3として
を書き下してみます。
最後の項はと同じです。
つまり、nが変わると最初の項がどれかが変わるし、τの符号が逆だと項が出てくる順番が逆になるけど、どの道あらわれる項はおんなじだということですな。
ここまできたらほぼ終わったも同然です。
ということで、相互相関関数をDFTすると、それはそれぞれをDFTした結果を掛け合わせたものであることが示せました。
よかったね。
はてなの数式があまりにも汚かったのでcodecogsなるところのやつを使ってみました。
FFTの話をしなきゃなぁと思っていましたが、あんまりしたくないのでしないことにしました。
そのかわり、次回は正規化相互相関係数についてやってDFTの話を終わりにしたいと思います。