2015-04-12 91 views
1

我正在使用org.apache.commons.math3.transform類FastFourierTransformer,我現在試圖在實際數據集上應用FFT,並應用反向FFT以獲取原始數據集。 我的問題是,爲了獲得原始數據集,我使用了複數的函數abs(),並且我得到了正確的數字,但沒有得到正確的符號。在原始數據集中,我有負數,但是在反向數據集上我只能得到正數。 你有什麼想法我應該做什麼才能得到正確的標誌?逆FFT - 獲取絕對值的符號

+2

絕對值得到的絕對值,這意味着只有一個正數將返回 –

回答

2

獲取絕對值後丟失的數字符號的正確方法是不取絕對值。逆FFT應該撤消前一個FFT。因此,如果您的原始數據是真實的,那麼您的複雜結果應該是實數(虛數部分爲零,除了舍入誤差)。所以你只想使用實部(而不是絕對值)。記得要包括一個完整性檢查:確保虛構部分真的可以忽略不計!

+0

謝謝:)它現在工作很好 – user1798339