卷积为什么要旋转180度

参考《最容易理解的对卷积(convolution)的解释》 https://blog.csdn.net/bitcarmanlee/article/details/54729807

这篇博客详细讲解了“卷积”,提及了为什么要反转180度,我简述下。

1.卷积的来源

信号与系统里面经常讲到卷积(convolution),自动控制原理里面也会经常有提到卷积,线性系统理论与数字信号处理,里面也是各种大把大把卷积的概念。

信号的输出不仅与当前时刻的输入有关,也跟之前若干时刻的输入有关,所以输出的信号是一个加权叠加。

求x[n] * y[n]。

第1步,x[n]乘以y[0]并平移到位置0。

第2步,x[n]乘以y[1]并平移到位置1。

第3步,x[n]乘以y[2]并平移到位置2。

最后,把上面三个图叠加,就得到了x[n] * y[n]。

2.旋转180的来源

2.1.卷积的定义

2.1.参数n、τ、n-τ

注意上面公式,函数f(τ)、g(n-τ)的参数n、τ、n-τ和是 n = τ + (n-τ)。

2.2.代入1中的图示

2.3.转换

相对于2.1的图,如果要将f(τ)与g(n-τ)下标相同的元素进行运算,就要将g(n-τ)反转180度,再与f(τ)运算,就是下图这个样子,这就是为什么要反转180度。

3.Python的scipy.signal库

volume and kernel should have the same dimensionality

import numpy as np
f=np.array([1,2,3,4])
g=np.array([4,5])

import scipy.signal as sg

convolve = sg.convolve(f, g)
print(convolve)  # [ 4 13 22 31 20]

转载于:https://my.oschina.net/datadev/blog/1859197

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值