Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 傅里叶变换与全宽半极大值_Python_Numpy_Scipy_Fft_Scipy.stats - Fatal编程技术网

Python 傅里叶变换与全宽半极大值

Python 傅里叶变换与全宽半极大值,python,numpy,scipy,fft,scipy.stats,Python,Numpy,Scipy,Fft,Scipy.stats,我试图计算三个μ子极化信号的傅里叶变换,它们是简单的余弦函数乘以指数衰减。 所以,做傅里叶变换,我们将看到以相应频率为中心的加宽峰。 问题是我已经尝试过做傅里叶变换,但我不知道它是否正确;此外,我正在尝试使用scipy.stats.moment函数计算半高宽,使用第二个力矩:正确吗? 你能告诉我密码是否正确吗? 我在这里把这三个信号放在.npy文件中,以及用于傅里叶分析的代码。 信号为信号[0]、信号[1]和信号[2],为10维阵列。 每个信号[k]包含10个极化函数(每个外加磁场1个),它们是

我试图计算三个μ子极化信号的傅里叶变换,它们是简单的余弦函数乘以指数衰减。 所以,做傅里叶变换,我们将看到以相应频率为中心的加宽峰。 问题是我已经尝试过做傅里叶变换,但我不知道它是否正确;此外,我正在尝试使用scipy.stats.moment函数计算半高宽,使用第二个力矩:正确吗? 你能告诉我密码是否正确吗? 我在这里把这三个信号放在.npy文件中,以及用于傅里叶分析的代码。 信号为信号[0]、信号[1]和信号[2],为10维阵列。 每个信号[k]包含10个极化函数(每个外加磁场1个),它们是400个点的信号。 相应的文件是信号_100、信号_110、信号_111,这里提供: . 啊,频率从0赫兹到40兆赫。 谢谢大家!

N = 400 # Number of signal points.

N1 = 40000000

T = 1./800. # Sampling spacing.

xf = np.fft.rfftfreq(N1, T)
      
yf1 = FWHM1 = sigma1 = delta1 = bhar1 = np.zeros(fields, dtype = object)
yf2 = FWHM2 = sigma2 = delta2 = bhar2 = np.zeros(fields, dtype = object)
yf3 = FWHM3 = sigma3 = delta3 = bhar3 = np.zeros(fields, dtype = object)

for j in range(fields): 
    # Fourier transform.
    yf1[j] = np.fft.rfft(signal[0][j])
    yf2[j] = np.fft.rfft(signal[1][j])
    yf3[j] = np.fft.rfft(signal[2][j])
         
    FWHM1[j] = moment(yf1[j], moment=2)
    FWHM2[j] = moment(yf2[j], moment=2)
    FWHM3[j] = moment(yf3[j], moment=2)
    
    sigma1[j] = np.sqrt(np.abs(FWHM3[j]))/2.355
    sigma2[j] = np.sqrt(np.abs(FWHM2[j]))/2.355
    sigma3[j] = np.sqrt(np.abs(FWHM3[j]))/2.355
    
    delta1[j] = sigma1[j]/gamma_Cu
    delta2[j] = sigma2[j]/gamma_Cu
    delta3[j] = sigma3[j]/gamma_Cu
        
    bhar1[j] = (((a*angtom)**3)/(1e-7*gamma_Cu*hbar))*delta1[j]
    bhar2[j] = (((a*angtom)**3)/(1e-7*gamma_Cu*hbar))*delta2[j]
    bhar3[j] = (((a*angtom)**3)/(1e-7*gamma_Cu*hbar))*delta3[j]