社区
数据结构与算法
帖子详情
离散卷积的快速算法
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代表直接相乘)
然后再用逆变换还原即可
离散卷积
的
算法
分析及MATLAB实现2013
离散卷积
是信号处理的基本运算,
快速
卷积和分段卷积是计算
离散卷积
的重要
算法
.文章以离散线性卷积的概念为基础,介绍了计算卷积的常用方法和运算流程,列举了MATLAB实现的程序.这些程序能动态演示卷积运算的全部过程,既可帮助理解卷积运算的原理流程,也可作为教学讲解的演示工具.
离散小波变换
快速
卷积
算法
研究 (2013年)
传统的离散小波变换(Discrete Wavelet Transform,DWT)卷积
算法
通常采用延拓方法来解决边界效应,处理速度会受到一定影响。为了进一步提高使用DWT的实时性,提出一种新的
离散卷积
快速
实现
算法
。该方法利用前后端卷积结果对边界小波系数进行校正,有效地解决了卷积运算中的边界效应问题,并减少了计算量。仿真试验和工程应用结果表明该
算法
能用于分析平稳信号和非平稳信号,具有很高的分解和重构精度以及很好的边界处理性能,并且计算速度比传统方法有较大提高,具有显著的工程应用价值。
区块链
算法
—共识
算法
课程目标本套课程带你认识常用的共识
算法
及其代码实现;课程简介在区块链网络中,谁获得记账权是通过全网节点间所达成的共识来决定的; 共识
算法
即这种“共识”的
算法
/代码体现; 共识
算法
解决了拜占庭将军问题,即让一群人在彼此不信任的情况下还能在一起自动协调工作; 本套课程带你认识常用的共识
算法
及其代码实现;
MATLAB实现
快速
卷积
算法
函数
编写一个MATLAB函数,实现
快速
卷积
算法
用一个N点离散傅立叶变换同时计算两个N点实序列的离散傅立叶变换
基于FPGA的线性卷积的实时实现.docx
在数字信号处理领域,离散时间系统的输出响应,可以直接由输入信 号与系统单位冲激响应的
离散卷积
得到。
离散卷积
在电子通信领域应用广泛, 是工程应用的基础。如何
快速
有效地计算出离散序列的卷积,一直是工程人员 所关心的问题。如果直接在时域进行卷积,卷积过程中所必须的大量乘法和加 法运算,一定程度地限制了数据处理的实时性,不能满足时效性强的工程应用。
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章