1. 何のために? |
Overlap-save法を、理解するためです。 まず、直線たたみ込みを調べましょう。 convolution(たたみ込み)を、筆算で、求めてみましょう。 |
さて、入力として、x{ 1 2 3 }が、入ってきました。インパルス応答は、 h{ 1 -1
}と、します。 今、時間は 0秒です。 この図ですと、たたみ込みとは、Y軸上に並ぶ要素同士を、掛け算して、その結果を、足し合わせる事です。 |
|
次に、1秒が経過したら、どうなるのでしょう? |
|
更に、1秒経過して、2秒に、なりました。 |
|
次、3秒目です。 | ||||
|
||||
これ以降は、掛け算するものが、もう、ありません。 | ||||
したがって、出力も、以降は、ありませんね。 「これで、たたみ込みって、終わり?」.... そうなんです。これだけですねんわ。 よかったら、「絶対わかる!「たたみ込み」も、見てくださいね、実は、私も、たたみ込みを、忘れかけていましたので、見ましてん (^_^;; |
||||
このconvolutionを、Octaveで、やってみますと |
||||
同じ結果が出ますね。 入力の次数をN、インパルス応答の次数をh と、すると、 convolutionの結果の次数は、 N+h-1 に、なりますね。 |
||||
2. ほな、巡回たたみ込みは? | ||||
巡回たたみ込みをする場合、 入力は巡回している(周期性がある)事を、前提にしています。 そやから、ややこしい事に、なるんですわ... |
||||
しかし、2秒目までは、先ほどの、直線たたみ込みと、結果は、同じですが 3秒目から、違ってきます。
|