我使用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減去 –
好了,謝謝。 –