请教一个matlab卷积的问题
比如下面这个例子h(t)=10*exp(-20*t)*sin(20*pi*t);
f(t)=5*sin(20*pi*t);
求两者的卷积x(t)
我想用的方法是
H=fft(h);
F=fft(f);
然后X=H.*F;
最后x=ifft(X);
我有两个问题:
(1)X=H.*F 对不对?
(2)如果对,那是不是意味着H(h)和F(f)必须要取相同的点数?
小弟不才,恳请各位前辈赐教,谢谢!
[ 本帖最后由 jww100 于 2008-10-22 10:48 编辑 ] H.*F就是要H和F中的所有对应元素相乘,所以要维数相同才行。如果都是一列(或者一行)就是要相同的点数。
回复 沙发 sogooda 的帖子
主任,我现在有点想不通的就是H(h)和F(f)的点数应该是可以不同的,比如H(h)取很多点,F(f)取很少点
这样我的H乘F如何进行?
回复 板凳 jww100 的帖子
一个关于杜哈美积分的精华帖:http://forum.vibunion.com/forum/viewthread.php?tid=15226&extra=page%3D1%26amp%3Bfilter%3Ddigest
回复 地板 ch_j1985 的帖子
唠嗑兄,我不大明白这个杜哈美积分什么意思?这跟卷积有什么关联吗? 卷积是Convolution? 我不熟悉
help conv
不知道是否你要的?
[ 本帖最后由 ChaChing 于 2008-10-23 00:42 编辑 ]
回复 6楼 ChaChing 的帖子
不是,ChaChing大哥您说的是直接求卷积,我知道conv但我现在想间接求卷积 原帖由 jww100 于 2008-10-22 10:47 发表 http://www.chinavib.com/forum/images/common/back.gif
比如下面这个例子
h(t)=10*exp(-20*t)*sin(20*pi*t);
f(t)=5*sin(20*pi*t);
求两者的卷积x(t)
我想用的方法是
H=fft(h);
F=fft(f);
然后X=H.*F;
最后x=ifft(X);
我有两个问题:
(1)X=H.*F 对不对? ...
两个信号,一个为f(n),长为N,另一个为h(n),长为M。这两个信号的褶积长度为N+M-1。所以要用间接方法求这两序列的褶积时,把f(n)和h(n)都适当地补0,使两序列的长度都为N+M-1长,然而再进行LZ所做的FFT和IFFT处理。
回复 8楼 songzy41 的帖子
谢谢songzy兄,我这就试试去回复 8楼 songzy41 的帖子
结果跟预期一致,再次感谢song兄回复 8楼 songzy41 的帖子
还想请教一下song兄,比如附图中直接用卷积积分概念求卷积这时t的点数应该怎么设置呢?(tao应该不需要设置吧?直接积分)
把t的点数直接设置为N+M-1吗?
恳请赐教
回复 板凳 jww100 的帖子
添加0元素凑成维数就行,反正乘出来还是0 原帖由 jww100 于 2008-10-23 10:57 发表 http://www.chinavib.com/forum/images/common/back.gif还想请教一下song兄,比如附图中直接用卷积积分概念求卷积
这时t的点数应该怎么设置呢?(tao应该不需要设置吧?直接积分)
把t的点数直接设置为N+M-1吗?
恳请赐教
我想LZ并不是真要求卷积的积分(如果真要求连续信号卷积的积分,可用符号运算中的int函数),而是在离散条件下怎么来处理长的数据序列,例如实时处理。在这种情况下,可以把数据序列分段,分段进行卷积,为了能使输出数据的连续,可使用重叠相加(overlap-add)或重叠存储(overlap-save)等方法。
回复 5楼 jww100 的帖子
记得杜哈美积分和卷积是一样的不过看了以上的回复,杜哈美积分和你的问题没有多大关联…… 原帖由 科技在线 于 2008-10-23 12:49 发表 http://www.chinavib.com/forum/images/common/back.gif
添加0元素凑成维数就行,反正乘出来还是0
感谢,用的就是您这种方法
页:
[1]
2