jww100 发表于 2008-10-22 10:47

请教一个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 编辑 ]

sogooda 发表于 2008-10-22 21:30

H.*F就是要H和F中的所有对应元素相乘,所以要维数相同才行。如果都是一列(或者一行)就是要相同的点数。

jww100 发表于 2008-10-22 23:39

回复 沙发 sogooda 的帖子

主任,我现在有点想不通的就是
H(h)和F(f)的点数应该是可以不同的,比如H(h)取很多点,F(f)取很少点
这样我的H乘F如何进行?

ch_j1985 发表于 2008-10-23 00:11

回复 板凳 jww100 的帖子

一个关于杜哈美积分的精华帖:
http://forum.vibunion.com/forum/viewthread.php?tid=15226&extra=page%3D1%26amp%3Bfilter%3Ddigest

jww100 发表于 2008-10-23 00:38

回复 地板 ch_j1985 的帖子

唠嗑兄,我不大明白这个杜哈美积分什么意思?
这跟卷积有什么关联吗?

ChaChing 发表于 2008-10-23 00:39

卷积是Convolution? 我不熟悉
help conv
不知道是否你要的?

[ 本帖最后由 ChaChing 于 2008-10-23 00:42 编辑 ]

jww100 发表于 2008-10-23 02:18

回复 6楼 ChaChing 的帖子

不是,ChaChing大哥您说的是直接求卷积,我知道conv
但我现在想间接求卷积

songzy41 发表于 2008-10-23 08:35

原帖由 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处理。

jww100 发表于 2008-10-23 08:43

回复 8楼 songzy41 的帖子

谢谢songzy兄,我这就试试去

jww100 发表于 2008-10-23 09:10

回复 8楼 songzy41 的帖子

结果跟预期一致,再次感谢song兄

jww100 发表于 2008-10-23 10:57

回复 8楼 songzy41 的帖子

还想请教一下song兄,比如附图中直接用卷积积分概念求卷积
这时t的点数应该怎么设置呢?(tao应该不需要设置吧?直接积分)
把t的点数直接设置为N+M-1吗?
恳请赐教

科技在线 发表于 2008-10-23 12:49

回复 板凳 jww100 的帖子

添加0元素凑成维数就行,反正乘出来还是0

songzy41 发表于 2008-10-23 17:28

原帖由 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)等方法。

ch_j1985 发表于 2008-10-23 21:18

回复 5楼 jww100 的帖子

记得杜哈美积分和卷积是一样的
不过看了以上的回复,杜哈美积分和你的问题没有多大关联……

jww100 发表于 2008-10-24 02:02

原帖由 科技在线 于 2008-10-23 12:49 发表 http://www.chinavib.com/forum/images/common/back.gif
添加0元素凑成维数就行,反正乘出来还是0

感谢,用的就是您这种方法
页: [1] 2
查看完整版本: 请教一个matlab卷积的问题