2015-04-12 96 views
1

我正在使用org.apache.commons.math3.transform类FastFourierTransformer,我现在试图在实际数据集上应用FFT,并应用反向FFT以获取原始数据集。 我的问题是,为了获得原始数据集,我使用了复数的函数abs(),并且我得到了正确的数字,但没有得到正确的符号。在原始数据集中,我有负数,但是在反向数据集上我只能得到正数。 你有什么想法我应该做什么才能得到正确的标志?逆FFT - 获取绝对值的符号

+2

绝对值得到的绝对值,这意味着只有一个正数将返回 –

回答

2

获取绝对值后丢失的数字符号的正确方法是不取绝对值。逆FFT应该撤消前一个FFT。因此,如果您的原始数据是真实的,那么您的复杂结果应该是实数(虚数部分为零,除了舍入误差)。所以你只想使用实部(而不是绝对值)。记得要包括一个完整性检查:确保虚构部分真的可以忽略不计!

+0

谢谢:)它现在工作很好 – user1798339