np correlate について
conv と correlate は計算方向が逆になっただけで基本の考え方は一緒。
corr の 基本の計算は、c'_{av}[k] = sum_n a[n] conj(v[n+k])
な感じ。
[1, 2, 3], [0, 1, 0.5] --> 0 padding [0, 0, 1, 2, 3, 0, 0] [0, 0, 0, 1, 0.5, 0, 0]
- valid: 0 padding しない場合 (defalut)。
- same: 0padding するが、length を input と output をあわせる
- full: 0padding して、すべての correlate を求める。
>>> np.correlate([1, 2, 3], [0, 1, 0.5]) array([ 3.5]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "same") array([ 2. , 3.5, 3. ]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "full") array([ 0.5, 2. , 3.5, 3. , 0. ])