还有一件事真的让我困惑的是,由于f的值是根据Fs的价值,如果我故意设置Fs很高,Y1结果将去错了地方。我该什么方式defind Fs最合理?
如何找到正确的大小/ FFT频率值,当有声音?
28日视图(30天)
显示旧的评论
你好。我跑步FFT对一些研究小未知大小电流产生在我的实验。这些电流非周期性及其大小每次不同。我使用了Matlab FFT分析当前示例代码。对于采样频率Fs,我使用2 *奈奎斯特频率是一样的1 /(间隔两个时间点)。我没有试图让2 ^ n第一试运行。我得到了一些结果,但是不像我预期的那么理想。我也有点困惑对我所做的方式。你们能帮我检查看我所做的是正确的吗?
Avg_freq = 1 /((时间(结束)-(1))/长度(天美时));
Fs = Avg_freq;
L =长度(时间);
Y = abs (fft(当前)/ L);
日元= Y (1: L / 2 + 1);
Y1 (2: end-1) = 2 * (2: end-1);
f = f * (0: (L / 2)) / L;
图(4)
情节(f, Y1,“- - -”)
网格在
xlim ([0 1 * 10 ^ 8])
接受的答案
保罗
2023年4月14日
嗨Hantao,
加载数据
x = readtable (“Data.xlsx”);
时间= x.Time;
当前= x.Current;
情节,
图
情节(时间、电流),网格
检查样品之间的时间。理想情况下,这将是常数
图
情节(时间(1:end-1), 1. / diff(时间))
轴垫
看起来像10 e9赫兹的数据收集,假设时间间隔,以秒为单位,但有一些可能需要编辑的数据点。也许只是时间戳是损坏?
Avg_freq = 1 /((时间(结束)-(1))/长度(时间);
设置Avg_freq基于明显的采样频率。这只会影响轴当策划频谱的扩展。
% Fs = Avg_freq;
Fs = 10 e9;
L =长度(时间)
Y = abs (fft(当前)/ L);
日元= Y (1: L / 2 + 1);
L奇怪,我们应该
日元= Y (1: ((l - 1) / 2 + 1));
% Y1 (2: end-1) = 2 * (2: end-1);
Y1(2:结束)= 2 *(2:结束);
f = f * (0: (L - 1) / 2) / L;
图
情节(f、abs(日元)“- - -”)
网格在
xlim ([0 1 * 10 ^ 8])
扩展频率轴
图
情节(f、abs(日元)“- - -”)
网格在
ylim (0.02 [0])
有什么区别这些情节和你所期望的吗?