在 MATLAB 中,可以使用 fft 函数对信号进行傅里叶变换。以下是一个示例:

% 生成信号
Fs = 1000;                      % 采样频率
T = 1/Fs;                       % 采样周期
L = 1000;                       % 信号长度
t = (0:L-1)*T;                  % 时间向量
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);    % 信号

% 对信号进行傅里叶变换
Y = fft(S);

% 计算频谱
P2 = abs(Y/L);                  % 双侧频谱
P1 = P2(1:L/2+1);               % 单侧频谱
P1(2:end-1) = 2*P1(2:end-1);    % 去除负频率部分

% 创建频率向量
f = Fs*(0:(L/2))/L;

% 绘制频谱图
plot(f,P1)
title('单侧频谱')
xlabel('频率 (Hz)')
ylabel('|Y(f)|')

运行以上代码,就可以得到信号的频谱图。


原文地址: https://www.cveoy.top/t/topic/qnjq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录