擅长:python、mysql、java
<p>我终于解决了我的问题。把FFT和Fourier积分结合起来,只需要把变换(FFT)的结果乘以步长(在我的例子中是X/L,FFT<em>X/L),它就可以正常工作了。在我的例子中,这有点复杂,因为我有一个额外的规则来转换函数。我必须确保曲线下的面积等于1,因为它是δ函数的模型,所以由于步长是不可更改的,我必须满足step</em>sum(fwhl_y)=1条件,即X/L=1/sum(fwhl_y)。为了得到正确的结果,我必须做以下事情:</p>
<ol>
<li>计算FFT<strong>FFT fwhl=np.FFT.FFT(fwhl_y)</strong></li>
<li>为了去掉由于fwhl_y函数对称性而产生的相位分量,即在<strong>[-T/2,T/2]</strong>区间中定义的函数,其中T是周期,np.fft.fft运算认为我的函数是在<strong>[0,T]</strong>区间中定义的。所以为了只得到振幅谱(这是我需要的),我只需要使用<strong>np.abs(FFT)</strong></li>
<li>为了得到我期望的值,我应该将上一步得到的结果乘以X/L,即<strong>np.abs(FFT)*X/L</strong></li>
<li>我对曲线下的面积有一个附加条件,所以它是<strong>X/L*和(fwhlúy)=1</strong>并且我最终得到<strong>np.abs(FFT)*X/L=np.abs(FFT)/和(fwhlúy)</strong></li>
</ol>
<p>希望它至少能帮助任何人。</p>