我正在学习 DSP,我无法编写代码来计算和绘制这些数字(只是频域中汉宁和三角窗的大小。)有人可以帮我写代码吗?
我读过一些与在线 FFT 相关的内容,例如,他们用 1024 个时间步计算在线 FFT。不明白什么是1024时间步长,时间步长值对FFT分析有什么影响?
最佳答案
希望下面的一段代码对你有所帮助。
L = 10;
win1 = hanning(L);
win2 = triang(L);
nfft = 64;
S1 = fft(win1,nfft);
S2 = fft(win2,nfft);
f = 1:nfft/2+1;
plot(f,10*log10(abs(S1(1:nfft/2+1))),'.-',f,10*log10(abs(S2(1:nfft/2+1))),'o-');
注释:
你可以把win1
和 win2
作为时间序列信号。 L
是win1
的长度或 win2
. nfft
是 FFT 的长度。如果L < nfft
, 然后是函数 fft()
将添加 0
到其余的nfft
.如果L > nfft
, 然后是函数 fft()
会截取L
的长度等于nfft
.
关于matlab - 汉宁窗和在线 FFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126979/