利用matlab作图演示方波信号的傅里叶级数
时间: 2023-10-23 10:12:08 浏览: 103
自己用matlab写得傅里叶级数拟合方波信号(有详细注释)
4星 · 用户满意度95%
可以使用MATLAB的fft函数来计算方波信号的傅里叶级数,并使用plot函数绘制其频域和时域图像。
以下是一个简单的示例代码:
```matlab
% 定义方波信号
T = 1; % 周期
t = linspace(0, 3*T, 1000); % 时间轴
x = square(2*pi*t/T); % 方波信号
% 计算傅里叶级数
N = 10; % 级数
X = zeros(size(t));
for n = 1:2:N
X = X + 4/pi/n*sin(2*pi*n*t/T);
end
% 绘制时域图像
subplot(2, 1, 1);
plot(t, x);
title('方波信号时域图像');
xlabel('时间');
ylabel('幅值');
ylim([-1.5, 1.5]);
% 绘制频域图像
subplot(2, 1, 2);
f = linspace(-N, N, 2*N+1)/(2*T);
X = fftshift(fft(x))/length(x);
plot(f, abs(X));
title('方波信号频域图像');
xlabel('频率');
ylabel('幅值');
xlim([-5, 5]);
```
运行代码后,将会得到方波信号的时域图像和频域图像。其中,时域图像为一个周期的方波信号,频域图像则显示了方波信号的一系列谐波分量。
阅读全文