MATLAB傅里叶函数的构造,代码
时间: 2024-05-02 20:16:46 浏览: 65
傅里叶轮廓术及其matlab代码实现
MATLAB中有很多种傅里叶函数的构造方式,这里给出两个常用的方法:
方法一:使用fft函数
```matlab
% 生成原始信号
Fs = 1000; % 采样频率
t = 0:1/Fs:1-1/Fs; % 时间向量
x = sin(2*pi*100*t) + 2*sin(2*pi*200*t); % 原始信号
% 使用fft函数计算傅里叶变换
N = length(x); % 信号长度
X = fft(x)/N; % 傅里叶变换
f = (0:N-1)*(Fs/N); % 频率向量
% 绘制频谱图
plot(f,abs(X));
xlabel('频率 (Hz)');
ylabel('幅度');
```
方法二:使用傅里叶级数公式
```matlab
% 生成原始信号
T = 1; % 周期
Fs = 1000; % 采样频率
t = 0:1/Fs:T-1/Fs; % 时间向量
x = sin(2*pi*100*t) + 2*sin(2*pi*200*t); % 原始信号
% 计算傅里叶级数系数
N = length(t); % 信号长度
f0 = 1/T; % 基频
n = 0:N-1; % 级数
a = (2/T)*sum(x.*cos(2*pi*n*f0*t)); % 余弦系数
b = (2/T)*sum(x.*sin(2*pi*n*f0*t)); % 正弦系数
% 绘制频谱图
f = n*f0; % 频率向量
X = sqrt(a.^2 + b.^2); % 幅度谱
plot(f,X);
xlabel('频率 (Hz)');
ylabel('幅度');
```
阅读全文