我在对两个信号的 FFT 开窗时出现了一些奇怪的行为。一个是标准的145hz驱动信号,一个是弹跳球。应用窗口后,我得到了一些预期的清晰峰,但在它们之间是奇怪的较小峰组(通常是 4 个),而不是单个解析峰。我不确定我做错了什么。任何帮助将不胜感激。
这是我的代码
clear all
filename = 'BBChaos145Hz-1.txt';
A = importdata(filename);
d = A(:,1);
y = A(:,2);
d = d(1:16:2^16);
y = y(1:16:2^16);
fSamp = 44100/16;
Pdd = (abs(fft(d))).^2;
Pyy = (abs(fft(y))).^2;
N = length(Pyy);
n = 1:N;n = n';
nn = 1:N
hanning = 0.5*(1-cos(2*n*pi/(N-1)));
window = hanning;
zw = y.*window;
Pzw = (abs(fft(zw))).^2;
stop = length(Pyy)/2;
Pdd = Pdd(1:stop);
Pyy = Pyy(1:stop);
Pzw = Pzw(1:stop);
nd = 1:stop;
fdd = nd*(fSamp/2)/stop;
semilogy(fdd,Pdd,fdd,Pyy,fdd,Pzw)
title('Unwindowed/Windowed')
xlabel('frequency (Hz)')
我尝试了不同的采样频率,但似乎没有任何改变输出。