Python 在二维中应用窗口函数
我创建了一个简单的正弦钟变迹函数,在执行2D FFT并绘制结果的等高线图之前,我将其应用于我的数据,如下所示Python 在二维中应用窗口函数,python,math,signal-processing,Python,Math,Signal Processing,我创建了一个简单的正弦钟变迹函数,在执行2D FFT并绘制结果的等高线图之前,我将其应用于我的数据,如下所示 P = 90 apd_fn = np.sin(((np.pi - (np.pi/180.0) * P) / 1024) * np.arange(0, 1024, 1) + (np.pi/180.0) * P)**2 fid_mat = ws_list * apd_fn jres_spec = abs(fftshift(fft2(fid_mat))) max_val = (jres_sp
P = 90
apd_fn = np.sin(((np.pi - (np.pi/180.0) * P) / 1024) * np.arange(0, 1024, 1) + (np.pi/180.0) * P)**2
fid_mat = ws_list * apd_fn
jres_spec = abs(fftshift(fft2(fid_mat)))
max_val = (jres_spec[:,400:]).max()
figure()
CS=contour(jres_spec,arange(0,max_val,max_val/30))
xlabel('frequency (ppm)')
show()
在x维窗口中,这将生成一个2D光谱图像,如下所示:
我现在想在y维中应用相同的过滤器,但我有一点思维障碍,正在努力解决如何实现这一点。如果您能提供任何帮助,我们将不胜感激
谢谢。您希望窗口在2d中的外观如何?从1d函数ft生成2d窗口的方法有很多。例如,您可以围绕点0,0旋转1d函数,可能是-gx,y=fsqrtxx+yy。你也可以只做gx,y=fxfy。还有很多其他的方法。。。。