母亲节祝福语 三明治的做法 红烧排骨的家常做法 小米粥的做法 小龙虾的做法 大闸蟹的做法 鲜贝的家常做法 卷心菜的做法 苹果派的做法 冬瓜的做法大全家常菜
当前位置: 首页 > 生活百科 >

卷积公式的使用条件(R语言——卷积)

38次浏览     发布时间:2022-12-13 09:09:16    

昨天被自相关函数带偏,中途转道去看了卷积的内容,结果一抬头发现23点半了,在短暂的迟疑后,我乖乖举起被子正式投降,断更一天

在效率低下地对着各种帖子琢磨了良久之后,我默默地打开了R软件,走回了实践出真知的老路,以下是一个比较初级的实践过程:

卷积函数convolve

把y向量的所有数值顺序倒一遍乘以x再加和,目前来说,这个部分还是可以成立的

基于曾经搞明白过的矩阵乘法,我又稍稍改变了一下这个操作的形式

到这里为止,也还算比较成功的

但是,接下来就是个不作死就不会死的典型案例了,打开这个函数本身的介绍

What?!这货居然是用傅里叶变换做的???

实践结果表示,它没有骗我,只是我智商有点低,一时还理解不了。。。。。。

为了强行结束这个话题以便今天可以按时上床睡觉,我拆解了一下这个计算公式

Re为取实部,第一个fft(。。。)/4这部分是为了把复数做FFT逆运算转换回时域,inverse = TRUE只改变了数列的顺序,姑且当它不太重要好了

那么,抠出来的关键部分就是fft(x) * Conj(fft(y))这两个复数的相乘,在百度了复数乘法的计算之后(基础差没药救),得到的信息是:两个复数相乘的几何意义是模长相乘、角度相加

中间的函数Conj为对fft(y)取共轭,实质上是模长不变,角度取负数

那这段信息结合起来就是x和y以傅里叶变换的方式各自拆分成4个正弦波(或余弦波),然后振幅相乘、相位相减得到4个新的波形,叠加回时域后翻转下顺序就成了卷积。。。以我的水准,能解释到这里也就差不多了,呵呵哒

相关文章