离散卷积的快速算法

pick 2002-12-18 01:20:13
我找了一些数值计算的书,里面基本上就没有介绍。
听说用傅立叶变换可以,但我不知为什么??
能否告诉我一些详细的算法
...全文
609 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
saint001 2002-12-27
  • 打赏
  • 举报
回复
还是用FFT的好
线性卷积和循环卷积都不仅仅指一点的计算

另外大整数乘法用卷积也要快,
不过FFT是用实型的计算,又要增加些计算量
尽管如此,我以前试过,普通乘法和FFT相比还是不能比的

当然,一些更深入的关于整数的算法更好
dcyu 2002-12-24
  • 打赏
  • 举报
回复
看来我是理解错了,我原来的意思是对于一点的离散卷积没有必要去计算n点的FFT.
boodweb 2002-12-24
  • 打赏
  • 举报
回复
chmchen说的对,卷积分为循环卷积和线性卷积,我第一个帖字说的应该是循环卷积,求线性卷积的话应该先将序列补零后求循环卷积,得出的结果的前n个数就是线性卷积

另外,大数相乘当然可以不用卷积,但是将乘法看成卷积后用快速算法可以使复杂度达到O(nlogn),上面的G,H就可以看成由三部分组成的大数:G=G(0)+10*G(1)+100*G(2),H类似,则按上面得到的Y正好是它们的乘积,Y=Y(0)+10*Y(1)+100*Y(2)
chmchen 2002-12-24
  • 打赏
  • 举报
回复
直接计算的复杂度应该是O(n^2)。
首先应该清楚DFT与卷积是有密切关系的,但并不完全像boodweb兄说得那样。因为DFT对应的是循环卷积,卷积有快速算法,DFT就会有相应的快速算法,反过来也是一样的。对于长度为n的两个序列卷积复杂度绝对是n^2,大家可以自己算一下,而且boodweb老兄上面也有例子。另外鄙人也是在做DSP.
pick 2002-12-23
  • 打赏
  • 举报
回复
大数相乘也许不是用卷积实现的
boodweb 2002-12-23
  • 打赏
  • 举报
回复
不会吧,直接计算是O(n^2)才对啊
不然大数乘法不是可以在O(n)内完成了么
举个例子:
G(0..3)与H(0..3)相卷,结果为Y(0..3):
Y(0)=G(0)*H(0)
Y(1)=G(0)*H(1)+G(1)*H(0)
Y(2)=G(0)*H(2)+G(1)*H(1)+G(2)*H(0)
Y(3)=G(0)*H(3)+G(1)*H(2)+G(2)*H(1)+G(3)*H(0)
共1+2+...+4次乘法
boodweb 2002-12-23
  • 打赏
  • 举报
回复
To dcyu(Dd):
直接计算是O(n)?
G(0..3)与H(0..3)卷积应该是:
G(0)*H(0)
G(0)*H(1)+G(1)*H(0)
G(0)*H(2)+G(1)*H(1)+G(2)*H(0)
G(0)*H(3)+G(1)*H(2)+G(2)*H(1)+G(3)*H(0)
即共有1+2+...+n=O(n^2)次乘法,直接计算怎么可能是O(n)啊,应该是O(n^2)吧
dcyu 2002-12-22
  • 打赏
  • 举报
回复
我的老师是专门研究DSP的,对他的话我可是非常认真的去听的。
dcyu 2002-12-22
  • 打赏
  • 举报
回复
直接计算的复杂度是O(n), FFT的是O(nlogn),肯定是直接计算快。楼上说的对,现在有很多进行了优化后的DSP,但本质却没有改变。如果chmchen()有更好的办法你就可以震惊世界了。
pazulin 2002-12-21
  • 打赏
  • 举报
回复
卷积我还试过,但自相关的我试过在DSP上实现过,是直接算的。不过DSP有专门优化的指令。
书上提到可以用FFT来完成卷积。
林仪明 2002-12-20
  • 打赏
  • 举报
回复
gz
chmchen 2002-12-20
  • 打赏
  • 举报
回复
楼上的老兄,你没又搞错吧?它们的时间复杂度是多少你计算过吗?还有线性卷积和循环卷积你研究过没有?
pick 2002-12-19
  • 打赏
  • 举报
回复
怎么,没人会吗
dcyu 2002-12-19
  • 打赏
  • 举报
回复
这是数字信号处理的东西。
离散卷积的最快速算法就是按定义去做,其他任何方法的复杂度都没有这种方法好,用傅立叶变换是最不好的。
boodweb 2002-12-19
  • 打赏
  • 举报
回复
卷积可以化为频域的直接相乘(通过傅立叶变换)
F*H->FxH(*代表卷积,x代表直接相乘)
然后再用逆变换还原即可

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧