【问题标题】:How to draw a Fourier spectra for my txt file data on MatLab? [duplicate]如何在 MatLab 上为我的 txt 文件数据绘制傅里叶光谱? [复制]
【发布时间】:2015-11-10 02:47:46
【问题描述】:

我在 txt 文件中每秒获取一个基于地面的磁数据,我想绘制它的傅里叶光谱。

我注意到 MatLab 上的谱图方程需要这个我不知道的参数(window、noverlap、nfft、Fs)。

我还注意到,我应该先对我的数据进行 FFT,然后再绘制它的频谱图,但是我的数据不是离散的,并且对离散数据进行 FFT,有人知道我该怎么做吗?

【问题讨论】:

  • window 是您要使用的窗口选项类型,可以是 hamming/hanning/blackman/rectangle 等。noverlap 代表重叠数,通常设置为 50%,nfft 是FFT 和 Fs 的数量是采样频率,如果您不完全理解这些参数的含义,我建议您搜索它们,因为它们对于正确输出数据非常重要,尤其是因为您的采样频率较低,这可能会导致到频谱泄漏。

标签: matlab fft spectrogram spectral continuous-fourier


【解决方案1】:

根据定义,数据是离散的。 spectrogramfft 给出不同的数据视图。

spectrogram 适用于 STFT 短时傅里叶变换,以防您想查看连续的、重叠的时间窗口。 fftspectrogram 将用于计算转换的方法。

Fs 是采样率,你说的是每秒一次,所以是 1 Hz。这是查看频谱的一种方法,

Fs = 1;
X = fft(data);
N = length(data);
freq = (-N/2:N/2 - 1)*Fs/N;
XmagdB = 10*log10(X.*conj(X));
plot(freq, XmagdB)

祝你好运!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
  • 2019-09-29
  • 1970-01-01
  • 2012-02-14
  • 2014-11-16
  • 1970-01-01
相关资源
最近更新 更多