matlab - 汉宁窗和在线 FFT

标签 matlab signal-processing fft

我正在学习 DSP,我无法编写代码来计算和绘制这些数字(只是频域中汉宁和三角窗的大小。)有人可以帮我写代码吗?

window frequency plots

我读过一些与在线 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-');

注释:

你可以把win1win2作为时间序列信号。 Lwin1的长度或 win2 . nfft是 FFT 的长度。如果L < nfft , 然后是函数 fft()将添加 0到其余的nfft .如果L > nfft , 然后是函数 fft()会截取L的长度等于nfft .

关于matlab - 汉宁窗和在线 FFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126979/

相关文章:

python - 模糊后恢复原始图像

performance - 向量化 MATLAB 循环

numpy - Scipy Butter带通未获得预期的结果

algorithm - Matlab Bpm算法

python - 不确定如何将 FFT 数据用于频谱分析仪

matlab - 最初要求用户输入,但不等待回答立即继续执行剩余代码

matlab - 如何遍历 matlab 中矩阵的列并将它们分别添加到 matlab 中求和矩阵的特定列?

python - 如何使用 matplotlib 绘制变化数组的方差?

javascript - Web Audio API - PeriodicWave 和循环 AudioBufferSourceNode 实现波表的区别?

ios - 将实时 FFT 设置传递给执行函数