首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么x和y的卷积是不同的(fft(X)xfft(Y))?

为什么x和y的卷积是不同的(fft(X)xfft(Y))?
EN

Stack Overflow用户
提问于 2020-11-08 02:18:06
回答 1查看 128关注 0票数 0

我知道,在时域上x和y的卷积等于频域上fft(y)的fft(x)倍。所以我用下面的matlab做了一个简单的例子。

代码语言:javascript
复制
xn=[1,2,3,4];
yn=[4,3,2,1];
zn=conv(xn,yn);

znr=ifft(fft(xn).*fft(yn));

我得到的结果如下。

zn =4 11 20 30 20 11 11 4 znr = 24 22 24 30

我想知道为什么zn不等于znr。任何知道为什么请解释的人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-09 00:51:38

使用fft()以所需的方式配置解决方案时,指定转换长度可能是解决方案。通常情况下,卷积结果的长度等于两个信号的和,减去1,在这种情况下,我们可以将Transform_Length设置为7。

代码语言:javascript
复制
xn = [1,2,3,4];
yn = [4,3,2,1];
zn = conv(xn,yn);

Transform_Length = length(xn) + length(yn) - 1;
znr = ifft(fft(xn,Transform_Length).*fft(yn,Transform_Length));

zn
znr

结果:

使用MATLAB R2019b运行的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64734260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档