我试图通过傅立叶变换,平方,然后傅立叶逆变换,来卷积一个矩形脉冲。我知道有一个conv()函数,但我更喜欢在将来处理更复杂的问题时在频域中这样做。我的问题是,当我这样做时,它不会产生预期的三角函数。我使用的代码如下:
clc
clear all
x=-5:.01:5;
y=rectangularPulse(x);
Y=fft(y);
H=Y.^2;
h=ifft(H);
plot(x,h)发布于 2014-10-24 07:00:57
为了确保卷积是线性的,您需要进行零位调整。当前您正在执行循环卷积。尝试如下所示:
y = ones(100,1);
N = length(y);
Nfft = 2*length(y) - 1;
Y=fft(y,Nfft);
H=Y.^2;
h=ifft(H);
plot(h);https://stackoverflow.com/questions/26538499
复制相似问题