我使用Matlab解傅立叶空间中的微分方程。但是,我遇到了一个问题:区分我的真实信号后,我得到了复杂的答案(这是不正确的)。傅立叶空间中的微分具有差异
考虑具有(在傅立叶空间中乘以ik
)diffirentiation超过x
一个例子:
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。但问题的起源相同。
谢谢
谢谢!我总是在域[-N,N]中处理频率。这种方法可能有效。我只是不明白,为什么你必须乘以1-exp(i * 2pi * n/N)'。你有解释这个链接吗? –
@Mikhail请参阅答案中的链接。它会告诉你信号的(循环)移位版本的DFT。要区分你需要1减去 –
好了,谢谢。 –