matlab用fft对信号作频谱分析代码提供
时间: 2023-04-03 15:05:12 浏览: 175
以下是使用 MATLAB 中 fft 函数对信号进行频谱分析的代码示例:
```matlab
% 生成测试信号
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间向量
f1 = 50; % 信号频率
f2 = 120; % 信号频率
x = 0.7*sin(2*pi*f1*t) + sin(2*pi*f2*t);
% 对信号进行 FFT
N = length(x); % 信号长度
X = fft(x); % FFT
X_mag = abs(X); % 取模
X_phase = angle(X); % 取相位
% 计算频率向量
f = (0:N-1)*(fs/N);
% 绘制频谱图
figure;
subplot(2,1,1);
plot(t,x);
xlabel('时间 (秒)');
ylabel('幅值');
title('时域波形');
subplot(2,1,2);
plot(f,X_mag);
xlabel('频率 (赫兹)');
ylabel('幅值');
title('频域波形');
```
这段代码会生成一个测试信号,并对其进行 FFT,最后绘制出时域波形和频域波形。你可以根据自己的需求修改测试信号的频率、幅值等参数。
阅读全文