FFT在MATLAB中没有给出预期的结果

z5btuh9x  于 7个月前  发布在  Matlab
关注(0)|答案(1)|浏览(115)

我试图将FID(自由感应衰减)信号从时域转换为频域,以可视化NMR光谱。我能够用专门的软件打开文件,如MESTRENOVA。得到的光谱应该如下所示:
NMR预期结果

然而,当我尝试在MATLAB中应用FFT时,得到的光谱看起来不同,有点像一分为二。我在这方面没有什么经验,所以也许我在应用傅立叶变换时遗漏了一些理论上的东西。为此,我按如下方式应用它:

figure(1)
plot(fid_signal)

signal = flipud(fid_signal); %I flip it because it is how it looks in MESTRENOVA
spectrum = fft(signal);

figure(2)
plot(abs(spectrum))

也许有人可以帮助我如何在MATLAB上正确应用傅立叶变换?或者可能需要进一步的处理,我错过了?

zd287kbt

zd287kbt1#

signal = fliplr(fid_signal); %flipud doesn't really matter. but fliplr gets time in the correct direction
spectrum = fftshift(fft(signal));
figure(2);
plot(abs(spectrum));

相关问题