谭正洪
第89回:傅里叶变换(2):离散傅里叶变换
2026-4-1 07:02
阅读:266

 离散傅里叶变换的公式:

其中,

: 测得的离散时间序列;

:所求的频域序列;

注意,不是物理频率,但是可以计算物理频率为,这里是采样频率,是数据序列长度。

 

写一段代码来实现上的分析:

clear all;

close all;

%设置参数

Fs = 1000;           % 采样频率 1000 Hz

T = 1/Fs;            % 采样间隔

L = 1500;            % 信号长度 1500个点

t = (0:L-1)*T;       % 时间向量

 

% 生成测试信号:2个频率成分 + 噪声

f1 = 50;             % 50 Hz

f2 = 120;            % 120 Hz

A1 = 0.7;            % 幅度1

A2 = 1.0;            % 幅度2

signal = A1*sin(2*pi*f1*t) + A2*sin(2*pi*f2*t) + 0.5*randn(size(t));

 

% 使用基于定义的DFT

X_manual = zeros(1, L);

for k = 0:L-1

    for n = 0:L-1

        X_manual(k+1) = X_manual(k+1) + signal(n+1) * exp(-1i*2*pi*k*n/L);

    end

end

 

% 库函数计算结果

X_fft = fft(signal);

 

% 对比计算结果

figure;

f_axis = Fs*(0:L-1)/L;

plot(f_axis, abs(X_manual), 'b-', 'LineWidth', 1.5);

hold on

plot(f_axis, abs(X_fft), 'r--', 'LineWidth', 1.5);

hold off

xlabel('频率 (Hz)');

ylabel('幅度');

title('幅度谱对比(0-200 Hz');

 

04/01/2026 

于昆明

转载本文请联系原作者获取授权,同时请注明本文来自谭正洪科学网博客。

链接地址:https://wap.sciencenet.cn/blog-3512654-1528285.html?mobile=1

收藏

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?