FFT(快速傅里叶变换)是信号处理中的重要工具,而Matlab提供了内置的`fft()`函数来实现这一功能。下面是一个简单的示例代码,展示如何用Matlab进行FFT运算:
```matlab
% 生成信号
fs = 1000; % 采样频率 (Hz)
t = 0:1/fs:1-1/fs;% 时间向量 (1秒)
f1 = 50; f2 = 120;% 两个正弦波频率
signal = sin(2pif1t) + sin(2pif2t);
% FFT计算
N = length(signal); % 信号长度
Y = fft(signal);% FFT变换
P2 = abs(Y/N);% 双边频谱
P1 = P2(1:N/2+1);% 单边频谱
P1(2:end-1) = 2P1(2:end-1);
f = fs(0:(N/2))/N;% 频率范围
% 绘制结果
plot(f, P1);
title('单边幅度谱');
xlabel('频率 (Hz)');
ylabel('|P1|');
```
⚡️ Matlab Fourier拟合源代码
如果你需要对数据进行Fourier拟合,可以结合`fit()`函数与自定义Fourier模型。例如:
```matlab
% 自定义Fourier模型
ft = fittype('fourier8');
% 拟合数据
fit_result = fit(t', signal', ft);
% 显示拟合结果
disp(fit_result);
plot(fit_result, t, signal);
```
这两个示例分别展示了FFT分析和Fourier拟合的基本操作。无论是信号分解还是建模,Matlab都能提供强大的支持!🌟
免责声明:本文由用户上传,如有侵权请联系删除!