假设我在 = 1024Hz 捕获了一个 4 秒的信号,它提供了 4,096 个数据数组。这两种 FFT 方法有什么不同(MATLAB 代码)
[1] 用 4096 点 FFT 对整个输入进行 FFT
N = length(input);
Y = fft(input)/N;
[2] 将输入分成 8 段(每段 4096/8=512 个数据点),将每段送入 512 点 FFT,然后平均输出:
N = length(input);
Y = zeros(1,512);
for i = 1:8
segment = input(512*(i-0)+1 : 512*i);
Y = Y + abs(fft(segment,512))/512/8;
end
问题 #1:这两种方法是否等效?
问题 #2:两种方法的频率分辨率是否等于 = 0.25Hz per bin?