【发布时间】:2016-11-21 19:30:46
【问题描述】:
我正在使用 Matlab 求解傅里叶空间中的微分方程。但是,我遇到了一个问题:在区分我的真实信号后,我得到了复杂的答案(这是不正确的)。
考虑一个对x 进行微分的示例(在傅立叶空间中乘以ik):
a=rand(6,1).';
fr=fftshift(-3:1:2);
ifft(1i*fr.*fft(a))
输出很复杂。我知道为什么会这样:我们的频谱是-3,-2,-1,0,1,2。因此,最高频率没有对(我们有 -3,但没有 3)。我想知道如何解决它。
如果我们考虑一下,从技术上讲,最高频率的贡献是非零的。如果频率 -3 上的傅立叶幅度为 c0,这意味着实际上我们在频率 -3 和 3 上具有幅度c0/2,因此经过微分我们得到:
(c0/2)*i*(-k)*exp(-ikx)+(c0/2)*i*(k)*exp(ikx)=kc0*sin(kx)
我很好奇,如何实现正确的微分。我的问题是 2D,所以我使用 fft2 和 ifft2。但问题是同源的。
谢谢
【问题讨论】:
标签: matlab signal-processing fft dft