【问题标题】:Fast Fourier Transform and Hamming Window快速傅里叶变换和汉明窗
【发布时间】:2017-11-20 19:32:42
【问题描述】:

我需要帮助在汉明窗口中实现 FFT 以在图形/图表上搜索峰值(确定光谱相位函数)。此刻我知道如何在我的图表上标记所有峰值,以及如何从一个图表上的文件夹中加载所有文件。而现在最重要的是通过 FFT 汉明窗找到一个峰值。现在对我来说最重要的事情就是在我的脚本中实现它或者告诉我如何做到这一点。当我明白这一点后,我可以对其进行修改以搜索我想要的峰值。

我的代码:

folder = 'C:\Users\an\Desktop\Materialy\';

files = dir(fullfile(folder,'*.dat'));
files_len = numel(files);

if (files_len == 0)
return;
end

figure(1);

file = fullfile(folder,files(1).name);
[lam,I] = read_spectrum(file);
lam = lam * 1e-3;
plot(lam,I);

if (files_len > 1)
hold on;

for i = 2:files_len
    file = fullfile(folder,files(i).name);
    [lam,I] = read_spectrum(file);
    lam = lam * 1e-3;
    plot(lam,I);
end

hold off;
end

【问题讨论】:

    标签: matlab math fft hamming-window


    【解决方案1】:

    为您准备的步骤:

    计算数组大小的汉明窗权重

    将数据乘以汉明权重

    进行 FFT

    在通用语言中,我以这种方式使用硬件(N 是数组大小):

      Re[i] := Re[i] * (0.54-0.46*cos(2*Pi*i/N));
    

    但似乎在 Matlab 中你已经准备好了function

    【讨论】:

    • 那么,它会搜索我想要的峰值吗?你能告诉我一个示例代码来说明它是如何工作的吗?
    • 汉明加权和 FFT 都不搜索峰值。它们只是转换数据的工具。你会制定真正的问题,也许会显示出预期的结果
    • Okej,但是 od 您使用 fft 过滤图形您可以搜索峰值是吗?现在我的问题是如何在我的代码中实现 fft,或者我的想法是错误的并且它不起作用?
    • 我的问题是关于从图表上的所有峰中搜索峰(文件中的日期来自 interpherogrph)我搜索的峰是 ​​lambda 0
    猜你喜欢
    • 2011-07-12
    • 2017-09-14
    • 2012-12-10
    • 2010-12-13
    • 2013-03-31
    • 2012-05-25
    • 2015-08-19
    • 2020-03-29
    • 1970-01-01
    相关资源
    最近更新 更多